< prev index next >
src/share/vm/c1/c1_ValueStack.cpp
Print this page
rev 10547 : imported patch c1_Instruction
rev 10556 : imported patch update dates
@@ -1,7 +1,7 @@
/*
- * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2016, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
@@ -33,11 +33,11 @@
ValueStack::ValueStack(IRScope* scope, ValueStack* caller_state)
: _scope(scope)
, _caller_state(caller_state)
, _bci(-99)
, _kind(Parsing)
-, _locals(scope->method()->max_locals(), NULL)
+, _locals(scope->method()->max_locals(), scope->method()->max_locals(), NULL)
, _stack(scope->method()->max_stack())
, _locks()
{
verify();
}
@@ -176,11 +176,11 @@
void ValueStack::setup_phi_for_stack(BlockBegin* b, int index) {
assert(stack_at(index)->as_Phi() == NULL || stack_at(index)->as_Phi()->block() != b, "phi function already created");
ValueType* t = stack_at(index)->type();
Value phi = new Phi(t, b, -index - 1);
- _stack[index] = phi;
+ _stack.at_put(index, phi);
assert(!t->is_double_word() || _stack.at(index + 1) == NULL, "hi-word of doubleword value must be NULL");
}
void ValueStack::setup_phi_for_local(BlockBegin* b, int index) {
@@ -223,11 +223,11 @@
}
}
if (locals_size() > 0) {
InstructionPrinter ip;
for (int i = 0; i < locals_size();) {
- Value l = _locals[i];
+ Value l = _locals.at(i);
tty->print("local %d ", i);
if (l == NULL) {
tty->print("null");
i ++;
} else {
< prev index next >