[foreign-memaccess+abi] RFR: Fix so that heap segments work

Jorn Vernee jvernee at openjdk.org
Mon Aug 7 13:49:49 UTC 2023


On Mon, 7 Aug 2023 12:40:46 GMT, Per Minborg <pminborg at openjdk.org> wrote:

> This PR fixes converting heap segments to strings.

src/java.base/share/classes/jdk/internal/foreign/StringSupport.java line 126:

> 124:         }
> 125:         if (!segment.isNative()) {
> 126:             return strlen_byte(segment, start);

Why is `start` passed here? The segment is already sliced.

src/java.base/share/classes/jdk/internal/foreign/StringSupport.java line 195:

> 193:         // iterate until overflow (String can only hold a byte[], whose length can be expressed as an int)
> 194:         for (int offset = 0; offset >= 0; offset += 1) {
> 195:             short curr = segment.get(JAVA_BYTE, start + offset);

Suggestion:

            byte curr = segment.get(JAVA_BYTE, start + offset);

-------------

PR Review Comment: https://git.openjdk.org/panama-foreign/pull/858#discussion_r1285818955
PR Review Comment: https://git.openjdk.org/panama-foreign/pull/858#discussion_r1285822319


More information about the panama-dev mailing list