Mercurial > hg > release > icedtea6-1.10
changeset 1580:2a14fec2301f
2009-06-04 Gary Benson <gbenson@redhat.com>
* ports/hotspot/src/share/vm/shark/sharkBlock.hpp
(SharkBlock::lookup_for_field_access): Removed.
* ports/hotspot/src/share/vm/shark/sharkBlock.cpp
(SharkBlock::do_field_access): Inline receiver for static fields.
(SharkBlock::lookup_for_field_access): Removed.
* ports/hotspot/src/share/vm/shark/sharkInliner.cpp
(SharkInlinerHelper::do_field_access): Allow static fields.
* ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.hpp
(SharkBlock::lookup_for_field_access): Removed.
* ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.cpp
(SharkTopLevelBlock::scan_for_traps): Removed static field traps.
(SharkBlock::lookup_for_field_access): Removed.
author | Gary Benson <gbenson@redhat.com> |
---|---|
date | Thu, 04 Jun 2009 11:07:53 -0400 |
parents | 89bd8e0f38c5 |
children | 4dbf479c5609 |
files | ChangeLog ports/hotspot/src/share/vm/shark/sharkBlock.cpp ports/hotspot/src/share/vm/shark/sharkBlock.hpp ports/hotspot/src/share/vm/shark/sharkInliner.cpp ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.cpp ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.hpp |
diffstat | 6 files changed, 20 insertions(+), 39 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog Thu Jun 04 09:48:19 2009 -0400 +++ b/ChangeLog Thu Jun 04 11:07:53 2009 -0400 @@ -1,3 +1,20 @@ +2009-06-04 Gary Benson <gbenson@redhat.com> + + * ports/hotspot/src/share/vm/shark/sharkBlock.hpp + (SharkBlock::lookup_for_field_access): Removed. + * ports/hotspot/src/share/vm/shark/sharkBlock.cpp + (SharkBlock::do_field_access): Inline receiver for static fields. + (SharkBlock::lookup_for_field_access): Removed. + + * ports/hotspot/src/share/vm/shark/sharkInliner.cpp + (SharkInlinerHelper::do_field_access): Allow static fields. + + * ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.hpp + (SharkBlock::lookup_for_field_access): Removed. + * ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.cpp + (SharkTopLevelBlock::scan_for_traps): Removed static field traps. + (SharkBlock::lookup_for_field_access): Removed. + 2009-06-04 Gary Benson <gbenson@redhat.com> * ports/hotspot/src/share/vm/shark/sharkConstant.hpp: New file.
--- a/ports/hotspot/src/share/vm/shark/sharkBlock.cpp Thu Jun 04 09:48:19 2009 -0400 +++ b/ports/hotspot/src/share/vm/shark/sharkBlock.cpp Thu Jun 04 11:07:53 2009 -0400 @@ -1002,7 +1002,7 @@ } if (!is_get || value == NULL) { if (!is_field) - object = lookup_for_field_access(); + object = builder()->CreateInlineOop(field->holder()); BasicType basic_type = field->type()->basic_type(); const Type *stack_type = SharkType::to_stackType(basic_type); @@ -1165,11 +1165,6 @@ ShouldNotCallThis(); } -Value* SharkBlock::lookup_for_field_access() -{ - ShouldNotCallThis(); -} - void SharkBlock::do_arraylength() { ShouldNotCallThis();
--- a/ports/hotspot/src/share/vm/shark/sharkBlock.hpp Thu Jun 04 09:48:19 2009 -0400 +++ b/ports/hotspot/src/share/vm/shark/sharkBlock.hpp Thu Jun 04 11:07:53 2009 -0400 @@ -202,7 +202,6 @@ // Helpers protected: virtual void do_zero_check(SharkValue* value); - virtual llvm::Value* lookup_for_field_access(); // Leaf calls protected:
--- a/ports/hotspot/src/share/vm/shark/sharkInliner.cpp Thu Jun 04 09:48:19 2009 -0400 +++ b/ports/hotspot/src/share/vm/shark/sharkInliner.cpp Thu Jun 04 11:07:53 2009 -0400 @@ -760,12 +760,8 @@ } } - if (!result_pushed) { - if (!is_field) - return false; - + if (!result_pushed) push(false); - } if (field->type()->is_two_word()) push(false);
--- a/ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.cpp Thu Jun 04 09:48:19 2009 -0400 +++ b/ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.cpp Thu Jun 04 11:07:53 2009 -0400 @@ -74,20 +74,6 @@ Deoptimization::Action_none), bci()); return; } - - // If this is a getfield or putfield then there won't be a - // pool access and we're done - if (is_field) - break; - - // There won't be a pool access if this is a constant getstatic - if (bc() == Bytecodes::_getstatic && field->is_constant()) { - if (SharkConstant::for_field(iter())->is_loaded()) - break; - } - - // Continue to the check - index = iter()->get_field_index(); break; case Bytecodes::_invokevirtual: @@ -608,17 +594,6 @@ builder()->CreateRetVoid(); } -Value* SharkTopLevelBlock::lookup_for_field_access() -{ - SharkConstantPool constants(this); - Value *cache = constants.cache_entry_at(iter()->get_field_index()); - - return builder()->CreateValueOfStructEntry( - cache, ConstantPoolCacheEntry::f1_offset(), - SharkType::jobject_type(), - "object"); -} - void SharkTopLevelBlock::do_arraylength() { SharkValue *array = pop();
--- a/ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.hpp Thu Jun 04 09:48:19 2009 -0400 +++ b/ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.hpp Thu Jun 04 11:07:53 2009 -0400 @@ -220,9 +220,8 @@ public: void emit_IR(); - // Helpers + // Branch helpers private: - llvm::Value* lookup_for_field_access(); void do_branch(int successor_index); // Zero checks