equal
deleted
inserted
replaced
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); |