src/share/vm/compiler/disassembler.cpp
Index
Unified diffs
Context diffs
Sdiffs
Wdiffs
Patch
New
Old
Previous File
Next File
6961690 Cdiff src/share/vm/compiler/disassembler.cpp
src/share/vm/compiler/disassembler.cpp
Print this page
rev 1838 : 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:
*** 444,450 ****
--- 444,463 ----
total_bucket_count += FlatProfiler::bucket_count_for(p0);
}
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);
}
src/share/vm/compiler/disassembler.cpp
Index
Unified diffs
Context diffs
Sdiffs
Wdiffs
Patch
New
Old
Previous File
Next File