Mercurial > hg > truffle
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 |