Skip to content

Commit 3540adf

Browse files
committed
unwrap object-type array elements in interop read array element before leaving Espresso
1 parent 55b63eb commit 3540adf

File tree

1 file changed

+3
-1
lines changed
  • espresso/src/com.oracle.truffle.espresso/src/com/oracle/truffle/espresso/runtime/dispatch/staticobject

1 file changed

+3
-1
lines changed

espresso/src/com.oracle.truffle.espresso/src/com/oracle/truffle/espresso/runtime/dispatch/staticobject/EspressoInterop.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1034,7 +1034,9 @@ static Object doObject(StaticObject receiver, long index,
10341034
error.enter();
10351035
throw InvalidArrayIndexException.create(index);
10361036
}
1037-
return receiver.<StaticObject[]> unwrap(language)[(int) index];
1037+
// before returning from Espresso, we must unwrap the element
1038+
StaticObject rawResult = receiver.<StaticObject[]> unwrap(language)[(int) index];
1039+
return InteropUtils.unwrap(language, rawResult, receiver.getKlass().getMeta());
10381040
}
10391041

10401042
@SuppressWarnings("unused")

0 commit comments

Comments
 (0)