apple / apple/pkl

Move to the Truffle Object Model

Open
#723 4 comments 1 reaction 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.