Roll V8 back to 3.6

Roll back to V8 3.6 to fix x86 build, we don't have ucontext.h.

This reverts commits:
5d4cdbf7a67d3662fa0bee4efdb7edd8daec9b0b
c7cc028aaeedbbfa11c11d0b7b243b3d9e837ed9
592a9fc1d8ea420377a2e7efd0600e20b058be2b

Bug: 5688872
Change-Id: Ic961bb5e65b778e98bbfb71cce71d99fa949e995
diff --git a/test/mjsunit/eval.js b/test/mjsunit/eval.js
index 100f216..b6284ba 100644
--- a/test/mjsunit/eval.js
+++ b/test/mjsunit/eval.js
@@ -39,7 +39,7 @@
 
 try {
   eval('hest 7 &*^*&^');
-  assertUnreachable('Did not throw on syntax error.');
+  assertTrue(false, 'Did not throw on syntax error.');
 } catch (e) {
   assertEquals('SyntaxError', e.name);
 }
@@ -108,7 +108,6 @@
 result =
   (function() {
     var foo = 2;
-    // Should be non-direct call.
     return x.eval('foo');
   })();
 assertEquals(0, result);
@@ -116,33 +115,12 @@
 foo = 0;
 result =
   (function() {
-    var foo = 2;
-    // Should be non-direct call.
-    return (1,eval)('foo');
-  })();
-assertEquals(0, result);
-
-foo = 0;
-result =
-  (function() {
     var eval = function(x) { return x; };
     var foo = eval(2);
-    // Should be non-direct call.
     return e('foo');
   })();
 assertEquals(0, result);
 
-foo = 0;
-result =
-  (function() {
-    var foo = 2;
-    // Should be direct call.
-    with ({ eval : e }) {
-      return eval('foo');
-    }
-  })();
-assertEquals(2, result);
-
 result =
   (function() {
     var eval = function(x) { return 2 * x; };
@@ -157,17 +135,19 @@
   })();
 assertEquals(this, result);
 
-(function() {
-  var obj = { f: function(eval) { return eval("this"); } };
-  result = obj.f(eval);
-  assertEquals(obj, result);
-})();
+result =
+  (function() {
+    var obj = { f: function(eval) { return eval("this"); } };
+    return obj.f(eval);
+  })();
+assertEquals(this, result);
 
-(function() {
-  var obj = { f: function(eval) { arguments; return eval("this"); } };
-  result = obj.f(eval);
-  assertEquals(obj, result);
-})();
+result =
+  (function() {
+    var obj = { f: function(eval) { arguments; return eval("this"); } };
+    return obj.f(eval);
+  })();
+assertEquals(this, result);
 
 eval = function(x) { return 2 * x; };
 result =
@@ -176,9 +156,6 @@
   })();
 assertEquals(4, result);
 
-
-
-
 // Regression test: calling a function named eval found in a context that is
 // not the global context should get the global object as receiver.
 result =