瀏覽代碼

ARM: Fix table/userdata equality comparisons in interpreter.

Mike Pall 14 年之前
父節點
當前提交
65d9c7cb5e
共有 2 個文件被更改,包括 374 次插入271 次删除
  1. 3 1
      src/buildvm_arm.dasc
  2. 371 270
      src/buildvm_arm.h

+ 3 - 1
src/buildvm_arm.dasc

@@ -2205,7 +2205,9 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop)
     |   mov CARG2, CARG1
     |  tst RA, #1<<MM_eq
     |  beq ->vmeta_equal		// 'no __eq' flag not set?
-    if (!vk) {
+    if (vk) {
+      |  b <2
+    } else {
       |2:  // Branch if different.
       |  sub PC, RB, #0x20000
       |1:  // Same.

File diff suppressed because it is too large
+ 371 - 270
src/buildvm_arm.h


Some files were not shown because too many files changed in this diff