NullPointerException in ControlFlowGraph.commonDominator during SchedulePhase

Deneau, Tom tom.deneau at amd.com
Tue Mar 18 21:56:26 UTC 2014


I noticed in some hsail junit tests that were storing objects that I didn't see the card table setting code.  I remember this was working about 4 months ago but we haven't really looked at Object Storing junits since then and I know a lot of the infrastructure has changed since then.  Anyway in igv I noticed that the WriteBarrierAdditionPhase was not one of the phases for hsail compileGraph.

Previously the setup in HSAILHotSpotBackendFactory was
        SuitesProvider suites = new DefaultSuitesProvider();

which I changed to the following to make it match more the AMD64HotSpotBackendFactory
        SuitesProvider suites = new HotSpotSuitesProvider(runtime);

This seemed to do the trick as far as generating the card table stores, but now I notice when I run with -G:Dump=, I get a NullPointerException during the SchedulePhase


  [1] com.oracle.graal.nodes.cfg.ControlFlowGraph.commonDominator (ControlFlowGraph.java:336)
  [2] com.oracle.graal.phases.schedule.SchedulePhase$CommonDominatorBlockClosure.apply (SchedulePhase.java:625)
  [3] com.oracle.graal.phases.schedule.SchedulePhase.blocksForUsage (SchedulePhase.java:780)
  [4] com.oracle.graal.phases.schedule.SchedulePhase.latestBlock (SchedulePhase.java:599)
  [5] com.oracle.graal.phases.schedule.SchedulePhase.assignBlockToNode (SchedulePhase.java:417)
  [6] com.oracle.graal.phases.schedule.SchedulePhase.assignBlockToNodes (SchedulePhase.java:379)
  [7] com.oracle.graal.phases.schedule.SchedulePhase.run (SchedulePhase.java:273)

I admit I didn't really look at all the differences between DefaultSuitesProvider and HotSpotSuitesProvider(runtime) but does anyone have any suggestions as to what might be causing this?

-- Tom



More information about the graal-dev mailing list