Skip to content

Commit ceb64d6

Browse files
committed
refactor: removed getInternalArray from ArrayBasedSequenceStorage
1 parent d033d9b commit ceb64d6

File tree

15 files changed

+65
-98
lines changed

15 files changed

+65
-98
lines changed

graalpython/com.oracle.graal.python.test/src/com/oracle/graal/python/test/nodes/storage/GetItemSliceNodeTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,7 @@ public Object execute(VirtualFrame frame) {
161161
assertEquals(ObjectSequenceStorage.class, storage.getClass());
162162
var objectStorage = (ObjectSequenceStorage) storage;
163163
for (int i = 0; i < 3; i++) {
164-
assertEquals(i + 2, objectStorage.getInternalArray()[i]);
164+
assertEquals(i + 2, objectStorage.getInternalObjectArray()[i]);
165165
}
166166
}
167167

graalpython/com.oracle.graal.python.test/src/com/oracle/graal/python/test/nodes/storage/InsertItemNodeTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ public Object execute(VirtualFrame frame) {
7575
}.getCallTarget().call();
7676

7777
assertEquals(ObjectSequenceStorage.class, storage.getClass());
78-
var objectStorage = ((ObjectSequenceStorage) storage).getInternalArray();
78+
var objectStorage = ((ObjectSequenceStorage) storage).getInternalObjectArray();
7979
assertEquals(5, objectStorage[0]);
8080
assertEquals(6, objectStorage[1]);
8181
assertEquals(11, objectStorage[2]);

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/modules/PosixModuleBuiltins.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -394,7 +394,7 @@ public abstract static class StatResultNode extends PythonTernaryBuiltinNode {
394394
public static PTuple generic(VirtualFrame frame, Object cls, Object sequence, Object dict,
395395
@Cached("create(STAT_RESULT_DESC)") StructSequence.NewNode newNode) {
396396
PTuple p = (PTuple) newNode.execute(frame, cls, sequence, dict);
397-
Object[] data = CompilerDirectives.castExact(p.getSequenceStorage(), ObjectSequenceStorage.class).getInternalArray();
397+
Object[] data = CompilerDirectives.castExact(p.getSequenceStorage(), ObjectSequenceStorage.class).getInternalObjectArray();
398398
for (int i = 7; i <= 9; i++) {
399399
if (data[i + 3] == PNone.NONE) {
400400
data[i + 3] = data[i];

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/objects/common/SequenceStorageNodes.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -677,7 +677,7 @@ protected static SequenceStorage doByteSequenceStorage(ByteSequenceStorage stora
677677
@Specialization
678678
protected static SequenceStorage doObjectSequenceStorage(ObjectSequenceStorage storage, int start, int stop, int step, int length) {
679679
Object[] newArray = new Object[length];
680-
Object[] values = storage.getInternalArray();
680+
Object[] values = storage.getInternalObjectArray();
681681

682682
if (step == 1) {
683683
PythonUtils.arraycopy(values, start, newArray, 0, length);
@@ -3150,7 +3150,7 @@ static SequenceStorage doBoolean(BoolSequenceStorage storage) {
31503150

31513151
@Specialization
31523152
static SequenceStorage doObject(ObjectSequenceStorage storage) {
3153-
return new ObjectSequenceStorage(PythonUtils.arrayCopyOf(storage.getInternalArray(), storage.length()));
3153+
return new ObjectSequenceStorage(PythonUtils.arrayCopyOf(storage.getInternalObjectArray(), storage.length()));
31543154
}
31553155

31563156
@Specialization
@@ -3608,12 +3608,12 @@ public static Object[] executeUncached(SequenceStorage s) {
36083608

36093609
@Specialization
36103610
static Object[] doObjectSequenceStorage(ObjectSequenceStorage s) {
3611-
return s.getInternalArray();
3611+
return s.getInternalObjectArray();
36123612
}
36133613

36143614
@Specialization
36153615
static Object[] doMroSequenceStorage(MroSequenceStorage s) {
3616-
return s.getInternalArray();
3616+
return s.getInternalClassArray();
36173617
}
36183618

36193619
@Specialization(guards = "!isObjectStorage(s) || isMroStorage(s)")

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/objects/common/SortNodes.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -236,7 +236,7 @@ void sort(DoubleSequenceStorage storage, @SuppressWarnings("unused") PNone keyfu
236236

237237
@TruffleBoundary
238238
private static void sortStrings(ObjectSequenceStorage storage, boolean reverse) {
239-
Object[] array = storage.getInternalArray();
239+
Object[] array = storage.getInternalObjectArray();
240240
int len = storage.length();
241241
Comparator<Object> comparator;
242242
if (reverse) {
@@ -250,7 +250,7 @@ private static void sortStrings(ObjectSequenceStorage storage, boolean reverse)
250250
protected boolean isStringOnly(Node inliningTarget, ObjectSequenceStorage storage, InlinedLoopConditionProfile isStringOnlyLoopProfile,
251251
InlinedCountingConditionProfile isStringOnlyBreakProfile) {
252252
int length = storage.length();
253-
Object[] array = storage.getInternalArray();
253+
Object[] array = storage.getInternalObjectArray();
254254
for (int i = 0; isStringOnlyLoopProfile.profile(inliningTarget, i < length); i++) {
255255
Object value = array[i];
256256
if (isStringOnlyBreakProfile.profile(inliningTarget, !(value instanceof TruffleString))) {
@@ -276,15 +276,15 @@ void sortObjSeqStorage(VirtualFrame frame, ObjectSequenceStorage storage, @Suppr
276276
// specialized code with generic object storage code
277277
sortStrings(storage, reverse);
278278
} else {
279-
sortWithoutKey(frame, storage.getInternalArray(), storage.length(), reverse, callContext);
279+
sortWithoutKey(frame, storage.getInternalObjectArray(), storage.length(), reverse, callContext);
280280
}
281281
}
282282

283283
@Specialization(guards = "!isPNone(keyfunc)")
284284
void sort(VirtualFrame frame, ObjectSequenceStorage storage, Object keyfunc, boolean reverse,
285285
@Shared @Cached CallNode callNode,
286286
@Shared @Cached CallContext callContext) {
287-
sortWithKey(frame, storage.getInternalArray(), storage.length(), keyfunc, reverse, callNode, callContext);
287+
sortWithKey(frame, storage.getInternalObjectArray(), storage.length(), keyfunc, reverse, callNode, callContext);
288288
}
289289

290290
@Fallback

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/objects/tuple/StructSequence.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -460,7 +460,7 @@ PTuple reduce(PTuple self,
460460
@Cached GetClassNode getClass,
461461
@Cached PythonObjectFactory factory) {
462462
assert self.getSequenceStorage() instanceof ObjectSequenceStorage;
463-
Object[] data = CompilerDirectives.castExact(self.getSequenceStorage(), ObjectSequenceStorage.class).getInternalArray();
463+
Object[] data = CompilerDirectives.castExact(self.getSequenceStorage(), ObjectSequenceStorage.class).getInternalObjectArray();
464464
assert data.length == fieldNames.length;
465465
PTuple seq;
466466
PDict dict;

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/objects/type/PythonManagedClass.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -316,14 +316,14 @@ private void unsafeSetSuperClass(PythonAbstractClass... newBaseClasses) {
316316
public final void setBases(Object newBaseClass, PythonAbstractClass[] newBaseClasses) {
317317
Object oldBase = getBase();
318318
PythonAbstractClass[] oldBaseClasses = getBaseClasses();
319-
PythonAbstractClass[] oldMRO = (PythonAbstractClass[]) this.methodResolutionOrder.getInternalArray();
319+
PythonAbstractClass[] oldMRO = this.methodResolutionOrder.getInternalClassArray();
320320

321321
PythonAbstractClass[] subclassesArray = GetSubclassesAsArrayNode.executeUncached(this);
322322
PythonAbstractClass[][] oldSubClasssMROs = new PythonAbstractClass[subclassesArray.length][];
323323
for (int i = 0; i < subclassesArray.length; i++) {
324324
PythonAbstractClass scls = subclassesArray[i];
325325
if (scls instanceof PythonManagedClass) {
326-
oldSubClasssMROs[i] = (PythonAbstractClass[]) ((PythonManagedClass) scls).methodResolutionOrder.getInternalArray();
326+
oldSubClasssMROs[i] = ((PythonManagedClass) scls).methodResolutionOrder.getInternalClassArray();
327327
}
328328
}
329329

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/runtime/sequence/storage/ArrayBasedSequenceStorage.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,6 @@
4242

4343
public abstract class ArrayBasedSequenceStorage extends BasicSequenceStorage {
4444

45-
public abstract Object[] getInternalArray();
46-
4745
public abstract Object getInternalArrayObject();
4846

4947
public abstract Object getCopyOfInternalArrayObject();

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/runtime/sequence/storage/BoolSequenceStorage.java

Lines changed: 10 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -69,20 +69,6 @@ public BoolSequenceStorage createEmpty(int newLength) {
6969
return new BoolSequenceStorage(newLength);
7070
}
7171

72-
@Override
73-
public Object[] getInternalArray() {
74-
/*
75-
* Have to box and copy.
76-
*/
77-
Object[] boxed = new Object[length];
78-
79-
for (int i = 0; i < length; i++) {
80-
boxed[i] = values[i];
81-
}
82-
83-
return boxed;
84-
}
85-
8672
public void insertBoolItem(int idx, boolean value) {
8773
ensureCapacity(length + 1);
8874

@@ -151,7 +137,16 @@ public Object getCopyOfInternalArrayObject() {
151137
}
152138

153139
public Object[] getCopyOfInternalArray() {
154-
return getInternalArray();
140+
/*
141+
* Have to box and copy.
142+
*/
143+
Object[] boxed = new Object[length];
144+
145+
for (int i = 0; i < length; i++) {
146+
boxed[i] = values[i];
147+
}
148+
149+
return boxed;
155150
}
156151

157152
@Override

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/runtime/sequence/storage/ByteSequenceStorage.java

Lines changed: 10 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -77,20 +77,6 @@ public ByteSequenceStorage createEmpty(int newCapacity) {
7777
return new ByteSequenceStorage(newCapacity);
7878
}
7979

80-
@Override
81-
public Object[] getInternalArray() {
82-
/*
83-
* Have to box and copy.
84-
*/
85-
Object[] boxed = new Object[length];
86-
87-
for (int i = 0; i < length; i++) {
88-
boxed[i] = values[i];
89-
}
90-
91-
return boxed;
92-
}
93-
9480
public void reverse() {
9581
if (length > 0) {
9682
int head = 0;
@@ -178,7 +164,16 @@ public Object getCopyOfInternalArrayObject() {
178164
}
179165

180166
public Object[] getCopyOfInternalArray() {
181-
return getInternalArray();
167+
/*
168+
* Have to box and copy.
169+
*/
170+
Object[] boxed = new Object[length];
171+
172+
for (int i = 0; i < length; i++) {
173+
boxed[i] = values[i];
174+
}
175+
176+
return boxed;
182177
}
183178

184179
@Override

0 commit comments

Comments
 (0)