comparison src/share/vm/opto/library_call.cpp @ 6853:d804e148cff8

Merge
author kvn
date Fri, 12 Oct 2012 09:22:52 -0700
parents d8ce2825b193 8e47bac5643a
children cfe522e6461c
comparison
equal deleted inserted replaced
6842:b9a9ed0f8eeb 6853:d804e148cff8
2376 sharpened_klass = elem_type->klass(); 2376 sharpened_klass = elem_type->klass();
2377 } 2377 }
2378 } 2378 }
2379 } 2379 }
2380 2380
2381 if (sharpened_klass != NULL) { 2381 // The sharpened class might be unloaded if there is no class loader
2382 // contraint in place.
2383 if (sharpened_klass != NULL && sharpened_klass->is_loaded()) {
2382 const TypeOopPtr* tjp = TypeOopPtr::make_from_klass(sharpened_klass); 2384 const TypeOopPtr* tjp = TypeOopPtr::make_from_klass(sharpened_klass);
2383 2385
2384 #ifndef PRODUCT 2386 #ifndef PRODUCT
2385 if (PrintIntrinsics || PrintInlining || PrintOptoInlining) { 2387 if (PrintIntrinsics || PrintInlining || PrintOptoInlining) {
2386 tty->print(" from base type: "); adr_type->dump(); 2388 tty->print(" from base type: "); adr_type->dump();
2387 tty->print(" sharpened value: "); tjp->dump(); 2389 tty->print(" sharpened value: "); tjp->dump();
2388 } 2390 }
2389 #endif 2391 #endif
2390 // Sharpen the value type. 2392 // Sharpen the value type.
2391 return tjp; 2393 return tjp;
2392 } 2394 }
4379 // base_off: 4381 // base_off:
4380 // 8 - 32-bit VM 4382 // 8 - 32-bit VM
4381 // 12 - 64-bit VM, compressed klass 4383 // 12 - 64-bit VM, compressed klass
4382 // 16 - 64-bit VM, normal klass 4384 // 16 - 64-bit VM, normal klass
4383 if (base_off % BytesPerLong != 0) { 4385 if (base_off % BytesPerLong != 0) {
4384 assert(UseCompressedOops, ""); 4386 assert(UseCompressedKlassPointers, "");
4385 if (is_array) { 4387 if (is_array) {
4386 // Exclude length to copy by 8 bytes words. 4388 // Exclude length to copy by 8 bytes words.
4387 base_off += sizeof(int); 4389 base_off += sizeof(int);
4388 } else { 4390 } else {
4389 // Include klass to copy by 8 bytes words. 4391 // Include klass to copy by 8 bytes words.