hotspot/src/share/vm/code/nmethod.cpp
changeset 10007 43d4a6542551
parent 9935 51267b5e1a3d
child 10265 4c869854aebd
equal deleted inserted replaced
10006:2a7062afbad7 10007:43d4a6542551
  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 }