Adopt for latest Truffle upstream

- changes account for renaming of 'codegen' packages to 'dsl'

Signed-off-by: Stefan Marr <git@stefan-marr.de>
Use PackedFrames where no direct access to the content is necessary

- this is a change that is supposed to facilitate optimizations done by the framework
- not a stand-alone commit, i.e., incomplete
[TODO-REPORT: discussed differences of frame types]

Signed-off-by: Stefan Marr <git@stefan-marr.de>
Move creation of CallTarget to constructor of Method

- allows reuse of CallTarget for multiple invocations
[TODO-REPORT: usage of CallTarget and main ideas behind it]

Signed-off-by: Stefan Marr <git@stefan-marr.de>
Outer context of blocks needs to be MaterializedFrame

- by restriction/design of the Truffle framework
[TODO-REPORT: differences and usage of frame types]

Signed-off-by: Stefan Marr <git@stefan-marr.de>
Some annotations that are most likely beneficial for performance

[TODO-REPORT: figure out what is going on here concretely]

Signed-off-by: Stefan Marr <git@stefan-marr.de>
Change loop benchmark to use an message send

- to add a little more complexity, I suppose, and perhaps to facilitate AST specialization or so
- change suggested by Michael

Signed-off-by: Stefan Marr <git@stefan-marr.de>
Fix some more check style issues

- renamed lexer accessors
- added suppression of check style for conditional accepts.

Signed-off-by: Stefan Marr <git@stefan-marr.de>
determineContext works now with Frames

[TODO: clarify why, and perhaps replace with materialized frames]

Signed-off-by: Stefan Marr <git@stefan-marr.de>
All SOM frames have a standard layout, to codify that layout, I added a static instance of MethodGenerationContext with the FrameDescriptor properly set up

Currently, each frame has the self slot at the first position, and a non-local return marker slot at the second position.
The second slot is not strictly necessary for all frames, only for method frames, but not block frames. However, to keep things simple, they all have it.

Signed-off-by: Stefan Marr <git@stefan-marr.de>
Implemented non-local returns, and support for escaped blocks, without relying on frame object identity

[TODO-REPORT: describe the implementation of non-local returns, and the need for frame identity and a check whether a frame is still on the stack]

Signed-off-by: Stefan Marr <git@stefan-marr.de>
Added build instructions for the JUnit tests and their execution

Signed-off-by: Stefan Marr <git@stefan-marr.de>
Adapted README to use separate TruffleSOM URLs

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