mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-26 06:14:49 +02:00
6893268: additional dynamic language related optimizations in C2
C2 needs some additional optimizations to be able to handle MethodHandle invokes and invokedynamic instructions at the best performance. Reviewed-by: kvn, never
This commit is contained in:
parent
375527d84e
commit
47f2433a58
52 changed files with 1781 additions and 342 deletions
|
@ -337,7 +337,12 @@ ciObject* ciObjectFactory::create_new_object(oop o) {
|
|||
return new (arena()) ciMethodData(h_md);
|
||||
} else if (o->is_instance()) {
|
||||
instanceHandle h_i(THREAD, (instanceOop)o);
|
||||
return new (arena()) ciInstance(h_i);
|
||||
if (java_dyn_CallSite::is_instance(o))
|
||||
return new (arena()) ciCallSite(h_i);
|
||||
else if (java_dyn_MethodHandle::is_instance(o))
|
||||
return new (arena()) ciMethodHandle(h_i);
|
||||
else
|
||||
return new (arena()) ciInstance(h_i);
|
||||
} else if (o->is_objArray()) {
|
||||
objArrayHandle h_oa(THREAD, (objArrayOop)o);
|
||||
return new (arena()) ciObjArray(h_oa);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue