Merge
This commit is contained in:
commit
168714c982
@ -85,17 +85,17 @@ address CompiledStaticCall::emit_to_interp_stub(CodeBuffer &cbuf, address mark)
|
|||||||
}
|
}
|
||||||
#undef __
|
#undef __
|
||||||
|
|
||||||
// size of C2 call stub, compiled java to interpretor
|
|
||||||
int CompiledStaticCall::to_interp_stub_size() {
|
|
||||||
return 8 * NativeInstruction::instruction_size;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Relocation entries for call stub, compiled java to interpreter.
|
// Relocation entries for call stub, compiled java to interpreter.
|
||||||
int CompiledStaticCall::reloc_to_interp_stub() {
|
int CompiledStaticCall::reloc_to_interp_stub() {
|
||||||
return 10; // 4 in emit_to_interp_stub + 1 in Java_Static_Call
|
return 10; // 4 in emit_to_interp_stub + 1 in Java_Static_Call
|
||||||
}
|
}
|
||||||
#endif // COMPILER2 || JVMCI
|
#endif // COMPILER2 || JVMCI
|
||||||
|
|
||||||
|
// size of C2 call stub, compiled java to interpretor
|
||||||
|
int CompiledStaticCall::to_interp_stub_size() {
|
||||||
|
return 8 * NativeInstruction::instruction_size;
|
||||||
|
}
|
||||||
|
|
||||||
void CompiledDirectStaticCall::set_to_interpreted(const methodHandle& callee, address entry) {
|
void CompiledDirectStaticCall::set_to_interpreted(const methodHandle& callee, address entry) {
|
||||||
address stub = find_stub(/*is_aot*/ false);
|
address stub = find_stub(/*is_aot*/ false);
|
||||||
guarantee(stub != NULL, "stub not found");
|
guarantee(stub != NULL, "stub not found");
|
||||||
@ -125,6 +125,8 @@ void CompiledDirectStaticCall::set_to_interpreted(const methodHandle& callee, ad
|
|||||||
method_holder->set_data((intptr_t)callee());
|
method_holder->set_data((intptr_t)callee());
|
||||||
jump->set_jump_destination(entry);
|
jump->set_jump_destination(entry);
|
||||||
|
|
||||||
|
ICache::invalidate_range(stub, to_interp_stub_size());
|
||||||
|
|
||||||
// Update jump to call.
|
// Update jump to call.
|
||||||
set_destination_mt_safe(stub);
|
set_destination_mt_safe(stub);
|
||||||
}
|
}
|
||||||
|
@ -24,6 +24,7 @@
|
|||||||
/**
|
/**
|
||||||
* @test
|
* @test
|
||||||
* @bug 8173743
|
* @bug 8173743
|
||||||
|
* @requires vm.compMode != "Xcomp"
|
||||||
* @summary Failures during class definition can lead to memory leaks in metaspace
|
* @summary Failures during class definition can lead to memory leaks in metaspace
|
||||||
* @library /test/lib
|
* @library /test/lib
|
||||||
* @run main/othervm test.DefineClass defineClass
|
* @run main/othervm test.DefineClass defineClass
|
||||||
|
Loading…
x
Reference in New Issue
Block a user