Mercurial > hg > truffle
comparison src/share/vm/opto/machnode.cpp @ 113:ba764ed4b6f2
6420645: Create a vm that uses compressed oops for up to 32gb heapsizes
Summary: Compressed oops in instances, arrays, and headers. Code contributors are coleenp, phh, never, swamyv
Reviewed-by: jmasa, kamg, acorn, tbell, kvn, rasbold
author | coleenp |
---|---|
date | Sun, 13 Apr 2008 17:43:42 -0400 |
parents | a61af66fc99e |
children | d1605aabd0a1 8d191a7697e2 |
comparison
equal
deleted
inserted
replaced
110:a49a647afe9a | 113:ba764ed4b6f2 |
---|---|
261 int scale = oper->scale(); | 261 int scale = oper->scale(); |
262 // Now we have collected every part of the ADLC MEMORY_INTER. | 262 // Now we have collected every part of the ADLC MEMORY_INTER. |
263 // See if it adds up to a base + offset. | 263 // See if it adds up to a base + offset. |
264 if (index != NULL) { | 264 if (index != NULL) { |
265 if (!index->is_Con()) { | 265 if (!index->is_Con()) { |
266 const TypeNarrowOop* narrowoop = index->bottom_type()->isa_narrowoop(); | |
267 if (narrowoop != NULL) { | |
268 // Memory references through narrow oops have a | |
269 // funny base so grab the type from the index. | |
270 adr_type = narrowoop->make_oopptr(); | |
271 return NULL; | |
272 } | |
266 disp = Type::OffsetBot; | 273 disp = Type::OffsetBot; |
267 } else if (disp != Type::OffsetBot) { | 274 } else if (disp != Type::OffsetBot) { |
268 const TypeX* ti = index->bottom_type()->isa_intptr_t(); | 275 const TypeX* ti = index->bottom_type()->isa_intptr_t(); |
269 if (ti == NULL) { | 276 if (ti == NULL) { |
270 disp = Type::OffsetBot; // a random constant?? | 277 disp = Type::OffsetBot; // a random constant?? |