equal
deleted
inserted
replaced
589 // and if we don't have a null-pointer exception => check for |
589 // and if we don't have a null-pointer exception => check for |
590 // these conditions first and use slow path if necessary. |
590 // these conditions first and use slow path if necessary. |
591 address entry = __ pc(); |
591 address entry = __ pc(); |
592 Label slow_path; |
592 Label slow_path; |
593 |
593 |
594 if ( UseFastAccessorMethods) { |
594 |
|
595 // XXX: for compressed oops pointer loading and decoding doesn't fit in |
|
596 // delay slot and damages G1 |
|
597 if ( UseFastAccessorMethods && !UseCompressedOops ) { |
595 // Check if we need to reach a safepoint and generate full interpreter |
598 // Check if we need to reach a safepoint and generate full interpreter |
596 // frame if so. |
599 // frame if so. |
597 Address sync_state(G3_scratch, SafepointSynchronize::address_of_state()); |
600 Address sync_state(G3_scratch, SafepointSynchronize::address_of_state()); |
598 __ load_contents(sync_state, G3_scratch); |
601 __ load_contents(sync_state, G3_scratch); |
599 __ cmp(G3_scratch, SafepointSynchronize::_not_synchronized); |
602 __ cmp(G3_scratch, SafepointSynchronize::_not_synchronized); |
951 add(L7_thread_cache, in_bytes(JavaThread::jni_environment_offset()), O0); |
954 add(L7_thread_cache, in_bytes(JavaThread::jni_environment_offset()), O0); |
952 |
955 |
953 // Back from jni method Lmethod in this frame is DEAD, DEAD, DEAD |
956 // Back from jni method Lmethod in this frame is DEAD, DEAD, DEAD |
954 |
957 |
955 __ restore_thread(L7_thread_cache); // restore G2_thread |
958 __ restore_thread(L7_thread_cache); // restore G2_thread |
|
959 __ reinit_heapbase(); |
956 |
960 |
957 // must we block? |
961 // must we block? |
958 |
962 |
959 // Block, if necessary, before resuming in _thread_in_Java state. |
963 // Block, if necessary, before resuming in _thread_in_Java state. |
960 // In order for GC to work, don't clear the last_Java_sp until after blocking. |
964 // In order for GC to work, don't clear the last_Java_sp until after blocking. |