Mercurial > hg > truffle
comparison src/share/vm/runtime/reflection.cpp @ 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 | 634b8615a6ba |
children | da91efe96a93 |
comparison
equal
deleted
inserted
replaced
6241:aba91a731143 | 6266:1d7922586cf6 |
---|---|
34 #include "memory/universe.inline.hpp" | 34 #include "memory/universe.inline.hpp" |
35 #include "oops/instanceKlass.hpp" | 35 #include "oops/instanceKlass.hpp" |
36 #include "oops/objArrayKlass.hpp" | 36 #include "oops/objArrayKlass.hpp" |
37 #include "oops/objArrayOop.hpp" | 37 #include "oops/objArrayOop.hpp" |
38 #include "prims/jvm.h" | 38 #include "prims/jvm.h" |
39 #include "prims/methodHandleWalk.hpp" | |
40 #include "runtime/arguments.hpp" | 39 #include "runtime/arguments.hpp" |
41 #include "runtime/handles.inline.hpp" | 40 #include "runtime/handles.inline.hpp" |
42 #include "runtime/javaCalls.hpp" | 41 #include "runtime/javaCalls.hpp" |
43 #include "runtime/reflection.hpp" | 42 #include "runtime/reflection.hpp" |
44 #include "runtime/reflectionUtils.hpp" | 43 #include "runtime/reflectionUtils.hpp" |
498 | 497 |
499 // If either is on the other's host_klass chain, access is OK, | 498 // If either is on the other's host_klass chain, access is OK, |
500 // because one is inside the other. | 499 // because one is inside the other. |
501 if (under_host_klass(accessor_ik, accessee) || | 500 if (under_host_klass(accessor_ik, accessee) || |
502 under_host_klass(accessee_ik, accessor)) | 501 under_host_klass(accessee_ik, accessor)) |
503 return true; | |
504 | |
505 // Adapter frames can access anything. | |
506 if (MethodHandleCompiler::klass_is_method_handle_adapter_holder(accessor)) | |
507 // This is an internal adapter frame from the MethodHandleCompiler. | |
508 return true; | 502 return true; |
509 | 503 |
510 if (RelaxAccessControlCheck || | 504 if (RelaxAccessControlCheck || |
511 (accessor_ik->major_version() < JAVA_1_5_VERSION && | 505 (accessor_ik->major_version() < JAVA_1_5_VERSION && |
512 accessee_ik->major_version() < JAVA_1_5_VERSION)) { | 506 accessee_ik->major_version() < JAVA_1_5_VERSION)) { |