Mercurial > hg > truffle
comparison src/share/vm/compiler/disassembler.cpp @ 2008:2f644f85485d
6961690: load oops from constant table on SPARC
Summary: oops should be loaded from the constant table of an nmethod instead of materializing them with a long code sequence.
Reviewed-by: never, kvn
author | twisti |
---|---|
date | Fri, 03 Dec 2010 01:34:31 -0800 |
parents | f95d63e2154a |
children | 4de5f4101cfd |
comparison
equal
deleted
inserted
replaced
2007:5ddfcf4b079e | 2008:2f644f85485d |
---|---|
465 total_bucket_count += FlatProfiler::bucket_count_for(p0); | 465 total_bucket_count += FlatProfiler::bucket_count_for(p0); |
466 } | 466 } |
467 env.set_total_ticks(total_bucket_count); | 467 env.set_total_ticks(total_bucket_count); |
468 } | 468 } |
469 | 469 |
470 // Print constant table. | |
471 if (nm->consts_size() > 0) { | |
472 nm->print_nmethod_labels(env.output(), nm->consts_begin()); | |
473 int offset = 0; | |
474 for (address p = nm->consts_begin(); p < nm->consts_end(); p += 4, offset += 4) { | |
475 if ((offset % 8) == 0) { | |
476 env.output()->print_cr(" " INTPTR_FORMAT " (offset: %4d): " PTR32_FORMAT " " PTR64_FORMAT, (intptr_t) p, offset, *((int32_t*) p), *((int64_t*) p)); | |
477 } else { | |
478 env.output()->print_cr(" " INTPTR_FORMAT " (offset: %4d): " PTR32_FORMAT, (intptr_t) p, offset, *((int32_t*) p)); | |
479 } | |
480 } | |
481 } | |
482 | |
470 env.decode_instructions(p, end); | 483 env.decode_instructions(p, end); |
471 } | 484 } |