comparison src/share/vm/interpreter/bytecodeInterpreter.cpp @ 14433:018b357638aa

8028514: PPC64: Fix C++ Interpreter after '7195622: CheckUnhandledOops has limited usefulness now' Summary: fix CPP-interpreter after CheckUnhandledOops was re-enabled in the fastdebug build Reviewed-by: kvn, dholmes, lfoltan
author simonis
date Tue, 19 Nov 2013 11:53:58 -0800
parents abe03600372a
children b4e19a1e459f
comparison
equal deleted inserted replaced
14432:935bf3340572 14433:018b357638aa
1808 BI_PROFILE_UPDATE_CHECKCAST(/*null_seen=*/false, rhsKlass); 1808 BI_PROFILE_UPDATE_CHECKCAST(/*null_seen=*/false, rhsKlass);
1809 } else { 1809 } else {
1810 // Profile checkcast with null_seen and receiver. 1810 // Profile checkcast with null_seen and receiver.
1811 BI_PROFILE_UPDATE_CHECKCAST(/*null_seen=*/true, NULL); 1811 BI_PROFILE_UPDATE_CHECKCAST(/*null_seen=*/true, NULL);
1812 } 1812 }
1813 ((objArrayOopDesc *) arrObj)->obj_at_put(index, rhsObject); 1813 ((objArrayOop) arrObj)->obj_at_put(index, rhsObject);
1814 UPDATE_PC_AND_TOS_AND_CONTINUE(1, -3); 1814 UPDATE_PC_AND_TOS_AND_CONTINUE(1, -3);
1815 } 1815 }
1816 CASE(_bastore): 1816 CASE(_bastore):
1817 ARRAY_STOREFROM32(T_BYTE, jbyte, "%d", STACK_INT, 0); 1817 ARRAY_STOREFROM32(T_BYTE, jbyte, "%d", STACK_INT, 0);
1818 CASE(_castore): 1818 CASE(_castore):
2826 MORE_STACK(1); 2826 MORE_STACK(1);
2827 pc = METHOD->code_base() + continuation_bci; 2827 pc = METHOD->code_base() + continuation_bci;
2828 if (TraceExceptions) { 2828 if (TraceExceptions) {
2829 ttyLocker ttyl; 2829 ttyLocker ttyl;
2830 ResourceMark rm; 2830 ResourceMark rm;
2831 tty->print_cr("Exception <%s> (" INTPTR_FORMAT ")", except_oop->print_value_string(), except_oop()); 2831 tty->print_cr("Exception <%s> (" INTPTR_FORMAT ")", except_oop->print_value_string(), (void*)except_oop());
2832 tty->print_cr(" thrown in interpreter method <%s>", METHOD->print_value_string()); 2832 tty->print_cr(" thrown in interpreter method <%s>", METHOD->print_value_string());
2833 tty->print_cr(" at bci %d, continuing at %d for thread " INTPTR_FORMAT, 2833 tty->print_cr(" at bci %d, continuing at %d for thread " INTPTR_FORMAT,
2834 istate->bcp() - (intptr_t)METHOD->code_base(), 2834 istate->bcp() - (intptr_t)METHOD->code_base(),
2835 continuation_bci, THREAD); 2835 continuation_bci, THREAD);
2836 } 2836 }
2842 goto run; 2842 goto run;
2843 } 2843 }
2844 if (TraceExceptions) { 2844 if (TraceExceptions) {
2845 ttyLocker ttyl; 2845 ttyLocker ttyl;
2846 ResourceMark rm; 2846 ResourceMark rm;
2847 tty->print_cr("Exception <%s> (" INTPTR_FORMAT ")", except_oop->print_value_string(), except_oop()); 2847 tty->print_cr("Exception <%s> (" INTPTR_FORMAT ")", except_oop->print_value_string(), (void*)except_oop());
2848 tty->print_cr(" thrown in interpreter method <%s>", METHOD->print_value_string()); 2848 tty->print_cr(" thrown in interpreter method <%s>", METHOD->print_value_string());
2849 tty->print_cr(" at bci %d, unwinding for thread " INTPTR_FORMAT, 2849 tty->print_cr(" at bci %d, unwinding for thread " INTPTR_FORMAT,
2850 istate->bcp() - (intptr_t)METHOD->code_base(), 2850 istate->bcp() - (intptr_t)METHOD->code_base(),
2851 THREAD); 2851 THREAD);
2852 } 2852 }
3211 jfloat BytecodeInterpreter::stack_float(intptr_t *tos, int offset) { 3211 jfloat BytecodeInterpreter::stack_float(intptr_t *tos, int offset) {
3212 return *((jfloat *) &tos[Interpreter::expr_index_at(-offset)]); 3212 return *((jfloat *) &tos[Interpreter::expr_index_at(-offset)]);
3213 } 3213 }
3214 3214
3215 oop BytecodeInterpreter::stack_object(intptr_t *tos, int offset) { 3215 oop BytecodeInterpreter::stack_object(intptr_t *tos, int offset) {
3216 return (oop)tos [Interpreter::expr_index_at(-offset)]; 3216 return cast_to_oop(tos [Interpreter::expr_index_at(-offset)]);
3217 } 3217 }
3218 3218
3219 jdouble BytecodeInterpreter::stack_double(intptr_t *tos, int offset) { 3219 jdouble BytecodeInterpreter::stack_double(intptr_t *tos, int offset) {
3220 return ((VMJavaVal64*) &tos[Interpreter::expr_index_at(-offset)])->d; 3220 return ((VMJavaVal64*) &tos[Interpreter::expr_index_at(-offset)])->d;
3221 } 3221 }
3280 } 3280 }
3281 jfloat BytecodeInterpreter::locals_float(intptr_t* locals, int offset) { 3281 jfloat BytecodeInterpreter::locals_float(intptr_t* locals, int offset) {
3282 return (jfloat)locals[Interpreter::local_index_at(-offset)]; 3282 return (jfloat)locals[Interpreter::local_index_at(-offset)];
3283 } 3283 }
3284 oop BytecodeInterpreter::locals_object(intptr_t* locals, int offset) { 3284 oop BytecodeInterpreter::locals_object(intptr_t* locals, int offset) {
3285 return (oop)locals[Interpreter::local_index_at(-offset)]; 3285 return cast_to_oop(locals[Interpreter::local_index_at(-offset)]);
3286 } 3286 }
3287 jdouble BytecodeInterpreter::locals_double(intptr_t* locals, int offset) { 3287 jdouble BytecodeInterpreter::locals_double(intptr_t* locals, int offset) {
3288 return ((VMJavaVal64*)&locals[Interpreter::local_index_at(-(offset+1))])->d; 3288 return ((VMJavaVal64*)&locals[Interpreter::local_index_at(-(offset+1))])->d;
3289 } 3289 }
3290 jlong BytecodeInterpreter::locals_long(intptr_t* locals, int offset) { 3290 jlong BytecodeInterpreter::locals_long(intptr_t* locals, int offset) {
3439 tty->print_cr("result_to_call._callee_entry_point: " INTPTR_FORMAT, (uintptr_t) this->_result._to_call._callee_entry_point); 3439 tty->print_cr("result_to_call._callee_entry_point: " INTPTR_FORMAT, (uintptr_t) this->_result._to_call._callee_entry_point);
3440 tty->print_cr("result_to_call._bcp_advance: %d ", this->_result._to_call._bcp_advance); 3440 tty->print_cr("result_to_call._bcp_advance: %d ", this->_result._to_call._bcp_advance);
3441 tty->print_cr("osr._osr_buf: " INTPTR_FORMAT, (uintptr_t) this->_result._osr._osr_buf); 3441 tty->print_cr("osr._osr_buf: " INTPTR_FORMAT, (uintptr_t) this->_result._osr._osr_buf);
3442 tty->print_cr("osr._osr_entry: " INTPTR_FORMAT, (uintptr_t) this->_result._osr._osr_entry); 3442 tty->print_cr("osr._osr_entry: " INTPTR_FORMAT, (uintptr_t) this->_result._osr._osr_entry);
3443 tty->print_cr("prev_link: " INTPTR_FORMAT, (uintptr_t) this->_prev_link); 3443 tty->print_cr("prev_link: " INTPTR_FORMAT, (uintptr_t) this->_prev_link);
3444 tty->print_cr("native_mirror: " INTPTR_FORMAT, (uintptr_t) this->_oop_temp); 3444 tty->print_cr("native_mirror: " INTPTR_FORMAT, (void*) this->_oop_temp);
3445 tty->print_cr("stack_base: " INTPTR_FORMAT, (uintptr_t) this->_stack_base); 3445 tty->print_cr("stack_base: " INTPTR_FORMAT, (uintptr_t) this->_stack_base);
3446 tty->print_cr("stack_limit: " INTPTR_FORMAT, (uintptr_t) this->_stack_limit); 3446 tty->print_cr("stack_limit: " INTPTR_FORMAT, (uintptr_t) this->_stack_limit);
3447 tty->print_cr("monitor_base: " INTPTR_FORMAT, (uintptr_t) this->_monitor_base); 3447 tty->print_cr("monitor_base: " INTPTR_FORMAT, (uintptr_t) this->_monitor_base);
3448 #ifdef SPARC 3448 #ifdef SPARC
3449 tty->print_cr("last_Java_pc: " INTPTR_FORMAT, (uintptr_t) this->_last_Java_pc); 3449 tty->print_cr("last_Java_pc: " INTPTR_FORMAT, (uintptr_t) this->_last_Java_pc);