comparison src/share/vm/ci/ciInstanceKlass.cpp @ 7990:fcc9e7681d63

8006410: allocating without ResourceMark when CompileCommand was specified Reviewed-by: kvn, vlivanov Contributed-by: Igor Ignatyev <igor.ignatyev@oracle.com>
author vlivanov
date Fri, 01 Feb 2013 02:50:23 -0800
parents bd7a7ce2e264
children 5fc51c1ecdeb 6f3fd5150b67
comparison
equal deleted inserted replaced
7946:6fbe8a57549d 7990:fcc9e7681d63
578 _out(out), 578 _out(out),
579 _holder(holder) { 579 _holder(holder) {
580 } 580 }
581 void do_field(fieldDescriptor* fd) { 581 void do_field(fieldDescriptor* fd) {
582 if (fd->is_final() && !fd->has_initial_value()) { 582 if (fd->is_final() && !fd->has_initial_value()) {
583 ResourceMark rm;
583 oop mirror = fd->field_holder()->java_mirror(); 584 oop mirror = fd->field_holder()->java_mirror();
584 _out->print("staticfield %s %s %s ", _holder, fd->name()->as_quoted_ascii(), fd->signature()->as_quoted_ascii()); 585 _out->print("staticfield %s %s %s ", _holder, fd->name()->as_quoted_ascii(), fd->signature()->as_quoted_ascii());
585 switch (fd->field_type()) { 586 switch (fd->field_type()) {
586 case T_BYTE: _out->print_cr("%d", mirror->byte_field(fd->offset())); break; 587 case T_BYTE: _out->print_cr("%d", mirror->byte_field(fd->offset())); break;
587 case T_BOOLEAN: _out->print_cr("%d", mirror->bool_field(fd->offset())); break; 588 case T_BOOLEAN: _out->print_cr("%d", mirror->bool_field(fd->offset())); break;
641 }; 642 };
642 643
643 644
644 void ciInstanceKlass::dump_replay_data(outputStream* out) { 645 void ciInstanceKlass::dump_replay_data(outputStream* out) {
645 ASSERT_IN_VM; 646 ASSERT_IN_VM;
647 ResourceMark rm;
648
646 InstanceKlass* ik = get_instanceKlass(); 649 InstanceKlass* ik = get_instanceKlass();
647 ConstantPool* cp = ik->constants(); 650 ConstantPool* cp = ik->constants();
648 651
649 // Try to record related loaded classes 652 // Try to record related loaded classes
650 Klass* sub = ik->subklass(); 653 Klass* sub = ik->subklass();