comparison src/share/vm/opto/type.cpp @ 14456:abec000618bf

Merge
author kvn
date Tue, 28 Jan 2014 12:25:34 -0800
parents e045e1876610 15120a36272d
children 45467c53f178
comparison
equal deleted inserted replaced
14269:2a8891e0a082 14456:abec000618bf
59 { Bad, T_NARROWOOP, "narrowoop:", false, Op_RegN, relocInfo::none }, // NarrowOop 59 { Bad, T_NARROWOOP, "narrowoop:", false, Op_RegN, relocInfo::none }, // NarrowOop
60 { Bad, T_NARROWKLASS,"narrowklass:", false, Op_RegN, relocInfo::none }, // NarrowKlass 60 { Bad, T_NARROWKLASS,"narrowklass:", false, Op_RegN, relocInfo::none }, // NarrowKlass
61 { Bad, T_ILLEGAL, "tuple:", false, Node::NotAMachineReg, relocInfo::none }, // Tuple 61 { Bad, T_ILLEGAL, "tuple:", false, Node::NotAMachineReg, relocInfo::none }, // Tuple
62 { Bad, T_ARRAY, "array:", false, Node::NotAMachineReg, relocInfo::none }, // Array 62 { Bad, T_ARRAY, "array:", false, Node::NotAMachineReg, relocInfo::none }, // Array
63 63
64 #ifndef SPARC 64 #ifdef SPARC
65 { Bad, T_ILLEGAL, "vectors:", false, 0, relocInfo::none }, // VectorS
66 { Bad, T_ILLEGAL, "vectord:", false, Op_RegD, relocInfo::none }, // VectorD
67 { Bad, T_ILLEGAL, "vectorx:", false, 0, relocInfo::none }, // VectorX
68 { Bad, T_ILLEGAL, "vectory:", false, 0, relocInfo::none }, // VectorY
69 #elif defined(PPC64)
70 { Bad, T_ILLEGAL, "vectors:", false, 0, relocInfo::none }, // VectorS
71 { Bad, T_ILLEGAL, "vectord:", false, Op_RegL, relocInfo::none }, // VectorD
72 { Bad, T_ILLEGAL, "vectorx:", false, 0, relocInfo::none }, // VectorX
73 { Bad, T_ILLEGAL, "vectory:", false, 0, relocInfo::none }, // VectorY
74 #else // all other
65 { Bad, T_ILLEGAL, "vectors:", false, Op_VecS, relocInfo::none }, // VectorS 75 { Bad, T_ILLEGAL, "vectors:", false, Op_VecS, relocInfo::none }, // VectorS
66 { Bad, T_ILLEGAL, "vectord:", false, Op_VecD, relocInfo::none }, // VectorD 76 { Bad, T_ILLEGAL, "vectord:", false, Op_VecD, relocInfo::none }, // VectorD
67 { Bad, T_ILLEGAL, "vectorx:", false, Op_VecX, relocInfo::none }, // VectorX 77 { Bad, T_ILLEGAL, "vectorx:", false, Op_VecX, relocInfo::none }, // VectorX
68 { Bad, T_ILLEGAL, "vectory:", false, Op_VecY, relocInfo::none }, // VectorY 78 { Bad, T_ILLEGAL, "vectory:", false, Op_VecY, relocInfo::none }, // VectorY
69 #else 79 #endif
70 { Bad, T_ILLEGAL, "vectors:", false, 0, relocInfo::none }, // VectorS
71 { Bad, T_ILLEGAL, "vectord:", false, Op_RegD, relocInfo::none }, // VectorD
72 { Bad, T_ILLEGAL, "vectorx:", false, 0, relocInfo::none }, // VectorX
73 { Bad, T_ILLEGAL, "vectory:", false, 0, relocInfo::none }, // VectorY
74 #endif // IA32 || AMD64
75 { Bad, T_ADDRESS, "anyptr:", false, Op_RegP, relocInfo::none }, // AnyPtr 80 { Bad, T_ADDRESS, "anyptr:", false, Op_RegP, relocInfo::none }, // AnyPtr
76 { Bad, T_ADDRESS, "rawptr:", false, Op_RegP, relocInfo::none }, // RawPtr 81 { Bad, T_ADDRESS, "rawptr:", false, Op_RegP, relocInfo::none }, // RawPtr
77 { Bad, T_OBJECT, "oop:", true, Op_RegP, relocInfo::oop_type }, // OopPtr 82 { Bad, T_OBJECT, "oop:", true, Op_RegP, relocInfo::oop_type }, // OopPtr
78 { Bad, T_OBJECT, "inst:", true, Op_RegP, relocInfo::oop_type }, // InstPtr 83 { Bad, T_OBJECT, "inst:", true, Op_RegP, relocInfo::oop_type }, // InstPtr
79 { Bad, T_OBJECT, "ary:", true, Op_RegP, relocInfo::oop_type }, // AryPtr 84 { Bad, T_OBJECT, "ary:", true, Op_RegP, relocInfo::oop_type }, // AryPtr
2033 assert(Matcher::vector_size_supported(elem_bt, length), "length in range"); 2038 assert(Matcher::vector_size_supported(elem_bt, length), "length in range");
2034 int size = length * type2aelembytes(elem_bt); 2039 int size = length * type2aelembytes(elem_bt);
2035 switch (Matcher::vector_ideal_reg(size)) { 2040 switch (Matcher::vector_ideal_reg(size)) {
2036 case Op_VecS: 2041 case Op_VecS:
2037 return (TypeVect*)(new TypeVectS(elem, length))->hashcons(); 2042 return (TypeVect*)(new TypeVectS(elem, length))->hashcons();
2043 case Op_RegL:
2038 case Op_VecD: 2044 case Op_VecD:
2039 case Op_RegD: 2045 case Op_RegD:
2040 return (TypeVect*)(new TypeVectD(elem, length))->hashcons(); 2046 return (TypeVect*)(new TypeVectD(elem, length))->hashcons();
2041 case Op_VecX: 2047 case Op_VecX:
2042 return (TypeVect*)(new TypeVectX(elem, length))->hashcons(); 2048 return (TypeVect*)(new TypeVectX(elem, length))->hashcons();