src/share/vm/c1/c1_ValueStack.cpp
Print this page
*** 117,134 ****
);
}
// apply function to all values of a list; factored out from values_do(f)
! void ValueStack::apply(Values list, void f(Value*)) {
for (int i = 0; i < list.length(); i++) {
Value* va = list.adr_at(i);
Value v0 = *va;
if (v0 != NULL) {
if (!v0->type()->is_illegal()) {
assert(v0->as_HiWord() == NULL, "should never see HiWord during traversal");
! f(va);
#ifdef ASSERT
Value v1 = *va;
if (v0 != v1) {
assert(v1->type()->is_illegal() || v0->type()->tag() == v1->type()->tag(), "types must match");
if (v0->type()->is_double_word()) {
--- 117,134 ----
);
}
// apply function to all values of a list; factored out from values_do(f)
! void ValueStack::apply(Values list, ValueVisitor* f) {
for (int i = 0; i < list.length(); i++) {
Value* va = list.adr_at(i);
Value v0 = *va;
if (v0 != NULL) {
if (!v0->type()->is_illegal()) {
assert(v0->as_HiWord() == NULL, "should never see HiWord during traversal");
! f->visit(va);
#ifdef ASSERT
Value v1 = *va;
if (v0 != v1) {
assert(v1->type()->is_illegal() || v0->type()->tag() == v1->type()->tag(), "types must match");
if (v0->type()->is_double_word()) {
*** 141,151 ****
}
}
}
! void ValueStack::values_do(void f(Value*)) {
apply(_stack, f);
apply(_locks, f);
ValueStack* state = this;
for_each_state(state) {
--- 141,151 ----
}
}
}
! void ValueStack::values_do(ValueVisitor* f) {
apply(_stack, f);
apply(_locks, f);
ValueStack* state = this;
for_each_state(state) {