mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-26 22:34:27 +02:00
7057587: JSR 292 - crash with jruby in test/test_respond_to.rb
Don't skip receiver when GC'ing compiled invokedynamic callsites Reviewed-by: twisti, kvn, jrose
This commit is contained in:
parent
7c1d16f7d3
commit
15161b8cd1
4 changed files with 41 additions and 34 deletions
|
@ -1832,7 +1832,9 @@ void nmethod::preserve_callee_argument_oops(frame fr, const RegisterMap *reg_map
|
|||
if (!method()->is_native()) {
|
||||
SimpleScopeDesc ssd(this, fr.pc());
|
||||
Bytecode_invoke call(ssd.method(), ssd.bci());
|
||||
bool has_receiver = call.has_receiver();
|
||||
// compiled invokedynamic call sites have an implicit receiver at
|
||||
// resolution time, so make sure it gets GC'ed.
|
||||
bool has_receiver = !call.is_invokestatic();
|
||||
Symbol* signature = call.signature();
|
||||
fr.oops_compiled_arguments_do(signature, has_receiver, reg_map, f);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue