equal
deleted
inserted
replaced
105 class UnsafePrefetchRead; |
105 class UnsafePrefetchRead; |
106 class UnsafePrefetchWrite; |
106 class UnsafePrefetchWrite; |
107 class ProfileCall; |
107 class ProfileCall; |
108 class ProfileInvoke; |
108 class ProfileInvoke; |
109 class RuntimeCall; |
109 class RuntimeCall; |
|
110 class MemBar; |
110 |
111 |
111 // A Value is a reference to the instruction creating the value |
112 // A Value is a reference to the instruction creating the value |
112 typedef Instruction* Value; |
113 typedef Instruction* Value; |
113 define_array(ValueArray, Value) |
114 define_array(ValueArray, Value) |
114 define_stack(Values, ValueArray) |
115 define_stack(Values, ValueArray) |
202 virtual void do_UnsafePrefetchRead (UnsafePrefetchRead* x) = 0; |
203 virtual void do_UnsafePrefetchRead (UnsafePrefetchRead* x) = 0; |
203 virtual void do_UnsafePrefetchWrite(UnsafePrefetchWrite* x) = 0; |
204 virtual void do_UnsafePrefetchWrite(UnsafePrefetchWrite* x) = 0; |
204 virtual void do_ProfileCall (ProfileCall* x) = 0; |
205 virtual void do_ProfileCall (ProfileCall* x) = 0; |
205 virtual void do_ProfileInvoke (ProfileInvoke* x) = 0; |
206 virtual void do_ProfileInvoke (ProfileInvoke* x) = 0; |
206 virtual void do_RuntimeCall (RuntimeCall* x) = 0; |
207 virtual void do_RuntimeCall (RuntimeCall* x) = 0; |
|
208 virtual void do_MemBar (MemBar* x) = 0; |
207 }; |
209 }; |
208 |
210 |
209 |
211 |
210 // Hashing support |
212 // Hashing support |
211 // |
213 // |
2349 ValueStack* state() { return _state; } |
2351 ValueStack* state() { return _state; } |
2350 virtual void input_values_do(ValueVisitor*) {} |
2352 virtual void input_values_do(ValueVisitor*) {} |
2351 virtual void state_values_do(ValueVisitor*); |
2353 virtual void state_values_do(ValueVisitor*); |
2352 }; |
2354 }; |
2353 |
2355 |
|
2356 LEAF(MemBar, Instruction) |
|
2357 private: |
|
2358 LIR_Code _code; |
|
2359 |
|
2360 public: |
|
2361 MemBar(LIR_Code code) |
|
2362 : Instruction(voidType) |
|
2363 , _code(code) |
|
2364 { |
|
2365 pin(); |
|
2366 } |
|
2367 |
|
2368 LIR_Code code() { return _code; } |
|
2369 |
|
2370 virtual void input_values_do(ValueVisitor*) {} |
|
2371 }; |
|
2372 |
2354 class BlockPair: public CompilationResourceObj { |
2373 class BlockPair: public CompilationResourceObj { |
2355 private: |
2374 private: |
2356 BlockBegin* _from; |
2375 BlockBegin* _from; |
2357 BlockBegin* _to; |
2376 BlockBegin* _to; |
2358 public: |
2377 public: |