Cleanup of SMethod and Invokable

Keep truffle details out of SMethod were possible, and make naming a bit more general.

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

Signed-off-by: Stefan Marr <git@stefan-marr.de>
Ensure that FrameSlots can specialize independently for inlined methods (incl. lexically embedded methods)

While we previously tried to disentangle the frame slots for inlined methods already, this was not enough. Especially problematic are issues with lexical embedding.
We now duplicate block methods when inlining methods in order to guarantee that they can specialize independently.

- introduced replaceWithIndependentCopyForInlining(.) which needs to be adapted for nodes that need special handling during inlining
- added Inliner visitor class that does the traversing of the ASTs
[TODO-REPORT: this]

Signed-off-by: Stefan Marr <git@stefan-marr.de>
Don't use specialization for FrameSlots for testing

Signed-off-by: Stefan Marr <git@stefan-marr.de>
Quick and dirty hack to add Integer>>#to:do: specialization for Fannkuch

This is really a quick hack. Needs polish, and generality.
[TODO: fix this]

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

Signed-off-by: Stefan Marr <git@stefan-marr.de>
Updated to latest core-lib

Signed-off-by: Stefan Marr <git@stefan-marr.de>
Made processing of first element of sequence explicit, to avoid null assignment.

Signed-off-by: Stefan Marr <git@stefan-marr.de>
Made `determineContext()` nicer and avoid unnecessary assignments

Signed-off-by: Stefan Marr <git@stefan-marr.de>
Do not generate empty SequenceNodes, instead generate a GlobalReadNode(#nil)

Signed-off-by: Stefan Marr <git@stefan-marr.de>
Use unsaveCasts, hope that helps...

Signed-off-by: Stefan Marr <git@stefan-marr.de>
Specialized ArgumentReadNode for the different Arguments classes (Unary, Binary, ...)

Signed-off-by: Stefan Marr <git@stefan-marr.de>
Moved creation of CatchNonLocalReturnNode to MethodGenerationContext

Think it doesn't belong into the Parser.

Signed-off-by: Stefan Marr <git@stefan-marr.de>
Removed `executeObject()`

This is covered by `executeGeneric`, I think.

Signed-off-by: Stefan Marr <git@stefan-marr.de>
Update to latest core-lib

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