Merge V8 5.3.332.45.  DO NOT MERGE

Test: Manual

FPIIM-449

Change-Id: Id3254828b068abdea3cb10442e0172a8c9a98e03
(cherry picked from commit 13e2dadd00298019ed862f2b2fc5068bba730bcf)
diff --git a/test/cctest/interpreter/bytecode_expectations/BasicLoops.golden b/test/cctest/interpreter/bytecode_expectations/BasicLoops.golden
index 7936736..8be4e9d 100644
--- a/test/cctest/interpreter/bytecode_expectations/BasicLoops.golden
+++ b/test/cctest/interpreter/bytecode_expectations/BasicLoops.golden
@@ -15,11 +15,12 @@
 "
 frame size: 1
 parameter count: 1
-bytecode array length: 5
+bytecode array length: 6
 bytecodes: [
   /*   30 E> */ B(StackCheck),
   /*   42 S> */ B(LdaZero),
-  /*   42 E> */ B(Star), R(0),
+                B(Star), R(0),
+  /*   88 S> */ B(Nop),
   /*   98 S> */ B(Return),
 ]
 constant pool: [
@@ -37,11 +38,12 @@
 "
 frame size: 1
 parameter count: 1
-bytecode array length: 5
+bytecode array length: 6
 bytecodes: [
   /*   30 E> */ B(StackCheck),
   /*   42 S> */ B(LdaZero),
-  /*   42 E> */ B(Star), R(0),
+                B(Star), R(0),
+  /*   77 S> */ B(Nop),
   /*   87 S> */ B(Return),
 ]
 constant pool: [
@@ -61,43 +63,34 @@
   }
   return y;
 "
-frame size: 3
+frame size: 2
 parameter count: 1
-bytecode array length: 66
+bytecode array length: 48
 bytecodes: [
   /*   30 E> */ B(StackCheck),
   /*   42 S> */ B(LdaZero),
-  /*   42 E> */ B(Star), R(0),
+                B(Star), R(0),
   /*   53 S> */ B(LdaSmi), U8(1),
-  /*   53 E> */ B(Star), R(1),
-  /*   65 S> */ B(Ldar), R(0),
-                B(Star), R(2),
-                B(LdaSmi), U8(10),
-  /*   65 E> */ B(TestLessThan), R(2),
-                B(JumpIfFalse), U8(47),
+                B(Star), R(1),
+  /*   65 S> */ B(LdaSmi), U8(10),
+  /*   65 E> */ B(TestLessThan), R(0),
+                B(JumpIfFalse), U8(33),
   /*   56 E> */ B(StackCheck),
-  /*   75 S> */ B(Ldar), R(1),
-                B(Star), R(2),
-                B(LdaSmi), U8(12),
-                B(Mul), R(2),
-  /*   77 E> */ B(Star), R(1),
-  /*   89 S> */ B(Ldar), R(0),
-                B(Star), R(2),
-                B(LdaSmi), U8(1),
-                B(Add), R(2),
-  /*   91 E> */ B(Star), R(0),
-  /*  102 S> */ B(Star), R(2),
-                B(LdaSmi), U8(3),
-  /*  108 E> */ B(TestEqual), R(2),
+  /*   75 S> */ B(LdaSmi), U8(12),
+                B(Mul), R(1),
+                B(Star), R(1),
+  /*   89 S> */ B(LdaSmi), U8(1),
+                B(Add), R(0),
+                B(Star), R(0),
+  /*  102 S> */ B(LdaSmi), U8(3),
+  /*  108 E> */ B(TestEqual), R(0),
                 B(JumpIfFalse), U8(4),
-  /*  114 S> */ B(Jump), U8(14),
-  /*  126 S> */ B(Ldar), R(0),
-                B(Star), R(2),
-                B(LdaSmi), U8(4),
-  /*  132 E> */ B(TestEqual), R(2),
+  /*  114 S> */ B(Jump), U8(10),
+  /*  126 S> */ B(LdaSmi), U8(4),
+  /*  132 E> */ B(TestEqual), R(0),
                 B(JumpIfFalse), U8(4),
   /*  138 S> */ B(Jump), U8(4),
-                B(Jump), U8(-53),
+                B(Jump), U8(-35),
   /*  147 S> */ B(Ldar), R(1),
   /*  157 S> */ B(Return),
 ]
@@ -119,50 +112,38 @@
   }
   return i;
 "
-frame size: 2
+frame size: 1
 parameter count: 1
-bytecode array length: 79
+bytecode array length: 55
 bytecodes: [
   /*   30 E> */ B(StackCheck),
   /*   42 S> */ B(LdaZero),
-  /*   42 E> */ B(Star), R(0),
+                B(Star), R(0),
   /*   45 E> */ B(StackCheck),
-  /*   62 S> */ B(Ldar), R(0),
-                B(Star), R(1),
-                B(LdaZero),
-  /*   68 E> */ B(TestLessThan), R(1),
+  /*   62 S> */ B(LdaZero),
+  /*   68 E> */ B(TestLessThan), R(0),
                 B(JumpIfFalse), U8(4),
-  /*   73 S> */ B(Jump), U8(60),
-  /*   85 S> */ B(Ldar), R(0),
-                B(Star), R(1),
-                B(LdaSmi), U8(3),
-  /*   91 E> */ B(TestEqual), R(1),
+  /*   73 S> */ B(Jump), U8(40),
+  /*   85 S> */ B(LdaSmi), U8(3),
+  /*   91 E> */ B(TestEqual), R(0),
                 B(JumpIfFalse), U8(4),
-  /*   97 S> */ B(Jump), U8(50),
-  /*  106 S> */ B(Ldar), R(0),
-                B(Star), R(1),
-                B(LdaSmi), U8(4),
-  /*  112 E> */ B(TestEqual), R(1),
+  /*   97 S> */ B(Jump), U8(34),
+  /*  106 S> */ B(LdaSmi), U8(4),
+  /*  112 E> */ B(TestEqual), R(0),
                 B(JumpIfFalse), U8(4),
-  /*  118 S> */ B(Jump), U8(38),
-  /*  127 S> */ B(Ldar), R(0),
-                B(Star), R(1),
-                B(LdaSmi), U8(10),
-  /*  133 E> */ B(TestEqual), R(1),
+  /*  118 S> */ B(Jump), U8(26),
+  /*  127 S> */ B(LdaSmi), U8(10),
+  /*  133 E> */ B(TestEqual), R(0),
                 B(JumpIfFalse), U8(4),
-  /*  140 S> */ B(Jump), U8(24),
-  /*  152 S> */ B(Ldar), R(0),
-                B(Star), R(1),
-                B(LdaSmi), U8(5),
-  /*  158 E> */ B(TestEqual), R(1),
+  /*  140 S> */ B(Jump), U8(16),
+  /*  152 S> */ B(LdaSmi), U8(5),
+  /*  158 E> */ B(TestEqual), R(0),
                 B(JumpIfFalse), U8(4),
-  /*  164 S> */ B(Jump), U8(14),
-  /*  173 S> */ B(Ldar), R(0),
-                B(Star), R(1),
-                B(LdaSmi), U8(1),
-                B(Add), R(1),
-  /*  175 E> */ B(Star), R(0),
-                B(Jump), U8(-70),
+  /*  164 S> */ B(Jump), U8(10),
+  /*  173 S> */ B(LdaSmi), U8(1),
+                B(Add), R(0),
+                B(Star), R(0),
+                B(Jump), U8(-46),
   /*  186 S> */ B(Ldar), R(0),
   /*  196 S> */ B(Return),
 ]
@@ -184,39 +165,31 @@
   }
   return i;
 "
-frame size: 2
+frame size: 1
 parameter count: 1
-bytecode array length: 57
+bytecode array length: 41
 bytecodes: [
   /*   30 E> */ B(StackCheck),
   /*   42 S> */ B(LdaZero),
-  /*   42 E> */ B(Star), R(0),
+                B(Star), R(0),
   /*   45 E> */ B(StackCheck),
-  /*   71 S> */ B(Ldar), R(0),
-                B(Star), R(1),
-                B(LdaSmi), U8(3),
-  /*   71 E> */ B(TestLessThan), R(1),
-                B(JumpIfFalse), U8(27),
+  /*   71 S> */ B(LdaSmi), U8(3),
+  /*   71 E> */ B(TestLessThan), R(0),
+                B(JumpIfFalse), U8(19),
   /*   62 E> */ B(StackCheck),
-  /*   82 S> */ B(Ldar), R(0),
-                B(Star), R(1),
-                B(LdaSmi), U8(2),
-  /*   88 E> */ B(TestEqual), R(1),
+  /*   82 S> */ B(LdaSmi), U8(2),
+  /*   88 E> */ B(TestEqual), R(0),
                 B(JumpIfFalse), U8(4),
-  /*   94 S> */ B(Jump), U8(14),
-  /*  105 S> */ B(Ldar), R(0),
-                B(Star), R(1),
-                B(LdaSmi), U8(1),
-                B(Add), R(1),
-  /*  107 E> */ B(Star), R(0),
-                B(Jump), U8(-33),
-  /*  122 S> */ B(Ldar), R(0),
-                B(Star), R(1),
-                B(LdaSmi), U8(1),
-                B(Add), R(1),
-  /*  124 E> */ B(Star), R(0),
+  /*   94 S> */ B(Jump), U8(10),
+  /*  105 S> */ B(LdaSmi), U8(1),
+                B(Add), R(0),
+                B(Star), R(0),
+                B(Jump), U8(-21),
+  /*  122 S> */ B(LdaSmi), U8(1),
+                B(Add), R(0),
+                B(Star), R(0),
   /*  135 S> */ B(Jump), U8(4),
-                B(Jump), U8(-48),
+                B(Jump), U8(-32),
   /*  144 S> */ B(Ldar), R(0),
   /*  154 S> */ B(Return),
 ]
@@ -235,29 +208,25 @@
   }
   return y;
 "
-frame size: 3
+frame size: 2
 parameter count: 1
-bytecode array length: 39
+bytecode array length: 31
 bytecodes: [
   /*   30 E> */ B(StackCheck),
   /*   42 S> */ B(LdaSmi), U8(10),
-  /*   42 E> */ B(Star), R(0),
+                B(Star), R(0),
   /*   54 S> */ B(LdaSmi), U8(1),
-  /*   54 E> */ B(Star), R(1),
+                B(Star), R(1),
   /*   64 S> */ B(Ldar), R(0),
-                B(JumpIfToBooleanFalse), U8(25),
+                B(JumpIfToBooleanFalse), U8(17),
   /*   57 E> */ B(StackCheck),
-  /*   71 S> */ B(Ldar), R(1),
-                B(Star), R(2),
-                B(LdaSmi), U8(12),
-                B(Mul), R(2),
-  /*   73 E> */ B(Star), R(1),
-  /*   85 S> */ B(Ldar), R(0),
-                B(Star), R(2),
-                B(LdaSmi), U8(1),
-                B(Sub), R(2),
-  /*   87 E> */ B(Star), R(0),
-                B(Jump), U8(-25),
+  /*   71 S> */ B(LdaSmi), U8(12),
+                B(Mul), R(1),
+                B(Star), R(1),
+  /*   85 S> */ B(LdaSmi), U8(1),
+                B(Sub), R(0),
+                B(Star), R(0),
+                B(Jump), U8(-17),
   /*   98 S> */ B(Ldar), R(1),
   /*  108 S> */ B(Return),
 ]
@@ -277,43 +246,33 @@
   } while (x < 10);
   return y;
 "
-frame size: 3
+frame size: 2
 parameter count: 1
-bytecode array length: 66
+bytecode array length: 46
 bytecodes: [
   /*   30 E> */ B(StackCheck),
   /*   42 S> */ B(LdaZero),
-  /*   42 E> */ B(Star), R(0),
+                B(Star), R(0),
   /*   53 S> */ B(LdaSmi), U8(1),
-  /*   53 E> */ B(Star), R(1),
+                B(Star), R(1),
   /*   56 E> */ B(StackCheck),
-  /*   63 S> */ B(Ldar), R(1),
-                B(Star), R(2),
-                B(LdaSmi), U8(10),
-                B(Mul), R(2),
-  /*   65 E> */ B(Star), R(1),
-  /*   77 S> */ B(Ldar), R(0),
-                B(Star), R(2),
-                B(LdaSmi), U8(5),
-  /*   83 E> */ B(TestEqual), R(2),
+  /*   63 S> */ B(LdaSmi), U8(10),
+                B(Mul), R(1),
+                B(Star), R(1),
+  /*   77 S> */ B(LdaSmi), U8(5),
+  /*   83 E> */ B(TestEqual), R(0),
                 B(JumpIfFalse), U8(4),
-  /*   89 S> */ B(Jump), U8(34),
-  /*   98 S> */ B(Ldar), R(0),
-                B(Star), R(2),
-                B(LdaSmi), U8(6),
-  /*  104 E> */ B(TestEqual), R(2),
+  /*   89 S> */ B(Jump), U8(22),
+  /*   98 S> */ B(LdaSmi), U8(6),
+  /*  104 E> */ B(TestEqual), R(0),
                 B(JumpIfFalse), U8(4),
-  /*  110 S> */ B(Jump), U8(12),
-  /*  122 S> */ B(Ldar), R(0),
-                B(Star), R(2),
-                B(LdaSmi), U8(1),
-                B(Add), R(2),
-  /*  124 E> */ B(Star), R(0),
-  /*  144 S> */ B(Ldar), R(0),
-                B(Star), R(2),
-                B(LdaSmi), U8(10),
-  /*  144 E> */ B(TestLessThan), R(2),
-                B(JumpIfTrue), U8(-53),
+  /*  110 S> */ B(Jump), U8(8),
+  /*  122 S> */ B(LdaSmi), U8(1),
+                B(Add), R(0),
+                B(Star), R(0),
+  /*  144 S> */ B(LdaSmi), U8(10),
+  /*  144 E> */ B(TestLessThan), R(0),
+                B(JumpIfTrue), U8(-33),
   /*  151 S> */ B(Ldar), R(1),
   /*  161 S> */ B(Return),
 ]
@@ -332,28 +291,24 @@
   } while (x);
   return y;
 "
-frame size: 3
+frame size: 2
 parameter count: 1
-bytecode array length: 37
+bytecode array length: 29
 bytecodes: [
   /*   30 E> */ B(StackCheck),
   /*   42 S> */ B(LdaSmi), U8(10),
-  /*   42 E> */ B(Star), R(0),
+                B(Star), R(0),
   /*   54 S> */ B(LdaSmi), U8(1),
-  /*   54 E> */ B(Star), R(1),
+                B(Star), R(1),
   /*   57 E> */ B(StackCheck),
-  /*   64 S> */ B(Ldar), R(1),
-                B(Star), R(2),
-                B(LdaSmi), U8(12),
-                B(Mul), R(2),
-  /*   66 E> */ B(Star), R(1),
-  /*   78 S> */ B(Ldar), R(0),
-                B(Star), R(2),
-                B(LdaSmi), U8(1),
-                B(Sub), R(2),
-  /*   80 E> */ B(Star), R(0),
+  /*   64 S> */ B(LdaSmi), U8(12),
+                B(Mul), R(1),
+                B(Star), R(1),
+  /*   78 S> */ B(LdaSmi), U8(1),
+                B(Sub), R(0),
+                B(Star), R(0),
   /*   98 S> */ B(Ldar), R(0),
-                B(JumpIfToBooleanTrue), U8(-23),
+                B(JumpIfToBooleanTrue), U8(-15),
   /*  102 S> */ B(Ldar), R(1),
   /*  112 S> */ B(Return),
 ]
@@ -373,35 +328,28 @@
   } while (false);
   return y;
 "
-frame size: 3
+frame size: 2
 parameter count: 1
-bytecode array length: 54
+bytecode array length: 40
 bytecodes: [
   /*   30 E> */ B(StackCheck),
   /*   42 S> */ B(LdaZero),
-  /*   42 E> */ B(Star), R(0),
+                B(Star), R(0),
   /*   53 S> */ B(LdaSmi), U8(1),
-  /*   53 E> */ B(Star), R(1),
+                B(Star), R(1),
   /*   56 E> */ B(StackCheck),
-  /*   63 S> */ B(Ldar), R(1),
-                B(Star), R(2),
-                B(LdaSmi), U8(10),
-                B(Mul), R(2),
-  /*   65 E> */ B(Star), R(1),
-  /*   77 S> */ B(Ldar), R(0),
-                B(Star), R(2),
-                B(LdaSmi), U8(5),
-  /*   83 E> */ B(TestEqual), R(2),
+  /*   63 S> */ B(LdaSmi), U8(10),
+                B(Mul), R(1),
+                B(Star), R(1),
+  /*   77 S> */ B(LdaSmi), U8(5),
+  /*   83 E> */ B(TestEqual), R(0),
                 B(JumpIfFalse), U8(4),
-  /*   89 S> */ B(Jump), U8(22),
-  /*   98 S> */ B(Ldar), R(0),
-                B(Star), R(2),
-                B(LdaSmi), U8(1),
-                B(Add), R(2),
-  /*  100 E> */ B(Star), R(0),
-  /*  111 S> */ B(Star), R(2),
-                B(LdaSmi), U8(6),
-  /*  117 E> */ B(TestEqual), R(2),
+  /*   89 S> */ B(Jump), U8(16),
+  /*   98 S> */ B(LdaSmi), U8(1),
+                B(Add), R(0),
+                B(Star), R(0),
+  /*  111 S> */ B(LdaSmi), U8(6),
+  /*  117 E> */ B(TestEqual), R(0),
                 B(JumpIfFalse), U8(4),
   /*  123 S> */ B(Jump), U8(2),
   /*  150 S> */ B(Ldar), R(1),
@@ -423,38 +371,31 @@
   } while (true);
   return y;
 "
-frame size: 3
+frame size: 2
 parameter count: 1
-bytecode array length: 56
+bytecode array length: 42
 bytecodes: [
   /*   30 E> */ B(StackCheck),
   /*   42 S> */ B(LdaZero),
-  /*   42 E> */ B(Star), R(0),
+                B(Star), R(0),
   /*   53 S> */ B(LdaSmi), U8(1),
-  /*   53 E> */ B(Star), R(1),
+                B(Star), R(1),
   /*   56 E> */ B(StackCheck),
-  /*   63 S> */ B(Ldar), R(1),
-                B(Star), R(2),
-                B(LdaSmi), U8(10),
-                B(Mul), R(2),
-  /*   65 E> */ B(Star), R(1),
-  /*   77 S> */ B(Ldar), R(0),
-                B(Star), R(2),
-                B(LdaSmi), U8(5),
-  /*   83 E> */ B(TestEqual), R(2),
+  /*   63 S> */ B(LdaSmi), U8(10),
+                B(Mul), R(1),
+                B(Star), R(1),
+  /*   77 S> */ B(LdaSmi), U8(5),
+  /*   83 E> */ B(TestEqual), R(0),
                 B(JumpIfFalse), U8(4),
-  /*   89 S> */ B(Jump), U8(24),
-  /*   98 S> */ B(Ldar), R(0),
-                B(Star), R(2),
-                B(LdaSmi), U8(1),
-                B(Add), R(2),
-  /*  100 E> */ B(Star), R(0),
-  /*  111 S> */ B(Star), R(2),
-                B(LdaSmi), U8(6),
-  /*  117 E> */ B(TestEqual), R(2),
+  /*   89 S> */ B(Jump), U8(18),
+  /*   98 S> */ B(LdaSmi), U8(1),
+                B(Add), R(0),
+                B(Star), R(0),
+  /*  111 S> */ B(LdaSmi), U8(6),
+  /*  117 E> */ B(TestEqual), R(0),
                 B(JumpIfFalse), U8(4),
   /*  123 S> */ B(Jump), U8(2),
-                B(Jump), U8(-43),
+                B(Jump), U8(-29),
   /*  149 S> */ B(Ldar), R(1),
   /*  159 S> */ B(Return),
 ]
@@ -472,32 +413,26 @@
     x = x + 1;
   }
 "
-frame size: 2
+frame size: 1
 parameter count: 1
-bytecode array length: 43
+bytecode array length: 31
 bytecodes: [
   /*   30 E> */ B(StackCheck),
   /*   42 S> */ B(LdaZero),
-  /*   42 E> */ B(Star), R(0),
+                B(Star), R(0),
   /*   45 E> */ B(StackCheck),
-  /*   58 S> */ B(Ldar), R(0),
-                B(Star), R(1),
-                B(LdaSmi), U8(1),
-  /*   64 E> */ B(TestEqual), R(1),
+  /*   58 S> */ B(LdaSmi), U8(1),
+  /*   64 E> */ B(TestEqual), R(0),
                 B(JumpIfFalse), U8(4),
-  /*   70 S> */ B(Jump), U8(26),
-  /*   79 S> */ B(Ldar), R(0),
-                B(Star), R(1),
-                B(LdaSmi), U8(2),
-  /*   85 E> */ B(TestEqual), R(1),
+  /*   70 S> */ B(Jump), U8(18),
+  /*   79 S> */ B(LdaSmi), U8(2),
+  /*   85 E> */ B(TestEqual), R(0),
                 B(JumpIfFalse), U8(4),
-  /*   91 S> */ B(Jump), U8(12),
-  /*  103 S> */ B(Ldar), R(0),
-                B(Star), R(1),
-                B(LdaSmi), U8(1),
-                B(Add), R(1),
-  /*  105 E> */ B(Star), R(0),
-                B(Jump), U8(-35),
+  /*   91 S> */ B(Jump), U8(8),
+  /*  103 S> */ B(LdaSmi), U8(1),
+                B(Add), R(0),
+                B(Star), R(0),
+                B(Jump), U8(-23),
                 B(LdaUndefined),
   /*  116 S> */ B(Return),
 ]
@@ -514,32 +449,26 @@
     x = x + 1;
   }
 "
-frame size: 2
+frame size: 1
 parameter count: 1
-bytecode array length: 43
+bytecode array length: 31
 bytecodes: [
   /*   30 E> */ B(StackCheck),
   /*   47 S> */ B(LdaZero),
-  /*   47 E> */ B(Star), R(0),
+                B(Star), R(0),
   /*   34 E> */ B(StackCheck),
-  /*   56 S> */ B(Ldar), R(0),
-                B(Star), R(1),
-                B(LdaSmi), U8(1),
-  /*   62 E> */ B(TestEqual), R(1),
+  /*   56 S> */ B(LdaSmi), U8(1),
+  /*   62 E> */ B(TestEqual), R(0),
                 B(JumpIfFalse), U8(4),
-  /*   68 S> */ B(Jump), U8(26),
-  /*   77 S> */ B(Ldar), R(0),
-                B(Star), R(1),
-                B(LdaSmi), U8(2),
-  /*   83 E> */ B(TestEqual), R(1),
+  /*   68 S> */ B(Jump), U8(18),
+  /*   77 S> */ B(LdaSmi), U8(2),
+  /*   83 E> */ B(TestEqual), R(0),
                 B(JumpIfFalse), U8(4),
-  /*   89 S> */ B(Jump), U8(12),
-  /*  101 S> */ B(Ldar), R(0),
-                B(Star), R(1),
-                B(LdaSmi), U8(1),
-                B(Add), R(1),
-  /*  103 E> */ B(Star), R(0),
-                B(Jump), U8(-35),
+  /*   89 S> */ B(Jump), U8(8),
+  /*  101 S> */ B(LdaSmi), U8(1),
+                B(Add), R(0),
+                B(Star), R(0),
+                B(Jump), U8(-23),
                 B(LdaUndefined),
   /*  114 S> */ B(Return),
 ]
@@ -556,32 +485,26 @@
     if (x == 2) continue;
   }
 "
-frame size: 2
+frame size: 1
 parameter count: 1
-bytecode array length: 43
+bytecode array length: 31
 bytecodes: [
   /*   30 E> */ B(StackCheck),
   /*   42 S> */ B(LdaZero),
-  /*   42 E> */ B(Star), R(0),
+                B(Star), R(0),
   /*   45 E> */ B(StackCheck),
-  /*   68 S> */ B(Ldar), R(0),
-                B(Star), R(1),
-                B(LdaSmi), U8(1),
-  /*   74 E> */ B(TestEqual), R(1),
+  /*   68 S> */ B(LdaSmi), U8(1),
+  /*   74 E> */ B(TestEqual), R(0),
                 B(JumpIfFalse), U8(4),
-  /*   80 S> */ B(Jump), U8(26),
-  /*   89 S> */ B(Ldar), R(0),
-                B(Star), R(1),
-                B(LdaSmi), U8(2),
-  /*   95 E> */ B(TestEqual), R(1),
+  /*   80 S> */ B(Jump), U8(18),
+  /*   89 S> */ B(LdaSmi), U8(2),
+  /*   95 E> */ B(TestEqual), R(0),
                 B(JumpIfFalse), U8(4),
   /*  101 S> */ B(Jump), U8(2),
-  /*   55 S> */ B(Ldar), R(0),
-                B(Star), R(1),
-                B(LdaSmi), U8(1),
-                B(Add), R(1),
-  /*   55 E> */ B(Star), R(0),
-                B(Jump), U8(-35),
+  /*   55 S> */ B(LdaSmi), U8(1),
+                B(Add), R(0),
+                B(Star), R(0),
+                B(Jump), U8(-23),
                 B(LdaUndefined),
   /*  113 S> */ B(Return),
 ]
@@ -597,32 +520,26 @@
     if (x == 2) continue;
   }
 "
-frame size: 2
+frame size: 1
 parameter count: 1
-bytecode array length: 43
+bytecode array length: 31
 bytecodes: [
   /*   30 E> */ B(StackCheck),
   /*   47 S> */ B(LdaZero),
-  /*   47 E> */ B(Star), R(0),
+                B(Star), R(0),
   /*   34 E> */ B(StackCheck),
-  /*   66 S> */ B(Ldar), R(0),
-                B(Star), R(1),
-                B(LdaSmi), U8(1),
-  /*   72 E> */ B(TestEqual), R(1),
+  /*   66 S> */ B(LdaSmi), U8(1),
+  /*   72 E> */ B(TestEqual), R(0),
                 B(JumpIfFalse), U8(4),
-  /*   78 S> */ B(Jump), U8(26),
-  /*   87 S> */ B(Ldar), R(0),
-                B(Star), R(1),
-                B(LdaSmi), U8(2),
-  /*   93 E> */ B(TestEqual), R(1),
+  /*   78 S> */ B(Jump), U8(18),
+  /*   87 S> */ B(LdaSmi), U8(2),
+  /*   93 E> */ B(TestEqual), R(0),
                 B(JumpIfFalse), U8(4),
   /*   99 S> */ B(Jump), U8(2),
-  /*   53 S> */ B(Ldar), R(0),
-                B(Star), R(1),
-                B(LdaSmi), U8(1),
-                B(Add), R(1),
-  /*   53 E> */ B(Star), R(0),
-                B(Jump), U8(-35),
+  /*   53 S> */ B(LdaSmi), U8(1),
+                B(Add), R(0),
+                B(Star), R(0),
+                B(Jump), U8(-23),
                 B(LdaUndefined),
   /*  111 S> */ B(Return),
 ]
@@ -639,33 +556,27 @@
     continue;
   }
 "
-frame size: 3
+frame size: 2
 parameter count: 1
-bytecode array length: 44
+bytecode array length: 32
 bytecodes: [
   /*   30 E> */ B(StackCheck),
   /*   42 S> */ B(LdaZero),
-  /*   42 E> */ B(Star), R(0),
+                B(Star), R(0),
   /*   58 S> */ B(LdaZero),
-  /*   58 E> */ B(Star), R(1),
-  /*   63 S> */ B(Ldar), R(1),
-                B(Star), R(2),
-                B(LdaSmi), U8(100),
-  /*   63 E> */ B(TestLessThan), R(2),
-                B(JumpIfFalse), U8(27),
+                B(Star), R(1),
+  /*   63 S> */ B(LdaSmi), U8(100),
+  /*   63 E> */ B(TestLessThan), R(1),
+                B(JumpIfFalse), U8(19),
   /*   45 E> */ B(StackCheck),
-  /*   85 S> */ B(Ldar), R(0),
-                B(Star), R(2),
-                B(LdaSmi), U8(1),
-                B(Add), R(2),
-  /*   87 E> */ B(Star), R(0),
+  /*   85 S> */ B(LdaSmi), U8(1),
+                B(Add), R(0),
+                B(Star), R(0),
   /*   98 S> */ B(Jump), U8(2),
-  /*   72 S> */ B(Ldar), R(1),
-                B(Star), R(2),
-                B(LdaSmi), U8(1),
-                B(Add), R(2),
-  /*   72 E> */ B(Star), R(1),
-                B(Jump), U8(-33),
+  /*   72 S> */ B(LdaSmi), U8(1),
+                B(Add), R(1),
+                B(Star), R(1),
+                B(Jump), U8(-21),
                 B(LdaUndefined),
   /*  110 S> */ B(Return),
 ]
@@ -682,27 +593,25 @@
   }
   return y;
 "
-frame size: 3
+frame size: 2
 parameter count: 1
-bytecode array length: 34
+bytecode array length: 30
 bytecodes: [
   /*   30 E> */ B(StackCheck),
   /*   42 S> */ B(LdaSmi), U8(1),
-  /*   42 E> */ B(Star), R(0),
+                B(Star), R(0),
   /*   58 S> */ B(LdaSmi), U8(10),
-  /*   58 E> */ B(Star), R(1),
+                B(Star), R(1),
   /*   62 S> */ B(Ldar), R(1),
-                B(JumpIfToBooleanFalse), U8(20),
+                B(JumpIfToBooleanFalse), U8(16),
   /*   45 E> */ B(StackCheck),
-  /*   74 S> */ B(Ldar), R(0),
-                B(Star), R(2),
-                B(LdaSmi), U8(12),
-                B(Mul), R(2),
-  /*   76 E> */ B(Star), R(0),
+  /*   74 S> */ B(LdaSmi), U8(12),
+                B(Mul), R(0),
+                B(Star), R(0),
   /*   67 S> */ B(Ldar), R(1),
                 B(Dec),
-  /*   67 E> */ B(Star), R(1),
-                B(Jump), U8(-20),
+                B(Star), R(1),
+                B(Jump), U8(-16),
   /*   88 S> */ B(Ldar), R(0),
   /*   98 S> */ B(Return),
 ]
@@ -725,9 +634,9 @@
 bytecodes: [
   /*   30 E> */ B(StackCheck),
   /*   42 S> */ B(LdaZero),
-  /*   42 E> */ B(Star), R(0),
+                B(Star), R(0),
   /*   58 S> */ B(LdaZero),
-  /*   58 E> */ B(Star), R(1),
+                B(Star), R(1),
   /*   91 S> */ B(Ldar), R(0),
   /*  101 S> */ B(Return),
 ]
@@ -745,30 +654,27 @@
   };
   return x;
 "
-frame size: 3
+frame size: 2
 parameter count: 1
-bytecode array length: 38
+bytecode array length: 32
 bytecodes: [
   /*   30 E> */ B(StackCheck),
   /*   42 S> */ B(LdaZero),
-  /*   42 E> */ B(Star), R(0),
+                B(Star), R(0),
   /*   58 S> */ B(LdaZero),
-  /*   58 E> */ B(Star), R(1),
+                B(Star), R(1),
   /*   45 E> */ B(StackCheck),
-  /*   76 S> */ B(Ldar), R(0),
-                B(Star), R(2),
-                B(LdaSmi), U8(1),
-                B(Add), R(2),
-  /*   78 E> */ B(Star), R(0),
-  /*   89 S> */ B(Star), R(2),
-                B(LdaSmi), U8(20),
-  /*   95 E> */ B(TestEqual), R(2),
+  /*   76 S> */ B(LdaSmi), U8(1),
+                B(Add), R(0),
+                B(Star), R(0),
+  /*   89 S> */ B(LdaSmi), U8(20),
+  /*   95 E> */ B(TestEqual), R(0),
                 B(JumpIfFalse), U8(4),
   /*  102 S> */ B(Jump), U8(9),
   /*   69 S> */ B(Ldar), R(1),
                 B(Inc),
-  /*   69 E> */ B(Star), R(1),
-                B(Jump), U8(-26),
+                B(Star), R(1),
+                B(Jump), U8(-20),
   /*  112 S> */ B(Ldar), R(0),
   /*  122 S> */ B(Return),
 ]
@@ -791,18 +697,17 @@
 "
 frame size: 7
 parameter count: 1
-bytecode array length: 120
+bytecode array length: 119
 bytecodes: [
   /*   30 E> */ B(StackCheck),
   /*   42 S> */ B(LdaZero),
-  /*   42 E> */ B(Star), R(1),
+                B(Star), R(1),
   /*   52 S> */ B(Ldar), R(1),
-                B(JumpIfToBooleanFalse), U8(112),
+                B(JumpIfToBooleanFalse), U8(111),
   /*   45 E> */ B(StackCheck),
                 B(LdaConstant), U8(0),
                 B(Star), R(4),
-                B(Ldar), R(closure),
-                B(Star), R(5),
+                B(Mov), R(closure), R(5),
                 B(CallRuntime), U16(Runtime::kPushBlockContext), R(4), U8(2),
                 B(PushContext), R(3),
                 B(LdaTheHole),
@@ -834,8 +739,8 @@
                 B(ToNumber),
                 B(Star), R(4),
                 B(Inc),
-  /*  127 E> */ B(Star), R(5),
-                B(LdaContextSlot), R(context), U8(4),
+                B(Star), R(5),
+  /*  127 E> */ B(LdaContextSlot), R(context), U8(4),
                 B(JumpIfNotHole), U8(11),
                 B(LdaConstant), U8(3),
                 B(Star), R(6),
@@ -843,7 +748,7 @@
                 B(Ldar), R(5),
                 B(StaContextSlot), R(context), U8(4),
                 B(PopContext), R(3),
-                B(Jump), U8(-112),
+                B(Jump), U8(-111),
                 B(LdaUndefined),
   /*  137 S> */ B(Return),
 ]