src/cpu/x86/vm/assembler_x86.cpp

changeset 2148
d257356e35f0
parent 2118
d6f45b55c972
child 2201
d55217dc206f
     1.1 --- a/src/cpu/x86/vm/assembler_x86.cpp	Mon Sep 13 16:45:00 2010 -0700
     1.2 +++ b/src/cpu/x86/vm/assembler_x86.cpp	Mon Sep 13 23:24:30 2010 -0700
     1.3 @@ -4993,19 +4993,22 @@
     1.4        ttyLocker ttyl;
     1.5        tty->print_cr("eip = 0x%08x", eip);
     1.6  #ifndef PRODUCT
     1.7 -      tty->cr();
     1.8 -      findpc(eip);
     1.9 -      tty->cr();
    1.10 +      if ((WizardMode || Verbose) && PrintMiscellaneous) {
    1.11 +        tty->cr();
    1.12 +        findpc(eip);
    1.13 +        tty->cr();
    1.14 +      }
    1.15  #endif
    1.16 -      tty->print_cr("rax, = 0x%08x", rax);
    1.17 -      tty->print_cr("rbx, = 0x%08x", rbx);
    1.18 +      tty->print_cr("rax = 0x%08x", rax);
    1.19 +      tty->print_cr("rbx = 0x%08x", rbx);
    1.20        tty->print_cr("rcx = 0x%08x", rcx);
    1.21        tty->print_cr("rdx = 0x%08x", rdx);
    1.22        tty->print_cr("rdi = 0x%08x", rdi);
    1.23        tty->print_cr("rsi = 0x%08x", rsi);
    1.24 -      tty->print_cr("rbp, = 0x%08x", rbp);
    1.25 +      tty->print_cr("rbp = 0x%08x", rbp);
    1.26        tty->print_cr("rsp = 0x%08x", rsp);
    1.27        BREAKPOINT;
    1.28 +      assert(false, "start up GDB");
    1.29      }
    1.30    } else {
    1.31      ttyLocker ttyl;
    1.32 @@ -7677,11 +7680,19 @@
    1.33    movptr(tmp, ExternalAddress((address) delayed_value_addr));
    1.34  
    1.35  #ifdef ASSERT
    1.36 -  Label L;
    1.37 -  testptr(tmp, tmp);
    1.38 -  jccb(Assembler::notZero, L);
    1.39 -  hlt();
    1.40 -  bind(L);
    1.41 +  { Label L;
    1.42 +    testptr(tmp, tmp);
    1.43 +    if (WizardMode) {
    1.44 +      jcc(Assembler::notZero, L);
    1.45 +      char* buf = new char[40];
    1.46 +      sprintf(buf, "DelayedValue="INTPTR_FORMAT, delayed_value_addr[1]);
    1.47 +      stop(buf);
    1.48 +    } else {
    1.49 +      jccb(Assembler::notZero, L);
    1.50 +      hlt();
    1.51 +    }
    1.52 +    bind(L);
    1.53 +  }
    1.54  #endif
    1.55  
    1.56    if (offset != 0)

mercurial