193
194 // ConstantDoubleValue
195
196 ConstantDoubleValue::ConstantDoubleValue(DebugInfoReadStream* stream) {
197 _value = stream->read_double();
198 }
199
200 void ConstantDoubleValue::write_on(DebugInfoWriteStream* stream) {
201 stream->write_int(CONSTANT_DOUBLE_CODE);
202 stream->write_double(value());
203 }
204
205 void ConstantDoubleValue::print_on(outputStream* st) const {
206 st->print("%f", value());
207 }
208
209 // ConstantOopWriteValue
210
211 void ConstantOopWriteValue::write_on(DebugInfoWriteStream* stream) {
212 assert(JNIHandles::resolve(value()) == NULL ||
213 Universe::heap()->is_in_reserved(JNIHandles::resolve(value())),
214 "Should be in heap");
215 stream->write_int(CONSTANT_OOP_CODE);
216 stream->write_handle(value());
217 }
218
219 void ConstantOopWriteValue::print_on(outputStream* st) const {
220 JNIHandles::resolve(value())->print_value_on(st);
221 }
222
223
224 // ConstantOopReadValue
225
226 ConstantOopReadValue::ConstantOopReadValue(DebugInfoReadStream* stream) {
227 _value = Handle(stream->read_oop());
228 assert(_value() == NULL ||
229 Universe::heap()->is_in_reserved(_value()), "Should be in heap");
230 }
231
232 void ConstantOopReadValue::write_on(DebugInfoWriteStream* stream) {
233 ShouldNotReachHere();
234 }
235
236 void ConstantOopReadValue::print_on(outputStream* st) const {
237 value()()->print_value_on(st);
238 }
239
240
241 // MonitorValue
242
243 MonitorValue::MonitorValue(ScopeValue* owner, Location basic_lock, bool eliminated) {
244 _owner = owner;
245 _basic_lock = basic_lock;
246 _eliminated = eliminated;
247 }
248
249 MonitorValue::MonitorValue(DebugInfoReadStream* stream) {
|
193
194 // ConstantDoubleValue
195
196 ConstantDoubleValue::ConstantDoubleValue(DebugInfoReadStream* stream) {
197 _value = stream->read_double();
198 }
199
200 void ConstantDoubleValue::write_on(DebugInfoWriteStream* stream) {
201 stream->write_int(CONSTANT_DOUBLE_CODE);
202 stream->write_double(value());
203 }
204
205 void ConstantDoubleValue::print_on(outputStream* st) const {
206 st->print("%f", value());
207 }
208
209 // ConstantOopWriteValue
210
211 void ConstantOopWriteValue::write_on(DebugInfoWriteStream* stream) {
212 assert(JNIHandles::resolve(value()) == NULL ||
213 GC::gc()->heap()->is_in_reserved(JNIHandles::resolve(value())),
214 "Should be in heap");
215 stream->write_int(CONSTANT_OOP_CODE);
216 stream->write_handle(value());
217 }
218
219 void ConstantOopWriteValue::print_on(outputStream* st) const {
220 JNIHandles::resolve(value())->print_value_on(st);
221 }
222
223
224 // ConstantOopReadValue
225
226 ConstantOopReadValue::ConstantOopReadValue(DebugInfoReadStream* stream) {
227 _value = Handle(stream->read_oop());
228 assert(_value() == NULL ||
229 GC::gc()->heap()->is_in_reserved(_value()), "Should be in heap");
230 }
231
232 void ConstantOopReadValue::write_on(DebugInfoWriteStream* stream) {
233 ShouldNotReachHere();
234 }
235
236 void ConstantOopReadValue::print_on(outputStream* st) const {
237 value()()->print_value_on(st);
238 }
239
240
241 // MonitorValue
242
243 MonitorValue::MonitorValue(ScopeValue* owner, Location basic_lock, bool eliminated) {
244 _owner = owner;
245 _basic_lock = basic_lock;
246 _eliminated = eliminated;
247 }
248
249 MonitorValue::MonitorValue(DebugInfoReadStream* stream) {
|