Skip to content

Commit c4ed648

Browse files
committed
missing truffle boundary
- annotate ignored variable - add CompilerAsserts.neverPartOfCompilation() for slow path operations
1 parent fe77419 commit c4ed648

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

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

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@
4747

4848
import com.oracle.graal.python.builtins.objects.PNone;
4949
import com.oracle.graal.python.runtime.sequence.storage.MroSequenceStorage;
50+
import com.oracle.truffle.api.CompilerAsserts;
5051
import com.oracle.truffle.api.CompilerDirectives.TruffleBoundary;
5152
import com.oracle.truffle.api.object.DynamicObject;
5253
import com.oracle.truffle.api.object.Layout;
@@ -175,6 +176,7 @@ public T next() {
175176
throw new NoSuchElementException();
176177
}
177178

179+
@TruffleBoundary
178180
private boolean consumeUntilNext() {
179181
while (iterator.hasNext()) {
180182
T next = iterator.next();
@@ -244,8 +246,10 @@ public Iterator<Object> iterator() {
244246
@Override
245247
public int length() {
246248
if (size == -1) {
249+
CompilerAsserts.neverPartOfCompilation();
247250
size = 0;
248-
for (Object ignored : getKeysIterable()) {
251+
for (@SuppressWarnings("unused")
252+
Object ignored : getKeysIterable()) {
249253
size += 1;
250254
}
251255
}
@@ -254,6 +258,7 @@ public int length() {
254258

255259
@Override
256260
public void setItem(Object key, Object value, Equivalence eq) {
261+
CompilerAsserts.neverPartOfCompilation();
257262
super.setItem(key, value, eq);
258263
if (value != PNone.NO_VALUE) {
259264
size += 1;
@@ -262,6 +267,7 @@ public void setItem(Object key, Object value, Equivalence eq) {
262267

263268
@Override
264269
public boolean remove(Object key, Equivalence eq) {
270+
CompilerAsserts.neverPartOfCompilation();
265271
if (getStore().get(key) != PNone.NO_VALUE) {
266272
size -= 1;
267273
}
@@ -276,6 +282,7 @@ public void clear() {
276282

277283
@Override
278284
public boolean hasKey(Object key, Equivalence eq) {
285+
CompilerAsserts.neverPartOfCompilation();
279286
return super.hasKey(key, eq) && getStore().get(key, PNone.NO_VALUE) != PNone.NO_VALUE;
280287
}
281288

0 commit comments

Comments
 (0)