270 : LoadNode(c,mem,adr,at,ti) {} |
270 : LoadNode(c,mem,adr,at,ti) {} |
271 virtual int Opcode() const; |
271 virtual int Opcode() const; |
272 virtual uint ideal_reg() const { return Op_RegI; } |
272 virtual uint ideal_reg() const { return Op_RegI; } |
273 virtual int store_Opcode() const { return Op_StoreI; } |
273 virtual int store_Opcode() const { return Op_StoreI; } |
274 virtual BasicType memory_type() const { return T_INT; } |
274 virtual BasicType memory_type() const { return T_INT; } |
275 }; |
|
276 |
|
277 //------------------------------LoadUI2LNode----------------------------------- |
|
278 // Load an unsigned integer into long from memory |
|
279 class LoadUI2LNode : public LoadNode { |
|
280 public: |
|
281 LoadUI2LNode(Node* c, Node* mem, Node* adr, const TypePtr* at, const TypeLong* t = TypeLong::UINT) |
|
282 : LoadNode(c, mem, adr, at, t) {} |
|
283 virtual int Opcode() const; |
|
284 virtual uint ideal_reg() const { return Op_RegL; } |
|
285 virtual int store_Opcode() const { return Op_StoreL; } |
|
286 virtual BasicType memory_type() const { return T_LONG; } |
|
287 }; |
275 }; |
288 |
276 |
289 //------------------------------LoadRangeNode---------------------------------- |
277 //------------------------------LoadRangeNode---------------------------------- |
290 // Load an array length from the array |
278 // Load an array length from the array |
291 class LoadRangeNode : public LoadINode { |
279 class LoadRangeNode : public LoadINode { |