swiftlang / swiftlang/swift-java

jextract jni/ffm modes alignment: make FFM wrapper func throw if integer overflow would happen

Open
#517 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

feature:jextract
Dominant language
Swift
Stars
1.2k
Forks
123
Avg merge
1d 7h
Merged PRs (30d)
16

Description

Follow up to https://github.com/swiftlang/swift-java/pull/460 which did this in JNI mode, but now the FFM mode does not do this so we have inconcistency between the modes.

We should probably move the check into Java BEFORE doing the downcall, rather than throwing from the swift thunk -- then the code can be shared betweeh the two modes.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Compare the JNI-mode change in pull request 460 with the FFM wrapper path described here. Trace where Java performs the downcall and where the Swift thunk currently throws, then identify the shared check location. Done means both JNI and FFM modes reject the same overflowing integer inputs before the downcall.

Written by the indexing model from the issue text.

Assessment

Tech stack
java, swift
Domain
tooling
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.