comparison src/share/vm/c1/c1_CodeStubs.hpp @ 1783:d5d065957597

6953144: Tiered compilation Summary: Infrastructure for tiered compilation support (interpreter + c1 + c2) for 32 and 64 bit. Simple tiered policy implementation. Reviewed-by: kvn, never, phh, twisti
author iveresov
date Fri, 03 Sep 2010 17:51:07 -0700
parents 126ea7725993
children f95d63e2154a
comparison
equal deleted inserted replaced
1782:f353275af40e 1783:d5d065957597
78 _CodeStubList::append(stub); 78 _CodeStubList::append(stub);
79 } 79 }
80 } 80 }
81 }; 81 };
82 82
83 #ifdef TIERED
84 class CounterOverflowStub: public CodeStub { 83 class CounterOverflowStub: public CodeStub {
85 private: 84 private:
86 CodeEmitInfo* _info; 85 CodeEmitInfo* _info;
87 int _bci; 86 int _bci;
87 LIR_Opr _method;
88 88
89 public: 89 public:
90 CounterOverflowStub(CodeEmitInfo* info, int bci) : _info(info), _bci(bci) { 90 CounterOverflowStub(CodeEmitInfo* info, int bci, LIR_Opr method) : _info(info), _bci(bci), _method(method) {
91 } 91 }
92 92
93 virtual void emit_code(LIR_Assembler* e); 93 virtual void emit_code(LIR_Assembler* e);
94 94
95 virtual void visit(LIR_OpVisitState* visitor) { 95 virtual void visit(LIR_OpVisitState* visitor) {
96 visitor->do_slow_case(_info); 96 visitor->do_slow_case(_info);
97 visitor->do_input(_method);
97 } 98 }
98 99
99 #ifndef PRODUCT 100 #ifndef PRODUCT
100 virtual void print_name(outputStream* out) const { out->print("CounterOverflowStub"); } 101 virtual void print_name(outputStream* out) const { out->print("CounterOverflowStub"); }
101 #endif // PRODUCT 102 #endif // PRODUCT
102 103
103 }; 104 };
104 #endif // TIERED
105 105
106 class ConversionStub: public CodeStub { 106 class ConversionStub: public CodeStub {
107 private: 107 private:
108 Bytecodes::Code _bytecode; 108 Bytecodes::Code _bytecode;
109 LIR_Opr _input; 109 LIR_Opr _input;