Mercurial > hg > graal-jvmci-8
comparison src/share/vm/ci/ciObjectFactory.cpp @ 1138:dd57230ba8fe
6893268: additional dynamic language related optimizations in C2
Summary: C2 needs some additional optimizations to be able to handle MethodHandle invokes and invokedynamic instructions at the best performance.
Reviewed-by: kvn, never
author | twisti |
---|---|
date | Tue, 05 Jan 2010 15:21:25 +0100 |
parents | 97125851f396 |
children | 4ce7240d622c |
comparison
equal
deleted
inserted
replaced
1137:97125851f396 | 1138:dd57230ba8fe |
---|---|
335 } else if (o->is_methodData()) { | 335 } else if (o->is_methodData()) { |
336 methodDataHandle h_md(THREAD, (methodDataOop)o); | 336 methodDataHandle h_md(THREAD, (methodDataOop)o); |
337 return new (arena()) ciMethodData(h_md); | 337 return new (arena()) ciMethodData(h_md); |
338 } else if (o->is_instance()) { | 338 } else if (o->is_instance()) { |
339 instanceHandle h_i(THREAD, (instanceOop)o); | 339 instanceHandle h_i(THREAD, (instanceOop)o); |
340 return new (arena()) ciInstance(h_i); | 340 if (java_dyn_CallSite::is_instance(o)) |
341 return new (arena()) ciCallSite(h_i); | |
342 else if (java_dyn_MethodHandle::is_instance(o)) | |
343 return new (arena()) ciMethodHandle(h_i); | |
344 else | |
345 return new (arena()) ciInstance(h_i); | |
341 } else if (o->is_objArray()) { | 346 } else if (o->is_objArray()) { |
342 objArrayHandle h_oa(THREAD, (objArrayOop)o); | 347 objArrayHandle h_oa(THREAD, (objArrayOop)o); |
343 return new (arena()) ciObjArray(h_oa); | 348 return new (arena()) ciObjArray(h_oa); |
344 } else if (o->is_typeArray()) { | 349 } else if (o->is_typeArray()) { |
345 typeArrayHandle h_ta(THREAD, (typeArrayOop)o); | 350 typeArrayHandle h_ta(THREAD, (typeArrayOop)o); |