comparison src/share/vm/runtime/stubRoutines.hpp @ 6266:1d7922586cf6

7023639: JSR 292 method handle invocation needs a fast path for compiled code 6984705: JSR 292 method handle creation should not go through JNI Summary: remove assembly code for JDK 7 chained method handles Reviewed-by: jrose, twisti, kvn, mhaupt Contributed-by: John Rose <john.r.rose@oracle.com>, Christian Thalinger <christian.thalinger@oracle.com>, Michael Haupt <michael.haupt@oracle.com>
author twisti
date Tue, 24 Jul 2012 10:51:00 -0700
parents c565834fb592
children da91efe96a93
comparison
equal deleted inserted replaced
6241:aba91a731143 6266:1d7922586cf6
128 static address _catch_exception_entry; 128 static address _catch_exception_entry;
129 static address _throw_AbstractMethodError_entry; 129 static address _throw_AbstractMethodError_entry;
130 static address _throw_IncompatibleClassChangeError_entry; 130 static address _throw_IncompatibleClassChangeError_entry;
131 static address _throw_NullPointerException_at_call_entry; 131 static address _throw_NullPointerException_at_call_entry;
132 static address _throw_StackOverflowError_entry; 132 static address _throw_StackOverflowError_entry;
133 static address _throw_WrongMethodTypeException_entry;
134 static address _handler_for_unsafe_access_entry; 133 static address _handler_for_unsafe_access_entry;
135 134
136 static address _atomic_xchg_entry; 135 static address _atomic_xchg_entry;
137 static address _atomic_xchg_ptr_entry; 136 static address _atomic_xchg_ptr_entry;
138 static address _atomic_store_entry; 137 static address _atomic_store_entry;
223 return 222 return
224 (_code1 != NULL && _code1->blob_contains(addr)) || 223 (_code1 != NULL && _code1->blob_contains(addr)) ||
225 (_code2 != NULL && _code2->blob_contains(addr)) ; 224 (_code2 != NULL && _code2->blob_contains(addr)) ;
226 } 225 }
227 226
227 static CodeBlob* code1() { return _code1; }
228 static CodeBlob* code2() { return _code2; }
229
228 // Debugging 230 // Debugging
229 static jint verify_oop_count() { return _verify_oop_count; } 231 static jint verify_oop_count() { return _verify_oop_count; }
230 static jint* verify_oop_count_addr() { return &_verify_oop_count; } 232 static jint* verify_oop_count_addr() { return &_verify_oop_count; }
231 // a subroutine for debugging the GC 233 // a subroutine for debugging the GC
232 static address verify_oop_subroutine_entry_address() { return (address)&_verify_oop_subroutine_entry; } 234 static address verify_oop_subroutine_entry_address() { return (address)&_verify_oop_subroutine_entry; }
252 // Implicit exceptions 254 // Implicit exceptions
253 static address throw_AbstractMethodError_entry() { return _throw_AbstractMethodError_entry; } 255 static address throw_AbstractMethodError_entry() { return _throw_AbstractMethodError_entry; }
254 static address throw_IncompatibleClassChangeError_entry(){ return _throw_IncompatibleClassChangeError_entry; } 256 static address throw_IncompatibleClassChangeError_entry(){ return _throw_IncompatibleClassChangeError_entry; }
255 static address throw_NullPointerException_at_call_entry(){ return _throw_NullPointerException_at_call_entry; } 257 static address throw_NullPointerException_at_call_entry(){ return _throw_NullPointerException_at_call_entry; }
256 static address throw_StackOverflowError_entry() { return _throw_StackOverflowError_entry; } 258 static address throw_StackOverflowError_entry() { return _throw_StackOverflowError_entry; }
257 static address throw_WrongMethodTypeException_entry() { return _throw_WrongMethodTypeException_entry; }
258 259
259 // Exceptions during unsafe access - should throw Java exception rather 260 // Exceptions during unsafe access - should throw Java exception rather
260 // than crash. 261 // than crash.
261 static address handler_for_unsafe_access() { return _handler_for_unsafe_access_entry; } 262 static address handler_for_unsafe_access() { return _handler_for_unsafe_access_entry; }
262 263