< prev index next >

src/share/vm/runtime/sharedRuntime.cpp

Print this page

        

*** 1372,1385 **** if (is_virtual) { Klass* receiver_klass = NULL; if (ValueTypePassFieldsAsArgs && callee_method->method_holder()->is_value()) { // If the receiver is a value type that is passed as fields, no oop is available receiver_klass = callee_method->method_holder(); - if (FullGCALotWithValueTypes) { - // Trigger a full GC to verify that the GC knows about the contents of oop fields - Universe::heap()->collect(GCCause::_full_gc_alot); - } } else { assert(receiver.not_null() || invoke_code == Bytecodes::_invokehandle, "sanity check"); receiver_klass = invoke_code == Bytecodes::_invokehandle ? NULL : receiver->klass(); } bool static_bound = call_info.resolved_method()->can_be_statically_bound(); --- 1372,1381 ----
*** 3046,3065 **** case 'I': sig_bt[cnt++] = T_INT; break; case 'J': sig_bt[cnt++] = T_LONG; sig_bt[cnt++] = T_VOID; break; case 'S': sig_bt[cnt++] = T_SHORT; break; case 'Z': sig_bt[cnt++] = T_BOOLEAN; break; case 'V': sig_bt[cnt++] = T_VOID; break; case 'L': // Oop while (*s++ != ';'); // Skip signature sig_bt[cnt++] = T_OBJECT; break; case '[': { // Array do { // Skip optional size while (*s >= '0' && *s <= '9') s++; } while (*s++ == '['); // Nested arrays? // Skip element type ! if (s[-1] == 'L') while (*s++ != ';'); // Skip signature sig_bt[cnt++] = T_ARRAY; break; } default : ShouldNotReachHere(); --- 3042,3062 ---- case 'I': sig_bt[cnt++] = T_INT; break; case 'J': sig_bt[cnt++] = T_LONG; sig_bt[cnt++] = T_VOID; break; case 'S': sig_bt[cnt++] = T_SHORT; break; case 'Z': sig_bt[cnt++] = T_BOOLEAN; break; case 'V': sig_bt[cnt++] = T_VOID; break; + case 'Q': case 'L': // Oop while (*s++ != ';'); // Skip signature sig_bt[cnt++] = T_OBJECT; break; case '[': { // Array do { // Skip optional size while (*s >= '0' && *s <= '9') s++; } while (*s++ == '['); // Nested arrays? // Skip element type ! if (s[-1] == 'L' || s[-1] == 'Q') while (*s++ != ';'); // Skip signature sig_bt[cnt++] = T_ARRAY; break; } default : ShouldNotReachHere();
< prev index next >