1276 public: |
1276 public: |
1277 PrefetchWriteNode(Node *abio, Node *adr) : Node(0,abio,adr) {} |
1277 PrefetchWriteNode(Node *abio, Node *adr) : Node(0,abio,adr) {} |
1278 virtual int Opcode() const; |
1278 virtual int Opcode() const; |
1279 virtual uint ideal_reg() const { return NotAMachineReg; } |
1279 virtual uint ideal_reg() const { return NotAMachineReg; } |
1280 virtual uint match_edge(uint idx) const { return idx==2; } |
1280 virtual uint match_edge(uint idx) const { return idx==2; } |
|
1281 virtual const Type *bottom_type() const { return Type::ABIO; } |
|
1282 }; |
|
1283 |
|
1284 // Allocation prefetch which may fault, TLAB size have to be adjusted. |
|
1285 class PrefetchAllocationNode : public Node { |
|
1286 public: |
|
1287 PrefetchAllocationNode(Node *mem, Node *adr) : Node(0,mem,adr) {} |
|
1288 virtual int Opcode() const; |
|
1289 virtual uint ideal_reg() const { return NotAMachineReg; } |
|
1290 virtual uint match_edge(uint idx) const { return idx==2; } |
1281 virtual const Type *bottom_type() const { return ( AllocatePrefetchStyle == 3 ) ? Type::MEMORY : Type::ABIO; } |
1291 virtual const Type *bottom_type() const { return ( AllocatePrefetchStyle == 3 ) ? Type::MEMORY : Type::ABIO; } |
1282 }; |
1292 }; |
1283 |
1293 |
1284 #endif // SHARE_VM_OPTO_MEMNODE_HPP |
1294 #endif // SHARE_VM_OPTO_MEMNODE_HPP |