hotspot/src/share/vm/code/pcDesc.cpp
changeset 10517 f92c9ff3a15f
parent 9978 80c391c46474
child 24424 2658d7834c6e
equal deleted inserted replaced
10516:2797e487c09f 10517:f92c9ff3a15f
    28 #include "code/pcDesc.hpp"
    28 #include "code/pcDesc.hpp"
    29 #include "code/scopeDesc.hpp"
    29 #include "code/scopeDesc.hpp"
    30 #include "memory/resourceArea.hpp"
    30 #include "memory/resourceArea.hpp"
    31 
    31 
    32 PcDesc::PcDesc(int pc_offset, int scope_decode_offset, int obj_decode_offset) {
    32 PcDesc::PcDesc(int pc_offset, int scope_decode_offset, int obj_decode_offset) {
    33   assert(sizeof(PcDescFlags) <= 4, "occupies more than a word");
       
    34   _pc_offset           = pc_offset;
    33   _pc_offset           = pc_offset;
    35   _scope_decode_offset = scope_decode_offset;
    34   _scope_decode_offset = scope_decode_offset;
    36   _obj_decode_offset   = obj_decode_offset;
    35   _obj_decode_offset   = obj_decode_offset;
    37   _flags.word          = 0;
    36   _flags               = 0;
    38 }
    37 }
    39 
    38 
    40 address PcDesc::real_pc(const nmethod* code) const {
    39 address PcDesc::real_pc(const nmethod* code) const {
    41   return code->code_begin() + pc_offset();
    40   return code->code_begin() + pc_offset();
    42 }
    41 }
    43 
    42 
    44 void PcDesc::print(nmethod* code) {
    43 void PcDesc::print(nmethod* code) {
    45 #ifndef PRODUCT
    44 #ifndef PRODUCT
    46   ResourceMark rm;
    45   ResourceMark rm;
    47   tty->print_cr("PcDesc(pc=0x%lx offset=%x bits=%x):", real_pc(code), pc_offset(), _flags.bits);
    46   tty->print_cr("PcDesc(pc=0x%lx offset=%x bits=%x):", real_pc(code), pc_offset(), _flags);
    48 
    47 
    49   if (scope_decode_offset() == DebugInformationRecorder::serialized_null) {
    48   if (scope_decode_offset() == DebugInformationRecorder::serialized_null) {
    50     return;
    49     return;
    51   }
    50   }
    52 
    51