We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent f05fdd0 commit 7d7413aCopy full SHA for 7d7413a
docs/smalltalk/st0060.md
@@ -87,7 +87,7 @@ Issue 发出后不久,Alan Donovan 就将它关闭了,他表示 SSA 没问
87
...
88
```
89
90
-Block 3 中存在两条 Phi 指令,按照之前提到的**常规逻辑**,第一条指令的结果是第二条指令的入参,指令执行存在先后关系;而实际上生成 Phi 指令时,基于这样一个假设,既:“**同一个 Block 中的 Phi 指令并行执行**”,也就是说 `phi [0: t1, 1: t6]` 中的 `t6`,应该取其进入 Block 3 前的值,而非 `phi [0: t1, 1: t4]` 的返回值。按照这一假设,`t7`(既y) 的值为上一次迭代的 `t6`(既x),运行逻辑便与源代码意图一致了。凹编译器和 `ssa/interp` 巧合的犯了同样的错误——既按串行方式处理 Phi 指令。
+Block 3 中存在两条 Phi 指令,按照之前提到的**常规逻辑**,第一条指令的结果是第二条指令的入参,指令执行存在先后关系;而实际上生成 Phi 指令时,基于这样一个假设,既:“**同一个 Block 中的 Phi 指令并行执行**”,也就是说 `phi [0: t1, 1: t6]` 中的 `t6`,应该取其进入 Block 3 前的值,而非 `phi [0: t1, 1: t4]` 的返回值。按照这一假设,`t7`(既y) 的值为上一次迭代的 `t6`(既x),运行逻辑便与源代码意图一致了。巧合的是,凹编译器和 `ssa/interp` 犯了相同的错误——既按串行方式处理 Phi 指令。
91
92
实际上在之前的私下讨论中,考虑过“Phi 应并行执行”的可能:
93
0 commit comments