Print constant table when decoding nmethods.

Wed, 01 Feb 2017 11:07:26 +0800

author
fujie
date
Wed, 01 Feb 2017 11:07:26 +0800
changeset 252
5fedb0ff11c3
parent 251
00ce971cbce3
child 253
ea2644f6631e

Print constant table when decoding nmethods.

src/cpu/mips/vm/disassembler_mips.cpp file | annotate | diff | comparison | revisions
     1.1 --- a/src/cpu/mips/vm/disassembler_mips.cpp	Wed Feb 01 09:01:44 2017 +0800
     1.2 +++ b/src/cpu/mips/vm/disassembler_mips.cpp	Wed Feb 01 11:07:26 2017 +0800
     1.3 @@ -715,6 +715,20 @@
     1.4    st->cr();
     1.5  
     1.6    mips32_env env(nm, st);
     1.7 +
     1.8 +  // Print constant table.
     1.9 +  if (nm->consts_size() > 0) {
    1.10 +    nm->print_nmethod_labels(st, nm->consts_begin());
    1.11 +    int offset = 0;
    1.12 +    for (address p = nm->consts_begin(); p < nm->consts_end(); p += 4, offset += 4) {
    1.13 +      if ((offset % 8) == 0) {
    1.14 +        st->print_cr("  " PTR_FORMAT " (offset: %4d): " PTR32_FORMAT "   " PTR64_FORMAT, p, offset, *((int32_t*) p), *((int64_t*) p));
    1.15 +      } else {
    1.16 +        st->print_cr("  " PTR_FORMAT " (offset: %4d): " PTR32_FORMAT,                    p, offset, *((int32_t*) p));
    1.17 +      }
    1.18 +    }
    1.19 +  }
    1.20 +
    1.21  #ifdef COMPILER1
    1.22    unsigned char* p = nm->code_begin();
    1.23  #else

mercurial