Skip to content

Commit ea0ce0f

Browse files
committed
Replace 'vv' with 'datum4' in Frame
1 parent 0f3d5e4 commit ea0ce0f

2 files changed

Lines changed: 13 additions & 13 deletions

File tree

src/runtime/evaluate.ts

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -762,7 +762,7 @@ handlerMap.set(SyntaxKind.CALL_EXPR, (frame) => {
762762
throw new E612_NotEnoughArgumentsError();
763763
}
764764
frame.datum2 = funcValue;
765-
frame.vv
765+
frame.datum4
766766
= Array.from({ length: args.length }, () => new UninitValue());
767767
return new Frame(frame, { state: 2 });
768768
}
@@ -777,7 +777,7 @@ handlerMap.set(SyntaxKind.CALL_EXPR, (frame) => {
777777
jumpMap.lastTarget = null;
778778
jumpMap.nextTarget = null;
779779
let funcValue = frame.datum2 as FuncValue;
780-
let argValues = frame.vv;
780+
let argValues = frame.datum4;
781781
let bodyEnv = extend(funcValue.outerEnv);
782782
for (let [param, arg] of
783783
zip(funcValue.parameters, argValues)) {
@@ -796,7 +796,7 @@ handlerMap.set(SyntaxKind.CALL_EXPR, (frame) => {
796796
}
797797
case 3: {
798798
let argValue = frame.value;
799-
frame.vv[frame.datum1] = argValue;
799+
frame.datum4[frame.datum1] = argValue;
800800
return new Frame(frame, { state: 2, datum1: frame.datum1 + 1 });
801801
}
802802
}
@@ -854,11 +854,11 @@ handlerMap.set(SyntaxKind.ARRAY_INITIALIZER_EXPR, (frame) => {
854854
return recurse(frame, 1, { node: elements[frame.datum1] });
855855
}
856856
else {
857-
return new ArrayValue(frame.vv);
857+
return new ArrayValue(frame.datum4);
858858
}
859859
}
860860
case 1: {
861-
frame.vv[frame.datum1] = frame.value;
861+
frame.datum4[frame.datum1] = frame.value;
862862
return new Frame(frame, { state: 0, datum1: frame.datum1 + 1 });
863863
}
864864
}
@@ -931,23 +931,23 @@ handlerMap.set(SyntaxKind.QUOTE_EXPR, (frame) => {
931931
else {
932932
if (statements.length === 1
933933
&& isExprStatement(statements[0])) {
934-
return (frame.vv[0] as SyntaxNodeValue).children[0];
934+
return (frame.datum4[0] as SyntaxNodeValue).children[0];
935935
}
936936
else if (statements.length === 1
937937
&& isStatement(statements[0])) {
938-
return frame.vv[0];
938+
return frame.datum4[0];
939939
}
940940
else {
941941
return new SyntaxNodeValue(
942942
new IntValue(SYNTAX_KIND__BLOCK),
943-
frame.vv as Array<SyntaxNodeValue>,
943+
frame.datum4 as Array<SyntaxNodeValue>,
944944
new NoneValue(),
945945
);
946946
}
947947
}
948948
}
949949
case 1: {
950-
frame.vv[frame.datum1] = frame.value;
950+
frame.datum4[frame.datum1] = frame.value;
951951
return new Frame(frame, { state: 0, datum1: frame.datum1 + 1 });
952952
}
953953
case 2: {
@@ -987,14 +987,14 @@ handlerMap.set(SyntaxKind.QUOTE_EXPR, (frame) => {
987987
let [kind, payload] = kindAndPayloadOfNode(subNode);
988988
return new SyntaxNodeValue(
989989
kind,
990-
frame.vv as Array<SyntaxNodeValue>,
990+
frame.datum4 as Array<SyntaxNodeValue>,
991991
payload,
992992
);
993993
}
994994
}
995995
}
996996
case 3: {
997-
frame.vv[frame.datum1] = frame.value;
997+
frame.datum4[frame.datum1] = frame.value;
998998
return new Frame(frame, { state: 2, datum1: frame.datum1 + 1 });
999999
}
10001000
case 4: {

src/runtime/frame.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,14 +45,14 @@ export class Frame {
4545
staticEnvs: Map<SyntaxNode, Env>;
4646
value: Value;
4747
cell: Cell | null;
48-
vv: Array<Value>;
4948
jumpMap: JumpMap;
5049
tail: Frame;
5150

5251
// mutable properties
5352
datum1: number;
5453
datum2: number | Value;
5554
datum3: Array<SyntaxNode>;
55+
datum4: Array<Value>;
5656

5757
constructor(oldFrame: Frame | null, newProps: Partial<Frame>) {
5858
this.mode = newProps.mode ?? oldFrame?.mode ?? Mode.GetValue;
@@ -64,7 +64,6 @@ export class Frame {
6464
?? error("staticEnvs");
6565
this.value = newProps.value ?? oldFrame?.value ?? new NoneValue();
6666
this.cell = newProps.cell ?? oldFrame?.cell ?? null;
67-
this.vv = newProps.vv ?? oldFrame?.vv ?? [];
6867
this.jumpMap = newProps.jumpMap
6968
?? oldFrame?.jumpMap
7069
?? error("jumpMap");
@@ -73,6 +72,7 @@ export class Frame {
7372
this.datum1 = newProps.datum1 ?? oldFrame?.datum1 ?? 0;
7473
this.datum2 = newProps.datum2 ?? oldFrame?.datum2 ?? 0;
7574
this.datum3 = newProps.datum3 ?? oldFrame?.datum3 ?? [];
75+
this.datum4 = newProps.datum4 ?? oldFrame?.datum4 ?? [];
7676
}
7777
}
7878

0 commit comments

Comments
 (0)