Mercurial > hg > graal-jvmci-8
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 |