Sfoglia il codice sorgente

ARM: Fix table/userdata equality comparisons in interpreter.

Mike Pall 14 anni fa
parent
commit
65d9c7cb5e
2 ha cambiato i file con 374 aggiunte e 271 eliminazioni
  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