# assert(!n->pinned() || n->is_SafePointScalarObject()) failed: only SafePointScalarObject pinned node is expected here
Christian Thalinger
christian.thalinger at oracle.com
Thu Jul 22 08:17:46 PDT 2010
On Wed, 2010-07-21 at 19:24 -0700, Vladimir Kozlov wrote:
> Here what I said during this code review:
>
> "I looked which nodes are pinned and all of them are CFG nodes
> except Phi and SafePointScalarObject.
> The block projection control edge of CFG nodes will be replaced
> with new Region nodes during PhaseCFG::build_cfg() before GCM.
> And Phi node can not have block projection control - only Region.
> Which leaves only SafePointScalarObject node we need to patch.
>
> I can add additional assert to verify this:"
>
> Christian, why you need to pin it and why you need control edge for it
> (what dependancy it has with control graph)?
MachConstantBaseNode is the node that represents the constant table base
address and so should be at the beginning of the method. The control is
C->root() and I thought it would be a good idea to pin it to this
control.
-- Christian
More information about the hotspot-compiler-dev
mailing list