mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-25 05:45:11 +02:00
6961690: load oops from constant table on SPARC
Oops should be loaded from the constant table of an nmethod instead of materializing them with a long code sequence. Reviewed-by: never, kvn
This commit is contained in:
parent
ab725dba1d
commit
ffaadcecea
31 changed files with 1795 additions and 830 deletions
|
@ -467,5 +467,18 @@ void Disassembler::decode(nmethod* nm, outputStream* st) {
|
|||
env.set_total_ticks(total_bucket_count);
|
||||
}
|
||||
|
||||
// Print constant table.
|
||||
if (nm->consts_size() > 0) {
|
||||
nm->print_nmethod_labels(env.output(), nm->consts_begin());
|
||||
int offset = 0;
|
||||
for (address p = nm->consts_begin(); p < nm->consts_end(); p += 4, offset += 4) {
|
||||
if ((offset % 8) == 0) {
|
||||
env.output()->print_cr(" " INTPTR_FORMAT " (offset: %4d): " PTR32_FORMAT " " PTR64_FORMAT, (intptr_t) p, offset, *((int32_t*) p), *((int64_t*) p));
|
||||
} else {
|
||||
env.output()->print_cr(" " INTPTR_FORMAT " (offset: %4d): " PTR32_FORMAT, (intptr_t) p, offset, *((int32_t*) p));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
env.decode_instructions(p, end);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue