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) {