equal
deleted
inserted
replaced
1 /* |
1 /* |
2 * Copyright (c) 1998, 2011, Oracle and/or its affiliates. All rights reserved. |
2 * Copyright (c) 1998, 2012, 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. |
624 if (sv == NULL) { |
624 if (sv == NULL) { |
625 ciKlass* cik = t->is_oopptr()->klass(); |
625 ciKlass* cik = t->is_oopptr()->klass(); |
626 assert(cik->is_instance_klass() || |
626 assert(cik->is_instance_klass() || |
627 cik->is_array_klass(), "Not supported allocation."); |
627 cik->is_array_klass(), "Not supported allocation."); |
628 sv = new ObjectValue(spobj->_idx, |
628 sv = new ObjectValue(spobj->_idx, |
629 new ConstantOopWriteValue(cik->constant_encoding())); |
629 new ConstantOopWriteValue(cik->java_mirror()->constant_encoding())); |
630 Compile::set_sv_for_object_node(objs, sv); |
630 Compile::set_sv_for_object_node(objs, sv); |
631 |
631 |
632 uint first_ind = spobj->first_index(); |
632 uint first_ind = spobj->first_index(); |
633 for (uint i = 0; i < spobj->n_fields(); i++) { |
633 for (uint i = 0; i < spobj->n_fields(); i++) { |
634 Node* fld_node = sfpt->in(first_ind+i); |
634 Node* fld_node = sfpt->in(first_ind+i); |
713 break; |
713 break; |
714 case Type::AnyPtr: |
714 case Type::AnyPtr: |
715 array->append(new ConstantOopWriteValue(NULL)); |
715 array->append(new ConstantOopWriteValue(NULL)); |
716 break; |
716 break; |
717 case Type::AryPtr: |
717 case Type::AryPtr: |
718 case Type::InstPtr: |
718 case Type::InstPtr: // fall through |
719 case Type::KlassPtr: // fall through |
|
720 array->append(new ConstantOopWriteValue(t->isa_oopptr()->const_oop()->constant_encoding())); |
719 array->append(new ConstantOopWriteValue(t->isa_oopptr()->const_oop()->constant_encoding())); |
721 break; |
720 break; |
722 case Type::NarrowOop: |
721 case Type::NarrowOop: |
723 if (t == TypeNarrowOop::NULL_PTR) { |
722 if (t == TypeNarrowOop::NULL_PTR) { |
724 array->append(new ConstantOopWriteValue(NULL)); |
723 array->append(new ConstantOopWriteValue(NULL)); |
900 const Type *t = obj_node->bottom_type(); |
899 const Type *t = obj_node->bottom_type(); |
901 ciKlass* cik = t->is_oopptr()->klass(); |
900 ciKlass* cik = t->is_oopptr()->klass(); |
902 assert(cik->is_instance_klass() || |
901 assert(cik->is_instance_klass() || |
903 cik->is_array_klass(), "Not supported allocation."); |
902 cik->is_array_klass(), "Not supported allocation."); |
904 ObjectValue* sv = new ObjectValue(spobj->_idx, |
903 ObjectValue* sv = new ObjectValue(spobj->_idx, |
905 new ConstantOopWriteValue(cik->constant_encoding())); |
904 new ConstantOopWriteValue(cik->java_mirror()->constant_encoding())); |
906 Compile::set_sv_for_object_node(objs, sv); |
905 Compile::set_sv_for_object_node(objs, sv); |
907 |
906 |
908 uint first_ind = spobj->first_index(); |
907 uint first_ind = spobj->first_index(); |
909 for (uint i = 0; i < spobj->n_fields(); i++) { |
908 for (uint i = 0; i < spobj->n_fields(); i++) { |
910 Node* fld_node = sfn->in(first_ind+i); |
909 Node* fld_node = sfn->in(first_ind+i); |
1656 xtty->head("opto_assembly compile_id='%d'%s", compile_id(), |
1655 xtty->head("opto_assembly compile_id='%d'%s", compile_id(), |
1657 is_osr_compilation() ? " compile_kind='osr'" : |
1656 is_osr_compilation() ? " compile_kind='osr'" : |
1658 ""); |
1657 ""); |
1659 } |
1658 } |
1660 if (method() != NULL) { |
1659 if (method() != NULL) { |
1661 method()->print_oop(); |
1660 method()->print_metadata(); |
1662 print_codes(); |
|
1663 } |
1661 } |
1664 dump_asm(node_offsets, node_offset_limit); |
1662 dump_asm(node_offsets, node_offset_limit); |
1665 if (xtty != NULL) { |
1663 if (xtty != NULL) { |
1666 xtty->tail("opto_assembly"); |
1664 xtty->tail("opto_assembly"); |
1667 } |
1665 } |