< prev index next >

src/share/vm/prims/jvmtiRedefineClasses.cpp

Print this page

        

*** 1672,1685 **** *new_method_p = methodHandle(); // default is no new method // We cache a pointer to the bytecodes here in code_base. If GC // moves the Method*, then the bytecodes will also move which ! // will likely cause a crash. We create a No_Safepoint_Verifier // object to detect whether we pass a possible safepoint in this // code block. ! No_Safepoint_Verifier nsv; // Bytecodes and their length address code_base = method->code_base(); int code_length = method->code_size(); --- 1672,1685 ---- *new_method_p = methodHandle(); // default is no new method // We cache a pointer to the bytecodes here in code_base. If GC // moves the Method*, then the bytecodes will also move which ! // will likely cause a crash. We create a NoSafepointVerifier // object to detect whether we pass a possible safepoint in this // code block. ! NoSafepointVerifier nsv; // Bytecodes and their length address code_base = method->code_base(); int code_length = method->code_size();
*** 1733,1743 **** Bytes::put_Java_u2(bcp, new_index); Relocator rc(method, NULL /* no RelocatorListener needed */); methodHandle m; { ! Pause_No_Safepoint_Verifier pnsv(&nsv); // ldc is 2 bytes and ldc_w is 3 bytes m = rc.insert_space_at(bci, 3, inst_buffer, CHECK); } --- 1733,1743 ---- Bytes::put_Java_u2(bcp, new_index); Relocator rc(method, NULL /* no RelocatorListener needed */); methodHandle m; { ! PauseNoSafepointVerifier pnsv(&nsv); // ldc is 2 bytes and ldc_w is 3 bytes m = rc.insert_space_at(bci, 3, inst_buffer, CHECK); }
< prev index next >