Rename executePreEvaluated to doPreEvaluated to avoid chance of clashes with TruffleDSL

There was apparently one more miss-pick of the TruffleDSL compiler causing problems with the NonLocalReturn micro benchmark.
By renaming it, I can avoid the overlap and miss-picks, I thought I had fixed already.

Signed-off-by: Stefan Marr <git@stefan-marr.de>
Added specialization for #not on booleans

Signed-off-by: Stefan Marr <git@stefan-marr.de>
Added assertions to see early when nulls are floating around where they shouldn't be

Signed-off-by: Stefan Marr <git@stefan-marr.de>
Changed to Java 8, but don't use it yet because of checkstyle.

Signed-off-by: Stefan Marr <git@stefan-marr.de>
Simplify field access by removing extra FieldNode and make the other FieldNode extend ExpressionNode

Signed-off-by: Stefan Marr <git@stefan-marr.de>
This should... be the right implementation

Signed-off-by: Stefan Marr <git@stefan-marr.de>
These methods should be final

Signed-off-by: Stefan Marr <git@stefan-marr.de>
Two more methods that should be final

Signed-off-by: Stefan Marr <git@stefan-marr.de>
Correctness fix: code needs to be invalidated when compilation-final field is set

Signed-off-by: Stefan Marr <git@stefan-marr.de>
Revert "Simplify field access by removing extra FieldNode and make the other FieldNode extend ExpressionNode"

This simplification causes sever performance degradation on the Sort benchmarks.
No idea why.
Doesn't seem to cause rewriting issues, or instabilities of the execution tree.

Signed-off-by: Stefan Marr <git@stefan-marr.de>
Rename node to FieldAccessorNode to avoid confusion with the FieldNode

Signed-off-by: Stefan Marr <git@stefan-marr.de>
Added specialization for #or:, #||, #and:, and #&& with a boolean argument

Signed-off-by: Stefan Marr <git@stefan-marr.de>
Adopt latest Graal version

Account for API change and use createSection of the source object instead of a constructor that disappeared.

Signed-off-by: Stefan Marr <git@stefan-marr.de>
Introduce a SNodeFactory to decouple creation of nodes and concrete classes a little

Signed-off-by: Stefan Marr <git@stefan-marr.de>
Added dependency for the DSL processor jar

Signed-off-by: Stefan Marr <git@stefan-marr.de>
Reset fields, and set unset object fields to nil

Signed-off-by: Stefan Marr <git@stefan-marr.de>
Fix bug, was parsing to specific, should also able to parse negative double literals.

Signed-off-by: Stefan Marr <git@stefan-marr.de>
Change access of outer self to use arguments array instead of frame slot.

The frame slot access cannot be resolved to a constant, because it comes from a SBlock object, and therefore cannot be optimized. While using the arguments array does not allow for specializing the access, it seems to get optimized better because it does not require access to a FrameSlot object.

Signed-off-by: Stefan Marr <git@stefan-marr.de>