Move to the Truffle Object Model
- Dominant language
- Java
- Stars
- 11.5k
- Forks
- 402
- Avg merge
- 1d 15h
- Merged PRs (30d)
- 20
Description
The [Dynamic Object Model](https://www.graalvm.org/latest/graalvm-as-a-platform/language-implementation-framework/DynamicObjectModel/) APIs were introduced with GraalVM 20.2.0, and the [Static Object Model](https://www.graalvm.org/latest/graalvm-as-a-platform/language-implementation-framework/StaticObjectModel/) APIs were introduced with GraalVM 21.3.0.
Using these Object Model APIs would be useful for caching, reducing safety checks, and improving profiling.
> [!NOTE]
> Both of the above APIs are not compatible with each other.
Contributor guide
Research direction
Start by reading the linked Dynamic Object Model and Static Object Model API documentation, noting their GraalVM version introductions and incompatibility. Identify which object model the project can adopt, then define the migration scope and verify that caching, safety checks, and profiling goals are met without mixing the two APIs.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- compilers, performance
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100