diff --git a/implementation-contributed/v8/intl/locale/locale-canonicalization.js b/implementation-contributed/v8/intl/locale/locale-canonicalization.js
index 50125372778a923528cfdc87e6160b607c5b311e..cc0478fdb63c7593451f68fae46878f009193a06 100644
--- a/implementation-contributed/v8/intl/locale/locale-canonicalization.js
+++ b/implementation-contributed/v8/intl/locale/locale-canonicalization.js
@@ -19,6 +19,6 @@ let locale = new Intl.Locale('sr-cyrl-rs-t-ja-u-ca-islamic-x-whatever', {
 });
 
 let expected =
-    'sr-Cyrl-RS-t-ja-u-ca-buddhist-co-phonebk-hc-h23-kf-upper-kn-true-nu-roman-x-whatever';
+    'sr-Cyrl-RS-t-ja-u-ca-buddhist-co-phonebk-hc-h23-kf-upper-kn-nu-roman-x-whatever';
 
 assertEquals(expected, locale.toString());
diff --git a/implementation-contributed/v8/mjsunit/es6/array-prototype-values.js b/implementation-contributed/v8/mjsunit/es6/array-prototype-values.js
index b7c4e78e33fb383e2482eaacf8835e5a50558980..4b4c04342b3d70545439a8c426dabdc549c5e036 100644
--- a/implementation-contributed/v8/mjsunit/es6/array-prototype-values.js
+++ b/implementation-contributed/v8/mjsunit/es6/array-prototype-values.js
@@ -1,8 +1,6 @@
 // Copyright 2016 the V8 project authors. All rights reserved.
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
-//
-// Flags: --harmony-array-prototype-values
 
 // Functionality of the values iterator is tested elsewhere; this test
 // merely verifies that the 'values' property is set up correctly.
diff --git a/implementation-contributed/v8/mjsunit/es8/async-function-stacktrace.js b/implementation-contributed/v8/mjsunit/es8/async-function-stacktrace.js
index ab6dd2633b9ac1e50525f72432d5895b3bc893b0..623599ae4081ff1ab87db5af72ed6d600aa01bf7 100644
--- a/implementation-contributed/v8/mjsunit/es8/async-function-stacktrace.js
+++ b/implementation-contributed/v8/mjsunit/es8/async-function-stacktrace.js
@@ -81,21 +81,19 @@ async function runTests() {
     try { await reject(); } catch (e) { throw new Error("FAIL"); }
   } }).c4, ["c4"]);
 
-  // TODO(caitp): We should infer anonymous async functions as the empty
-  // string, not as the name of a function they're passed as a parameter to.
   await test(async x => { throw new Error("FAIL") },
-             ["test", "test", "runTests"]);
+             ["test", "runTests"]);
   await test(async() => { throw new Error("FAIL") },
-             ["test", "test", "runTests"]);
+             ["test", "runTests"]);
   await test(async(a) => { throw new Error("FAIL") },
-             ["test", "test", "runTests"]);
+             ["test", "runTests"]);
   await test(async(a, b) => { throw new Error("FAIL") },
-             ["test", "test", "runTests"]);
+             ["test", "runTests"]);
 
-  await test(async x => { await 1; throw new Error("FAIL") }, ["test"]);
-  await test(async() => { await 1; throw new Error("FAIL") }, ["test"]);
-  await test(async(a) => { await 1; throw new Error("FAIL") }, ["test"]);
-  await test(async(a, b) => { await 1; throw new Error("FAIL") }, ["test"]);
+  await test(async x => { await 1; throw new Error("FAIL") }, []);
+  await test(async() => { await 1; throw new Error("FAIL") }, []);
+  await test(async(a) => { await 1; throw new Error("FAIL") }, []);
+  await test(async(a, b) => { await 1; throw new Error("FAIL") }, []);
 
   await test(async x => {
     await 1;
@@ -104,7 +102,7 @@ async function runTests() {
     } catch (e) {
       throw new Error("FAIL");
     }
-  }, ["test"]);
+  }, []);
 
   await test(async() => {
     await 1;
@@ -113,7 +111,7 @@ async function runTests() {
     } catch (e) {
       throw new Error("FAIL");
     }
-  }, ["test"]);
+  }, []);
 
   await test(async(a) => {
     await 1;
@@ -122,7 +120,7 @@ async function runTests() {
     } catch (e) {
       throw new Error("FAIL");
     }
-  }, ["test"]);
+  }, []);
 
   await test(async(a, b) => {
     await 1;
@@ -131,7 +129,7 @@ async function runTests() {
     } catch (e) {
       throw new Error("FAIL");
     }
-  }, ["test"]);
+  }, []);
 
   await test(async x => {
     await 1;
@@ -140,7 +138,7 @@ async function runTests() {
     } catch (e) {
       throw new Error("FAIL");
     }
-  }, ["test"]);
+  }, []);
 
   await test(async() => {
     await 1;
@@ -149,7 +147,7 @@ async function runTests() {
     } catch (e) {
       throw new Error("FAIL");
     }
-  }, ["test"]);
+  }, []);
 
   await test(async(a) => {
     await 1;
@@ -158,7 +156,7 @@ async function runTests() {
     } catch (e) {
       throw new Error("FAIL");
     }
-  }, ["test"]);
+  }, []);
 
   await test(async(a, b) => {
     await 1;
@@ -167,7 +165,7 @@ async function runTests() {
     } catch (e) {
       throw new Error("FAIL");
     }
-  }, ["test"]);
+  }, []);
 }
 
 runTests().catch(e => {
diff --git a/implementation-contributed/v8/mjsunit/mjsunit.status b/implementation-contributed/v8/mjsunit/mjsunit.status
index 439237f382519920c4518f6719e9391a2f87a05b..90ea2c7cb202001a90569e420dc5255b9be8543f 100644
--- a/implementation-contributed/v8/mjsunit/mjsunit.status
+++ b/implementation-contributed/v8/mjsunit/mjsunit.status
@@ -321,6 +321,35 @@
   'regress/regress-crbug-762472': [SKIP],
 }],  # 'gc_stress == True'
 
+##############################################################################
+['lite_mode == True', {
+  # Skip tests not suitable for lite_mode.
+
+  # TODO(8596): We cache the templates in the feedback vector. In lite mode
+  # without feedback vectors we need to implement some other mechanism to cache
+  # them. Enable this test after fixing it.
+  'es6/templates': [SKIP],
+
+  # code coverage needs feedback vectors
+  'code-coverage-ad-hoc': [SKIP],
+  'code-coverage-class-fields': [SKIP],
+  'code-coverage-block-noopt': [SKIP],
+  'code-coverage-block': [SKIP],
+  'code-coverage-precise': [SKIP],
+
+  # Needs feedback vector - tests for allocation sites
+  'array-constructor-feedback': [SKIP],
+  'regress/regress-trap-allocation-memento': [SKIP],
+  'regress/regress-4121': [SKIP],
+
+  # Slow tests without feedback vectors
+  # TODO(mythria): Investigate why they are slow and either fix if
+  # possible are update the reason why they are slow.
+  'spread-large-string': [SKIP],
+  'spread-large-array': [SKIP],
+
+}],  # 'lite_mode == True'
+
 ##############################################################################
 ['byteorder == big', {
   # Emscripten requires little-endian, skip all tests on big endian platforms.
diff --git a/implementation-contributed/v8/mjsunit/regress/regress-8607.js b/implementation-contributed/v8/mjsunit/regress/regress-8607.js
index 3bf9f7156f3fea92a492000be9a7036259f72740..9f77bc5d79f6804a9d1187a6d1a3b59941d6e1b5 100644
--- a/implementation-contributed/v8/mjsunit/regress/regress-8607.js
+++ b/implementation-contributed/v8/mjsunit/regress/regress-8607.js
@@ -5,3 +5,4 @@
 assertThrows("[({ p: this }), [][0]] = x", SyntaxError);
 assertThrows("[...a, [][0]] = []", SyntaxError);
 assertThrows("[...o=1,[][0]] = []", SyntaxError);
+assertThrows("({x(){},y:[][0]} = {})", SyntaxError);
diff --git a/implementation-contributed/v8/mjsunit/regress/regress-crbug-916288.js b/implementation-contributed/v8/mjsunit/regress/regress-crbug-916288.js
new file mode 100644
index 0000000000000000000000000000000000000000..aa170c93838d0f686d9891e87ad5b2f8b5589ebd
--- /dev/null
+++ b/implementation-contributed/v8/mjsunit/regress/regress-crbug-916288.js
@@ -0,0 +1,5 @@
+// Copyright 2018 the V8 project authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+assertThrows("(a()=0)=>0", SyntaxError)
diff --git a/implementation-contributed/v8/mjsunit/regress/wasm/regress-916869.js b/implementation-contributed/v8/mjsunit/regress/wasm/regress-916869.js
new file mode 100644
index 0000000000000000000000000000000000000000..6acd5d68d784eb802f1ae6d33e774aa83e85ed3a
--- /dev/null
+++ b/implementation-contributed/v8/mjsunit/regress/wasm/regress-916869.js
@@ -0,0 +1,14 @@
+// Copyright 2018 the V8 project authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+load('test/mjsunit/wasm/wasm-constants.js');
+load('test/mjsunit/wasm/wasm-module-builder.js');
+
+const builder = new WasmModuleBuilder();
+const sig = builder.addType(makeSig([kWasmI32, kWasmI32, kWasmI32], [kWasmI32]));
+builder.addFunction('main', sig)
+    .addBody([kExprI32Const, 0x01, kExprI32SExtendI8])
+    .exportFunc();
+const instance = builder.instantiate();
+assertEquals(1, instance.exports.main());
diff --git a/implementation-contributed/v8/mjsunit/try-catch-default-destructuring.js b/implementation-contributed/v8/mjsunit/try-catch-default-destructuring.js
new file mode 100644
index 0000000000000000000000000000000000000000..c254a25855e7aadf344022f4735dc54a9606a6f4
--- /dev/null
+++ b/implementation-contributed/v8/mjsunit/try-catch-default-destructuring.js
@@ -0,0 +1,24 @@
+// Copyright 2018 the V8 project authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+function f1() {
+  let y = 200;
+  try {
+    throw {}
+  } catch ({x=()=>y, y=300}) {
+    return x()
+  }
+}
+assertEquals(300, f1());
+
+function f2() {
+  let y = 200;
+  try {
+    throw {}
+  } catch ({x=()=>y}) {
+    let y = 300;
+    return x()
+  }
+}
+assertEquals(200, f2());
diff --git a/implementation-contributed/v8/test262/test262.status b/implementation-contributed/v8/test262/test262.status
index c98db3208c7a4a24b523a486f77060af911d54cc..48e30f0dc6b302aaf1e118da41f7cf52f5df2527 100644
--- a/implementation-contributed/v8/test262/test262.status
+++ b/implementation-contributed/v8/test262/test262.status
@@ -406,9 +406,6 @@
   'language/literals/regexp/u-unicode-esc-non-hex': [FAIL_PHASE_ONLY],
   'language/literals/regexp/unicode-escape-nls-err': [FAIL_PHASE_ONLY],
 
-  # https://bugs.chromium.org/p/v8/issues/detail?id=7828
-  'language/statements/try/early-catch-function': [FAIL],
-
   # https://bugs.chromium.org/p/v8/issues/detail?id=7829
   'language/block-scope/syntax/redeclaration/function-declaration-attempt-to-redeclare-with-var-declaration-nested-in-function': [FAIL],
 
@@ -474,10 +471,6 @@
   'language/statements/try/tco-finally': [SKIP],
   'language/statements/while/tco-body': [SKIP],
 
-  # https://bugs.chromium.org/p/v8/issues/detail?id=5064
-  'language/expressions/arrow-function/dflt-params-duplicates': [FAIL],
-  'language/expressions/async-arrow-function/dflt-params-duplicates': [FAIL],
-
   # https://bugs.chromium.org/p/v8/issues/detail?id=5327
   'built-ins/TypedArrayConstructors/internals/Set/key-is-minus-zero': [FAIL],
   'built-ins/TypedArrayConstructors/internals/Set/BigInt/key-is-minus-zero': [FAIL],
@@ -587,12 +580,6 @@
   # https://bugs.chromium.org/p/v8/issues/detail?id=7669
   'intl402/Intl/getCanonicalLocales/canonicalized-tags': [FAIL],
 
-  # Tests assume that the sort order of "same elements" (comparator returns 0)
-  # is deterministic.
-  # https://crbug.com/v8/7808
-  'intl402/String/prototype/localeCompare/returns-same-results-as-Collator': [SKIP],
-  'intl402/Collator/prototype/compare/bound-to-collator-instance': [SKIP],
-
   # https://github.com/tc39/ecma402/issues/223
   'intl402/Collator/missing-unicode-ext-value-defaults-to-true': [FAIL],
 
@@ -631,10 +618,6 @@
   'intl402/Locale/getters-grandfathered': [FAIL],
   'intl402/Locale/likely-subtags-grandfathered': [FAIL],
 
-  # Wrong test see https://github.com/tc39/test262/pull/1835
-  'intl402/Locale/constructor-options-numeric-valid': [FAIL],
-  'intl402/Locale/constructor-options-numeric-undefined': [FAIL],
-
   # https://bugs.chromium.org/p/v8/issues/detail?id=6705
   'built-ins/Object/assign/strings-and-symbol-order': [FAIL],