Skip to content

Commit 2c2c147

Browse files
committed
Split PutNode into PutNode and PutConstantNode.
1 parent 4addaf5 commit 2c2c147

File tree

4 files changed

+206
-94
lines changed

4 files changed

+206
-94
lines changed

truffle/src/com.oracle.truffle.api.object.test/src/com/oracle/truffle/api/object/test/DynamicObjectNodesTest.java

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,13 @@ private DynamicObject.PutNode createPutNode() {
126126
};
127127
}
128128

129+
private DynamicObject.PutConstantNode createPutConstantNode() {
130+
return switch (run) {
131+
case CACHED -> DynamicObject.PutConstantNode.create();
132+
case UNCACHED -> DynamicObject.PutConstantNode.getUncached();
133+
};
134+
}
135+
129136
private DynamicObject.CopyPropertiesNode createCopyPropertiesNode() {
130137
return switch (run) {
131138
case CACHED -> DynamicObject.CopyPropertiesNode.create();
@@ -876,19 +883,20 @@ public void testPutConstant1() {
876883
int v2 = 43;
877884
int flags = 0xf;
878885

879-
var setNode1 = createPutNode();
886+
var putConstantNode = createPutConstantNode();
887+
var putNode = createPutNode();
880888

881-
setNode1.putConstantWithFlags(o1, k1, v1, 0);
889+
putConstantNode.putConstantWithFlags(o1, k1, v1, 0);
882890
assertTrue(o1.getShape().getProperty(k1).getLocation().isConstant());
883891
assertEquals(0, o1.getShape().getProperty(k1).getFlags());
884892
assertEquals(v1, uncachedGet(o1, k1));
885893

886-
setNode1.putConstantWithFlags(o1, k1, v1, flags);
894+
putConstantNode.putConstantWithFlags(o1, k1, v1, flags);
887895
assertTrue(o1.getShape().getProperty(k1).getLocation().isConstant());
888896
assertEquals(flags, o1.getShape().getProperty(k1).getFlags());
889897
assertEquals(v1, uncachedGet(o1, k1));
890898

891-
setNode1.put(o1, k1, v2);
899+
putNode.put(o1, k1, v2);
892900
assertFalse(o1.getShape().getProperty(k1).getLocation().isConstant());
893901
assertEquals(flags, o1.getShape().getProperty(k1).getFlags());
894902
assertEquals(v2, uncachedGet(o1, k1));
@@ -902,14 +910,15 @@ public void testPutConstant2() {
902910
int v2 = 43;
903911
int flags = 0xf;
904912

905-
var setNode1 = createPutNode();
913+
var putConstantNode = createPutConstantNode();
914+
var putNode = createPutNode();
906915

907-
setNode1.putConstantWithFlags(o1, k1, v1, 0);
916+
putConstantNode.putConstantWithFlags(o1, k1, v1, 0);
908917
assertTrue(o1.getShape().getProperty(k1).getLocation().isConstant());
909918
assertEquals(0, o1.getShape().getProperty(k1).getFlags());
910919
assertEquals(v1, uncachedGet(o1, k1));
911920

912-
setNode1.putWithFlags(o1, k1, v2, flags);
921+
putNode.putWithFlags(o1, k1, v2, flags);
913922
if (isNewLayout()) {
914923
assertFalse(o1.getShape().getProperty(k1).getLocation().isConstant());
915924
}

truffle/src/com.oracle.truffle.api.object.test/src/com/oracle/truffle/api/object/test/ParametrizedDynamicObjectTest.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -300,6 +300,7 @@ static class NodesFakeDynamicObjectLibrary extends DynamicObjectLibraryWrapper {
300300

301301
final DynamicObject.GetNode getNode;
302302
final DynamicObject.PutNode putNode;
303+
final DynamicObject.PutConstantNode putConstantNode;
303304
final DynamicObject.RemoveKeyNode removeKeyNode;
304305
final DynamicObject.SetDynamicTypeNode setDynamicTypeNode;
305306
final DynamicObject.GetDynamicTypeNode getDynamicTypeNode;
@@ -318,6 +319,7 @@ static class NodesFakeDynamicObjectLibrary extends DynamicObjectLibraryWrapper {
318319
NodesFakeDynamicObjectLibrary() {
319320
getNode = DynamicObject.GetNode.create();
320321
putNode = DynamicObject.PutNode.create();
322+
putConstantNode = DynamicObject.PutConstantNode.create();
321323
removeKeyNode = DynamicObject.RemoveKeyNode.create();
322324
setDynamicTypeNode = DynamicObject.SetDynamicTypeNode.create();
323325
getDynamicTypeNode = DynamicObject.GetDynamicTypeNode.create();
@@ -337,6 +339,7 @@ static class NodesFakeDynamicObjectLibrary extends DynamicObjectLibraryWrapper {
337339
NodesFakeDynamicObjectLibrary(@SuppressWarnings("unused") String uncached) {
338340
getNode = DynamicObject.GetNode.getUncached();
339341
putNode = DynamicObject.PutNode.getUncached();
342+
putConstantNode = DynamicObject.PutConstantNode.getUncached();
340343
removeKeyNode = DynamicObject.RemoveKeyNode.getUncached();
341344
setDynamicTypeNode = DynamicObject.SetDynamicTypeNode.getUncached();
342345
getDynamicTypeNode = DynamicObject.GetDynamicTypeNode.getUncached();
@@ -385,7 +388,7 @@ public void putWithFlags(DynamicObject object, Object key, Object value, int fla
385388

386389
@Override
387390
public void putConstant(DynamicObject object, Object key, Object value, int flags) {
388-
putNode.putConstantWithFlags(object, key, value, flags);
391+
putConstantNode.putConstantWithFlags(object, key, value, flags);
389392
}
390393

391394
@Override

0 commit comments

Comments
 (0)