mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-20 11:04:34 +02:00
7200949: JSR 292: rubybench/bench/time/bench_base64.rb fails with jruby.jar not on boot class path
Reviewed-by: jrose, kvn
This commit is contained in:
parent
9972f3d338
commit
59b8489a0c
22 changed files with 358 additions and 135 deletions
|
@ -30,6 +30,7 @@
|
|||
#include "ci/ciMethod.hpp"
|
||||
#include "ci/ciMethodData.hpp"
|
||||
#include "ci/ciMethodHandle.hpp"
|
||||
#include "ci/ciMethodType.hpp"
|
||||
#include "ci/ciNullObject.hpp"
|
||||
#include "ci/ciObjArray.hpp"
|
||||
#include "ci/ciObjArrayKlass.hpp"
|
||||
|
@ -237,23 +238,23 @@ ciObject* ciObjectFactory::get(oop key) {
|
|||
|
||||
assert(key == NULL || Universe::heap()->is_in_reserved(key), "must be");
|
||||
|
||||
NonPermObject* &bucket = find_non_perm(key);
|
||||
if (bucket != NULL) {
|
||||
return bucket->object();
|
||||
}
|
||||
NonPermObject* &bucket = find_non_perm(key);
|
||||
if (bucket != NULL) {
|
||||
return bucket->object();
|
||||
}
|
||||
|
||||
// The ciObject does not yet exist. Create it and insert it
|
||||
// into the cache.
|
||||
Handle keyHandle(key);
|
||||
ciObject* new_object = create_new_object(keyHandle());
|
||||
assert(keyHandle() == new_object->get_oop(), "must be properly recorded");
|
||||
init_ident_of(new_object);
|
||||
// The ciObject does not yet exist. Create it and insert it
|
||||
// into the cache.
|
||||
Handle keyHandle(key);
|
||||
ciObject* new_object = create_new_object(keyHandle());
|
||||
assert(keyHandle() == new_object->get_oop(), "must be properly recorded");
|
||||
init_ident_of(new_object);
|
||||
assert(Universe::heap()->is_in_reserved(new_object->get_oop()), "must be");
|
||||
|
||||
// Not a perm-space object.
|
||||
insert_non_perm(bucket, keyHandle(), new_object);
|
||||
return new_object;
|
||||
}
|
||||
// Not a perm-space object.
|
||||
insert_non_perm(bucket, keyHandle(), new_object);
|
||||
return new_object;
|
||||
}
|
||||
|
||||
// ------------------------------------------------------------------
|
||||
// ciObjectFactory::get
|
||||
|
@ -324,6 +325,8 @@ ciObject* ciObjectFactory::create_new_object(oop o) {
|
|||
return new (arena()) ciMemberName(h_i);
|
||||
else if (java_lang_invoke_MethodHandle::is_instance(o))
|
||||
return new (arena()) ciMethodHandle(h_i);
|
||||
else if (java_lang_invoke_MethodType::is_instance(o))
|
||||
return new (arena()) ciMethodType(h_i);
|
||||
else
|
||||
return new (arena()) ciInstance(h_i);
|
||||
} else if (o->is_objArray()) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue