comparison src/share/vm/oops/methodOop.hpp @ 977:74a5db69c1fe

6419370: 4/4 new jmethodID code has tiny holes in synchronization Summary: Fix races in jmethodID cache and JNI itable index cache. Reviewed-by: ikrylov, acorn
author dcubed
date Mon, 21 Sep 2009 09:30:24 -0600
parents 75596850f863
children dd57230ba8fe
comparison
equal deleted inserted replaced
975:83c29a26f67c 977:74a5db69c1fe
553 static methodHandle clone_with_new_data(methodHandle m, u_char* new_code, int new_code_length, 553 static methodHandle clone_with_new_data(methodHandle m, u_char* new_code, int new_code_length,
554 u_char* new_compressed_linenumber_table, int new_compressed_linenumber_size, TRAPS); 554 u_char* new_compressed_linenumber_table, int new_compressed_linenumber_size, TRAPS);
555 555
556 // Get this method's jmethodID -- allocate if it doesn't exist 556 // Get this method's jmethodID -- allocate if it doesn't exist
557 jmethodID jmethod_id() { methodHandle this_h(this); 557 jmethodID jmethod_id() { methodHandle this_h(this);
558 return instanceKlass::jmethod_id_for_impl(method_holder(), this_h); } 558 return instanceKlass::get_jmethod_id(method_holder(), this_h); }
559 559
560 // Lookup the jmethodID for this method. Return NULL if not found. 560 // Lookup the jmethodID for this method. Return NULL if not found.
561 // NOTE that this function can be called from a signal handler 561 // NOTE that this function can be called from a signal handler
562 // (see AsyncGetCallTrace support for Forte Analyzer) and this 562 // (see AsyncGetCallTrace support for Forte Analyzer) and this
563 // needs to be async-safe. No allocation should be done and 563 // needs to be async-safe. No allocation should be done and