Merge V8 5.3.332.45.  DO NOT MERGE

Test: Manual

FPIIM-449

Change-Id: Id3254828b068abdea3cb10442e0172a8c9a98e03
(cherry picked from commit 13e2dadd00298019ed862f2b2fc5068bba730bcf)
diff --git a/src/v8.gyp b/src/v8.gyp
index ef0c562..84c361e 100644
--- a/src/v8.gyp
+++ b/src/v8.gyp
@@ -27,7 +27,6 @@
 
 {
   'variables': {
-    'icu_use_data_file_flag%': 0,
     'v8_code': 1,
     'v8_random_seed%': 314159265,
     'v8_vector_stores%': 0,
@@ -381,14 +380,14 @@
       'type': 'static_library',
       'dependencies': [
         'v8_libbase',
+        'v8_libsampler',
       ],
       'variables': {
         'optimize': 'max',
       },
       'include_dirs+': [
         '..',
-        # To be able to find base/trace_event/common/trace_event_common.h
-        '../..',
+        '<(DEPTH)',
       ],
       'sources': [  ### gcmole(all) ###
         '../include/v8-debug.h',
@@ -412,6 +411,7 @@
         'api-experimental.h',
         'api.cc',
         'api.h',
+        'api-arguments-inl.h',
         'api-arguments.cc',
         'api-arguments.h',
         'api-natives.cc',
@@ -469,6 +469,7 @@
         'char-predicates-inl.h',
         'char-predicates.h',
         'checks.h',
+        'code-events.h',
         'code-factory.cc',
         'code-factory.h',
         'code-stub-assembler.cc',
@@ -504,8 +505,8 @@
         'compiler/bytecode-graph-builder.cc',
         'compiler/bytecode-graph-builder.h',
         'compiler/c-linkage.cc',
-        'compiler/coalesced-live-ranges.cc',
-        'compiler/coalesced-live-ranges.h',
+        'compiler/checkpoint-elimination.cc',
+        'compiler/checkpoint-elimination.h',
         'compiler/code-generator-impl.h',
         'compiler/code-generator.cc',
         'compiler/code-generator.h',
@@ -550,8 +551,6 @@
         'compiler/graph-visualizer.h',
         'compiler/graph.cc',
         'compiler/graph.h',
-        'compiler/greedy-allocator.cc',
-        'compiler/greedy-allocator.h',
         'compiler/instruction-codes.h',
         'compiler/instruction-selector-impl.h',
         'compiler/instruction-selector.cc',
@@ -625,6 +624,8 @@
         'compiler/node.h',
         'compiler/opcodes.cc',
         'compiler/opcodes.h',
+        'compiler/operation-typer.cc',
+        'compiler/operation-typer.h',
         'compiler/operator-properties.cc',
         'compiler/operator-properties.h',
         'compiler/operator.cc',
@@ -637,6 +638,8 @@
         'compiler/pipeline-statistics.h',
         'compiler/raw-machine-assembler.cc',
         'compiler/raw-machine-assembler.h',
+        'compiler/redundancy-elimination.cc',
+        'compiler/redundancy-elimination.h',
         'compiler/register-allocator.cc',
         'compiler/register-allocator.h',
         'compiler/register-allocator-verifier.cc',
@@ -659,6 +662,8 @@
         'compiler/source-position.h',
         'compiler/state-values-utils.cc',
         'compiler/state-values-utils.h',
+        'compiler/store-store-elimination.cc',
+        'compiler/store-store-elimination.h',
         'compiler/tail-call-optimization.cc',
         'compiler/tail-call-optimization.h',
         'compiler/type-hint-analyzer.cc',
@@ -778,6 +783,8 @@
         'dtoa.cc',
         'dtoa.h',
         'effects.h',
+        'eh-frame.cc',
+        'eh-frame.h',
         'elements-kind.cc',
         'elements-kind.h',
         'elements.cc',
@@ -828,8 +835,8 @@
         'handles-inl.h',
         'handles.cc',
         'handles.h',
-        'hashmap.h',
         'heap-symbols.h',
+        'heap/array-buffer-tracker-inl.h',
         'heap/array-buffer-tracker.cc',
         'heap/array-buffer-tracker.h',
         'heap/memory-reducer.cc',
@@ -897,14 +904,19 @@
         'interpreter/bytecode-array-iterator.h',
         'interpreter/bytecode-array-writer.cc',
         'interpreter/bytecode-array-writer.h',
+        'interpreter/bytecode-dead-code-optimizer.cc',
+        'interpreter/bytecode-dead-code-optimizer.h',
+        'interpreter/bytecode-label.h',
+        'interpreter/bytecode-generator.cc',
+        'interpreter/bytecode-generator.h',
         'interpreter/bytecode-peephole-optimizer.cc',
         'interpreter/bytecode-peephole-optimizer.h',
         'interpreter/bytecode-pipeline.cc',
         'interpreter/bytecode-pipeline.h',
         'interpreter/bytecode-register-allocator.cc',
         'interpreter/bytecode-register-allocator.h',
-        'interpreter/bytecode-generator.cc',
-        'interpreter/bytecode-generator.h',
+        'interpreter/bytecode-register-optimizer.cc',
+        'interpreter/bytecode-register-optimizer.h',
         'interpreter/bytecode-traits.h',
         'interpreter/constant-array-builder.cc',
         'interpreter/constant-array-builder.h',
@@ -923,7 +935,9 @@
         'isolate-inl.h',
         'isolate.cc',
         'isolate.h',
+        'json-parser.cc',
         'json-parser.h',
+        'json-stringifier.cc',
         'json-stringifier.h',
         'keys.h',
         'keys.cc',
@@ -996,11 +1010,11 @@
         'profiler/heap-snapshot-generator-inl.h',
         'profiler/heap-snapshot-generator.cc',
         'profiler/heap-snapshot-generator.h',
+        'profiler/profiler-listener.cc',
+        'profiler/profiler-listener.h',
         'profiler/profile-generator-inl.h',
         'profiler/profile-generator.cc',
         'profiler/profile-generator.h',
-        'profiler/sampler.cc',
-        'profiler/sampler.h',
         'profiler/sampling-heap-profiler.cc',
         'profiler/sampling-heap-profiler.h',
         'profiler/strings-storage.cc',
@@ -1052,7 +1066,6 @@
         'runtime/runtime-i18n.cc',
         'runtime/runtime-internal.cc',
         'runtime/runtime-interpreter.cc',
-        'runtime/runtime-json.cc',
         'runtime/runtime-literals.cc',
         'runtime/runtime-liveedit.cc',
         'runtime/runtime-maths.cc',
@@ -1067,7 +1080,6 @@
         'runtime/runtime-symbol.cc',
         'runtime/runtime-test.cc',
         'runtime/runtime-typedarray.cc',
-        'runtime/runtime-uri.cc',
         'runtime/runtime-utils.h',
         'runtime/runtime.cc',
         'runtime/runtime.h',
@@ -1146,6 +1158,8 @@
         'version.h',
         'vm-state-inl.h',
         'vm-state.h',
+        'wasm/asm-types.cc',
+        'wasm/asm-types.h',
         'wasm/asm-wasm-builder.cc',
         'wasm/asm-wasm-builder.h',
         'wasm/ast-decoder.cc',
@@ -1158,6 +1172,8 @@
         'wasm/module-decoder.h',
         'wasm/switch-logic.h',
         'wasm/switch-logic.cc',
+        'wasm/wasm-debug.cc',
+        'wasm/wasm-debug.h',
         'wasm/wasm-external-refs.cc',
         'wasm/wasm-external-refs.h',
         'wasm/wasm-function-name-table.cc',
@@ -1167,6 +1183,8 @@
         'wasm/wasm-macro-gen.h',
         'wasm/wasm-module.cc',
         'wasm/wasm-module.h',
+        'wasm/wasm-interpreter.cc',
+        'wasm/wasm-interpreter.h',
         'wasm/wasm-opcodes.cc',
         'wasm/wasm-opcodes.h',
         'wasm/wasm-result.cc',
@@ -1175,8 +1193,6 @@
         'zone.h',
         'zone-allocator.h',
         'zone-containers.h',
-        'third_party/fdlibm/fdlibm.cc',
-        'third_party/fdlibm/fdlibm.h',
       ],
       'conditions': [
         ['want_separate_host_toolset==1', {
@@ -1666,10 +1682,15 @@
         'base/cpu.h',
         'base/division-by-constant.cc',
         'base/division-by-constant.h',
+        'base/file-utils.cc',
+        'base/file-utils.h',
         'base/flags.h',
         'base/format-macros.h',
         'base/functional.cc',
         'base/functional.h',
+        'base/hashmap.h',
+        'base/ieee754.cc',
+        'base/ieee754.h',
         'base/iterator.h',
         'base/lazy-instance.h',
         'base/logging.cc',
@@ -1936,6 +1957,36 @@
       },
     },
     {
+      'target_name': 'v8_libsampler',
+      'type': 'static_library',
+      'variables': {
+        'optimize': 'max',
+      },
+      'dependencies': [
+        'v8_libbase',
+      ],
+      'include_dirs+': [
+        '..',
+        '../include',
+      ],
+      'sources': [
+        'libsampler/v8-sampler.cc',
+        'libsampler/v8-sampler.h'
+      ],
+      'conditions': [
+        ['want_separate_host_toolset==1', {
+          'toolsets': ['host', 'target'],
+        }, {
+          'toolsets': ['target'],
+        }],
+      ],
+      'direct_dependent_settings': {
+        'include_dirs': [
+          '../include',
+        ],
+      },
+    },
+    {
       'target_name': 'natives_blob',
       'type': 'none',
       'conditions': [
@@ -2013,7 +2064,6 @@
           'js/symbol.js',
           'js/array.js',
           'js/string.js',
-          'js/uri.js',
           'js/math.js',
           'third_party/fdlibm/fdlibm.js',
           'js/regexp.js',
@@ -2025,7 +2075,6 @@
           'js/collection-iterator.js',
           'js/promise.js',
           'js/messages.js',
-          'js/json.js',
           'js/array-iterator.js',
           'js/string-iterator.js',
           'js/templates.js',
@@ -2039,11 +2088,8 @@
           'js/macros.py',
           'messages.h',
           'js/harmony-atomics.js',
-          'js/harmony-regexp-exec.js',
           'js/harmony-sharedarraybuffer.js',
           'js/harmony-simd.js',
-          'js/harmony-species.js',
-          'js/harmony-unicode-regexps.js',
           'js/harmony-string-padding.js',
           'js/promise-extra.js',
           'js/harmony-async-await.js'