comparison src/share/vm/asm/codeBuffer.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 c7c777385a15
children d1605aabd0a1
comparison
equal deleted inserted replaced
110:a49a647afe9a 113:ba764ed4b6f2
279 int patch_loc = CodeBuffer::locator(branch_pc - base, index()); 279 int patch_loc = CodeBuffer::locator(branch_pc - base, index());
280 L.add_patch_at(outer(), patch_loc); 280 L.add_patch_at(outer(), patch_loc);
281 281
282 // Need to return a pc, doesn't matter what it is since it will be 282 // Need to return a pc, doesn't matter what it is since it will be
283 // replaced during resolution later. 283 // replaced during resolution later.
284 // (Don't return NULL or badAddress, since branches shouldn't overflow.) 284 // Don't return NULL or badAddress, since branches shouldn't overflow.
285 return base; 285 // Don't return base either because that could overflow displacements
286 // for shorter branches. It will get checked when bound.
287 return branch_pc;
286 } 288 }
287 } 289 }
288 290
289 void CodeSection::relocate(address at, RelocationHolder const& spec, int format) { 291 void CodeSection::relocate(address at, RelocationHolder const& spec, int format) {
290 Relocation* reloc = spec.reloc(); 292 Relocation* reloc = spec.reloc();