@@ -245,20 +245,22 @@ static void doLocalsStorageCached(PFrame pyFrame, Frame frameToSync,
245
245
246
246
for (int i = 0 ; i < cachedSlots .length ; i ++) {
247
247
FrameSlot slot = cachedSlots [i ];
248
- if (frameToSync .isBoolean (slot )) {
249
- target .setBoolean (slot , frameToSync .getBoolean (slot ));
250
- } else if (frameToSync .isByte (slot )) {
251
- target .setByte (slot , frameToSync .getByte (slot ));
252
- } else if (frameToSync .isDouble (slot )) {
253
- target .setDouble (slot , frameToSync .getDouble (slot ));
254
- } else if (frameToSync .isFloat (slot )) {
255
- target .setFloat (slot , frameToSync .getFloat (slot ));
256
- } else if (frameToSync .isInt (slot )) {
257
- target .setInt (slot , frameToSync .getInt (slot ));
258
- } else if (frameToSync .isLong (slot )) {
259
- target .setLong (slot , frameToSync .getLong (slot ));
260
- } else if (frameToSync .isObject (slot )) {
261
- target .setObject (slot , frameToSync .getObject (slot ));
248
+ if (FrameSlotIDs .isUserFrameSlot (slot .getIdentifier ())) {
249
+ if (frameToSync .isBoolean (slot )) {
250
+ target .setBoolean (slot , frameToSync .getBoolean (slot ));
251
+ } else if (frameToSync .isByte (slot )) {
252
+ target .setByte (slot , frameToSync .getByte (slot ));
253
+ } else if (frameToSync .isDouble (slot )) {
254
+ target .setDouble (slot , frameToSync .getDouble (slot ));
255
+ } else if (frameToSync .isFloat (slot )) {
256
+ target .setFloat (slot , frameToSync .getFloat (slot ));
257
+ } else if (frameToSync .isInt (slot )) {
258
+ target .setInt (slot , frameToSync .getInt (slot ));
259
+ } else if (frameToSync .isLong (slot )) {
260
+ target .setLong (slot , frameToSync .getLong (slot ));
261
+ } else if (frameToSync .isObject (slot )) {
262
+ target .setObject (slot , frameToSync .getObject (slot ));
263
+ }
262
264
}
263
265
}
264
266
} catch (FrameSlotTypeException e ) {
@@ -277,20 +279,22 @@ static void doLocalsStorageUncached(PFrame pyFrame, Frame frameToSync) {
277
279
278
280
for (int i = 0 ; i < cachedSlots .length ; i ++) {
279
281
FrameSlot slot = cachedSlots [i ];
280
- if (frameToSync .isBoolean (slot )) {
281
- target .setBoolean (slot , frameToSync .getBoolean (slot ));
282
- } else if (frameToSync .isByte (slot )) {
283
- target .setByte (slot , frameToSync .getByte (slot ));
284
- } else if (frameToSync .isDouble (slot )) {
285
- target .setDouble (slot , frameToSync .getDouble (slot ));
286
- } else if (frameToSync .isFloat (slot )) {
287
- target .setFloat (slot , frameToSync .getFloat (slot ));
288
- } else if (frameToSync .isInt (slot )) {
289
- target .setInt (slot , frameToSync .getInt (slot ));
290
- } else if (frameToSync .isLong (slot )) {
291
- target .setLong (slot , frameToSync .getLong (slot ));
292
- } else if (frameToSync .isObject (slot )) {
293
- target .setObject (slot , frameToSync .getObject (slot ));
282
+ if (FrameSlotIDs .isUserFrameSlot (slot .getIdentifier ())) {
283
+ if (frameToSync .isBoolean (slot )) {
284
+ target .setBoolean (slot , frameToSync .getBoolean (slot ));
285
+ } else if (frameToSync .isByte (slot )) {
286
+ target .setByte (slot , frameToSync .getByte (slot ));
287
+ } else if (frameToSync .isDouble (slot )) {
288
+ target .setDouble (slot , frameToSync .getDouble (slot ));
289
+ } else if (frameToSync .isFloat (slot )) {
290
+ target .setFloat (slot , frameToSync .getFloat (slot ));
291
+ } else if (frameToSync .isInt (slot )) {
292
+ target .setInt (slot , frameToSync .getInt (slot ));
293
+ } else if (frameToSync .isLong (slot )) {
294
+ target .setLong (slot , frameToSync .getLong (slot ));
295
+ } else if (frameToSync .isObject (slot )) {
296
+ target .setObject (slot , frameToSync .getObject (slot ));
297
+ }
294
298
}
295
299
}
296
300
} catch (FrameSlotTypeException e ) {
@@ -315,9 +319,11 @@ static void doGenericDictCached(VirtualFrame frame, PFrame pyFrame, Frame frameT
315
319
316
320
for (int i = 0 ; i < cachedSlots .length ; i ++) {
317
321
FrameSlot slot = cachedSlots [i ];
318
- Object value = frameToSync .getValue (slot );
319
- if (value != null ) {
320
- setItemNode .execute (frame , localsDict , slot .getIdentifier (), value );
322
+ if (FrameSlotIDs .isUserFrameSlot (slot .getIdentifier ())) {
323
+ Object value = frameToSync .getValue (slot );
324
+ if (value != null ) {
325
+ setItemNode .execute (frame , localsDict , slot .getIdentifier (), value );
326
+ }
321
327
}
322
328
}
323
329
}
@@ -336,9 +342,11 @@ static void doGenericDict(VirtualFrame frame, PFrame pyFrame, Frame frameToSync,
336
342
337
343
for (int i = 0 ; i < slots .length ; i ++) {
338
344
FrameSlot slot = slots [i ];
339
- Object value = frameToSync .getValue (slot );
340
- if (value != null ) {
341
- setItemNode .execute (frame , localsDict , slot .getIdentifier (), value );
345
+ if (FrameSlotIDs .isUserFrameSlot (slot .getIdentifier ())) {
346
+ Object value = frameToSync .getValue (slot );
347
+ if (value != null ) {
348
+ setItemNode .execute (frame , localsDict , slot .getIdentifier (), value );
349
+ }
342
350
}
343
351
}
344
352
}
0 commit comments