comparison src/share/vm/graal/graalCodeInstaller.cpp @ 2951:0c0e407faa39

another fix to debug info (on-stack parameters), DCE removes unnecessary merges and LoopBegins whose LoopEnd went away
author Lukas Stadler <lukas.stadler@jku.at>
date Tue, 14 Jun 2011 16:47:31 +0200
parents c7783b6773ea
children f00918f35c7f
comparison
equal deleted inserted replaced
2950:8b2953f6d325 2951:0c0e407faa39
154 jint index = CiStackSlot::index(value); 154 jint index = CiStackSlot::index(value);
155 ScopeValue* value; 155 ScopeValue* value;
156 if (index >= 0) { 156 if (index >= 0) {
157 value = new LocationValue(Location::new_stk_loc(locationType, index * HeapWordSize)); 157 value = new LocationValue(Location::new_stk_loc(locationType, index * HeapWordSize));
158 } else { 158 } else {
159 int frame_size_bytes = frame_size + 2 * HeapWordSize; 159 value = new LocationValue(Location::new_stk_loc(locationType, -(index * HeapWordSize) + frame_size));
160 value = new LocationValue(Location::new_stk_loc(locationType, -(index * HeapWordSize) + frame_size_bytes));
161 } 160 }
162 if (type == T_DOUBLE || type == T_LONG) { 161 if (type == T_DOUBLE || type == T_LONG) {
163 second = value; 162 second = value;
164 } 163 }
165 return value; 164 return value;