src/cpu/mips/vm/templateInterpreter_mips_64.cpp

changeset 9760
8b305ff8f6b6
parent 9705
0b27fc8adf1b
child 9854
0bada3286229
equal deleted inserted replaced
9759:8c71022cf5f3 9760:8b305ff8f6b6
2042 #ifndef OPT_THREAD 2042 #ifndef OPT_THREAD
2043 __ get_thread(thread); 2043 __ get_thread(thread);
2044 #endif 2044 #endif
2045 __ move(AT, JavaThread::popframe_inactive); 2045 __ move(AT, JavaThread::popframe_inactive);
2046 __ sw(AT, thread, in_bytes(JavaThread::popframe_condition_offset())); 2046 __ sw(AT, thread, in_bytes(JavaThread::popframe_condition_offset()));
2047
2048 #if INCLUDE_JVMTI
2049 {
2050 Label L_done;
2051
2052 __ lbu(AT, BCP, 0);
2053 __ daddiu(AT, AT, -1 * Bytecodes::_invokestatic);
2054 __ bne(AT, R0, L_done);
2055 __ delayed()->nop();
2056
2057 // The member name argument must be restored if _invokestatic is re-executed after a PopFrame call.
2058 // Detect such a case in the InterpreterRuntime function and return the member name argument, or NULL.
2059
2060 __ get_method(T9);
2061 __ ld(T8, LVP, 0);
2062 __ call_VM(T8, CAST_FROM_FN_PTR(address, InterpreterRuntime::member_name_arg_or_null), T8, T9, BCP);
2063
2064 __ beq(T8, R0, L_done);
2065 __ delayed()->nop();
2066
2067 __ sd(T8, SP, 0);
2068 __ bind(L_done);
2069 }
2070 #endif // INCLUDE_JVMTI
2071
2047 __ dispatch_next(vtos); 2072 __ dispatch_next(vtos);
2048 // end of PopFrame support 2073 // end of PopFrame support
2049 2074
2050 Interpreter::_remove_activation_entry = __ pc(); 2075 Interpreter::_remove_activation_entry = __ pc();
2051 2076

mercurial