src/share/vm/c1/c1_Instruction.cpp
Print this page
*** 27,38 ****
// Implementation of Instruction
- int Instruction::_next_id = 0;
-
#ifdef ASSERT
void Instruction::create_hi_word() {
assert(type()->is_double_word() && _hi_word == NULL, "only double word has high word");
_hi_word = new HiWord(this);
}
--- 27,36 ----
*** 191,216 ****
}
return NULL;
}
! void ArithmeticOp::other_values_do(void f(Value*)) {
if (lock_stack() != NULL) lock_stack()->values_do(f);
}
! void NullCheck::other_values_do(void f(Value*)) {
lock_stack()->values_do(f);
}
! void AccessArray::other_values_do(void f(Value*)) {
if (lock_stack() != NULL) lock_stack()->values_do(f);
}
// Implementation of AccessField
! void AccessField::other_values_do(void f(Value*)) {
if (state_before() != NULL) state_before()->values_do(f);
if (lock_stack() != NULL) lock_stack()->values_do(f);
}
--- 189,214 ----
}
return NULL;
}
! void ArithmeticOp::other_values_do(ValueVisitor* f) {
if (lock_stack() != NULL) lock_stack()->values_do(f);
}
! void NullCheck::other_values_do(ValueVisitor* f) {
lock_stack()->values_do(f);
}
! void AccessArray::other_values_do(ValueVisitor* f) {
if (lock_stack() != NULL) lock_stack()->values_do(f);
}
// Implementation of AccessField
! void AccessField::other_values_do(ValueVisitor* f) {
if (state_before() != NULL) state_before()->values_do(f);
if (lock_stack() != NULL) lock_stack()->values_do(f);
}
*** 268,278 ****
}
// Implementation of CompareOp
! void CompareOp::other_values_do(void f(Value*)) {
if (state_before() != NULL) state_before()->values_do(f);
}
// Implementation of IfOp
--- 266,276 ----
}
// Implementation of CompareOp
! void CompareOp::other_values_do(ValueVisitor* f) {
if (state_before() != NULL) state_before()->values_do(f);
}
// Implementation of IfOp
*** 300,332 ****
IRScope* StateSplit::scope() const {
return _state->scope();
}
! void StateSplit::state_values_do(void f(Value*)) {
if (state() != NULL) state()->values_do(f);
}
! void BlockBegin::state_values_do(void f(Value*)) {
StateSplit::state_values_do(f);
if (is_set(BlockBegin::exception_entry_flag)) {
for (int i = 0; i < number_of_exception_states(); i++) {
exception_state_at(i)->values_do(f);
}
}
}
! void MonitorEnter::state_values_do(void f(Value*)) {
StateSplit::state_values_do(f);
_lock_stack_before->values_do(f);
}
! void Intrinsic::state_values_do(void f(Value*)) {
StateSplit::state_values_do(f);
if (lock_stack() != NULL) lock_stack()->values_do(f);
}
--- 298,330 ----
IRScope* StateSplit::scope() const {
return _state->scope();
}
! void StateSplit::state_values_do(ValueVisitor* f) {
if (state() != NULL) state()->values_do(f);
}
! void BlockBegin::state_values_do(ValueVisitor* f) {
StateSplit::state_values_do(f);
if (is_set(BlockBegin::exception_entry_flag)) {
for (int i = 0; i < number_of_exception_states(); i++) {
exception_state_at(i)->values_do(f);
}
}
}
! void MonitorEnter::state_values_do(ValueVisitor* f) {
StateSplit::state_values_do(f);
_lock_stack_before->values_do(f);
}
! void Intrinsic::state_values_do(ValueVisitor* f) {
StateSplit::state_values_do(f);
if (lock_stack() != NULL) lock_stack()->values_do(f);
}
*** 347,358 ****
set_flag(TargetIsFinalFlag, target_is_loaded() && target->is_final_method());
set_flag(TargetIsStrictfpFlag, target_is_loaded() && target->is_strict());
assert(args != NULL, "args must exist");
#ifdef ASSERT
! values_do(assert_value);
! #endif // ASSERT
// provide an initial guess of signature size.
_signature = new BasicTypeList(number_of_arguments() + (has_receiver() ? 1 : 0));
if (has_receiver()) {
_signature->append(as_BasicType(receiver()->type()));
--- 345,357 ----
set_flag(TargetIsFinalFlag, target_is_loaded() && target->is_final_method());
set_flag(TargetIsStrictfpFlag, target_is_loaded() && target->is_strict());
assert(args != NULL, "args must exist");
#ifdef ASSERT
! AssertValues assert_value;
! values_do(&assert_value);
! #endif
// provide an initial guess of signature size.
_signature = new BasicTypeList(number_of_arguments() + (has_receiver() ? 1 : 0));
if (has_receiver()) {
_signature->append(as_BasicType(receiver()->type()));
*** 366,376 ****
_signature->append(bt);
}
}
! void Invoke::state_values_do(void f(Value*)) {
StateSplit::state_values_do(f);
if (state_before() != NULL) state_before()->values_do(f);
if (state() != NULL) state()->values_do(f);
}
--- 365,375 ----
_signature->append(bt);
}
}
! void Invoke::state_values_do(ValueVisitor* f) {
StateSplit::state_values_do(f);
if (state_before() != NULL) state_before()->values_do(f);
if (state() != NULL) state()->values_do(f);
}
*** 498,531 ****
}
return NULL;
}
! void Constant::other_values_do(void f(Value*)) {
if (state() != NULL) state()->values_do(f);
}
// Implementation of NewArray
! void NewArray::other_values_do(void f(Value*)) {
if (state_before() != NULL) state_before()->values_do(f);
}
// Implementation of TypeCheck
! void TypeCheck::other_values_do(void f(Value*)) {
if (state_before() != NULL) state_before()->values_do(f);
}
// Implementation of BlockBegin
- int BlockBegin::_next_block_id = 0;
-
-
void BlockBegin::set_end(BlockEnd* end) {
assert(end != NULL, "should not reset block end to NULL");
BlockEnd* old_end = _end;
if (end == old_end) {
return;
--- 497,527 ----
}
return NULL;
}
! void Constant::other_values_do(ValueVisitor* f) {
if (state() != NULL) state()->values_do(f);
}
// Implementation of NewArray
! void NewArray::other_values_do(ValueVisitor* f) {
if (state_before() != NULL) state_before()->values_do(f);
}
// Implementation of TypeCheck
! void TypeCheck::other_values_do(ValueVisitor* f) {
if (state_before() != NULL) state_before()->values_do(f);
}
// Implementation of BlockBegin
void BlockBegin::set_end(BlockEnd* end) {
assert(end != NULL, "should not reset block end to NULL");
BlockEnd* old_end = _end;
if (end == old_end) {
return;
*** 736,746 ****
boolArray mark(number_of_blocks(), false);
iterate_postorder(mark, closure);
}
! void BlockBegin::block_values_do(void f(Value*)) {
for (Instruction* n = this; n != NULL; n = n->next()) n->values_do(f);
}
#ifndef PRODUCT
--- 732,742 ----
boolArray mark(number_of_blocks(), false);
iterate_postorder(mark, closure);
}
! void BlockBegin::block_values_do(ValueVisitor* f) {
for (Instruction* n = this; n != NULL; n = n->next()) n->values_do(f);
}
#ifndef PRODUCT
*** 928,938 ****
void BlockList::blocks_do(void f(BlockBegin*)) {
for (int i = length() - 1; i >= 0; i--) f(at(i));
}
! void BlockList::values_do(void f(Value*)) {
for (int i = length() - 1; i >= 0; i--) at(i)->block_values_do(f);
}
#ifndef PRODUCT
--- 924,934 ----
void BlockList::blocks_do(void f(BlockBegin*)) {
for (int i = length() - 1; i >= 0; i--) f(at(i));
}
! void BlockList::values_do(ValueVisitor* f) {
for (int i = length() - 1; i >= 0; i--) at(i)->block_values_do(f);
}
#ifndef PRODUCT
*** 971,981 ****
void BlockEnd::substitute_sux(BlockBegin* old_sux, BlockBegin* new_sux) {
substitute(*_sux, old_sux, new_sux);
}
! void BlockEnd::other_values_do(void f(Value*)) {
if (state_before() != NULL) state_before()->values_do(f);
}
// Implementation of Phi
--- 967,977 ----
void BlockEnd::substitute_sux(BlockBegin* old_sux, BlockBegin* new_sux) {
substitute(*_sux, old_sux, new_sux);
}
! void BlockEnd::other_values_do(ValueVisitor* f) {
if (state_before() != NULL) state_before()->values_do(f);
}
// Implementation of Phi
*** 1010,1017 ****
}
// Implementation of Throw
! void Throw::state_values_do(void f(Value*)) {
BlockEnd::state_values_do(f);
}
--- 1006,1013 ----
}
// Implementation of Throw
! void Throw::state_values_do(ValueVisitor* f) {
BlockEnd::state_values_do(f);
}