mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-26 14:24:46 +02:00
6829187: compiler optimizations required for JSR 292
C2 implementation for invokedynamic support. Reviewed-by: kvn, never
This commit is contained in:
parent
9be2e29930
commit
375527d84e
31 changed files with 566 additions and 89 deletions
|
@ -153,6 +153,10 @@ void ciObjectFactory::init_shared_objects() {
|
|||
ciEnv::_ClassCastException =
|
||||
get(SystemDictionary::ClassCastException_klass())
|
||||
->as_instance_klass();
|
||||
if (EnableInvokeDynamic) {
|
||||
ciEnv::_InvokeDynamic =
|
||||
get(SystemDictionary::InvokeDynamic_klass())->as_instance_klass();
|
||||
}
|
||||
ciEnv::_Object =
|
||||
get(SystemDictionary::object_klass())
|
||||
->as_instance_klass();
|
||||
|
@ -340,6 +344,9 @@ ciObject* ciObjectFactory::create_new_object(oop o) {
|
|||
} else if (o->is_typeArray()) {
|
||||
typeArrayHandle h_ta(THREAD, (typeArrayOop)o);
|
||||
return new (arena()) ciTypeArray(h_ta);
|
||||
} else if (o->is_constantPoolCache()) {
|
||||
constantPoolCacheHandle h_cpc(THREAD, (constantPoolCacheOop) o);
|
||||
return new (arena()) ciCPCache(h_cpc);
|
||||
}
|
||||
|
||||
// The oop is of some type not supported by the compiler interface.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue