Mercurial > hg > truffle
comparison src/share/vm/ci/ciObjectFactory.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 | d2a62e0f25eb |
children | 957c266d8bc5 da91efe96a93 |
comparison
equal
deleted
inserted
replaced
6241:aba91a731143 | 6266:1d7922586cf6 |
---|---|
26 #include "ci/ciCPCache.hpp" | 26 #include "ci/ciCPCache.hpp" |
27 #include "ci/ciCallSite.hpp" | 27 #include "ci/ciCallSite.hpp" |
28 #include "ci/ciInstance.hpp" | 28 #include "ci/ciInstance.hpp" |
29 #include "ci/ciInstanceKlass.hpp" | 29 #include "ci/ciInstanceKlass.hpp" |
30 #include "ci/ciInstanceKlassKlass.hpp" | 30 #include "ci/ciInstanceKlassKlass.hpp" |
31 #include "ci/ciMemberName.hpp" | |
31 #include "ci/ciMethod.hpp" | 32 #include "ci/ciMethod.hpp" |
32 #include "ci/ciMethodData.hpp" | 33 #include "ci/ciMethodData.hpp" |
33 #include "ci/ciMethodHandle.hpp" | 34 #include "ci/ciMethodHandle.hpp" |
34 #include "ci/ciMethodKlass.hpp" | 35 #include "ci/ciMethodKlass.hpp" |
35 #include "ci/ciNullObject.hpp" | 36 #include "ci/ciNullObject.hpp" |
342 return new (arena()) ciMethodData(h_md); | 343 return new (arena()) ciMethodData(h_md); |
343 } else if (o->is_instance()) { | 344 } else if (o->is_instance()) { |
344 instanceHandle h_i(THREAD, (instanceOop)o); | 345 instanceHandle h_i(THREAD, (instanceOop)o); |
345 if (java_lang_invoke_CallSite::is_instance(o)) | 346 if (java_lang_invoke_CallSite::is_instance(o)) |
346 return new (arena()) ciCallSite(h_i); | 347 return new (arena()) ciCallSite(h_i); |
348 else if (java_lang_invoke_MemberName::is_instance(o)) | |
349 return new (arena()) ciMemberName(h_i); | |
347 else if (java_lang_invoke_MethodHandle::is_instance(o)) | 350 else if (java_lang_invoke_MethodHandle::is_instance(o)) |
348 return new (arena()) ciMethodHandle(h_i); | 351 return new (arena()) ciMethodHandle(h_i); |
349 else | 352 else |
350 return new (arena()) ciInstance(h_i); | 353 return new (arena()) ciInstance(h_i); |
351 } else if (o->is_objArray()) { | 354 } else if (o->is_objArray()) { |