8034812: remove IDX_INIT macro hack in Node class
Summary: The IDX_INIT macro used by Node::Node(...) to retrieve the Compile object is removed and replaced by a call to Compile::current(). The Node constructor, new operator and all calls to it are adapted accordingly.
Reviewed-by: kvn, jrose, iveresov, goetz
aaaa bbbb cccc
aaaa bbbb
aaaa bbbb cccc dddd
aaaa bbbb cccc
aaaa bbbb undefined
aaaa bbbb cccc
aaaa bbbb cccc
true
aaaa bbbb cccc
aaaa
bbbb
cccc
function varFunc(a, b, c) {
print(a, b, c);
print(Object.getPrototypeOf(arguments) === Object.prototype);
print(arguments[0], arguments[1], arguments[2]);
for (var i in arguments) {
print(arguments[i]);
}
print(arguments.callee);
}
aaaa bbbb undefined
true
aaaa bbbb undefined
aaaa
bbbb
function varFunc(a, b, c) {
print(a, b, c);
print(Object.getPrototypeOf(arguments) === Object.prototype);
print(arguments[0], arguments[1], arguments[2]);
for (var i in arguments) {
print(arguments[i]);
}
print(arguments.callee);
}
aaaa bbbb cccc
true
aaaa bbbb cccc
aaaa
bbbb
cccc
dddd
function varFunc(a, b, c) {
print(a, b, c);
print(Object.getPrototypeOf(arguments) === Object.prototype);
print(arguments[0], arguments[1], arguments[2]);
for (var i in arguments) {
print(arguments[i]);
}
print(arguments.callee);
}