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 } |