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/ForIn.golden b/test/cctest/interpreter/bytecode_expectations/ForIn.golden
index 2b61b64..8bc9d2a 100644
--- a/test/cctest/interpreter/bytecode_expectations/ForIn.golden
+++ b/test/cctest/interpreter/bytecode_expectations/ForIn.golden
@@ -65,30 +65,30 @@
 "
 frame size: 8
 parameter count: 1
-bytecode array length: 45
+bytecode array length: 44
 bytecodes: [
   /*   30 E> */ B(StackCheck),
   /*   42 S> */ B(LdaConstant), U8(0),
-  /*   42 E> */ B(Star), R(1),
-  /*   68 S> */ B(JumpIfUndefined), U8(38),
-                B(JumpIfNull), U8(36),
+                B(Star), R(1),
+  /*   68 S> */ B(JumpIfUndefined), U8(37),
+                B(JumpIfNull), U8(35),
                 B(ToObject),
-                B(Star), R(3),
                 B(ForInPrepare), R(4),
+                B(Star), R(3),
                 B(LdaZero),
                 B(Star), R(7),
   /*   63 S> */ B(ForInDone), R(7), R(6),
-                B(JumpIfTrue), U8(23),
+                B(JumpIfTrue), U8(22),
                 B(ForInNext), R(3), R(7), R(4), U8(1),
-                B(JumpIfUndefined), U8(10),
+                B(JumpIfUndefined), U8(9),
                 B(Star), R(0),
   /*   54 E> */ B(StackCheck),
-                B(Ldar), R(0),
                 B(Star), R(2),
+  /*   73 S> */ B(Nop),
   /*   85 S> */ B(Return),
                 B(ForInStep), R(7),
                 B(Star), R(7),
-                B(Jump), U8(-24),
+                B(Jump), U8(-23),
                 B(LdaUndefined),
   /*   85 S> */ B(Return),
 ]
@@ -105,35 +105,33 @@
 "
 frame size: 9
 parameter count: 1
-bytecode array length: 57
+bytecode array length: 54
 bytecodes: [
   /*   30 E> */ B(StackCheck),
   /*   42 S> */ B(LdaZero),
-  /*   42 E> */ B(Star), R(1),
+                B(Star), R(1),
   /*   59 S> */ B(CreateArrayLiteral), U8(0), U8(0), U8(3),
-                B(JumpIfUndefined), U8(47),
-                B(JumpIfNull), U8(45),
+                B(JumpIfUndefined), U8(44),
+                B(JumpIfNull), U8(42),
                 B(ToObject),
-                B(Star), R(3),
                 B(ForInPrepare), R(4),
+                B(Star), R(3),
                 B(LdaZero),
                 B(Star), R(7),
   /*   54 S> */ B(ForInDone), R(7), R(6),
-                B(JumpIfTrue), U8(32),
+                B(JumpIfTrue), U8(29),
                 B(ForInNext), R(3), R(7), R(4), U8(1),
-                B(JumpIfUndefined), U8(19),
+                B(JumpIfUndefined), U8(16),
                 B(Star), R(0),
   /*   45 E> */ B(StackCheck),
-                B(Ldar), R(0),
                 B(Star), R(2),
-  /*   70 S> */ B(Ldar), R(1),
-                B(Star), R(8),
-  /*   75 E> */ B(Ldar), R(2),
-                B(Add), R(8),
-  /*   72 E> */ B(Star), R(1),
-                B(ForInStep), R(7),
+  /*   70 S> */ B(Ldar), R(0),
+  /*   75 E> */ B(Add), R(1),
+                B(Mov), R(1), R(8),
+                B(Star), R(1),
+  /*   72 E> */ B(ForInStep), R(7),
                 B(Star), R(7),
-                B(Jump), U8(-33),
+                B(Jump), U8(-30),
                 B(LdaUndefined),
   /*   80 S> */ B(Return),
 ]
@@ -153,49 +151,42 @@
 "
 frame size: 8
 parameter count: 1
-bytecode array length: 94
+bytecode array length: 80
 bytecodes: [
   /*   30 E> */ B(StackCheck),
   /*   42 S> */ B(CreateObjectLiteral), U8(0), U8(0), U8(1),
                 B(Star), R(1),
-  /*   42 E> */ B(Star), R(0),
+                B(Star), R(0),
   /*   77 S> */ B(CreateArrayLiteral), U8(1), U8(1), U8(3),
-                B(JumpIfUndefined), U8(79),
-                B(JumpIfNull), U8(77),
+                B(JumpIfUndefined), U8(65),
+                B(JumpIfNull), U8(63),
                 B(ToObject),
-                B(Star), R(1),
                 B(ForInPrepare), R(2),
+                B(Star), R(1),
                 B(LdaZero),
                 B(Star), R(5),
   /*   68 S> */ B(ForInDone), R(5), R(4),
-                B(JumpIfTrue), U8(64),
+                B(JumpIfTrue), U8(50),
                 B(ForInNext), R(1), R(5), R(2), U8(9),
-                B(JumpIfUndefined), U8(51),
+                B(JumpIfUndefined), U8(37),
                 B(Star), R(6),
-  /*   67 E> */ B(Ldar), R(0),
-                B(Star), R(7),
-                B(Ldar), R(6),
-                B(StoreICSloppy), R(7), U8(2), U8(7),
+  /*   67 E> */ B(StaNamedPropertySloppy), R(0), U8(2), U8(7),
   /*   62 E> */ B(StackCheck),
-  /*   95 S> */ B(Ldar), R(0),
-                B(Star), R(6),
-  /*  100 E> */ B(LoadIC), R(6), U8(2), U8(3),
-                B(Star), R(7),
+  /*   95 S> */ B(Nop),
+  /*  100 E> */ B(LdrNamedProperty), R(0), U8(2), U8(3), R(7),
                 B(LdaSmi), U8(10),
   /*  106 E> */ B(TestEqual), R(7),
                 B(JumpIfFalse), U8(4),
-  /*  113 S> */ B(Jump), U8(20),
-  /*  125 S> */ B(Ldar), R(0),
-                B(Star), R(6),
-  /*  130 E> */ B(LoadIC), R(6), U8(2), U8(5),
-                B(Star), R(7),
+  /*  113 S> */ B(Jump), U8(16),
+  /*  125 S> */ B(Nop),
+  /*  130 E> */ B(LdrNamedProperty), R(0), U8(2), U8(5), R(7),
                 B(LdaSmi), U8(20),
   /*  136 E> */ B(TestEqual), R(7),
                 B(JumpIfFalse), U8(4),
   /*  143 S> */ B(Jump), U8(8),
                 B(ForInStep), R(5),
                 B(Star), R(5),
-                B(Jump), U8(-65),
+                B(Jump), U8(-51),
                 B(LdaUndefined),
   /*  152 S> */ B(Return),
 ]
@@ -214,39 +205,35 @@
 "
 frame size: 9
 parameter count: 1
-bytecode array length: 69
+bytecode array length: 61
 bytecodes: [
   /*   30 E> */ B(StackCheck),
   /*   42 S> */ B(CreateArrayLiteral), U8(0), U8(0), U8(3),
-  /*   42 E> */ B(Star), R(0),
+                B(Star), R(0),
   /*   72 S> */ B(CreateArrayLiteral), U8(1), U8(1), U8(3),
-                B(JumpIfUndefined), U8(56),
-                B(JumpIfNull), U8(54),
+                B(JumpIfUndefined), U8(48),
+                B(JumpIfNull), U8(46),
                 B(ToObject),
-                B(Star), R(1),
                 B(ForInPrepare), R(2),
+                B(Star), R(1),
                 B(LdaZero),
                 B(Star), R(5),
   /*   65 S> */ B(ForInDone), R(5), R(4),
-                B(JumpIfTrue), U8(41),
+                B(JumpIfTrue), U8(33),
                 B(ForInNext), R(1), R(5), R(2), U8(7),
-                B(JumpIfUndefined), U8(28),
+                B(JumpIfUndefined), U8(20),
                 B(Star), R(6),
-  /*   64 E> */ B(Ldar), R(0),
-                B(Star), R(7),
                 B(LdaZero),
                 B(Star), R(8),
                 B(Ldar), R(6),
-                B(KeyedStoreICSloppy), R(7), R(8), U8(5),
+  /*   64 E> */ B(StaKeyedPropertySloppy), R(0), R(8), U8(5),
   /*   59 E> */ B(StackCheck),
-  /*   83 S> */ B(Ldar), R(0),
-                B(Star), R(6),
-  /*   91 E> */ B(LdaSmi), U8(3),
-                B(KeyedLoadIC), R(6), U8(3),
+  /*   83 S> */ B(LdaSmi), U8(3),
+  /*   91 E> */ B(LdaKeyedProperty), R(0), U8(3),
   /*   98 S> */ B(Return),
                 B(ForInStep), R(5),
                 B(Star), R(5),
-                B(Jump), U8(-42),
+                B(Jump), U8(-34),
                 B(LdaUndefined),
   /*   98 S> */ B(Return),
 ]