equal
deleted
inserted
replaced
1830 void nmethod::preserve_callee_argument_oops(frame fr, const RegisterMap *reg_map, OopClosure* f) { |
1830 void nmethod::preserve_callee_argument_oops(frame fr, const RegisterMap *reg_map, OopClosure* f) { |
1831 #ifndef SHARK |
1831 #ifndef SHARK |
1832 if (!method()->is_native()) { |
1832 if (!method()->is_native()) { |
1833 SimpleScopeDesc ssd(this, fr.pc()); |
1833 SimpleScopeDesc ssd(this, fr.pc()); |
1834 Bytecode_invoke call(ssd.method(), ssd.bci()); |
1834 Bytecode_invoke call(ssd.method(), ssd.bci()); |
1835 bool has_receiver = call.has_receiver(); |
1835 // compiled invokedynamic call sites have an implicit receiver at |
|
1836 // resolution time, so make sure it gets GC'ed. |
|
1837 bool has_receiver = !call.is_invokestatic(); |
1836 Symbol* signature = call.signature(); |
1838 Symbol* signature = call.signature(); |
1837 fr.oops_compiled_arguments_do(signature, has_receiver, reg_map, f); |
1839 fr.oops_compiled_arguments_do(signature, has_receiver, reg_map, f); |
1838 } |
1840 } |
1839 #endif // !SHARK |
1841 #endif // !SHARK |
1840 } |
1842 } |