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/Switch.golden b/test/cctest/interpreter/bytecode_expectations/Switch.golden
index c252140..ddb8a7a 100644
--- a/test/cctest/interpreter/bytecode_expectations/Switch.golden
+++ b/test/cctest/interpreter/bytecode_expectations/Switch.golden
@@ -17,16 +17,16 @@
 "
 frame size: 3
 parameter count: 1
-bytecode array length: 31
+bytecode array length: 32
 bytecodes: [
   /*   30 E> */ B(StackCheck),
   /*   42 S> */ B(LdaSmi), U8(1),
-  /*   42 E> */ B(Star), R(1),
-  /*   52 E> */ B(Star), R(0),
-  /*   45 S> */ B(Star), R(2),
-                B(LdaSmi), U8(1),
-                B(TestEqualStrict), R(2),
-                B(JumpIfTrue), U8(10),
+                B(Star), R(1),
+                B(Star), R(0),
+  /*   45 S> */ B(LdaSmi), U8(1),
+                B(TestEqualStrict), R(0),
+                B(Mov), R(0), R(2),
+                B(JumpIfToBooleanTrue), U8(10),
                 B(LdaSmi), U8(2),
                 B(TestEqualStrict), R(2),
                 B(JumpIfTrue), U8(7),
@@ -53,25 +53,25 @@
 "
 frame size: 3
 parameter count: 1
-bytecode array length: 37
+bytecode array length: 38
 bytecodes: [
   /*   30 E> */ B(StackCheck),
   /*   42 S> */ B(LdaSmi), U8(1),
-  /*   42 E> */ B(Star), R(1),
-  /*   52 E> */ B(Star), R(0),
-  /*   45 S> */ B(Star), R(2),
-                B(LdaSmi), U8(1),
-                B(TestEqualStrict), R(2),
-                B(JumpIfTrue), U8(10),
+                B(Star), R(1),
+                B(Star), R(0),
+  /*   45 S> */ B(LdaSmi), U8(1),
+                B(TestEqualStrict), R(0),
+                B(Mov), R(0), R(2),
+                B(JumpIfToBooleanTrue), U8(10),
                 B(LdaSmi), U8(2),
                 B(TestEqualStrict), R(2),
                 B(JumpIfTrue), U8(10),
                 B(Jump), U8(14),
   /*   66 S> */ B(LdaSmi), U8(2),
-  /*   68 E> */ B(Star), R(1),
+                B(Star), R(1),
   /*   73 S> */ B(Jump), U8(8),
   /*   89 S> */ B(LdaSmi), U8(3),
-  /*   91 E> */ B(Star), R(1),
+                B(Star), R(1),
   /*   96 S> */ B(Jump), U8(2),
                 B(LdaUndefined),
   /*  105 S> */ B(Return),
@@ -91,24 +91,24 @@
 "
 frame size: 3
 parameter count: 1
-bytecode array length: 35
+bytecode array length: 36
 bytecodes: [
   /*   30 E> */ B(StackCheck),
   /*   42 S> */ B(LdaSmi), U8(1),
-  /*   42 E> */ B(Star), R(1),
-  /*   52 E> */ B(Star), R(0),
-  /*   45 S> */ B(Star), R(2),
-                B(LdaSmi), U8(1),
-                B(TestEqualStrict), R(2),
-                B(JumpIfTrue), U8(10),
+                B(Star), R(1),
+                B(Star), R(0),
+  /*   45 S> */ B(LdaSmi), U8(1),
+                B(TestEqualStrict), R(0),
+                B(Mov), R(0), R(2),
+                B(JumpIfToBooleanTrue), U8(10),
                 B(LdaSmi), U8(2),
                 B(TestEqualStrict), R(2),
                 B(JumpIfTrue), U8(8),
                 B(Jump), U8(12),
   /*   66 S> */ B(LdaSmi), U8(2),
-  /*   68 E> */ B(Star), R(1),
+                B(Star), R(1),
   /*   98 S> */ B(LdaSmi), U8(3),
-  /*  100 E> */ B(Star), R(1),
+                B(Star), R(1),
   /*  105 S> */ B(Jump), U8(2),
                 B(LdaUndefined),
   /*  114 S> */ B(Return),
@@ -129,16 +129,16 @@
 "
 frame size: 3
 parameter count: 1
-bytecode array length: 35
+bytecode array length: 36
 bytecodes: [
   /*   30 E> */ B(StackCheck),
   /*   42 S> */ B(LdaSmi), U8(1),
-  /*   42 E> */ B(Star), R(1),
-  /*   52 E> */ B(Star), R(0),
-  /*   45 S> */ B(Star), R(2),
-                B(LdaSmi), U8(2),
-                B(TestEqualStrict), R(2),
-                B(JumpIfTrue), U8(10),
+                B(Star), R(1),
+                B(Star), R(0),
+  /*   45 S> */ B(LdaSmi), U8(2),
+                B(TestEqualStrict), R(0),
+                B(Mov), R(0), R(2),
+                B(JumpIfToBooleanTrue), U8(10),
                 B(LdaSmi), U8(3),
                 B(TestEqualStrict), R(2),
                 B(JumpIfTrue), U8(6),
@@ -146,7 +146,7 @@
   /*   66 S> */ B(Jump), U8(10),
   /*   82 S> */ B(Jump), U8(8),
   /*   99 S> */ B(LdaSmi), U8(1),
-  /*  101 E> */ B(Star), R(1),
+                B(Star), R(1),
   /*  106 S> */ B(Jump), U8(2),
                 B(LdaUndefined),
   /*  115 S> */ B(Return),
@@ -167,29 +167,29 @@
 "
 frame size: 3
 parameter count: 1
-bytecode array length: 44
+bytecode array length: 45
 bytecodes: [
   /*   30 E> */ B(StackCheck),
   /*   42 S> */ B(LdaSmi), U8(1),
-  /*   42 E> */ B(Star), R(1),
-                B(TypeOf),
-  /*   52 E> */ B(Star), R(0),
-  /*   45 S> */ B(Star), R(2),
-                B(LdaSmi), U8(2),
-                B(TestEqualStrict), R(2),
-                B(JumpIfTrue), U8(10),
+                B(Star), R(1),
+  /*   42 E> */ B(TypeOf),
+                B(Star), R(0),
+  /*   45 S> */ B(LdaSmi), U8(2),
+                B(TestEqualStrict), R(0),
+                B(Mov), R(0), R(2),
+                B(JumpIfToBooleanTrue), U8(10),
                 B(LdaSmi), U8(3),
                 B(TestEqualStrict), R(2),
                 B(JumpIfTrue), U8(10),
                 B(Jump), U8(14),
   /*   74 S> */ B(LdaSmi), U8(1),
-  /*   76 E> */ B(Star), R(1),
+                B(Star), R(1),
   /*   81 S> */ B(Jump), U8(14),
   /*   97 S> */ B(LdaSmi), U8(2),
-  /*   99 E> */ B(Star), R(1),
+                B(Star), R(1),
   /*  104 S> */ B(Jump), U8(8),
   /*  121 S> */ B(LdaSmi), U8(3),
-  /*  123 E> */ B(Star), R(1),
+                B(Star), R(1),
   /*  128 S> */ B(Jump), U8(2),
                 B(LdaUndefined),
   /*  137 S> */ B(Return),
@@ -209,23 +209,22 @@
 "
 frame size: 3
 parameter count: 1
-bytecode array length: 32
+bytecode array length: 31
 bytecodes: [
   /*   30 E> */ B(StackCheck),
   /*   42 S> */ B(LdaSmi), U8(1),
-  /*   42 E> */ B(Star), R(1),
-  /*   52 E> */ B(Star), R(0),
-  /*   45 S> */ B(Star), R(2),
-                B(Ldar), R(1),
-                B(TypeOf),
-                B(TestEqualStrict), R(2),
-                B(JumpIfTrue), U8(4),
+                B(Star), R(1),
+                B(Star), R(0),
+  /*   45 S> */ B(TypeOf),
+                B(TestEqualStrict), R(0),
+                B(Mov), R(0), R(2),
+                B(JumpIfToBooleanTrue), U8(4),
                 B(Jump), U8(8),
   /*   74 S> */ B(LdaSmi), U8(1),
-  /*   76 E> */ B(Star), R(1),
+                B(Star), R(1),
   /*   81 S> */ B(Jump), U8(8),
   /*   98 S> */ B(LdaSmi), U8(2),
-  /*  100 E> */ B(Star), R(1),
+                B(Star), R(1),
   /*  105 S> */ B(Jump), U8(2),
                 B(LdaUndefined),
   /*  114 S> */ B(Return),
@@ -312,151 +311,151 @@
 "
 frame size: 3
 parameter count: 1
-bytecode array length: 289
+bytecode array length: 290
 bytecodes: [
   /*   30 E> */ B(StackCheck),
   /*   42 S> */ B(LdaSmi), U8(1),
-  /*   42 E> */ B(Star), R(1),
-  /*   52 E> */ B(Star), R(0),
-  /*   45 S> */ B(Star), R(2),
-                B(LdaSmi), U8(1),
-                B(TestEqualStrict), R(2),
-                B(JumpIfTrue), U8(10),
+                B(Star), R(1),
+                B(Star), R(0),
+  /*   45 S> */ B(LdaSmi), U8(1),
+                B(TestEqualStrict), R(0),
+                B(Mov), R(0), R(2),
+                B(JumpIfToBooleanTrue), U8(10),
                 B(LdaSmi), U8(2),
                 B(TestEqualStrict), R(2),
                 B(JumpIfTrueConstant), U8(0),
                 B(JumpConstant), U8(1),
   /*   68 S> */ B(LdaSmi), U8(2),
-  /*   70 E> */ B(Star), R(1),
+                B(Star), R(1),
   /*   77 S> */ B(LdaSmi), U8(2),
-  /*   79 E> */ B(Star), R(1),
+                B(Star), R(1),
   /*   86 S> */ B(LdaSmi), U8(2),
-  /*   88 E> */ B(Star), R(1),
+                B(Star), R(1),
   /*   95 S> */ B(LdaSmi), U8(2),
-  /*   97 E> */ B(Star), R(1),
+                B(Star), R(1),
   /*  104 S> */ B(LdaSmi), U8(2),
-  /*  106 E> */ B(Star), R(1),
+                B(Star), R(1),
   /*  113 S> */ B(LdaSmi), U8(2),
-  /*  115 E> */ B(Star), R(1),
+                B(Star), R(1),
   /*  122 S> */ B(LdaSmi), U8(2),
-  /*  124 E> */ B(Star), R(1),
+                B(Star), R(1),
   /*  131 S> */ B(LdaSmi), U8(2),
-  /*  133 E> */ B(Star), R(1),
+                B(Star), R(1),
   /*  140 S> */ B(LdaSmi), U8(2),
-  /*  142 E> */ B(Star), R(1),
+                B(Star), R(1),
   /*  149 S> */ B(LdaSmi), U8(2),
-  /*  151 E> */ B(Star), R(1),
+                B(Star), R(1),
   /*  158 S> */ B(LdaSmi), U8(2),
-  /*  160 E> */ B(Star), R(1),
+                B(Star), R(1),
   /*  167 S> */ B(LdaSmi), U8(2),
-  /*  169 E> */ B(Star), R(1),
+                B(Star), R(1),
   /*  176 S> */ B(LdaSmi), U8(2),
-  /*  178 E> */ B(Star), R(1),
+                B(Star), R(1),
   /*  185 S> */ B(LdaSmi), U8(2),
-  /*  187 E> */ B(Star), R(1),
+                B(Star), R(1),
   /*  194 S> */ B(LdaSmi), U8(2),
-  /*  196 E> */ B(Star), R(1),
+                B(Star), R(1),
   /*  203 S> */ B(LdaSmi), U8(2),
-  /*  205 E> */ B(Star), R(1),
+                B(Star), R(1),
   /*  212 S> */ B(LdaSmi), U8(2),
-  /*  214 E> */ B(Star), R(1),
+                B(Star), R(1),
   /*  221 S> */ B(LdaSmi), U8(2),
-  /*  223 E> */ B(Star), R(1),
+                B(Star), R(1),
   /*  230 S> */ B(LdaSmi), U8(2),
-  /*  232 E> */ B(Star), R(1),
+                B(Star), R(1),
   /*  239 S> */ B(LdaSmi), U8(2),
-  /*  241 E> */ B(Star), R(1),
+                B(Star), R(1),
   /*  248 S> */ B(LdaSmi), U8(2),
-  /*  250 E> */ B(Star), R(1),
+                B(Star), R(1),
   /*  257 S> */ B(LdaSmi), U8(2),
-  /*  259 E> */ B(Star), R(1),
+                B(Star), R(1),
   /*  266 S> */ B(LdaSmi), U8(2),
-  /*  268 E> */ B(Star), R(1),
+                B(Star), R(1),
   /*  275 S> */ B(LdaSmi), U8(2),
-  /*  277 E> */ B(Star), R(1),
+                B(Star), R(1),
   /*  284 S> */ B(LdaSmi), U8(2),
-  /*  286 E> */ B(Star), R(1),
+                B(Star), R(1),
   /*  293 S> */ B(LdaSmi), U8(2),
-  /*  295 E> */ B(Star), R(1),
+                B(Star), R(1),
   /*  302 S> */ B(LdaSmi), U8(2),
-  /*  304 E> */ B(Star), R(1),
+                B(Star), R(1),
   /*  311 S> */ B(LdaSmi), U8(2),
-  /*  313 E> */ B(Star), R(1),
+                B(Star), R(1),
   /*  320 S> */ B(LdaSmi), U8(2),
-  /*  322 E> */ B(Star), R(1),
+                B(Star), R(1),
   /*  329 S> */ B(LdaSmi), U8(2),
-  /*  331 E> */ B(Star), R(1),
+                B(Star), R(1),
   /*  338 S> */ B(LdaSmi), U8(2),
-  /*  340 E> */ B(Star), R(1),
+                B(Star), R(1),
   /*  347 S> */ B(LdaSmi), U8(2),
-  /*  349 E> */ B(Star), R(1),
+                B(Star), R(1),
   /*  356 S> */ B(LdaSmi), U8(2),
-  /*  358 E> */ B(Star), R(1),
+                B(Star), R(1),
   /*  365 S> */ B(LdaSmi), U8(2),
-  /*  367 E> */ B(Star), R(1),
+                B(Star), R(1),
   /*  374 S> */ B(LdaSmi), U8(2),
-  /*  376 E> */ B(Star), R(1),
+                B(Star), R(1),
   /*  383 S> */ B(LdaSmi), U8(2),
-  /*  385 E> */ B(Star), R(1),
+                B(Star), R(1),
   /*  392 S> */ B(LdaSmi), U8(2),
-  /*  394 E> */ B(Star), R(1),
+                B(Star), R(1),
   /*  401 S> */ B(LdaSmi), U8(2),
-  /*  403 E> */ B(Star), R(1),
+                B(Star), R(1),
   /*  410 S> */ B(LdaSmi), U8(2),
-  /*  412 E> */ B(Star), R(1),
+                B(Star), R(1),
   /*  419 S> */ B(LdaSmi), U8(2),
-  /*  421 E> */ B(Star), R(1),
+                B(Star), R(1),
   /*  428 S> */ B(LdaSmi), U8(2),
-  /*  430 E> */ B(Star), R(1),
+                B(Star), R(1),
   /*  437 S> */ B(LdaSmi), U8(2),
-  /*  439 E> */ B(Star), R(1),
+                B(Star), R(1),
   /*  446 S> */ B(LdaSmi), U8(2),
-  /*  448 E> */ B(Star), R(1),
+                B(Star), R(1),
   /*  455 S> */ B(LdaSmi), U8(2),
-  /*  457 E> */ B(Star), R(1),
+                B(Star), R(1),
   /*  464 S> */ B(LdaSmi), U8(2),
-  /*  466 E> */ B(Star), R(1),
+                B(Star), R(1),
   /*  473 S> */ B(LdaSmi), U8(2),
-  /*  475 E> */ B(Star), R(1),
+                B(Star), R(1),
   /*  482 S> */ B(LdaSmi), U8(2),
-  /*  484 E> */ B(Star), R(1),
+                B(Star), R(1),
   /*  491 S> */ B(LdaSmi), U8(2),
-  /*  493 E> */ B(Star), R(1),
+                B(Star), R(1),
   /*  500 S> */ B(LdaSmi), U8(2),
-  /*  502 E> */ B(Star), R(1),
+                B(Star), R(1),
   /*  509 S> */ B(LdaSmi), U8(2),
-  /*  511 E> */ B(Star), R(1),
+                B(Star), R(1),
   /*  518 S> */ B(LdaSmi), U8(2),
-  /*  520 E> */ B(Star), R(1),
+                B(Star), R(1),
   /*  527 S> */ B(LdaSmi), U8(2),
-  /*  529 E> */ B(Star), R(1),
+                B(Star), R(1),
   /*  536 S> */ B(LdaSmi), U8(2),
-  /*  538 E> */ B(Star), R(1),
+                B(Star), R(1),
   /*  545 S> */ B(LdaSmi), U8(2),
-  /*  547 E> */ B(Star), R(1),
+                B(Star), R(1),
   /*  554 S> */ B(LdaSmi), U8(2),
-  /*  556 E> */ B(Star), R(1),
+                B(Star), R(1),
   /*  563 S> */ B(LdaSmi), U8(2),
-  /*  565 E> */ B(Star), R(1),
+                B(Star), R(1),
   /*  572 S> */ B(LdaSmi), U8(2),
-  /*  574 E> */ B(Star), R(1),
+                B(Star), R(1),
   /*  581 S> */ B(LdaSmi), U8(2),
-  /*  583 E> */ B(Star), R(1),
+                B(Star), R(1),
   /*  590 S> */ B(LdaSmi), U8(2),
-  /*  592 E> */ B(Star), R(1),
+                B(Star), R(1),
   /*  599 S> */ B(LdaSmi), U8(2),
-  /*  601 E> */ B(Star), R(1),
+                B(Star), R(1),
   /*  608 S> */ B(LdaSmi), U8(2),
-  /*  610 E> */ B(Star), R(1),
+                B(Star), R(1),
   /*  617 S> */ B(LdaSmi), U8(2),
-  /*  619 E> */ B(Star), R(1),
+                B(Star), R(1),
   /*  626 S> */ B(LdaSmi), U8(2),
-  /*  628 E> */ B(Star), R(1),
+                B(Star), R(1),
   /*  635 S> */ B(LdaSmi), U8(2),
-  /*  637 E> */ B(Star), R(1),
+                B(Star), R(1),
   /*  644 S> */ B(Jump), U8(8),
   /*  662 S> */ B(LdaSmi), U8(3),
-  /*  664 E> */ B(Star), R(1),
+                B(Star), R(1),
   /*  671 S> */ B(Jump), U8(2),
                 B(LdaUndefined),
   /*  680 S> */ B(Return),
@@ -482,38 +481,36 @@
 "
 frame size: 5
 parameter count: 1
-bytecode array length: 61
+bytecode array length: 59
 bytecodes: [
   /*   30 E> */ B(StackCheck),
   /*   42 S> */ B(LdaSmi), U8(1),
-  /*   42 E> */ B(Star), R(2),
-  /*   52 E> */ B(Star), R(0),
-  /*   45 S> */ B(Star), R(3),
-                B(LdaSmi), U8(1),
-                B(TestEqualStrict), R(3),
-                B(JumpIfTrue), U8(10),
+                B(Star), R(2),
+                B(Star), R(0),
+  /*   45 S> */ B(LdaSmi), U8(1),
+                B(TestEqualStrict), R(0),
+                B(Mov), R(0), R(3),
+                B(JumpIfToBooleanTrue), U8(10),
                 B(LdaSmi), U8(2),
                 B(TestEqualStrict), R(3),
-                B(JumpIfTrue), U8(36),
-                B(Jump), U8(38),
-  /*   77 E> */ B(Ldar), R(2),
-                B(Star), R(4),
+                B(JumpIfTrue), U8(33),
+                B(Jump), U8(35),
                 B(LdaSmi), U8(1),
-                B(Add), R(4),
-  /*   79 E> */ B(Star), R(1),
-  /*   70 S> */ B(Star), R(4),
-                B(LdaSmi), U8(2),
-                B(TestEqualStrict), R(4),
-                B(JumpIfTrue), U8(4),
+  /*   77 E> */ B(Add), R(2),
+                B(Star), R(1),
+  /*   70 S> */ B(LdaSmi), U8(2),
+                B(TestEqualStrict), R(1),
+                B(Mov), R(1), R(4),
+                B(JumpIfToBooleanTrue), U8(4),
                 B(Jump), U8(8),
   /*  101 S> */ B(LdaSmi), U8(1),
-  /*  103 E> */ B(Star), R(2),
+                B(Star), R(2),
   /*  108 S> */ B(Jump), U8(8),
   /*  131 S> */ B(LdaSmi), U8(2),
-  /*  133 E> */ B(Star), R(2),
+                B(Star), R(2),
   /*  138 S> */ B(Jump), U8(2),
   /*  176 S> */ B(LdaSmi), U8(3),
-  /*  178 E> */ B(Star), R(2),
+                B(Star), R(2),
                 B(LdaUndefined),
   /*  185 S> */ B(Return),
 ]