hotspot/src/share/vm/code/debugInfo.hpp
changeset 46271 979ebd346ecf
parent 38133 78b95467b9f1
equal deleted inserted replaced
46270:2e7898927798 46271:979ebd346ecf
     1 /*
     1 /*
     2  * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
     2  * Copyright (c) 1997, 2017, Oracle and/or its affiliates. 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.
    28 #include "code/compressedStream.hpp"
    28 #include "code/compressedStream.hpp"
    29 #include "code/location.hpp"
    29 #include "code/location.hpp"
    30 #include "code/nmethod.hpp"
    30 #include "code/nmethod.hpp"
    31 #include "code/oopRecorder.hpp"
    31 #include "code/oopRecorder.hpp"
    32 #include "runtime/stackValue.hpp"
    32 #include "runtime/stackValue.hpp"
       
    33 #include "runtime/thread.hpp"
    33 #include "utilities/growableArray.hpp"
    34 #include "utilities/growableArray.hpp"
    34 
    35 
    35 // Classes used for serializing debugging information.
    36 // Classes used for serializing debugging information.
    36 // These abstractions are introducted to provide symmetric
    37 // These abstractions are introducted to provide symmetric
    37 // read and write operations.
    38 // read and write operations.
   125   ScopeValue*                 field_at(int i) const     { return _field_values.at(i); }
   126   ScopeValue*                 field_at(int i) const     { return _field_values.at(i); }
   126   int                         field_size()              { return _field_values.length(); }
   127   int                         field_size()              { return _field_values.length(); }
   127   Handle                      value() const             { return _value; }
   128   Handle                      value() const             { return _value; }
   128   bool                        is_visited() const        { return _visited; }
   129   bool                        is_visited() const        { return _visited; }
   129 
   130 
   130   void                        set_value(oop value)      { _value = Handle(value); }
   131   void                        set_value(oop value)      { _value = Handle(Thread::current(), value); }
   131   void                        set_visited(bool visited) { _visited = false; }
   132   void                        set_visited(bool visited) { _visited = false; }
   132 
   133 
   133   // Serialization of debugging information
   134   // Serialization of debugging information
   134   void read_object(DebugInfoReadStream* stream);
   135   void read_object(DebugInfoReadStream* stream);
   135   void write_on(DebugInfoWriteStream* stream);
   136   void write_on(DebugInfoWriteStream* stream);