src/share/vm/opto/parse1.cpp

changeset 8316
626f594dffa6
parent 7341
e7b3d177adda
child 8415
d109bda16490
child 8421
3e1cd663c2d3
equal deleted inserted replaced
8315:2f8db587e1fc 8316:626f594dffa6
103 Node *adr = basic_plus_adr( local_addrs_base, local_addrs, -index*wordSize ); 103 Node *adr = basic_plus_adr( local_addrs_base, local_addrs, -index*wordSize );
104 Node *ctl = control(); 104 Node *ctl = control();
105 105
106 // Very similar to LoadNode::make, except we handle un-aligned longs and 106 // Very similar to LoadNode::make, except we handle un-aligned longs and
107 // doubles on Sparc. Intel can handle them just fine directly. 107 // doubles on Sparc. Intel can handle them just fine directly.
108 Node *l; 108 Node *l = NULL;
109 switch (bt) { // Signature is flattened 109 switch (bt) { // Signature is flattened
110 case T_INT: l = new (C) LoadINode(ctl, mem, adr, TypeRawPtr::BOTTOM, TypeInt::INT, MemNode::unordered); break; 110 case T_INT: l = new (C) LoadINode(ctl, mem, adr, TypeRawPtr::BOTTOM, TypeInt::INT, MemNode::unordered); break;
111 case T_FLOAT: l = new (C) LoadFNode(ctl, mem, adr, TypeRawPtr::BOTTOM, Type::FLOAT, MemNode::unordered); break; 111 case T_FLOAT: l = new (C) LoadFNode(ctl, mem, adr, TypeRawPtr::BOTTOM, Type::FLOAT, MemNode::unordered); break;
112 case T_ADDRESS: l = new (C) LoadPNode(ctl, mem, adr, TypeRawPtr::BOTTOM, TypeRawPtr::BOTTOM, MemNode::unordered); break; 112 case T_ADDRESS: l = new (C) LoadPNode(ctl, mem, adr, TypeRawPtr::BOTTOM, TypeRawPtr::BOTTOM, MemNode::unordered); break;
113 case T_OBJECT: l = new (C) LoadPNode(ctl, mem, adr, TypeRawPtr::BOTTOM, TypeInstPtr::BOTTOM, MemNode::unordered); break; 113 case T_OBJECT: l = new (C) LoadPNode(ctl, mem, adr, TypeRawPtr::BOTTOM, TypeInstPtr::BOTTOM, MemNode::unordered); break;
1860 } 1860 }
1861 1861
1862 // Now use a Phi here for merging 1862 // Now use a Phi here for merging
1863 assert(!nocreate, "Cannot build a phi for a block already parsed."); 1863 assert(!nocreate, "Cannot build a phi for a block already parsed.");
1864 const JVMState* jvms = map->jvms(); 1864 const JVMState* jvms = map->jvms();
1865 const Type* t; 1865 const Type* t = NULL;
1866 if (jvms->is_loc(idx)) { 1866 if (jvms->is_loc(idx)) {
1867 t = block()->local_type_at(idx - jvms->locoff()); 1867 t = block()->local_type_at(idx - jvms->locoff());
1868 } else if (jvms->is_stk(idx)) { 1868 } else if (jvms->is_stk(idx)) {
1869 t = block()->stack_type_at(idx - jvms->stkoff()); 1869 t = block()->stack_type_at(idx - jvms->stkoff());
1870 } else if (jvms->is_mon(idx)) { 1870 } else if (jvms->is_mon(idx)) {

mercurial