< prev index next >

src/hotspot/share/opto/parse2.cpp

Print this page

        

*** 1526,1536 **** break; case Bytecodes::_aload_3: push( local(3) ); break; case Bytecodes::_aload: - case Bytecodes::_vload: push( local(iter().get_index()) ); break; case Bytecodes::_fload_0: case Bytecodes::_iload_0: --- 1526,1535 ----
*** 1604,1614 **** set_local( 3, pop() ); break; case Bytecodes::_fstore: case Bytecodes::_istore: case Bytecodes::_astore: - case Bytecodes::_vstore: set_local( iter().get_index(), pop() ); break; // long stores case Bytecodes::_lstore_0: set_pair_local( 0, pop_pair() ); --- 1603,1612 ----
*** 1723,1733 **** case Bytecodes::_baload: array_load(T_BYTE); break; case Bytecodes::_caload: array_load(T_CHAR); break; case Bytecodes::_iaload: array_load(T_INT); break; case Bytecodes::_saload: array_load(T_SHORT); break; case Bytecodes::_faload: array_load(T_FLOAT); break; - case Bytecodes::_vaload: array_load(T_VALUETYPE); break; case Bytecodes::_aaload: array_load(T_OBJECT); break; case Bytecodes::_laload: { a = array_addressing(T_LONG, 0); if (stopped()) return; // guaranteed null or range check dec_sp(2); // Pop array and index --- 1721,1730 ----
*** 1744,1774 **** case Bytecodes::_bastore: array_store(T_BYTE); break; case Bytecodes::_castore: array_store(T_CHAR); break; case Bytecodes::_iastore: array_store(T_INT); break; case Bytecodes::_sastore: array_store(T_SHORT); break; case Bytecodes::_fastore: array_store(T_FLOAT); break; ! case Bytecodes::_vastore: { ! d = array_addressing(T_OBJECT, 1); ! if (stopped()) return; // guaranteed null or range check ! array_store_check(true); ! c = pop(); // Oop to store ! b = pop(); // index (already used) ! a = pop(); // the array itself ! const TypeAryPtr* arytype = _gvn.type(a)->is_aryptr(); ! const Type* elemtype = arytype->elem(); ! ! if (elemtype->isa_valuetype()) { ! c->as_ValueType()->store_flattened(this, a, d); ! break; ! } ! ! const TypeAryPtr* adr_type = TypeAryPtr::OOPS; ! Node* oop = c->as_ValueType()->allocate(this)->get_oop(); ! Node* store = store_oop_to_array(control(), a, d, adr_type, oop, elemtype->make_oopptr(), T_OBJECT, ! StoreNode::release_if_reference(T_OBJECT)); ! break; ! } case Bytecodes::_aastore: { d = array_addressing(T_OBJECT, 1); if (stopped()) return; // guaranteed null or range check array_store_check(); c = pop(); // Oop to store --- 1741,1772 ---- case Bytecodes::_bastore: array_store(T_BYTE); break; case Bytecodes::_castore: array_store(T_CHAR); break; case Bytecodes::_iastore: array_store(T_INT); break; case Bytecodes::_sastore: array_store(T_SHORT); break; case Bytecodes::_fastore: array_store(T_FLOAT); break; ! // The vastore case has to merged into the aastore case ! // case Bytecodes::_vastore: { ! // d = array_addressing(T_OBJECT, 1); ! // if (stopped()) return; // guaranteed null or range check ! // array_store_check(true); ! // c = pop(); // Oop to store ! // b = pop(); // index (already used) ! // a = pop(); // the array itself ! // const TypeAryPtr* arytype = _gvn.type(a)->is_aryptr(); ! // const Type* elemtype = arytype->elem(); ! // ! // if (elemtype->isa_valuetype()) { ! // c->as_ValueType()->store_flattened(this, a, d); ! // break; ! // } ! // ! // const TypeAryPtr* adr_type = TypeAryPtr::OOPS; ! // Node* oop = c->as_ValueType()->allocate(this)->get_oop(); ! // Node* store = store_oop_to_array(control(), a, d, adr_type, oop, elemtype->make_oopptr(), T_OBJECT, ! // StoreNode::release_if_reference(T_OBJECT)); ! // break; ! // } case Bytecodes::_aastore: { d = array_addressing(T_OBJECT, 1); if (stopped()) return; // guaranteed null or range check array_store_check(); c = pop(); // Oop to store
*** 2249,2259 **** return_current(NULL); break; case Bytecodes::_ireturn: case Bytecodes::_areturn: - case Bytecodes::_vreturn: case Bytecodes::_freturn: return_current(pop()); break; case Bytecodes::_lreturn: return_current(pop_pair()); --- 2247,2256 ----
*** 2404,2418 **** do_multianewarray(); break; case Bytecodes::_new: do_new(); break; ! case Bytecodes::_vdefault: ! do_vdefault(); break; ! case Bytecodes::_vwithfield: ! do_vwithfield(); break; case Bytecodes::_jsr: case Bytecodes::_jsr_w: do_jsr(); --- 2401,2415 ---- do_multianewarray(); break; case Bytecodes::_new: do_new(); break; ! case Bytecodes::_defaultvalue: ! do_defaultvalue(); break; ! case Bytecodes::_withfield: ! do_withfield(); break; case Bytecodes::_jsr: case Bytecodes::_jsr_w: do_jsr();
*** 2429,2446 **** case Bytecodes::_monitorexit: do_monitor_exit(); break; - case Bytecodes::_vunbox: - do_vunbox(); - break; - - case Bytecodes::_vbox: - do_vbox(); - break; - case Bytecodes::_breakpoint: // Breakpoint set concurrently to compile // %%% use an uncommon trap? C->record_failure("breakpoint in method"); return; --- 2426,2435 ----
< prev index next >