hotspot/src/share/vm/code/pcDesc.cpp
changeset 3686 69c1b5228547
parent 1 489c9b5090e2
child 4893 fedc27b54caa
equal deleted inserted replaced
3685:e14965d942e3 3686:69c1b5228547
     1 /*
     1 /*
     2  * Copyright 1997-2005 Sun Microsystems, Inc.  All Rights Reserved.
     2  * Copyright 1997-2009 Sun Microsystems, Inc.  All Rights Reserved.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     4  *
     4  *
     5  * This code is free software; you can redistribute it and/or modify it
     5  * This code is free software; you can redistribute it and/or modify it
     6  * under the terms of the GNU General Public License version 2 only, as
     6  * under the terms of the GNU General Public License version 2 only, as
     7  * published by the Free Software Foundation.
     7  * published by the Free Software Foundation.
    24 
    24 
    25 # include "incls/_precompiled.incl"
    25 # include "incls/_precompiled.incl"
    26 # include "incls/_pcDesc.cpp.incl"
    26 # include "incls/_pcDesc.cpp.incl"
    27 
    27 
    28 PcDesc::PcDesc(int pc_offset, int scope_decode_offset, int obj_decode_offset) {
    28 PcDesc::PcDesc(int pc_offset, int scope_decode_offset, int obj_decode_offset) {
       
    29   assert(sizeof(PcDescFlags) <= 4, "occupies more than a word");
    29   _pc_offset           = pc_offset;
    30   _pc_offset           = pc_offset;
    30   _scope_decode_offset = scope_decode_offset;
    31   _scope_decode_offset = scope_decode_offset;
    31   _obj_decode_offset   = obj_decode_offset;
    32   _obj_decode_offset   = obj_decode_offset;
       
    33   _flags.word          = 0;
    32 }
    34 }
    33 
    35 
    34 address PcDesc::real_pc(const nmethod* code) const {
    36 address PcDesc::real_pc(const nmethod* code) const {
    35   return code->instructions_begin() + pc_offset();
    37   return code->instructions_begin() + pc_offset();
    36 }
    38 }
    48        sd != NULL;
    50        sd != NULL;
    49        sd = sd->sender()) {
    51        sd = sd->sender()) {
    50     tty->print("  ");
    52     tty->print("  ");
    51     sd->method()->print_short_name(tty);
    53     sd->method()->print_short_name(tty);
    52     tty->print("  @%d", sd->bci());
    54     tty->print("  @%d", sd->bci());
       
    55     tty->print("  reexecute=%s", sd->should_reexecute()?"true":"false");
    53     tty->cr();
    56     tty->cr();
    54   }
    57   }
    55 #endif
    58 #endif
    56 }
    59 }
    57 
    60