< prev index next >

src/share/vm/opto/graphKit.cpp

Print this page

        

*** 1,7 **** /* ! * Copyright (c) 2001, 2016, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. --- 1,7 ---- /* ! * Copyright (c) 2001, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation.
*** 582,591 **** --- 582,593 ---- ex_obj = env()->ArrayStoreException_instance(); } else { ex_obj = env()->ClassCastException_instance(); } break; + default: + break; } if (failing()) { stop(); return; } // exception allocation might fail if (ex_obj != NULL) { // Cheat with a preallocated exception object. if (C->log() != NULL)
*** 819,829 **** ciMethod* cur_method = jvms->method(); int cur_bci = jvms->bci(); if (cur_method != NULL && cur_bci != InvocationEntryBci) { Bytecodes::Code code = cur_method->java_code_at_bci(cur_bci); return Interpreter::bytecode_should_reexecute(code) || ! is_anewarray && code == Bytecodes::_multianewarray; // Reexecute _multianewarray bytecode which was replaced with // sequence of [a]newarray. See Parse::do_multianewarray(). // // Note: interpreter should not have it set since this optimization // is limited by dimensions and guarded by flag so in some cases --- 821,831 ---- ciMethod* cur_method = jvms->method(); int cur_bci = jvms->bci(); if (cur_method != NULL && cur_bci != InvocationEntryBci) { Bytecodes::Code code = cur_method->java_code_at_bci(cur_bci); return Interpreter::bytecode_should_reexecute(code) || ! (is_anewarray && code == Bytecodes::_multianewarray); // Reexecute _multianewarray bytecode which was replaced with // sequence of [a]newarray. See Parse::do_multianewarray(). // // Note: interpreter should not have it set since this optimization // is limited by dimensions and guarded by flag so in some cases
*** 1498,1508 **** ld = LoadDNode::make_atomic(ctl, mem, adr, adr_type, t, mo, control_dependency, unaligned, mismatched); } else { ld = LoadNode::make(_gvn, ctl, mem, adr, adr_type, t, bt, mo, control_dependency, unaligned, mismatched); } ld = _gvn.transform(ld); ! if ((bt == T_OBJECT) && C->do_escape_analysis() || C->eliminate_boxing()) { // Improve graph before escape analysis and boxing elimination. record_for_igvn(ld); } return ld; } --- 1500,1510 ---- ld = LoadDNode::make_atomic(ctl, mem, adr, adr_type, t, mo, control_dependency, unaligned, mismatched); } else { ld = LoadNode::make(_gvn, ctl, mem, adr, adr_type, t, bt, mo, control_dependency, unaligned, mismatched); } ld = _gvn.transform(ld); ! if (((bt == T_OBJECT) && C->do_escape_analysis()) || C->eliminate_boxing()) { // Improve graph before escape analysis and boxing elimination. record_for_igvn(ld); } return ld; }
*** 2022,2039 **** } break; case Deoptimization::Action_make_not_entrant: C->set_trap_can_recompile(true); break; - #ifdef ASSERT case Deoptimization::Action_none: case Deoptimization::Action_make_not_compilable: break; default: fatal("unknown action %d: %s", action, Deoptimization::trap_action_name(action)); - break; #endif } if (TraceOptoParse) { char buf[100]; tty->print_cr("Uncommon trap %s at bci:%d", --- 2024,2041 ---- } break; case Deoptimization::Action_make_not_entrant: C->set_trap_can_recompile(true); break; case Deoptimization::Action_none: case Deoptimization::Action_make_not_compilable: break; default: + #ifdef ASSERT fatal("unknown action %d: %s", action, Deoptimization::trap_action_name(action)); #endif + break; } if (TraceOptoParse) { char buf[100]; tty->print_cr("Uncommon trap %s at bci:%d",
< prev index next >