Adopt latest Graal/Truffle version

- remove getKind
- remove use of adoptChild
- in adoptNewDispatchListHead(), I needed to use insert(.) because it was an assignment instead of a replace

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

Signed-off-by: Stefan Marr <git@stefan-marr.de>
Make Compiler classes final

Signed-off-by: Stefan Marr <git@stefan-marr.de>
Make interpreter classes final, and mark specialization methods as final as well.

Signed-off-by: Stefan Marr <git@stefan-marr.de>
Make specializations in Primitives final

Signed-off-by: Stefan Marr <git@stefan-marr.de>
Refactor executeVoid for side-effect-free things into classes that can be used directly

Signed-off-by: Stefan Marr <git@stefan-marr.de>
Fix Inliner to work only on SOMNodes

Signed-off-by: Stefan Marr <git@stefan-marr.de>
The class keeps the full array of instance fields, does not need to look in the superclass anymore which would lead to wrong results.

Signed-off-by: Stefan Marr <git@stefan-marr.de>
Simplify SArray implementation by relying on Java standard library and allow SArrays to store plain objects

Signed-off-by: Stefan Marr <git@stefan-marr.de>
Introduce direct object storage in fields of special classes to avoid indirection of array

Signed-off-by: Stefan Marr <git@stefan-marr.de>
Move getSOMClass to SObject to avoid polymorphic calls

Signed-off-by: Stefan Marr <git@stefan-marr.de>
Change design to have just one class and an extension array

Signed-off-by: Stefan Marr <git@stefan-marr.de>
Disable splitting again, to see impact of other optimizations

Signed-off-by: Stefan Marr <git@stefan-marr.de>
Add loaded class to globals

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

Signed-off-by: Stefan Marr <git@stefan-marr.de>
String of symbols should be interned

Signed-off-by: Stefan Marr <git@stefan-marr.de>
Global node doesn't need preevaluated support

Signed-off-by: Stefan Marr <git@stefan-marr.de>
Adapt to latests Graal/Truffle version, moving from Arguments object to plain Object[] for method invocations

- receiver is treated as normal argument, no special handling anymore
  -> receiver is argument[0]
- don't need SelfArgumentReadNode anymore
- dispatch nodes do not need virtual frames anymore
- caller frame is not kept track of anymore, very much like in RTruffleSOM as well
- removed invokeRoot, now the conversion to SAbstractObject is done explicitly by caller

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

Signed-off-by: Stefan Marr <git@stefan-marr.de>
Do not pass expressions, are not used, these nodes only use the preevaluated methods, the eager wrapper node does the evaluation of those expressions

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