< prev index next >

src/hotspot/share/c1/c1_Runtime1.cpp

Print this page


 915     // accesses.
 916 
 917     patch_field_type = result.field_type();
 918     deoptimize_for_atomic = (AlwaysAtomicAccesses && (patch_field_type == T_DOUBLE || patch_field_type == T_LONG));
 919 
 920   } else if (load_klass_or_mirror_patch_id) {
 921     Klass* k = NULL;
 922     switch (code) {
 923       case Bytecodes::_putstatic:
 924       case Bytecodes::_getstatic:
 925         { Klass* klass = resolve_field_return_klass(caller_method, bci, CHECK);
 926           init_klass = klass;
 927           mirror = Handle(THREAD, klass->java_mirror());
 928         }
 929         break;
 930       case Bytecodes::_new:
 931         { Bytecode_new bnew(caller_method(), caller_method->bcp_from(bci));
 932           k = caller_method->constants()->klass_at(bnew.index(), CHECK);
 933         }
 934         break;





 935       case Bytecodes::_multianewarray:
 936         { Bytecode_multianewarray mna(caller_method(), caller_method->bcp_from(bci));
 937           k = caller_method->constants()->klass_at(mna.index(), CHECK);
 938         }
 939         break;
 940       case Bytecodes::_instanceof:
 941         { Bytecode_instanceof io(caller_method(), caller_method->bcp_from(bci));
 942           k = caller_method->constants()->klass_at(io.index(), CHECK);
 943         }
 944         break;
 945       case Bytecodes::_checkcast:
 946         { Bytecode_checkcast cc(caller_method(), caller_method->bcp_from(bci));
 947           k = caller_method->constants()->klass_at(cc.index(), CHECK);
 948         }
 949         break;
 950       case Bytecodes::_anewarray:
 951         { Bytecode_anewarray anew(caller_method(), caller_method->bcp_from(bci));
 952           Klass* ek = caller_method->constants()->klass_at(anew.index(), CHECK);
 953           k = ek->array_klass(CHECK);
 954         }




 915     // accesses.
 916 
 917     patch_field_type = result.field_type();
 918     deoptimize_for_atomic = (AlwaysAtomicAccesses && (patch_field_type == T_DOUBLE || patch_field_type == T_LONG));
 919 
 920   } else if (load_klass_or_mirror_patch_id) {
 921     Klass* k = NULL;
 922     switch (code) {
 923       case Bytecodes::_putstatic:
 924       case Bytecodes::_getstatic:
 925         { Klass* klass = resolve_field_return_klass(caller_method, bci, CHECK);
 926           init_klass = klass;
 927           mirror = Handle(THREAD, klass->java_mirror());
 928         }
 929         break;
 930       case Bytecodes::_new:
 931         { Bytecode_new bnew(caller_method(), caller_method->bcp_from(bci));
 932           k = caller_method->constants()->klass_at(bnew.index(), CHECK);
 933         }
 934         break;
 935       case Bytecodes::_defaultvalue:
 936         { Bytecode_defaultvalue bdefaultvalue(caller_method(), caller_method->bcp_from(bci));
 937           k = caller_method->constants()->klass_at(bdefaultvalue.index(), CHECK);
 938         }
 939         break;
 940       case Bytecodes::_multianewarray:
 941         { Bytecode_multianewarray mna(caller_method(), caller_method->bcp_from(bci));
 942           k = caller_method->constants()->klass_at(mna.index(), CHECK);
 943         }
 944         break;
 945       case Bytecodes::_instanceof:
 946         { Bytecode_instanceof io(caller_method(), caller_method->bcp_from(bci));
 947           k = caller_method->constants()->klass_at(io.index(), CHECK);
 948         }
 949         break;
 950       case Bytecodes::_checkcast:
 951         { Bytecode_checkcast cc(caller_method(), caller_method->bcp_from(bci));
 952           k = caller_method->constants()->klass_at(cc.index(), CHECK);
 953         }
 954         break;
 955       case Bytecodes::_anewarray:
 956         { Bytecode_anewarray anew(caller_method(), caller_method->bcp_from(bci));
 957           Klass* ek = caller_method->constants()->klass_at(anew.index(), CHECK);
 958           k = ek->array_klass(CHECK);
 959         }


< prev index next >