Mercurial > hg > truffle
comparison src/share/vm/opto/memnode.hpp @ 29:d5fc211aea19
6633953: type2aelembytes{T_ADDRESS} should be 8 bytes in 64 bit VM
Summary: T_ADDRESS size is defined as 'int' size (4 bytes) but C2 use it for raw pointers and as memory type for StoreP and LoadP nodes.
Reviewed-by: jrose
author | kvn |
---|---|
date | Mon, 25 Feb 2008 15:05:44 -0800 |
parents | ff5961f4c095 |
children | 3288958bf319 |
comparison
equal
deleted
inserted
replaced
28:67914967a4b5 | 29:d5fc211aea19 |
---|---|
95 // (Return -1 if unknown.) | 95 // (Return -1 if unknown.) |
96 virtual int store_Opcode() const { return -1; } | 96 virtual int store_Opcode() const { return -1; } |
97 | 97 |
98 // What is the type of the value in memory? (T_VOID mean "unspecified".) | 98 // What is the type of the value in memory? (T_VOID mean "unspecified".) |
99 virtual BasicType memory_type() const = 0; | 99 virtual BasicType memory_type() const = 0; |
100 virtual int memory_size() const { return type2aelembytes[memory_type()]; } | 100 virtual int memory_size() const { |
101 #ifdef ASSERT | |
102 return type2aelembytes(memory_type(), true); | |
103 #else | |
104 return type2aelembytes(memory_type()); | |
105 #endif | |
106 } | |
101 | 107 |
102 // Search through memory states which precede this node (load or store). | 108 // Search through memory states which precede this node (load or store). |
103 // Look for an exact match for the address, with no intervening | 109 // Look for an exact match for the address, with no intervening |
104 // aliased stores. | 110 // aliased stores. |
105 Node* find_previous_store(PhaseTransform* phase); | 111 Node* find_previous_store(PhaseTransform* phase); |