6671807: (Escape Analysis) Add new ideal node to represent the state of a scalarized object at a safepoint

Values of non-static fields of a scalarized object should be saved in debug info to reallocate the object during deoptimization.

Reviewed-by: never
This commit is contained in:
Vladimir Kozlov 2008-03-13 16:06:34 -07:00
parent 1931e94bad
commit 000ac830a0
9 changed files with 322 additions and 26 deletions

View file

@ -106,6 +106,7 @@ class RegMask;
class RegionNode;
class RootNode;
class SafePointNode;
class SafePointScalarObjectNode;
class StartNode;
class State;
class StoreNode;
@ -575,6 +576,7 @@ public:
DEFINE_CLASS_ID(ConstraintCast, Type, 1)
DEFINE_CLASS_ID(CheckCastPP, Type, 2)
DEFINE_CLASS_ID(CMove, Type, 3)
DEFINE_CLASS_ID(SafePointScalarObject, Type, 4)
DEFINE_CLASS_ID(Mem, Node, 6)
DEFINE_CLASS_ID(Load, Mem, 0)
@ -721,6 +723,7 @@ public:
DEFINE_CLASS_QUERY(Region)
DEFINE_CLASS_QUERY(Root)
DEFINE_CLASS_QUERY(SafePoint)
DEFINE_CLASS_QUERY(SafePointScalarObject)
DEFINE_CLASS_QUERY(Start)
DEFINE_CLASS_QUERY(Store)
DEFINE_CLASS_QUERY(Sub)