Mercurial > hg > graal-compiler
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); |