Mercurial > hg > graal-compiler
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(); |