Fabio Niephaus
Fabio Niephaus
### Repro ``` GraalVM MultiLanguage Shell 19.0.0 Copyright (c) 2013-2019, Oracle and/or its affiliates JavaScript version 19.0.0 Ruby version 2.6.2 js> ruby> ruby> Polyglot.export('string', 226.chr) Internal error occured: org.graalvm.polyglot.PolyglotException: org.truffleruby.language.control.RaiseException:...
[ruby-tree-sitter](https://github.com/tree-sitter/ruby-tree-sitter) is a binding for [tree-sitter](https://github.com/tree-sitter/tree-sitter), a parser generator tool and an incremental parsing library written in C. #### Steps to reproduce (works on macOS): ```bash git clone https://github.com/tree-sitter/ruby-tree-sitter cd...
Only few primitives are implemented already (see [`AbstractOSProcessPlugin.java`](https://github.com/hpi-swa-lab/graalsqueak/blob/1fb28bedbc840cb9e92a16acdbc68fa9467a3220/src/de.hpi.swa.graal.squeak/src/de/hpi/swa/graal/squeak/nodes/plugins/AbstractOSProcessPlugin.java) and its platform-dependent subclasses).
At the moment, TruffleSqueak uses the frame arguments and frame slots for the stack, which avoids copying from the args to the slots. This additional copying caused measurable overhead and...
TruffleSqueak can run [Cuis-Smalltalk](https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev) images and many of its tests. Let's integrate Cuis so that it's easy to run on TruffleSqueak. ## Todos - [x] Provide an infrastructure allowing users...
GraalSqueak currently does not check for interrupts in case of back-jumps. Therefore, tight loops (without message sends) cannot be interrupted by the user. Repro: `[ 1 + 1 ] bench`,...
In testing mode for `SqueakSUnitTest`, reshaping of classes does not always work reliably after TruffleSqueak packages were loaded/updated. For some odd reason, one method was not replaced with a newer...
similar to how TruffleSqueak supports `ForeignArray`. This should work for objects that [`have hash entries`](https://www.graalvm.org/truffle/javadoc/com/oracle/truffle/api/interop/InteropLibrary.html#hasHashEntries-java.lang.Object-).
Both, `SqueakObjectNewNode` and the `PrimNewNode`s cache the receiverClass in some cases: https://github.com/hpi-swa/trufflesqueak/blob/a0f1de39da15d304958b89b326b8dad177344e44/src/de.hpi.swa.trufflesqueak/src/de/hpi/swa/trufflesqueak/nodes/accessing/SqueakObjectNewNode.java#L74-L87 https://github.com/hpi-swa/trufflesqueak/blob/a0f1de39da15d304958b89b326b8dad177344e44/src/de.hpi.swa.trufflesqueak/src/de/hpi/swa/trufflesqueak/nodes/primitives/impl/StoragePrimitives.java#L182-L253 It may make sense to revise this to avoid cache duplication.
It'd be good to have standalone bundles of TruffleSqueak (Linux/macOS/Windows), so that users can get started without having to know how to set up GraalVM and TruffleSqueak itself.