UnsafeMemoryAccess and associated class UnsafeMemoryAccessMark are employed when generating potentially unsafe StubGen copy stubs:
- UnsafeMemoryAccess manages a table of addresses that identify 1) unsafe address ranges and 2) corresponding exception handler target addresses (the latter, for some arches, including a dedicated, generated, default intrinsic).
- UnsafeMemoryAccessMark automates recording of start and end address ranges and association with a desired handler address.
- The JVM signal handler queries this table in order to decide whether and where to return control.
Save and restore of copy stubs that rely on UnsafeMemoryAccess will only work if the address ranges, handler addresses and, where appropriate, the generated intrinsic handler address are explicitly saved to the archive and are correctly relocated at the point of retrieval.
- UnsafeMemoryAccess manages a table of addresses that identify 1) unsafe address ranges and 2) corresponding exception handler target addresses (the latter, for some arches, including a dedicated, generated, default intrinsic).
- UnsafeMemoryAccessMark automates recording of start and end address ranges and association with a desired handler address.
- The JVM signal handler queries this table in order to decide whether and where to return control.
Save and restore of copy stubs that rely on UnsafeMemoryAccess will only work if the address ranges, handler addresses and, where appropriate, the generated intrinsic handler address are explicitly saved to the archive and are correctly relocated at the point of retrieval.
- links to
-
Commit(master) openjdk/jdk/a6fb87db
-
Review(master) openjdk/jdk/26511