< prev index next >
src/share/vm/runtime/sharedRuntime.hpp
Print this page
@@ -562,10 +562,11 @@
// wrong method handling (inline cache misses, zombie methods)
static address handle_wrong_method(JavaThread* thread);
static address handle_wrong_method_abstract(JavaThread* thread);
static address handle_wrong_method_ic_miss(JavaThread* thread);
static void allocate_value_types(JavaThread* thread, Method* callee);
+ static void apply_post_barriers(JavaThread* thread, objArrayOopDesc* array, Method* callee_method);
#ifndef PRODUCT
// Collect and print inline cache miss statistics
private:
@@ -678,23 +679,25 @@
private:
AdapterFingerPrint* _fingerprint;
address _i2c_entry;
address _c2i_entry;
address _c2i_unverified_entry;
+ Symbol* _sig_extended;
#ifdef ASSERT
// Captures code and signature used to generate this adapter when
// verifying adapter equivalence.
unsigned char* _saved_code;
int _saved_code_length;
#endif
- void init(AdapterFingerPrint* fingerprint, address i2c_entry, address c2i_entry, address c2i_unverified_entry) {
+ void init(AdapterFingerPrint* fingerprint, address i2c_entry, address c2i_entry, address c2i_unverified_entry, Symbol* sig_extended) {
_fingerprint = fingerprint;
_i2c_entry = i2c_entry;
_c2i_entry = c2i_entry;
_c2i_unverified_entry = c2i_unverified_entry;
+ _sig_extended = sig_extended;
#ifdef ASSERT
_saved_code = NULL;
_saved_code_length = 0;
#endif
}
@@ -706,10 +709,11 @@
public:
address get_i2c_entry() const { return _i2c_entry; }
address get_c2i_entry() const { return _c2i_entry; }
address get_c2i_unverified_entry() const { return _c2i_unverified_entry; }
+ Symbol* get_sig_extended() const { return _sig_extended; }
address base_address();
void relocate(address new_base);
AdapterFingerPrint* fingerprint() const { return _fingerprint; }
@@ -736,11 +740,12 @@
static void initialize();
public:
static AdapterHandlerEntry* new_entry(AdapterFingerPrint* fingerprint,
- address i2c_entry, address c2i_entry, address c2i_unverified_entry);
+ address i2c_entry, address c2i_entry, address c2i_unverified_entry,
+ Symbol* sig_extended = NULL);
static void create_native_wrapper(const methodHandle& method);
static AdapterHandlerEntry* get_adapter(const methodHandle& method);
static void print_handler(const CodeBlob* b) { print_handler_on(tty, b); }
static void print_handler_on(outputStream* st, const CodeBlob* b);
< prev index next >