Skip to content

Commit a646396

Browse files
committed
Add helper method WritePointerNode.writePointerArray
1 parent 6a6becd commit a646396

File tree

1 file changed

+7
-1
lines changed
  • graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/objects/cext/structs

1 file changed

+7
-1
lines changed

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/objects/cext/structs/CStructAccess.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1120,7 +1120,7 @@ public final void writeIntArray(Object pointer, int[] values) {
11201120

11211121
public final void writeIntArray(Object pointer, int[] values, int length, int sourceOffset, int targetOffset) {
11221122
for (int i = 0; i < length; i++) {
1123-
execute(pointer, (i + targetOffset) * Long.BYTES, values[i + sourceOffset]);
1123+
execute(pointer, (long) (i + targetOffset) * Long.BYTES, values[i + sourceOffset]);
11241124
}
11251125
}
11261126

@@ -1184,6 +1184,12 @@ public final void writeArrayElement(Object pointer, long element, Object value)
11841184
execute(pointer, element * POINTER_SIZE, value);
11851185
}
11861186

1187+
public final void writePointerArray(Object pointer, long[] values, int length, int sourceOffset, int targetOffset) {
1188+
for (int i = 0; i < length; i++) {
1189+
execute(pointer, (i + targetOffset) * POINTER_SIZE, values[i + sourceOffset]);
1190+
}
1191+
}
1192+
11871193
@Specialization
11881194
static void writeLong(long pointer, long offset, Object value,
11891195
@Bind("this") Node inliningTarget,

0 commit comments

Comments
 (0)