--- old/src/share/vm/opto/escape.cpp 2017-07-06 17:28:42.631346894 +0200 +++ new/src/share/vm/opto/escape.cpp 2017-07-06 17:28:38.588365047 +0200 @@ -37,6 +37,7 @@ #include "opto/phaseX.hpp" #include "opto/movenode.hpp" #include "opto/rootnode.hpp" +#include "opto/valuetypenode.hpp" ConnectionGraph::ConnectionGraph(Compile * C, PhaseIterGVN *igvn) : _nodes(C->comp_arena(), C->unique(), C->unique(), NULL), @@ -594,6 +595,11 @@ add_java_object(n, PointsToNode::ArgEscape); break; } + case Op_ValueTypePtr: { + add_local_var_and_edge(n, PointsToNode::NoEscape, + n->as_ValueTypeBase()->get_oop(), delayed_worklist); + break; + } default: ; // Do nothing for nodes not related to EA. } @@ -799,6 +805,11 @@ } break; } + case Op_ValueTypePtr: { + add_local_var_and_edge(n, PointsToNode::NoEscape, + n->as_ValueTypeBase()->get_oop(), NULL); + break; + } default: { // This method should be called only for EA specific nodes which may // miss some edges when they were created.