mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-28 07:14:30 +02:00
8075967: Zero interpreter asserts for SafeFetch<32,N> calls in ObjectMonitor
Implement SafeFetchX unsafely and make CanUseSafeFetchX false for Zero Reviewed-by: sgehwolf, dholmes
This commit is contained in:
parent
3e6cf09c39
commit
b115f80cb5
4 changed files with 29 additions and 7 deletions
|
@ -176,6 +176,19 @@ class StubGenerator: public StubCodeGenerator {
|
|||
StubRoutines::_oop_arraycopy;
|
||||
}
|
||||
|
||||
// NYI: SafeFetch for Zero isn't actually safe.
|
||||
static int SafeFetch32(int *adr, int errValue) {
|
||||
int value = errValue;
|
||||
value = *adr;
|
||||
return value;
|
||||
}
|
||||
|
||||
static intptr_t SafeFetchN(intptr_t *adr, intptr_t errValue) {
|
||||
intptr_t value = errValue;
|
||||
value = *adr;
|
||||
return value;
|
||||
}
|
||||
|
||||
void generate_initial() {
|
||||
// Generates all stubs and initializes the entry points
|
||||
|
||||
|
@ -228,11 +241,11 @@ class StubGenerator: public StubCodeGenerator {
|
|||
generate_arraycopy_stubs();
|
||||
|
||||
// Safefetch stubs.
|
||||
StubRoutines::_safefetch32_entry = NULL;
|
||||
StubRoutines::_safefetch32_entry = CAST_FROM_FN_PTR(address, StubGenerator::SafeFetch32);
|
||||
StubRoutines::_safefetch32_fault_pc = NULL;
|
||||
StubRoutines::_safefetch32_continuation_pc = NULL;
|
||||
|
||||
StubRoutines::_safefetchN_entry = NULL;
|
||||
StubRoutines::_safefetchN_entry = CAST_FROM_FN_PTR(address, StubGenerator::SafeFetchN);
|
||||
StubRoutines::_safefetchN_fault_pc = NULL;
|
||||
StubRoutines::_safefetchN_continuation_pc = NULL;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue