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??