Commit 8deb7f2
committed
Static-compatible init of JNA native layer
When operating under static linkage in SVM (Native Image), JNA's
`JNI_OnLoad` hooks are not run. We need to sanity-check at the
first JNI border and run static initialization manually.
Additionally, `JNI_OnLoad` should be provided in static contexts
as `JNI_OnLoad_jnidispatch`. This changeset fixes both issues.
Signed-off-by: Sam Gammon <sam@elide.ventures>
Signed-off-by: Dario Valdespino <dario@elide.ventures>1 parent 5beedfc commit 8deb7f2
File tree
4 files changed
+96
-19
lines changed- native
- src/com/sun/jna
4 files changed
+96
-19
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
27 | 27 | | |
28 | 28 | | |
29 | 29 | | |
30 | | - | |
| 30 | + | |
31 | 31 | | |
32 | 32 | | |
33 | 33 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
62 | 62 | | |
63 | 63 | | |
64 | 64 | | |
| 65 | + | |
65 | 66 | | |
66 | 67 | | |
67 | 68 | | |
| |||
342 | 343 | | |
343 | 344 | | |
344 | 345 | | |
| 346 | + | |
| 347 | + | |
| 348 | + | |
| 349 | + | |
345 | 350 | | |
346 | 351 | | |
347 | 352 | | |
| |||
497 | 502 | | |
498 | 503 | | |
499 | 504 | | |
500 | | - | |
| 505 | + | |
| 506 | + | |
| 507 | + | |
| 508 | + | |
| 509 | + | |
| 510 | + | |
| 511 | + | |
| 512 | + | |
| 513 | + | |
| 514 | + | |
| 515 | + | |
| 516 | + | |
| 517 | + | |
| 518 | + | |
501 | 519 | | |
| 520 | + | |
| 521 | + | |
502 | 522 | | |
503 | 523 | | |
504 | 524 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3314 | 3314 | | |
3315 | 3315 | | |
3316 | 3316 | | |
| 3317 | + | |
| 3318 | + | |
| 3319 | + | |
| 3320 | + | |
| 3321 | + | |
| 3322 | + | |
| 3323 | + | |
| 3324 | + | |
| 3325 | + | |
| 3326 | + | |
| 3327 | + | |
| 3328 | + | |
| 3329 | + | |
| 3330 | + | |
3317 | 3331 | | |
3318 | 3332 | | |
3319 | 3333 | | |
| |||
3335 | 3349 | | |
3336 | 3350 | | |
3337 | 3351 | | |
| 3352 | + | |
| 3353 | + | |
| 3354 | + | |
| 3355 | + | |
3338 | 3356 | | |
3339 | 3357 | | |
3340 | 3358 | | |
| |||
3346 | 3364 | | |
3347 | 3365 | | |
3348 | 3366 | | |
3349 | | - | |
3350 | | - | |
| 3367 | + | |
| 3368 | + | |
| 3369 | + | |
| 3370 | + | |
| 3371 | + | |
| 3372 | + | |
| 3373 | + | |
| 3374 | + | |
| 3375 | + | |
| 3376 | + | |
| 3377 | + | |
| 3378 | + | |
| 3379 | + | |
3351 | 3380 | | |
3352 | | - | |
3353 | 3381 | | |
3354 | | - | |
3355 | | - | |
3356 | 3382 | | |
3357 | 3383 | | |
3358 | 3384 | | |
3359 | 3385 | | |
3360 | 3386 | | |
3361 | 3387 | | |
3362 | | - | |
3363 | | - | |
3364 | | - | |
3365 | | - | |
3366 | | - | |
3367 | | - | |
3368 | | - | |
3369 | | - | |
3370 | | - | |
| 3388 | + | |
3371 | 3389 | | |
3372 | 3390 | | |
3373 | 3391 | | |
3374 | 3392 | | |
3375 | 3393 | | |
3376 | | - | |
3377 | 3394 | | |
3378 | 3395 | | |
3379 | 3396 | | |
3380 | | - | |
3381 | | - | |
| 3397 | + | |
| 3398 | + | |
| 3399 | + | |
| 3400 | + | |
| 3401 | + | |
| 3402 | + | |
| 3403 | + | |
| 3404 | + | |
| 3405 | + | |
| 3406 | + | |
| 3407 | + | |
| 3408 | + | |
| 3409 | + | |
| 3410 | + | |
3382 | 3411 | | |
3383 | 3412 | | |
3384 | 3413 | | |
| |||
3443 | 3472 | | |
3444 | 3473 | | |
3445 | 3474 | | |
| 3475 | + | |
| 3476 | + | |
| 3477 | + | |
| 3478 | + | |
| 3479 | + | |
| 3480 | + | |
| 3481 | + | |
| 3482 | + | |
| 3483 | + | |
| 3484 | + | |
3446 | 3485 | | |
3447 | 3486 | | |
3448 | 3487 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
33 | 33 | | |
34 | 34 | | |
35 | 35 | | |
| 36 | + | |
36 | 37 | | |
37 | 38 | | |
38 | 39 | | |
| |||
947 | 948 | | |
948 | 949 | | |
949 | 950 | | |
| 951 | + | |
| 952 | + | |
| 953 | + | |
| 954 | + | |
| 955 | + | |
| 956 | + | |
| 957 | + | |
| 958 | + | |
| 959 | + | |
| 960 | + | |
| 961 | + | |
| 962 | + | |
| 963 | + | |
| 964 | + | |
950 | 965 | | |
951 | 966 | | |
952 | 967 | | |
| |||
1198 | 1213 | | |
1199 | 1214 | | |
1200 | 1215 | | |
| 1216 | + | |
| 1217 | + | |
1201 | 1218 | | |
1202 | 1219 | | |
1203 | 1220 | | |
| |||
2020 | 2037 | | |
2021 | 2038 | | |
2022 | 2039 | | |
| 2040 | + | |
2023 | 2041 | | |
2024 | 2042 | | |
2025 | 2043 | | |
| |||
0 commit comments