--- old/src/share/vm/opto/callnode.hpp 2017-06-26 12:50:29.327902992 +0200 +++ new/src/share/vm/opto/callnode.hpp 2017-06-26 12:50:29.243902996 +0200 @@ -836,6 +836,7 @@ KlassNode, // type (maybe dynamic) of the obj. InitialTest, // slow-path test (may be constant) ALength, // array length (or TOP if none) + ValueNode, ParmLimit }; @@ -845,6 +846,7 @@ 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); @@ -865,7 +867,7 @@ 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) {