< prev index next >
src/share/vm/opto/callnode.hpp
Print this page
@@ -834,19 +834,21 @@
// Inputs:
AllocSize = TypeFunc::Parms, // size (in bytes) of the new object
KlassNode, // type (maybe dynamic) of the obj.
InitialTest, // slow-path test (may be constant)
ALength, // array length (or TOP if none)
+ ValueNode,
ParmLimit
};
static const TypeFunc* alloc_type(const Type* t) {
const Type** fields = TypeTuple::fields(ParmLimit - TypeFunc::Parms);
fields[AllocSize] = TypeInt::POS;
fields[KlassNode] = TypeInstPtr::NOTNULL;
fields[InitialTest] = TypeInt::BOOL;
fields[ALength] = t; // length (can be a bad length)
+ fields[ValueNode] = Type::BOTTOM;
const TypeTuple *domain = TypeTuple::make(ParmLimit, fields);
// create result type (range)
fields = TypeTuple::fields(1);
@@ -863,11 +865,11 @@
// True when MemBar for new is redundant with MemBar at initialzer exit
bool _is_allocation_MemBar_redundant;
virtual uint size_of() const; // Size is bigger
AllocateNode(Compile* C, const TypeFunc *atype, Node *ctrl, Node *mem, Node *abio,
- Node *size, Node *klass_node, Node *initial_test);
+ Node *size, Node *klass_node, Node *initial_test, ValueTypeNode* value_node = NULL);
// Expansion modifies the JVMState, so we need to clone it
virtual void clone_jvms(Compile* C) {
if (jvms() != NULL) {
set_jvms(jvms()->clone_deep(C));
jvms()->set_map_deep(this);
< prev index next >