src/hotspot/share/jvmci/jvmciCodeInstaller.cpp
changeset 55159 a38132298eda
parent 54786 ebf733a324d4
child 55293 d19dc5b10fbb
equal deleted inserted replaced
55158:d3e404cc3972 55159:a38132298eda
   986   for (int i = 0; i < JVMCIENV->get_length(virtualObjects); i++) {
   986   for (int i = 0; i < JVMCIENV->get_length(virtualObjects); i++) {
   987     // HandleMark hm(THREAD);
   987     // HandleMark hm(THREAD);
   988     JVMCIObject value = JVMCIENV->get_object_at(virtualObjects, i);
   988     JVMCIObject value = JVMCIENV->get_object_at(virtualObjects, i);
   989     int id = jvmci_env()->get_VirtualObject_id(value);
   989     int id = jvmci_env()->get_VirtualObject_id(value);
   990     JVMCIObject type = jvmci_env()->get_VirtualObject_type(value);
   990     JVMCIObject type = jvmci_env()->get_VirtualObject_type(value);
       
   991     bool is_auto_box = jvmci_env()->get_VirtualObject_isAutoBox(value);
   991     Klass* klass = jvmci_env()->asKlass(type);
   992     Klass* klass = jvmci_env()->asKlass(type);
   992     oop javaMirror = klass->java_mirror();
   993     oop javaMirror = klass->java_mirror();
   993     ObjectValue* sv = new ObjectValue(id, new ConstantOopWriteValue(JNIHandles::make_local(Thread::current(), javaMirror)));
   994     ScopeValue *klass_sv = new ConstantOopWriteValue(JNIHandles::make_local(Thread::current(), javaMirror));
       
   995     ObjectValue* sv = is_auto_box ? new AutoBoxObjectValue(id, klass_sv) : new ObjectValue(id, klass_sv);
   994     if (id < 0 || id >= objects->length()) {
   996     if (id < 0 || id >= objects->length()) {
   995       JVMCI_ERROR_NULL("virtual object id %d out of bounds", id);
   997       JVMCI_ERROR_NULL("virtual object id %d out of bounds", id);
   996     }
   998     }
   997     if (objects->at(id) != NULL) {
   999     if (objects->at(id) != NULL) {
   998       JVMCI_ERROR_NULL("duplicate virtual object id %d", id);
  1000       JVMCI_ERROR_NULL("duplicate virtual object id %d", id);