• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright 2012 the V8 project authors. All rights reserved.
2# Redistribution and use in source and binary forms, with or without
3# modification, are permitted provided that the following conditions are
4# met:
5#
6#     * Redistributions of source code must retain the above copyright
7#       notice, this list of conditions and the following disclaimer.
8#     * Redistributions in binary form must reproduce the above
9#       copyright notice, this list of conditions and the following
10#       disclaimer in the documentation and/or other materials provided
11#       with the distribution.
12#     * Neither the name of Google Inc. nor the names of its
13#       contributors may be used to endorse or promote products derived
14#       from this software without specific prior written permission.
15#
16# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
17# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
18# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
19# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
20# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
21# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
22# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
23# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
24# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
26# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27
28{
29  'variables': {
30    'v8_code': 1,
31    'v8_random_seed%': 314159265,
32    'v8_vector_stores%': 0,
33    'embed_script%': "",
34    'warmup_script%': "",
35    'v8_extra_library_files%': [],
36    'v8_experimental_extra_library_files%': [],
37    'v8_enable_inspector%': 0,
38    'mksnapshot_exec': '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)mksnapshot<(EXECUTABLE_SUFFIX)',
39    'mkpeephole_exec': '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)mkpeephole<(EXECUTABLE_SUFFIX)',
40    'v8_os_page_size%': 0,
41  },
42  'includes': ['../gypfiles/toolchain.gypi', '../gypfiles/features.gypi', 'inspector/inspector.gypi'],
43  'targets': [
44    {
45      'target_name': 'v8',
46      'dependencies_traverse': 1,
47      'dependencies': ['v8_maybe_snapshot'],
48      'conditions': [
49        ['want_separate_host_toolset==1', {
50          'toolsets': ['host', 'target'],
51        }, {
52          'toolsets': ['target'],
53        }],
54        ['component=="shared_library"', {
55          'type': '<(component)',
56          'sources': [
57            # Note: on non-Windows we still build this file so that gyp
58            # has some sources to link into the component.
59            'v8dll-main.cc',
60          ],
61          'include_dirs': [
62            '..',
63          ],
64          'defines': [
65            'BUILDING_V8_SHARED',
66          ],
67          'direct_dependent_settings': {
68            'defines': [
69              'USING_V8_SHARED',
70            ],
71          },
72          'conditions': [
73            ['OS=="mac"', {
74              'xcode_settings': {
75                'OTHER_LDFLAGS': ['-dynamiclib', '-all_load']
76              },
77            }],
78            ['soname_version!=""', {
79              'product_extension': 'so.<(soname_version)',
80            }],
81          ],
82        },
83        {
84          'type': 'none',
85        }],
86      ],
87      'direct_dependent_settings': {
88        'include_dirs': [
89          '../include',
90        ],
91      },
92    },
93    {
94      # This rule delegates to either v8_snapshot, v8_nosnapshot, or
95      # v8_external_snapshot, depending on the current variables.
96      # The intention is to make the 'calling' rules a bit simpler.
97      'target_name': 'v8_maybe_snapshot',
98      'type': 'none',
99      'conditions': [
100        ['v8_use_snapshot!="true"', {
101          # The dependency on v8_base should come from a transitive
102          # dependency however the Android toolchain requires libv8_base.a
103          # to appear before libv8_snapshot.a so it's listed explicitly.
104          'dependencies': ['v8_base', 'v8_nosnapshot'],
105        }],
106        ['v8_use_snapshot=="true" and v8_use_external_startup_data==0', {
107          # The dependency on v8_base should come from a transitive
108          # dependency however the Android toolchain requires libv8_base.a
109          # to appear before libv8_snapshot.a so it's listed explicitly.
110          'dependencies': ['v8_base', 'v8_snapshot'],
111        }],
112        ['v8_use_snapshot=="true" and v8_use_external_startup_data==1 and want_separate_host_toolset==0', {
113          'dependencies': ['v8_base', 'v8_external_snapshot'],
114          'inputs': [ '<(PRODUCT_DIR)/snapshot_blob.bin', ],
115        }],
116        ['v8_use_snapshot=="true" and v8_use_external_startup_data==1 and want_separate_host_toolset==1', {
117          'dependencies': ['v8_base', 'v8_external_snapshot'],
118          'target_conditions': [
119            ['_toolset=="host"', {
120              'inputs': [
121                '<(PRODUCT_DIR)/snapshot_blob_host.bin',
122              ],
123            }, {
124              'inputs': [
125                '<(PRODUCT_DIR)/snapshot_blob.bin',
126              ],
127            }],
128          ],
129        }],
130        ['want_separate_host_toolset==1', {
131          'toolsets': ['host', 'target'],
132        }, {
133          'toolsets': ['target'],
134        }],
135      ]
136    },
137    {
138      'target_name': 'v8_snapshot',
139      'type': 'static_library',
140      'conditions': [
141        ['want_separate_host_toolset==1', {
142          'toolsets': ['host', 'target'],
143          'dependencies': [
144            'mksnapshot#host',
145            'js2c#host',
146          ],
147        }, {
148          'toolsets': ['target'],
149          'dependencies': [
150            'mksnapshot',
151            'js2c',
152          ],
153        }],
154        ['component=="shared_library"', {
155          'defines': [
156            'BUILDING_V8_SHARED',
157          ],
158          'direct_dependent_settings': {
159            'defines': [
160              'USING_V8_SHARED',
161            ],
162          },
163        }],
164      ],
165      'dependencies': [
166        'v8_base',
167      ],
168      'include_dirs+': [
169        '..',
170        '<(DEPTH)',
171      ],
172      'sources': [
173        '<(SHARED_INTERMEDIATE_DIR)/libraries.cc',
174        '<(SHARED_INTERMEDIATE_DIR)/experimental-libraries.cc',
175        '<(SHARED_INTERMEDIATE_DIR)/extras-libraries.cc',
176        '<(SHARED_INTERMEDIATE_DIR)/experimental-extras-libraries.cc',
177        '<(INTERMEDIATE_DIR)/snapshot.cc',
178      ],
179      'actions': [
180        {
181          'action_name': 'run_mksnapshot',
182          'inputs': [
183            '<(mksnapshot_exec)',
184          ],
185          'conditions': [
186            ['embed_script!=""', {
187              'inputs': [
188                '<(embed_script)',
189              ],
190            }],
191            ['warmup_script!=""', {
192              'inputs': [
193                '<(warmup_script)',
194              ],
195            }],
196          ],
197          'outputs': [
198            '<(INTERMEDIATE_DIR)/snapshot.cc',
199          ],
200          'variables': {
201            'mksnapshot_flags': [],
202            'conditions': [
203              ['v8_random_seed!=0', {
204                'mksnapshot_flags': ['--random-seed', '<(v8_random_seed)'],
205              }],
206              ['v8_vector_stores!=0', {
207                'mksnapshot_flags': ['--vector-stores'],
208              }],
209            ],
210          },
211          'action': [
212            '<(mksnapshot_exec)',
213            '<@(mksnapshot_flags)',
214            '--startup_src', '<@(INTERMEDIATE_DIR)/snapshot.cc',
215            '<(embed_script)',
216            '<(warmup_script)',
217          ],
218        },
219      ],
220    },
221    {
222      'target_name': 'v8_nosnapshot',
223      'type': 'static_library',
224      'dependencies': [
225        'v8_base',
226      ],
227      'include_dirs+': [
228        '..',
229        '<(DEPTH)',
230      ],
231      'sources': [
232        '<(SHARED_INTERMEDIATE_DIR)/libraries.cc',
233        '<(SHARED_INTERMEDIATE_DIR)/experimental-libraries.cc',
234        '<(SHARED_INTERMEDIATE_DIR)/extras-libraries.cc',
235        '<(SHARED_INTERMEDIATE_DIR)/experimental-extras-libraries.cc',
236        'snapshot/snapshot-empty.cc',
237      ],
238      'conditions': [
239        ['want_separate_host_toolset==1', {
240          'toolsets': ['host', 'target'],
241          'dependencies': ['js2c#host'],
242        }, {
243          'toolsets': ['target'],
244          'dependencies': ['js2c'],
245        }],
246        ['component=="shared_library"', {
247          'defines': [
248            'BUILDING_V8_SHARED',
249          ],
250        }],
251      ]
252    },
253    {
254      'target_name': 'v8_external_snapshot',
255      'type': 'static_library',
256      'conditions': [
257        [ 'v8_use_external_startup_data==1', {
258          'conditions': [
259            ['want_separate_host_toolset==1', {
260              'toolsets': ['host', 'target'],
261              'dependencies': [
262                'mksnapshot#host',
263                'js2c#host',
264                'natives_blob',
265            ]}, {
266              'toolsets': ['target'],
267              'dependencies': [
268                'mksnapshot',
269                'js2c',
270                'natives_blob',
271              ],
272            }],
273            ['component=="shared_library"', {
274              'defines': [
275                'BUILDING_V8_SHARED',
276              ],
277              'direct_dependent_settings': {
278                'defines': [
279                  'USING_V8_SHARED',
280                ],
281              },
282            }],
283          ],
284          'dependencies': [
285            'v8_base',
286          ],
287          'include_dirs+': [
288            '..',
289            '<(DEPTH)',
290          ],
291          'sources': [
292            'snapshot/natives-external.cc',
293            'snapshot/snapshot-external.cc',
294          ],
295          'actions': [
296            {
297              'action_name': 'run_mksnapshot (external)',
298              'inputs': [
299                '<(mksnapshot_exec)',
300              ],
301              'variables': {
302                'mksnapshot_flags': [],
303                'conditions': [
304                  ['v8_random_seed!=0', {
305                    'mksnapshot_flags': ['--random-seed', '<(v8_random_seed)'],
306                  }],
307                  ['v8_vector_stores!=0', {
308                    'mksnapshot_flags': ['--vector-stores'],
309                  }],
310                  ['v8_os_page_size!=0', {
311                    'mksnapshot_flags': ['--v8_os_page_size', '<(v8_os_page_size)'],
312                  }],
313                ],
314              },
315              'conditions': [
316                ['embed_script!=""', {
317                  'inputs': [
318                    '<(embed_script)',
319                  ],
320                }],
321                ['warmup_script!=""', {
322                  'inputs': [
323                    '<(warmup_script)',
324                  ],
325                }],
326                ['want_separate_host_toolset==1', {
327                  'target_conditions': [
328                    ['_toolset=="host"', {
329                      'outputs': [
330                        '<(PRODUCT_DIR)/snapshot_blob_host.bin',
331                      ],
332                      'action': [
333                        '<(mksnapshot_exec)',
334                        '<@(mksnapshot_flags)',
335                        '--startup_blob', '<(PRODUCT_DIR)/snapshot_blob_host.bin',
336                        '<(embed_script)',
337                        '<(warmup_script)',
338                      ],
339                    }, {
340                      'outputs': [
341                        '<(PRODUCT_DIR)/snapshot_blob.bin',
342                      ],
343                      'action': [
344                        '<(mksnapshot_exec)',
345                        '<@(mksnapshot_flags)',
346                        '--startup_blob', '<(PRODUCT_DIR)/snapshot_blob.bin',
347                        '<(embed_script)',
348                        '<(warmup_script)',
349                      ],
350                    }],
351                  ],
352                }, {
353                  'outputs': [
354                    '<(PRODUCT_DIR)/snapshot_blob.bin',
355                  ],
356                  'action': [
357                    '<(mksnapshot_exec)',
358                    '<@(mksnapshot_flags)',
359                    '--startup_blob', '<(PRODUCT_DIR)/snapshot_blob.bin',
360                    '<(embed_script)',
361                    '<(warmup_script)',
362                  ],
363                }],
364              ],
365            },
366          ],
367        }],
368      ],
369    },
370    {
371      'target_name': 'v8_base',
372      'type': 'static_library',
373      'dependencies': [
374        'v8_libbase',
375        'v8_libsampler',
376      ],
377      'objs': ['foo.o'],
378      'variables': {
379        'optimize': 'max',
380      },
381      'include_dirs+': [
382        '..',
383        '<(DEPTH)',
384        '<(SHARED_INTERMEDIATE_DIR)'
385      ],
386      'actions':[{
387        'action_name': 'run mkpeephole',
388        'inputs': ['<(mkpeephole_exec)'],
389        'outputs': ['<(INTERMEDIATE_DIR)/bytecode-peephole-table.cc'],
390        'action': ['<(mkpeephole_exec)', '<(INTERMEDIATE_DIR)/bytecode-peephole-table.cc' ],
391        'process_outputs_as_sources': 1,
392      }],
393      'sources': [  ### gcmole(all) ###
394        '../include/v8-debug.h',
395        '../include/v8-experimental.h',
396        '../include/v8-platform.h',
397        '../include/v8-profiler.h',
398        '../include/v8-testing.h',
399        '../include/v8-util.h',
400        '../include/v8-version.h',
401        '../include/v8.h',
402        '../include/v8config.h',
403        'accessors.cc',
404        'accessors.h',
405        'address-map.cc',
406        'address-map.h',
407        'allocation.cc',
408        'allocation.h',
409        'allocation-site-scopes.cc',
410        'allocation-site-scopes.h',
411        'api-experimental.cc',
412        'api-experimental.h',
413        'api.cc',
414        'api.h',
415        'api-arguments-inl.h',
416        'api-arguments.cc',
417        'api-arguments.h',
418        'api-natives.cc',
419        'api-natives.h',
420        'arguments.cc',
421        'arguments.h',
422        'asmjs/asm-js.cc',
423        'asmjs/asm-js.h',
424        'asmjs/asm-typer.cc',
425        'asmjs/asm-typer.h',
426        'asmjs/asm-types.cc',
427        'asmjs/asm-types.h',
428        'asmjs/asm-wasm-builder.cc',
429        'asmjs/asm-wasm-builder.h',
430        'asmjs/switch-logic.h',
431        'asmjs/switch-logic.cc',
432        'assembler.cc',
433        'assembler.h',
434        'assert-scope.h',
435        'assert-scope.cc',
436        'ast/ast-expression-rewriter.cc',
437        'ast/ast-expression-rewriter.h',
438        'ast/ast-literal-reindexer.cc',
439        'ast/ast-literal-reindexer.h',
440        'ast/ast-numbering.cc',
441        'ast/ast-numbering.h',
442        'ast/ast-traversal-visitor.h',
443        'ast/ast-type-bounds.h',
444        'ast/ast-types.cc',
445        'ast/ast-types.h',
446        'ast/ast-value-factory.cc',
447        'ast/ast-value-factory.h',
448        'ast/ast.cc',
449        'ast/ast.h',
450        'ast/compile-time-value.cc',
451        'ast/compile-time-value.h',
452        'ast/context-slot-cache.cc',
453        'ast/context-slot-cache.h',
454        'ast/modules.cc',
455        'ast/modules.h',
456        'ast/prettyprinter.cc',
457        'ast/prettyprinter.h',
458        'ast/scopeinfo.cc',
459        'ast/scopes.cc',
460        'ast/scopes.h',
461        'ast/variables.cc',
462        'ast/variables.h',
463        'background-parsing-task.cc',
464        'background-parsing-task.h',
465        'bailout-reason.cc',
466        'bailout-reason.h',
467        'basic-block-profiler.cc',
468        'basic-block-profiler.h',
469        'bignum-dtoa.cc',
470        'bignum-dtoa.h',
471        'bignum.cc',
472        'bignum.h',
473        'bit-vector.cc',
474        'bit-vector.h',
475        'bootstrapper.cc',
476        'bootstrapper.h',
477        'builtins/builtins-api.cc',
478        'builtins/builtins-arraybuffer.cc',
479        'builtins/builtins-array.cc',
480        'builtins/builtins-boolean.cc',
481        'builtins/builtins-call.cc',
482        'builtins/builtins-callsite.cc',
483        'builtins/builtins-conversion.cc',
484        'builtins/builtins-dataview.cc',
485        'builtins/builtins-date.cc',
486        'builtins/builtins-debug.cc',
487        'builtins/builtins-error.cc',
488        'builtins/builtins-function.cc',
489        'builtins/builtins-generator.cc',
490        'builtins/builtins-global.cc',
491        'builtins/builtins-handler.cc',
492        'builtins/builtins-internal.cc',
493        'builtins/builtins-interpreter.cc',
494        'builtins/builtins-iterator.cc',
495        'builtins/builtins-json.cc',
496        'builtins/builtins-math.cc',
497        'builtins/builtins-number.cc',
498        'builtins/builtins-object.cc',
499        'builtins/builtins-promise.cc',
500        'builtins/builtins-proxy.cc',
501        'builtins/builtins-reflect.cc',
502        'builtins/builtins-regexp.cc',
503        'builtins/builtins-sharedarraybuffer.cc',
504        'builtins/builtins-string.cc',
505        'builtins/builtins-symbol.cc',
506        'builtins/builtins-typedarray.cc',
507        'builtins/builtins-utils.h',
508        'builtins/builtins.cc',
509        'builtins/builtins.h',
510        'cached-powers.cc',
511        'cached-powers.h',
512        'cancelable-task.cc',
513        'cancelable-task.h',
514        'char-predicates.cc',
515        'char-predicates-inl.h',
516        'char-predicates.h',
517        'checks.h',
518        'code-events.h',
519        'code-factory.cc',
520        'code-factory.h',
521        'code-stub-assembler.cc',
522        'code-stub-assembler.h',
523        'code-stubs.cc',
524        'code-stubs.h',
525        'code-stubs-hydrogen.cc',
526        'codegen.cc',
527        'codegen.h',
528        'collector.h',
529        'compilation-cache.cc',
530        'compilation-cache.h',
531        'compilation-dependencies.cc',
532        'compilation-dependencies.h',
533        'compilation-info.cc',
534        'compilation-info.h',
535        'compilation-statistics.cc',
536        'compilation-statistics.h',
537        'compiler/access-builder.cc',
538        'compiler/access-builder.h',
539        'compiler/access-info.cc',
540        'compiler/access-info.h',
541        'compiler/all-nodes.cc',
542        'compiler/all-nodes.h',
543        'compiler/ast-graph-builder.cc',
544        'compiler/ast-graph-builder.h',
545        'compiler/ast-loop-assignment-analyzer.cc',
546        'compiler/ast-loop-assignment-analyzer.h',
547        'compiler/basic-block-instrumentor.cc',
548        'compiler/basic-block-instrumentor.h',
549        'compiler/branch-elimination.cc',
550        'compiler/branch-elimination.h',
551        'compiler/bytecode-branch-analysis.cc',
552        'compiler/bytecode-branch-analysis.h',
553        'compiler/bytecode-graph-builder.cc',
554        'compiler/bytecode-graph-builder.h',
555        'compiler/bytecode-loop-analysis.cc',
556        'compiler/bytecode-loop-analysis.h',
557        'compiler/c-linkage.cc',
558        'compiler/checkpoint-elimination.cc',
559        'compiler/checkpoint-elimination.h',
560        'compiler/code-generator-impl.h',
561        'compiler/code-generator.cc',
562        'compiler/code-generator.h',
563        'compiler/code-assembler.cc',
564        'compiler/code-assembler.h',
565        'compiler/common-node-cache.cc',
566        'compiler/common-node-cache.h',
567        'compiler/common-operator-reducer.cc',
568        'compiler/common-operator-reducer.h',
569        'compiler/common-operator.cc',
570        'compiler/common-operator.h',
571        'compiler/control-builders.cc',
572        'compiler/control-builders.h',
573        'compiler/control-equivalence.cc',
574        'compiler/control-equivalence.h',
575        'compiler/control-flow-optimizer.cc',
576        'compiler/control-flow-optimizer.h',
577        'compiler/dead-code-elimination.cc',
578        'compiler/dead-code-elimination.h',
579        'compiler/diamond.h',
580        'compiler/effect-control-linearizer.cc',
581        'compiler/effect-control-linearizer.h',
582        'compiler/escape-analysis.cc',
583        'compiler/escape-analysis.h',
584        'compiler/escape-analysis-reducer.cc',
585        'compiler/escape-analysis-reducer.h',
586        'compiler/frame.cc',
587        'compiler/frame.h',
588        'compiler/frame-elider.cc',
589        'compiler/frame-elider.h',
590        'compiler/frame-states.cc',
591        'compiler/frame-states.h',
592        'compiler/gap-resolver.cc',
593        'compiler/gap-resolver.h',
594        'compiler/graph-reducer.cc',
595        'compiler/graph-reducer.h',
596        'compiler/graph-replay.cc',
597        'compiler/graph-replay.h',
598        'compiler/graph-trimmer.cc',
599        'compiler/graph-trimmer.h',
600        'compiler/graph-visualizer.cc',
601        'compiler/graph-visualizer.h',
602        'compiler/graph.cc',
603        'compiler/graph.h',
604        'compiler/instruction-codes.h',
605        'compiler/instruction-selector-impl.h',
606        'compiler/instruction-selector.cc',
607        'compiler/instruction-selector.h',
608        'compiler/instruction-scheduler.cc',
609        'compiler/instruction-scheduler.h',
610        'compiler/instruction.cc',
611        'compiler/instruction.h',
612        'compiler/int64-lowering.cc',
613        'compiler/int64-lowering.h',
614        'compiler/js-builtin-reducer.cc',
615        'compiler/js-builtin-reducer.h',
616        'compiler/js-call-reducer.cc',
617        'compiler/js-call-reducer.h',
618        'compiler/js-context-specialization.cc',
619        'compiler/js-context-specialization.h',
620        'compiler/js-create-lowering.cc',
621        'compiler/js-create-lowering.h',
622        'compiler/js-frame-specialization.cc',
623        'compiler/js-frame-specialization.h',
624        'compiler/js-generic-lowering.cc',
625        'compiler/js-generic-lowering.h',
626        'compiler/js-global-object-specialization.cc',
627        'compiler/js-global-object-specialization.h',
628        'compiler/js-graph.cc',
629        'compiler/js-graph.h',
630        'compiler/js-inlining.cc',
631        'compiler/js-inlining.h',
632        'compiler/js-inlining-heuristic.cc',
633        'compiler/js-inlining-heuristic.h',
634        'compiler/js-intrinsic-lowering.cc',
635        'compiler/js-intrinsic-lowering.h',
636        'compiler/js-native-context-specialization.cc',
637        'compiler/js-native-context-specialization.h',
638        'compiler/js-operator.cc',
639        'compiler/js-operator.h',
640        'compiler/js-typed-lowering.cc',
641        'compiler/js-typed-lowering.h',
642        'compiler/jump-threading.cc',
643        'compiler/jump-threading.h',
644        'compiler/linkage.cc',
645        'compiler/linkage.h',
646        'compiler/liveness-analyzer.cc',
647        'compiler/liveness-analyzer.h',
648        'compiler/live-range-separator.cc',
649        'compiler/live-range-separator.h',
650        'compiler/load-elimination.cc',
651        'compiler/load-elimination.h',
652        'compiler/loop-analysis.cc',
653        'compiler/loop-analysis.h',
654        'compiler/loop-peeling.cc',
655        'compiler/loop-peeling.h',
656        'compiler/loop-variable-optimizer.cc',
657        'compiler/loop-variable-optimizer.h',
658        'compiler/machine-operator-reducer.cc',
659        'compiler/machine-operator-reducer.h',
660        'compiler/machine-operator.cc',
661        'compiler/machine-operator.h',
662        'compiler/machine-graph-verifier.cc',
663        'compiler/machine-graph-verifier.h',
664        'compiler/memory-optimizer.cc',
665        'compiler/memory-optimizer.h',
666        'compiler/move-optimizer.cc',
667        'compiler/move-optimizer.h',
668        'compiler/node-aux-data.h',
669        'compiler/node-cache.cc',
670        'compiler/node-cache.h',
671        'compiler/node-marker.cc',
672        'compiler/node-marker.h',
673        'compiler/node-matchers.cc',
674        'compiler/node-matchers.h',
675        'compiler/node-properties.cc',
676        'compiler/node-properties.h',
677        'compiler/node.cc',
678        'compiler/node.h',
679        'compiler/opcodes.cc',
680        'compiler/opcodes.h',
681        'compiler/operation-typer.cc',
682        'compiler/operation-typer.h',
683        'compiler/operator-properties.cc',
684        'compiler/operator-properties.h',
685        'compiler/operator.cc',
686        'compiler/operator.h',
687        'compiler/osr.cc',
688        'compiler/osr.h',
689        'compiler/pipeline.cc',
690        'compiler/pipeline.h',
691        'compiler/pipeline-statistics.cc',
692        'compiler/pipeline-statistics.h',
693        'compiler/raw-machine-assembler.cc',
694        'compiler/raw-machine-assembler.h',
695        'compiler/redundancy-elimination.cc',
696        'compiler/redundancy-elimination.h',
697        'compiler/register-allocator.cc',
698        'compiler/register-allocator.h',
699        'compiler/register-allocator-verifier.cc',
700        'compiler/register-allocator-verifier.h',
701        'compiler/representation-change.cc',
702        'compiler/representation-change.h',
703        'compiler/schedule.cc',
704        'compiler/schedule.h',
705        'compiler/scheduler.cc',
706        'compiler/scheduler.h',
707        'compiler/select-lowering.cc',
708        'compiler/select-lowering.h',
709        'compiler/simd-scalar-lowering.cc',
710        'compiler/simd-scalar-lowering.h',
711        'compiler/simplified-lowering.cc',
712        'compiler/simplified-lowering.h',
713        'compiler/simplified-operator-reducer.cc',
714        'compiler/simplified-operator-reducer.h',
715        'compiler/simplified-operator.cc',
716        'compiler/simplified-operator.h',
717        'compiler/compiler-source-position-table.cc',
718        'compiler/compiler-source-position-table.h',
719        'compiler/state-values-utils.cc',
720        'compiler/state-values-utils.h',
721        'compiler/store-store-elimination.cc',
722        'compiler/store-store-elimination.h',
723        'compiler/tail-call-optimization.cc',
724        'compiler/tail-call-optimization.h',
725        'compiler/types.cc',
726        'compiler/types.h',
727        'compiler/type-cache.cc',
728        'compiler/type-cache.h',
729        'compiler/type-hint-analyzer.cc',
730        'compiler/type-hint-analyzer.h',
731        'compiler/typed-optimization.cc',
732        'compiler/typed-optimization.h',
733        'compiler/typer.cc',
734        'compiler/typer.h',
735        'compiler/unwinding-info-writer.h',
736        'compiler/value-numbering-reducer.cc',
737        'compiler/value-numbering-reducer.h',
738        'compiler/verifier.cc',
739        'compiler/verifier.h',
740        'compiler/wasm-compiler.cc',
741        'compiler/wasm-compiler.h',
742        'compiler/wasm-linkage.cc',
743        'compiler/zone-stats.cc',
744        'compiler/zone-stats.h',
745        'compiler-dispatcher/compiler-dispatcher-job.cc',
746        'compiler-dispatcher/compiler-dispatcher-job.h',
747        'compiler-dispatcher/compiler-dispatcher-tracer.cc',
748        'compiler-dispatcher/compiler-dispatcher-tracer.h',
749        'compiler-dispatcher/optimizing-compile-dispatcher.cc',
750        'compiler-dispatcher/optimizing-compile-dispatcher.h',
751        'compiler.cc',
752        'compiler.h',
753        'context-measure.cc',
754        'context-measure.h',
755        'contexts-inl.h',
756        'contexts.cc',
757        'contexts.h',
758        'conversions-inl.h',
759        'conversions.cc',
760        'conversions.h',
761        'counters-inl.h',
762        'counters.cc',
763        'counters.h',
764        'crankshaft/compilation-phase.cc',
765        'crankshaft/compilation-phase.h',
766        'crankshaft/hydrogen-alias-analysis.h',
767        'crankshaft/hydrogen-bce.cc',
768        'crankshaft/hydrogen-bce.h',
769        'crankshaft/hydrogen-canonicalize.cc',
770        'crankshaft/hydrogen-canonicalize.h',
771        'crankshaft/hydrogen-check-elimination.cc',
772        'crankshaft/hydrogen-check-elimination.h',
773        'crankshaft/hydrogen-dce.cc',
774        'crankshaft/hydrogen-dce.h',
775        'crankshaft/hydrogen-dehoist.cc',
776        'crankshaft/hydrogen-dehoist.h',
777        'crankshaft/hydrogen-environment-liveness.cc',
778        'crankshaft/hydrogen-environment-liveness.h',
779        'crankshaft/hydrogen-escape-analysis.cc',
780        'crankshaft/hydrogen-escape-analysis.h',
781        'crankshaft/hydrogen-flow-engine.h',
782        'crankshaft/hydrogen-gvn.cc',
783        'crankshaft/hydrogen-gvn.h',
784        'crankshaft/hydrogen-infer-representation.cc',
785        'crankshaft/hydrogen-infer-representation.h',
786        'crankshaft/hydrogen-infer-types.cc',
787        'crankshaft/hydrogen-infer-types.h',
788        'crankshaft/hydrogen-instructions.cc',
789        'crankshaft/hydrogen-instructions.h',
790        'crankshaft/hydrogen-load-elimination.cc',
791        'crankshaft/hydrogen-load-elimination.h',
792        'crankshaft/hydrogen-mark-unreachable.cc',
793        'crankshaft/hydrogen-mark-unreachable.h',
794        'crankshaft/hydrogen-osr.cc',
795        'crankshaft/hydrogen-osr.h',
796        'crankshaft/hydrogen-range-analysis.cc',
797        'crankshaft/hydrogen-range-analysis.h',
798        'crankshaft/hydrogen-redundant-phi.cc',
799        'crankshaft/hydrogen-redundant-phi.h',
800        'crankshaft/hydrogen-removable-simulates.cc',
801        'crankshaft/hydrogen-removable-simulates.h',
802        'crankshaft/hydrogen-representation-changes.cc',
803        'crankshaft/hydrogen-representation-changes.h',
804        'crankshaft/hydrogen-sce.cc',
805        'crankshaft/hydrogen-sce.h',
806        'crankshaft/hydrogen-store-elimination.cc',
807        'crankshaft/hydrogen-store-elimination.h',
808        'crankshaft/hydrogen-types.cc',
809        'crankshaft/hydrogen-types.h',
810        'crankshaft/hydrogen-uint32-analysis.cc',
811        'crankshaft/hydrogen-uint32-analysis.h',
812        'crankshaft/hydrogen.cc',
813        'crankshaft/hydrogen.h',
814        'crankshaft/lithium-allocator-inl.h',
815        'crankshaft/lithium-allocator.cc',
816        'crankshaft/lithium-allocator.h',
817        'crankshaft/lithium-codegen.cc',
818        'crankshaft/lithium-codegen.h',
819        'crankshaft/lithium.cc',
820        'crankshaft/lithium.h',
821        'crankshaft/lithium-inl.h',
822        'crankshaft/typing.cc',
823        'crankshaft/typing.h',
824        'crankshaft/unique.h',
825        'date.cc',
826        'date.h',
827        'dateparser-inl.h',
828        'dateparser.cc',
829        'dateparser.h',
830        'debug/debug-evaluate.cc',
831        'debug/debug-evaluate.h',
832        'debug/debug-interface.h',
833        'debug/debug-frames.cc',
834        'debug/debug-frames.h',
835        'debug/debug-scopes.cc',
836        'debug/debug-scopes.h',
837        'debug/debug.cc',
838        'debug/debug.h',
839        'debug/liveedit.cc',
840        'debug/liveedit.h',
841        'deoptimize-reason.cc',
842        'deoptimize-reason.h',
843        'deoptimizer.cc',
844        'deoptimizer.h',
845        'disasm.h',
846        'disassembler.cc',
847        'disassembler.h',
848        'diy-fp.cc',
849        'diy-fp.h',
850        'double.h',
851        'dtoa.cc',
852        'dtoa.h',
853        'effects.h',
854        'eh-frame.cc',
855        'eh-frame.h',
856        'elements-kind.cc',
857        'elements-kind.h',
858        'elements.cc',
859        'elements.h',
860        'execution.cc',
861        'execution.h',
862        'extensions/externalize-string-extension.cc',
863        'extensions/externalize-string-extension.h',
864        'extensions/free-buffer-extension.cc',
865        'extensions/free-buffer-extension.h',
866        'extensions/gc-extension.cc',
867        'extensions/gc-extension.h',
868        'extensions/ignition-statistics-extension.cc',
869        'extensions/ignition-statistics-extension.h',
870        'extensions/statistics-extension.cc',
871        'extensions/statistics-extension.h',
872        'extensions/trigger-failure-extension.cc',
873        'extensions/trigger-failure-extension.h',
874        'external-reference-table.cc',
875        'external-reference-table.h',
876        'factory.cc',
877        'factory.h',
878        'fast-accessor-assembler.cc',
879        'fast-accessor-assembler.h',
880        'fast-dtoa.cc',
881        'fast-dtoa.h',
882        'field-index.h',
883        'field-index-inl.h',
884        'field-type.cc',
885        'field-type.h',
886        'fixed-dtoa.cc',
887        'fixed-dtoa.h',
888        'flag-definitions.h',
889        'flags.cc',
890        'flags.h',
891        'frames-inl.h',
892        'frames.cc',
893        'frames.h',
894        'full-codegen/full-codegen.cc',
895        'full-codegen/full-codegen.h',
896        'futex-emulation.cc',
897        'futex-emulation.h',
898        'gdb-jit.cc',
899        'gdb-jit.h',
900        'global-handles.cc',
901        'global-handles.h',
902        'globals.h',
903        'handles-inl.h',
904        'handles.cc',
905        'handles.h',
906        'heap-symbols.h',
907        'heap/array-buffer-tracker-inl.h',
908        'heap/array-buffer-tracker.cc',
909        'heap/array-buffer-tracker.h',
910        'heap/code-stats.cc',
911        'heap/code-stats.h',
912        'heap/memory-reducer.cc',
913        'heap/memory-reducer.h',
914        'heap/gc-idle-time-handler.cc',
915        'heap/gc-idle-time-handler.h',
916        'heap/gc-tracer.cc',
917        'heap/gc-tracer.h',
918        'heap/heap-inl.h',
919        'heap/heap.cc',
920        'heap/heap.h',
921        'heap/incremental-marking-inl.h',
922        'heap/incremental-marking-job.cc',
923        'heap/incremental-marking-job.h',
924        'heap/incremental-marking.cc',
925        'heap/incremental-marking.h',
926        'heap/mark-compact-inl.h',
927        'heap/mark-compact.cc',
928        'heap/mark-compact.h',
929        'heap/marking.h',
930        'heap/object-stats.cc',
931        'heap/object-stats.h',
932        'heap/objects-visiting-inl.h',
933        'heap/objects-visiting.cc',
934        'heap/objects-visiting.h',
935        'heap/page-parallel-job.h',
936        'heap/remembered-set.h',
937        'heap/scavenge-job.h',
938        'heap/scavenge-job.cc',
939        'heap/scavenger-inl.h',
940        'heap/scavenger.cc',
941        'heap/scavenger.h',
942        'heap/slot-set.h',
943        'heap/spaces-inl.h',
944        'heap/spaces.cc',
945        'heap/spaces.h',
946        'heap/store-buffer.cc',
947        'heap/store-buffer.h',
948        'i18n.cc',
949        'i18n.h',
950        'icu_util.cc',
951        'icu_util.h',
952        'ic/access-compiler-data.h',
953        'ic/access-compiler.cc',
954        'ic/access-compiler.h',
955        'ic/call-optimization.cc',
956        'ic/call-optimization.h',
957        'ic/handler-compiler.cc',
958        'ic/handler-compiler.h',
959        'ic/handler-configuration-inl.h',
960        'ic/handler-configuration.h',
961        'ic/ic-inl.h',
962        'ic/ic-state.cc',
963        'ic/ic-state.h',
964        'ic/ic.cc',
965        'ic/ic.h',
966        'ic/ic-compiler.cc',
967        'ic/ic-compiler.h',
968        'ic/keyed-store-generic.cc',
969        'ic/keyed-store-generic.h',
970        'identity-map.cc',
971        'identity-map.h',
972        'interface-descriptors.cc',
973        'interface-descriptors.h',
974        'interpreter/bytecodes.cc',
975        'interpreter/bytecodes.h',
976        'interpreter/bytecode-array-builder.cc',
977        'interpreter/bytecode-array-builder.h',
978        'interpreter/bytecode-array-iterator.cc',
979        'interpreter/bytecode-array-iterator.h',
980        'interpreter/bytecode-array-writer.cc',
981        'interpreter/bytecode-array-writer.h',
982        'interpreter/bytecode-dead-code-optimizer.cc',
983        'interpreter/bytecode-dead-code-optimizer.h',
984        'interpreter/bytecode-decoder.cc',
985        'interpreter/bytecode-decoder.h',
986        'interpreter/bytecode-flags.cc',
987        'interpreter/bytecode-flags.h',
988        'interpreter/bytecode-generator.cc',
989        'interpreter/bytecode-generator.h',
990        'interpreter/bytecode-label.cc',
991        'interpreter/bytecode-label.h',
992        'interpreter/bytecode-operands.cc',
993        'interpreter/bytecode-operands.h',
994        'interpreter/bytecode-peephole-optimizer.cc',
995        'interpreter/bytecode-peephole-optimizer.h',
996        'interpreter/bytecode-peephole-table.h',
997        'interpreter/bytecode-pipeline.cc',
998        'interpreter/bytecode-pipeline.h',
999        'interpreter/bytecode-register.cc',
1000        'interpreter/bytecode-register.h',
1001        'interpreter/bytecode-register-allocator.h',
1002        'interpreter/bytecode-register-optimizer.cc',
1003        'interpreter/bytecode-register-optimizer.h',
1004        'interpreter/bytecode-traits.h',
1005        'interpreter/constant-array-builder.cc',
1006        'interpreter/constant-array-builder.h',
1007        'interpreter/control-flow-builders.cc',
1008        'interpreter/control-flow-builders.h',
1009        'interpreter/handler-table-builder.cc',
1010        'interpreter/handler-table-builder.h',
1011        'interpreter/interpreter.cc',
1012        'interpreter/interpreter.h',
1013        'interpreter/interpreter-assembler.cc',
1014        'interpreter/interpreter-assembler.h',
1015        'interpreter/interpreter-intrinsics.cc',
1016        'interpreter/interpreter-intrinsics.h',
1017        'isolate-inl.h',
1018        'isolate.cc',
1019        'isolate.h',
1020        'json-parser.cc',
1021        'json-parser.h',
1022        'json-stringifier.cc',
1023        'json-stringifier.h',
1024        'keys.h',
1025        'keys.cc',
1026        'layout-descriptor-inl.h',
1027        'layout-descriptor.cc',
1028        'layout-descriptor.h',
1029        'list-inl.h',
1030        'list.h',
1031        'locked-queue-inl.h',
1032        'locked-queue.h',
1033        'log-inl.h',
1034        'log-utils.cc',
1035        'log-utils.h',
1036        'log.cc',
1037        'log.h',
1038        'lookup-cache-inl.h',
1039        'lookup-cache.cc',
1040        'lookup-cache.h',
1041        'lookup.cc',
1042        'lookup.h',
1043        'macro-assembler.h',
1044        'machine-type.cc',
1045        'machine-type.h',
1046        'messages.cc',
1047        'messages.h',
1048        'msan.h',
1049        'objects-body-descriptors-inl.h',
1050        'objects-body-descriptors.h',
1051        'objects-debug.cc',
1052        'objects-inl.h',
1053        'objects-printer.cc',
1054        'objects.cc',
1055        'objects.h',
1056        'ostreams.cc',
1057        'ostreams.h',
1058        'parsing/duplicate-finder.cc',
1059        'parsing/duplicate-finder.h',
1060        'parsing/expression-classifier.h',
1061        'parsing/func-name-inferrer.cc',
1062        'parsing/func-name-inferrer.h',
1063        'parsing/parameter-initializer-rewriter.cc',
1064        'parsing/parameter-initializer-rewriter.h',
1065        'parsing/parse-info.cc',
1066        'parsing/parse-info.h',
1067        'parsing/parser-base.h',
1068        'parsing/parser.cc',
1069        'parsing/parser.h',
1070        'parsing/pattern-rewriter.cc',
1071        'parsing/preparse-data-format.h',
1072        'parsing/preparse-data.cc',
1073        'parsing/preparse-data.h',
1074        'parsing/preparser.cc',
1075        'parsing/preparser.h',
1076        'parsing/rewriter.cc',
1077        'parsing/rewriter.h',
1078        'parsing/scanner-character-streams.cc',
1079        'parsing/scanner-character-streams.h',
1080        'parsing/scanner.cc',
1081        'parsing/scanner.h',
1082        'parsing/token.cc',
1083        'parsing/token.h',
1084        'pending-compilation-error-handler.cc',
1085        'pending-compilation-error-handler.h',
1086        'perf-jit.cc',
1087        'perf-jit.h',
1088        'profiler/allocation-tracker.cc',
1089        'profiler/allocation-tracker.h',
1090        'profiler/circular-queue-inl.h',
1091        'profiler/circular-queue.h',
1092        'profiler/cpu-profiler-inl.h',
1093        'profiler/cpu-profiler.cc',
1094        'profiler/cpu-profiler.h',
1095        'profiler/heap-profiler.cc',
1096        'profiler/heap-profiler.h',
1097        'profiler/heap-snapshot-generator-inl.h',
1098        'profiler/heap-snapshot-generator.cc',
1099        'profiler/heap-snapshot-generator.h',
1100        'profiler/profiler-listener.cc',
1101        'profiler/profiler-listener.h',
1102        'profiler/profile-generator-inl.h',
1103        'profiler/profile-generator.cc',
1104        'profiler/profile-generator.h',
1105        'profiler/sampling-heap-profiler.cc',
1106        'profiler/sampling-heap-profiler.h',
1107        'profiler/strings-storage.cc',
1108        'profiler/strings-storage.h',
1109        'profiler/tick-sample.cc',
1110        'profiler/tick-sample.h',
1111        'profiler/tracing-cpu-profiler.cc',
1112        'profiler/tracing-cpu-profiler.h',
1113        'profiler/unbound-queue-inl.h',
1114        'profiler/unbound-queue.h',
1115        'promise-utils.h',
1116        'promise-utils.cc',
1117        'property-descriptor.cc',
1118        'property-descriptor.h',
1119        'property-details.h',
1120        'property.cc',
1121        'property.h',
1122        'prototype.h',
1123        'regexp/bytecodes-irregexp.h',
1124        'regexp/interpreter-irregexp.cc',
1125        'regexp/interpreter-irregexp.h',
1126        'regexp/jsregexp-inl.h',
1127        'regexp/jsregexp.cc',
1128        'regexp/jsregexp.h',
1129        'regexp/regexp-ast.cc',
1130        'regexp/regexp-ast.h',
1131        'regexp/regexp-macro-assembler-irregexp-inl.h',
1132        'regexp/regexp-macro-assembler-irregexp.cc',
1133        'regexp/regexp-macro-assembler-irregexp.h',
1134        'regexp/regexp-macro-assembler-tracer.cc',
1135        'regexp/regexp-macro-assembler-tracer.h',
1136        'regexp/regexp-macro-assembler.cc',
1137        'regexp/regexp-macro-assembler.h',
1138        'regexp/regexp-parser.cc',
1139        'regexp/regexp-parser.h',
1140        'regexp/regexp-stack.cc',
1141        'regexp/regexp-stack.h',
1142        'regexp/regexp-utils.cc',
1143        'regexp/regexp-utils.h',
1144        'register-configuration.cc',
1145        'register-configuration.h',
1146        'runtime-profiler.cc',
1147        'runtime-profiler.h',
1148        'runtime/runtime-array.cc',
1149        'runtime/runtime-atomics.cc',
1150        'runtime/runtime-classes.cc',
1151        'runtime/runtime-collections.cc',
1152        'runtime/runtime-compiler.cc',
1153        'runtime/runtime-date.cc',
1154        'runtime/runtime-debug.cc',
1155        'runtime/runtime-forin.cc',
1156        'runtime/runtime-function.cc',
1157        'runtime/runtime-error.cc',
1158        'runtime/runtime-futex.cc',
1159        'runtime/runtime-generator.cc',
1160        'runtime/runtime-i18n.cc',
1161        'runtime/runtime-internal.cc',
1162        'runtime/runtime-interpreter.cc',
1163        'runtime/runtime-literals.cc',
1164        'runtime/runtime-liveedit.cc',
1165        'runtime/runtime-maths.cc',
1166        'runtime/runtime-module.cc',
1167        'runtime/runtime-numbers.cc',
1168        'runtime/runtime-object.cc',
1169        'runtime/runtime-operators.cc',
1170        'runtime/runtime-promise.cc',
1171        'runtime/runtime-proxy.cc',
1172        'runtime/runtime-regexp.cc',
1173        'runtime/runtime-scopes.cc',
1174        'runtime/runtime-simd.cc',
1175        'runtime/runtime-strings.cc',
1176        'runtime/runtime-symbol.cc',
1177        'runtime/runtime-test.cc',
1178        'runtime/runtime-typedarray.cc',
1179        'runtime/runtime-utils.h',
1180        'runtime/runtime-wasm.cc',
1181        'runtime/runtime.cc',
1182        'runtime/runtime.h',
1183        'safepoint-table.cc',
1184        'safepoint-table.h',
1185        'signature.h',
1186        'simulator.h',
1187        'small-pointer-list.h',
1188        'snapshot/code-serializer.cc',
1189        'snapshot/code-serializer.h',
1190        'snapshot/deserializer.cc',
1191        'snapshot/deserializer.h',
1192        'snapshot/natives.h',
1193        'snapshot/natives-common.cc',
1194        'snapshot/partial-serializer.cc',
1195        'snapshot/partial-serializer.h',
1196        'snapshot/serializer.cc',
1197        'snapshot/serializer.h',
1198        'snapshot/serializer-common.cc',
1199        'snapshot/serializer-common.h',
1200        'snapshot/snapshot.h',
1201        'snapshot/snapshot-common.cc',
1202        'snapshot/snapshot-source-sink.cc',
1203        'snapshot/snapshot-source-sink.h',
1204        'snapshot/startup-serializer.cc',
1205        'snapshot/startup-serializer.h',
1206        'source-position-table.cc',
1207        'source-position-table.h',
1208        'source-position.cc',
1209        'source-position.h',
1210        'splay-tree.h',
1211        'splay-tree-inl.h',
1212        'startup-data-util.cc',
1213        'startup-data-util.h',
1214        'string-builder.cc',
1215        'string-builder.h',
1216        'string-search.h',
1217        'string-stream.cc',
1218        'string-stream.h',
1219        'strtod.cc',
1220        'strtod.h',
1221        'ic/stub-cache.cc',
1222        'ic/stub-cache.h',
1223        'tracing/trace-event.cc',
1224        'tracing/trace-event.h',
1225        'tracing/traced-value.cc',
1226        'tracing/traced-value.h',
1227        'tracing/tracing-category-observer.cc',
1228        'tracing/tracing-category-observer.h',
1229        'transitions-inl.h',
1230        'transitions.cc',
1231        'transitions.h',
1232        'type-feedback-vector-inl.h',
1233        'type-feedback-vector.cc',
1234        'type-feedback-vector.h',
1235        'type-hints.cc',
1236        'type-hints.h',
1237        'type-info.cc',
1238        'type-info.h',
1239        'unicode-inl.h',
1240        'unicode.cc',
1241        'unicode.h',
1242        'unicode-cache-inl.h',
1243        'unicode-cache.h',
1244        'unicode-decoder.cc',
1245        'unicode-decoder.h',
1246        'uri.cc',
1247        'uri.h',
1248        'utils-inl.h',
1249        'utils.cc',
1250        'utils.h',
1251        'v8.cc',
1252        'v8.h',
1253        'v8memory.h',
1254        'v8threads.cc',
1255        'v8threads.h',
1256        'value-serializer.cc',
1257        'value-serializer.h',
1258        'vector.h',
1259        'version.cc',
1260        'version.h',
1261        'vm-state-inl.h',
1262        'vm-state.h',
1263        'wasm/ast-decoder.cc',
1264        'wasm/ast-decoder.h',
1265        'wasm/decoder.h',
1266        'wasm/leb-helper.h',
1267        'wasm/managed.h',
1268        'wasm/module-decoder.cc',
1269        'wasm/module-decoder.h',
1270        'wasm/signature-map.cc',
1271        'wasm/signature-map.h',
1272        'wasm/wasm-debug.cc',
1273        'wasm/wasm-external-refs.cc',
1274        'wasm/wasm-external-refs.h',
1275        'wasm/wasm-js.cc',
1276        'wasm/wasm-js.h',
1277        'wasm/wasm-macro-gen.h',
1278        'wasm/wasm-module.cc',
1279        'wasm/wasm-module.h',
1280        'wasm/wasm-module-builder.cc',
1281        'wasm/wasm-module-builder.h',
1282        'wasm/wasm-interpreter.cc',
1283        'wasm/wasm-interpreter.h',
1284        'wasm/wasm-objects.cc',
1285        'wasm/wasm-objects.h',
1286        'wasm/wasm-opcodes.cc',
1287        'wasm/wasm-opcodes.h',
1288        'wasm/wasm-result.cc',
1289        'wasm/wasm-result.h',
1290        'zone/accounting-allocator.cc',
1291        'zone/accounting-allocator.h',
1292        'zone/zone-segment.cc',
1293        'zone/zone-segment.h',
1294        'zone/zone.cc',
1295        'zone/zone.h',
1296        'zone/zone-chunk-list.h',
1297        'zone/zone-segment.cc',
1298        'zone/zone-segment.h',
1299        'zone/zone-allocator.h',
1300        'zone/zone-containers.h',
1301      ],
1302      'conditions': [
1303        ['want_separate_host_toolset==1', {
1304          'toolsets': ['host', 'target'],
1305        }, {
1306          'toolsets': ['target'],
1307        }],
1308        ['want_separate_host_toolset_mkpeephole==1', {
1309          'dependencies': ['mkpeephole#host'],
1310        }, {
1311          'dependencies': ['mkpeephole'],
1312        }],
1313        ['v8_target_arch=="arm"', {
1314          'sources': [  ### gcmole(arch:arm) ###
1315            'arm/assembler-arm-inl.h',
1316            'arm/assembler-arm.cc',
1317            'arm/assembler-arm.h',
1318            'arm/code-stubs-arm.cc',
1319            'arm/code-stubs-arm.h',
1320            'arm/codegen-arm.cc',
1321            'arm/codegen-arm.h',
1322            'arm/constants-arm.h',
1323            'arm/constants-arm.cc',
1324            'arm/cpu-arm.cc',
1325            'arm/deoptimizer-arm.cc',
1326            'arm/disasm-arm.cc',
1327            'arm/frames-arm.cc',
1328            'arm/frames-arm.h',
1329            'arm/interface-descriptors-arm.cc',
1330            'arm/interface-descriptors-arm.h',
1331            'arm/macro-assembler-arm.cc',
1332            'arm/macro-assembler-arm.h',
1333            'arm/simulator-arm.cc',
1334            'arm/simulator-arm.h',
1335            'arm/eh-frame-arm.cc',
1336            'builtins/arm/builtins-arm.cc',
1337            'compiler/arm/code-generator-arm.cc',
1338            'compiler/arm/instruction-codes-arm.h',
1339            'compiler/arm/instruction-scheduler-arm.cc',
1340            'compiler/arm/instruction-selector-arm.cc',
1341            'compiler/arm/unwinding-info-writer-arm.h',
1342            'compiler/arm/unwinding-info-writer-arm.cc',
1343            'crankshaft/arm/lithium-arm.cc',
1344            'crankshaft/arm/lithium-arm.h',
1345            'crankshaft/arm/lithium-codegen-arm.cc',
1346            'crankshaft/arm/lithium-codegen-arm.h',
1347            'crankshaft/arm/lithium-gap-resolver-arm.cc',
1348            'crankshaft/arm/lithium-gap-resolver-arm.h',
1349            'debug/arm/debug-arm.cc',
1350            'full-codegen/arm/full-codegen-arm.cc',
1351            'ic/arm/access-compiler-arm.cc',
1352            'ic/arm/handler-compiler-arm.cc',
1353            'ic/arm/ic-arm.cc',
1354            'ic/arm/ic-compiler-arm.cc',
1355            'ic/arm/stub-cache-arm.cc',
1356            'regexp/arm/regexp-macro-assembler-arm.cc',
1357            'regexp/arm/regexp-macro-assembler-arm.h',
1358          ],
1359        }],
1360        ['v8_target_arch=="arm64"', {
1361          'sources': [  ### gcmole(arch:arm64) ###
1362            'arm64/assembler-arm64.cc',
1363            'arm64/assembler-arm64.h',
1364            'arm64/assembler-arm64-inl.h',
1365            'arm64/codegen-arm64.cc',
1366            'arm64/codegen-arm64.h',
1367            'arm64/code-stubs-arm64.cc',
1368            'arm64/code-stubs-arm64.h',
1369            'arm64/constants-arm64.h',
1370            'arm64/cpu-arm64.cc',
1371            'arm64/decoder-arm64.cc',
1372            'arm64/decoder-arm64.h',
1373            'arm64/decoder-arm64-inl.h',
1374            'arm64/deoptimizer-arm64.cc',
1375            'arm64/disasm-arm64.cc',
1376            'arm64/disasm-arm64.h',
1377            'arm64/frames-arm64.cc',
1378            'arm64/frames-arm64.h',
1379            'arm64/instructions-arm64.cc',
1380            'arm64/instructions-arm64.h',
1381            'arm64/instrument-arm64.cc',
1382            'arm64/instrument-arm64.h',
1383            'arm64/interface-descriptors-arm64.cc',
1384            'arm64/interface-descriptors-arm64.h',
1385            'arm64/macro-assembler-arm64.cc',
1386            'arm64/macro-assembler-arm64.h',
1387            'arm64/macro-assembler-arm64-inl.h',
1388            'arm64/simulator-arm64.cc',
1389            'arm64/simulator-arm64.h',
1390            'arm64/utils-arm64.cc',
1391            'arm64/utils-arm64.h',
1392            'arm64/eh-frame-arm64.cc',
1393            'builtins/arm64/builtins-arm64.cc',
1394            'compiler/arm64/code-generator-arm64.cc',
1395            'compiler/arm64/instruction-codes-arm64.h',
1396            'compiler/arm64/instruction-scheduler-arm64.cc',
1397            'compiler/arm64/instruction-selector-arm64.cc',
1398            'compiler/arm64/unwinding-info-writer-arm64.h',
1399            'compiler/arm64/unwinding-info-writer-arm64.cc',
1400            'crankshaft/arm64/delayed-masm-arm64.cc',
1401            'crankshaft/arm64/delayed-masm-arm64.h',
1402            'crankshaft/arm64/delayed-masm-arm64-inl.h',
1403            'crankshaft/arm64/lithium-arm64.cc',
1404            'crankshaft/arm64/lithium-arm64.h',
1405            'crankshaft/arm64/lithium-codegen-arm64.cc',
1406            'crankshaft/arm64/lithium-codegen-arm64.h',
1407            'crankshaft/arm64/lithium-gap-resolver-arm64.cc',
1408            'crankshaft/arm64/lithium-gap-resolver-arm64.h',
1409            'debug/arm64/debug-arm64.cc',
1410            'full-codegen/arm64/full-codegen-arm64.cc',
1411            'ic/arm64/access-compiler-arm64.cc',
1412            'ic/arm64/handler-compiler-arm64.cc',
1413            'ic/arm64/ic-arm64.cc',
1414            'ic/arm64/ic-compiler-arm64.cc',
1415            'ic/arm64/stub-cache-arm64.cc',
1416            'regexp/arm64/regexp-macro-assembler-arm64.cc',
1417            'regexp/arm64/regexp-macro-assembler-arm64.h',
1418          ],
1419        }],
1420        ['v8_target_arch=="ia32"', {
1421          'sources': [  ### gcmole(arch:ia32) ###
1422            'ia32/assembler-ia32-inl.h',
1423            'ia32/assembler-ia32.cc',
1424            'ia32/assembler-ia32.h',
1425            'ia32/code-stubs-ia32.cc',
1426            'ia32/code-stubs-ia32.h',
1427            'ia32/codegen-ia32.cc',
1428            'ia32/codegen-ia32.h',
1429            'ia32/cpu-ia32.cc',
1430            'ia32/deoptimizer-ia32.cc',
1431            'ia32/disasm-ia32.cc',
1432            'ia32/frames-ia32.cc',
1433            'ia32/frames-ia32.h',
1434            'ia32/interface-descriptors-ia32.cc',
1435            'ia32/macro-assembler-ia32.cc',
1436            'ia32/macro-assembler-ia32.h',
1437            'ia32/simulator-ia32.cc',
1438            'ia32/simulator-ia32.h',
1439            'builtins/ia32/builtins-ia32.cc',
1440            'compiler/ia32/code-generator-ia32.cc',
1441            'compiler/ia32/instruction-codes-ia32.h',
1442            'compiler/ia32/instruction-scheduler-ia32.cc',
1443            'compiler/ia32/instruction-selector-ia32.cc',
1444            'crankshaft/ia32/lithium-codegen-ia32.cc',
1445            'crankshaft/ia32/lithium-codegen-ia32.h',
1446            'crankshaft/ia32/lithium-gap-resolver-ia32.cc',
1447            'crankshaft/ia32/lithium-gap-resolver-ia32.h',
1448            'crankshaft/ia32/lithium-ia32.cc',
1449            'crankshaft/ia32/lithium-ia32.h',
1450            'debug/ia32/debug-ia32.cc',
1451            'full-codegen/ia32/full-codegen-ia32.cc',
1452            'ic/ia32/access-compiler-ia32.cc',
1453            'ic/ia32/handler-compiler-ia32.cc',
1454            'ic/ia32/ic-ia32.cc',
1455            'ic/ia32/ic-compiler-ia32.cc',
1456            'ic/ia32/stub-cache-ia32.cc',
1457            'regexp/ia32/regexp-macro-assembler-ia32.cc',
1458            'regexp/ia32/regexp-macro-assembler-ia32.h',
1459          ],
1460        }],
1461        ['v8_target_arch=="x87"', {
1462          'sources': [  ### gcmole(arch:x87) ###
1463            'x87/assembler-x87-inl.h',
1464            'x87/assembler-x87.cc',
1465            'x87/assembler-x87.h',
1466            'x87/code-stubs-x87.cc',
1467            'x87/code-stubs-x87.h',
1468            'x87/codegen-x87.cc',
1469            'x87/codegen-x87.h',
1470            'x87/cpu-x87.cc',
1471            'x87/deoptimizer-x87.cc',
1472            'x87/disasm-x87.cc',
1473            'x87/frames-x87.cc',
1474            'x87/frames-x87.h',
1475            'x87/interface-descriptors-x87.cc',
1476            'x87/macro-assembler-x87.cc',
1477            'x87/macro-assembler-x87.h',
1478            'x87/simulator-x87.cc',
1479            'x87/simulator-x87.h',
1480            'builtins/x87/builtins-x87.cc',
1481            'compiler/x87/code-generator-x87.cc',
1482            'compiler/x87/instruction-codes-x87.h',
1483            'compiler/x87/instruction-scheduler-x87.cc',
1484            'compiler/x87/instruction-selector-x87.cc',
1485            'crankshaft/x87/lithium-codegen-x87.cc',
1486            'crankshaft/x87/lithium-codegen-x87.h',
1487            'crankshaft/x87/lithium-gap-resolver-x87.cc',
1488            'crankshaft/x87/lithium-gap-resolver-x87.h',
1489            'crankshaft/x87/lithium-x87.cc',
1490            'crankshaft/x87/lithium-x87.h',
1491            'debug/x87/debug-x87.cc',
1492            'full-codegen/x87/full-codegen-x87.cc',
1493            'ic/x87/access-compiler-x87.cc',
1494            'ic/x87/handler-compiler-x87.cc',
1495            'ic/x87/ic-x87.cc',
1496            'ic/x87/ic-compiler-x87.cc',
1497            'ic/x87/stub-cache-x87.cc',
1498            'regexp/x87/regexp-macro-assembler-x87.cc',
1499            'regexp/x87/regexp-macro-assembler-x87.h',
1500          ],
1501        }],
1502        ['v8_target_arch=="mips" or v8_target_arch=="mipsel"', {
1503          'sources': [  ### gcmole(arch:mipsel) ###
1504            'mips/assembler-mips.cc',
1505            'mips/assembler-mips.h',
1506            'mips/assembler-mips-inl.h',
1507            'mips/codegen-mips.cc',
1508            'mips/codegen-mips.h',
1509            'mips/code-stubs-mips.cc',
1510            'mips/code-stubs-mips.h',
1511            'mips/constants-mips.cc',
1512            'mips/constants-mips.h',
1513            'mips/cpu-mips.cc',
1514            'mips/deoptimizer-mips.cc',
1515            'mips/disasm-mips.cc',
1516            'mips/frames-mips.cc',
1517            'mips/frames-mips.h',
1518            'mips/interface-descriptors-mips.cc',
1519            'mips/macro-assembler-mips.cc',
1520            'mips/macro-assembler-mips.h',
1521            'mips/simulator-mips.cc',
1522            'mips/simulator-mips.h',
1523            'builtins/mips/builtins-mips.cc',
1524            'compiler/mips/code-generator-mips.cc',
1525            'compiler/mips/instruction-codes-mips.h',
1526            'compiler/mips/instruction-scheduler-mips.cc',
1527            'compiler/mips/instruction-selector-mips.cc',
1528            'crankshaft/mips/lithium-codegen-mips.cc',
1529            'crankshaft/mips/lithium-codegen-mips.h',
1530            'crankshaft/mips/lithium-gap-resolver-mips.cc',
1531            'crankshaft/mips/lithium-gap-resolver-mips.h',
1532            'crankshaft/mips/lithium-mips.cc',
1533            'crankshaft/mips/lithium-mips.h',
1534            'full-codegen/mips/full-codegen-mips.cc',
1535            'debug/mips/debug-mips.cc',
1536            'ic/mips/access-compiler-mips.cc',
1537            'ic/mips/handler-compiler-mips.cc',
1538            'ic/mips/ic-mips.cc',
1539            'ic/mips/ic-compiler-mips.cc',
1540            'ic/mips/stub-cache-mips.cc',
1541            'regexp/mips/regexp-macro-assembler-mips.cc',
1542            'regexp/mips/regexp-macro-assembler-mips.h',
1543          ],
1544        }],
1545        ['v8_target_arch=="mips64" or v8_target_arch=="mips64el"', {
1546          'sources': [  ### gcmole(arch:mips64el) ###
1547            'mips64/assembler-mips64.cc',
1548            'mips64/assembler-mips64.h',
1549            'mips64/assembler-mips64-inl.h',
1550            'mips64/codegen-mips64.cc',
1551            'mips64/codegen-mips64.h',
1552            'mips64/code-stubs-mips64.cc',
1553            'mips64/code-stubs-mips64.h',
1554            'mips64/constants-mips64.cc',
1555            'mips64/constants-mips64.h',
1556            'mips64/cpu-mips64.cc',
1557            'mips64/deoptimizer-mips64.cc',
1558            'mips64/disasm-mips64.cc',
1559            'mips64/frames-mips64.cc',
1560            'mips64/frames-mips64.h',
1561            'mips64/interface-descriptors-mips64.cc',
1562            'mips64/macro-assembler-mips64.cc',
1563            'mips64/macro-assembler-mips64.h',
1564            'mips64/simulator-mips64.cc',
1565            'mips64/simulator-mips64.h',
1566            'builtins/mips64/builtins-mips64.cc',
1567            'compiler/mips64/code-generator-mips64.cc',
1568            'compiler/mips64/instruction-codes-mips64.h',
1569            'compiler/mips64/instruction-scheduler-mips64.cc',
1570            'compiler/mips64/instruction-selector-mips64.cc',
1571            'crankshaft/mips64/lithium-codegen-mips64.cc',
1572            'crankshaft/mips64/lithium-codegen-mips64.h',
1573            'crankshaft/mips64/lithium-gap-resolver-mips64.cc',
1574            'crankshaft/mips64/lithium-gap-resolver-mips64.h',
1575            'crankshaft/mips64/lithium-mips64.cc',
1576            'crankshaft/mips64/lithium-mips64.h',
1577            'debug/mips64/debug-mips64.cc',
1578            'full-codegen/mips64/full-codegen-mips64.cc',
1579            'ic/mips64/access-compiler-mips64.cc',
1580            'ic/mips64/handler-compiler-mips64.cc',
1581            'ic/mips64/ic-mips64.cc',
1582            'ic/mips64/ic-compiler-mips64.cc',
1583            'ic/mips64/stub-cache-mips64.cc',
1584            'regexp/mips64/regexp-macro-assembler-mips64.cc',
1585            'regexp/mips64/regexp-macro-assembler-mips64.h',
1586          ],
1587        }],
1588        ['v8_target_arch=="x64"', {
1589          'sources': [  ### gcmole(arch:x64) ###
1590            'builtins/x64/builtins-x64.cc',
1591            'compiler/x64/code-generator-x64.cc',
1592            'compiler/x64/instruction-codes-x64.h',
1593            'compiler/x64/instruction-scheduler-x64.cc',
1594            'compiler/x64/instruction-selector-x64.cc',
1595            'compiler/x64/unwinding-info-writer-x64.h',
1596            'compiler/x64/unwinding-info-writer-x64.cc',
1597            'crankshaft/x64/lithium-codegen-x64.cc',
1598            'crankshaft/x64/lithium-codegen-x64.h',
1599            'crankshaft/x64/lithium-gap-resolver-x64.cc',
1600            'crankshaft/x64/lithium-gap-resolver-x64.h',
1601            'crankshaft/x64/lithium-x64.cc',
1602            'crankshaft/x64/lithium-x64.h',
1603            'x64/assembler-x64-inl.h',
1604            'x64/assembler-x64.cc',
1605            'x64/assembler-x64.h',
1606            'x64/code-stubs-x64.cc',
1607            'x64/code-stubs-x64.h',
1608            'x64/codegen-x64.cc',
1609            'x64/codegen-x64.h',
1610            'x64/cpu-x64.cc',
1611            'x64/deoptimizer-x64.cc',
1612            'x64/disasm-x64.cc',
1613            'x64/eh-frame-x64.cc',
1614            'x64/frames-x64.cc',
1615            'x64/frames-x64.h',
1616            'x64/interface-descriptors-x64.cc',
1617            'x64/macro-assembler-x64.cc',
1618            'x64/macro-assembler-x64.h',
1619            'x64/simulator-x64.cc',
1620            'x64/simulator-x64.h',
1621            'x64/sse-instr.h',
1622            'debug/x64/debug-x64.cc',
1623            'full-codegen/x64/full-codegen-x64.cc',
1624            'ic/x64/access-compiler-x64.cc',
1625            'ic/x64/handler-compiler-x64.cc',
1626            'ic/x64/ic-x64.cc',
1627            'ic/x64/ic-compiler-x64.cc',
1628            'ic/x64/stub-cache-x64.cc',
1629            'regexp/x64/regexp-macro-assembler-x64.cc',
1630            'regexp/x64/regexp-macro-assembler-x64.h',
1631            'third_party/valgrind/valgrind.h',
1632          ],
1633        }],
1634        ['v8_target_arch=="ppc" or v8_target_arch=="ppc64"', {
1635          'sources': [  ### gcmole(arch:ppc) ###
1636            'builtins/ppc/builtins-ppc.cc',
1637            'compiler/ppc/code-generator-ppc.cc',
1638            'compiler/ppc/instruction-codes-ppc.h',
1639            'compiler/ppc/instruction-scheduler-ppc.cc',
1640            'compiler/ppc/instruction-selector-ppc.cc',
1641            'crankshaft/ppc/lithium-ppc.cc',
1642            'crankshaft/ppc/lithium-ppc.h',
1643            'crankshaft/ppc/lithium-codegen-ppc.cc',
1644            'crankshaft/ppc/lithium-codegen-ppc.h',
1645            'crankshaft/ppc/lithium-gap-resolver-ppc.cc',
1646            'crankshaft/ppc/lithium-gap-resolver-ppc.h',
1647            'debug/ppc/debug-ppc.cc',
1648            'full-codegen/ppc/full-codegen-ppc.cc',
1649            'ic/ppc/access-compiler-ppc.cc',
1650            'ic/ppc/handler-compiler-ppc.cc',
1651            'ic/ppc/ic-ppc.cc',
1652            'ic/ppc/ic-compiler-ppc.cc',
1653            'ic/ppc/stub-cache-ppc.cc',
1654            'ppc/assembler-ppc-inl.h',
1655            'ppc/assembler-ppc.cc',
1656            'ppc/assembler-ppc.h',
1657            'ppc/code-stubs-ppc.cc',
1658            'ppc/code-stubs-ppc.h',
1659            'ppc/codegen-ppc.cc',
1660            'ppc/codegen-ppc.h',
1661            'ppc/constants-ppc.h',
1662            'ppc/constants-ppc.cc',
1663            'ppc/cpu-ppc.cc',
1664            'ppc/deoptimizer-ppc.cc',
1665            'ppc/disasm-ppc.cc',
1666            'ppc/frames-ppc.cc',
1667            'ppc/frames-ppc.h',
1668            'ppc/interface-descriptors-ppc.cc',
1669            'ppc/macro-assembler-ppc.cc',
1670            'ppc/macro-assembler-ppc.h',
1671            'ppc/simulator-ppc.cc',
1672            'ppc/simulator-ppc.h',
1673            'regexp/ppc/regexp-macro-assembler-ppc.cc',
1674            'regexp/ppc/regexp-macro-assembler-ppc.h',
1675          ],
1676        }],
1677        ['v8_target_arch=="s390" or v8_target_arch=="s390x"', {
1678          'sources': [  ### gcmole(arch:s390) ###
1679            'builtins/s390/builtins-s390.cc',
1680            'compiler/s390/code-generator-s390.cc',
1681            'compiler/s390/instruction-codes-s390.h',
1682            'compiler/s390/instruction-scheduler-s390.cc',
1683            'compiler/s390/instruction-selector-s390.cc',
1684            'crankshaft/s390/lithium-codegen-s390.cc',
1685            'crankshaft/s390/lithium-codegen-s390.h',
1686            'crankshaft/s390/lithium-gap-resolver-s390.cc',
1687            'crankshaft/s390/lithium-gap-resolver-s390.h',
1688            'crankshaft/s390/lithium-s390.cc',
1689            'crankshaft/s390/lithium-s390.h',
1690            'debug/s390/debug-s390.cc',
1691            'full-codegen/s390/full-codegen-s390.cc',
1692            'ic/s390/access-compiler-s390.cc',
1693            'ic/s390/handler-compiler-s390.cc',
1694            'ic/s390/ic-compiler-s390.cc',
1695            'ic/s390/ic-s390.cc',
1696            'ic/s390/stub-cache-s390.cc',
1697            'regexp/s390/regexp-macro-assembler-s390.cc',
1698            'regexp/s390/regexp-macro-assembler-s390.h',
1699            's390/assembler-s390.cc',
1700            's390/assembler-s390.h',
1701            's390/assembler-s390-inl.h',
1702            's390/codegen-s390.cc',
1703            's390/codegen-s390.h',
1704            's390/code-stubs-s390.cc',
1705            's390/code-stubs-s390.h',
1706            's390/constants-s390.cc',
1707            's390/constants-s390.h',
1708            's390/cpu-s390.cc',
1709            's390/deoptimizer-s390.cc',
1710            's390/disasm-s390.cc',
1711            's390/frames-s390.cc',
1712            's390/frames-s390.h',
1713            's390/interface-descriptors-s390.cc',
1714            's390/macro-assembler-s390.cc',
1715            's390/macro-assembler-s390.h',
1716            's390/simulator-s390.cc',
1717            's390/simulator-s390.h',
1718          ],
1719        }],
1720        ['OS=="win"', {
1721          'variables': {
1722            'gyp_generators': '<!(echo $GYP_GENERATORS)',
1723          },
1724          'msvs_disabled_warnings': [4351, 4355, 4800],
1725          # When building Official, the .lib is too large and exceeds the 2G
1726          # limit. This breaks it into multiple pieces to avoid the limit.
1727          # See http://crbug.com/485155.
1728          'msvs_shard': 4,
1729        }],
1730        ['component=="shared_library"', {
1731          'defines': [
1732            'BUILDING_V8_SHARED',
1733          ],
1734        }],
1735        ['v8_postmortem_support=="true"', {
1736          'sources': [
1737            '<(SHARED_INTERMEDIATE_DIR)/debug-support.cc',
1738          ]
1739        }],
1740        ['v8_enable_i18n_support==1', {
1741          'dependencies': [
1742            '<(icu_gyp_path):icui18n',
1743            '<(icu_gyp_path):icuuc',
1744          ],
1745          'conditions': [
1746            ['icu_use_data_file_flag==1', {
1747              'defines': ['ICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_FILE'],
1748            }, { # else icu_use_data_file_flag !=1
1749              'conditions': [
1750                ['OS=="win"', {
1751                  'defines': ['ICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_SHARED'],
1752                }, {
1753                  'defines': ['ICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_STATIC'],
1754                }],
1755              ],
1756            }],
1757          ],
1758        }, {  # v8_enable_i18n_support==0
1759          'sources!': [
1760            'i18n.cc',
1761            'i18n.h',
1762          ],
1763        }],
1764        ['v8_enable_inspector==1', {
1765          'sources': [
1766            '<@(inspector_all_sources)'
1767          ],
1768          'dependencies': [
1769            'inspector/inspector.gyp:protocol_generated_sources',
1770            'inspector/inspector.gyp:inspector_injected_script',
1771            'inspector/inspector.gyp:inspector_debugger_script',
1772          ],
1773        }],
1774        ['OS=="win" and v8_enable_i18n_support==1', {
1775          'dependencies': [
1776            '<(icu_gyp_path):icudata',
1777          ],
1778        }],
1779      ],
1780    },
1781    {
1782      'target_name': 'v8_libbase',
1783      'type': '<(component)',
1784      'variables': {
1785        'optimize': 'max',
1786      },
1787      'include_dirs+': [
1788        '..',
1789      ],
1790      'sources': [
1791        'base/adapters.h',
1792        'base/atomic-utils.h',
1793        'base/atomicops.h',
1794        'base/atomicops_internals_atomicword_compat.h',
1795        'base/atomicops_internals_portable.h',
1796        'base/atomicops_internals_x86_msvc.h',
1797        'base/base-export.h',
1798        'base/bits.cc',
1799        'base/bits.h',
1800        'base/build_config.h',
1801        'base/compiler-specific.h',
1802        'base/cpu.cc',
1803        'base/cpu.h',
1804        'base/division-by-constant.cc',
1805        'base/division-by-constant.h',
1806        'base/debug/stack_trace.cc',
1807        'base/debug/stack_trace.h',
1808        'base/file-utils.cc',
1809        'base/file-utils.h',
1810        'base/flags.h',
1811        'base/format-macros.h',
1812        'base/free_deleter.h',
1813        'base/functional.cc',
1814        'base/functional.h',
1815        'base/hashmap.h',
1816        'base/hashmap-entry.h',
1817        'base/ieee754.cc',
1818        'base/ieee754.h',
1819        'base/iterator.h',
1820        'base/lazy-instance.h',
1821        'base/logging.cc',
1822        'base/logging.h',
1823        'base/macros.h',
1824        'base/once.cc',
1825        'base/once.h',
1826        'base/platform/elapsed-timer.h',
1827        'base/platform/time.cc',
1828        'base/platform/time.h',
1829        'base/platform/condition-variable.cc',
1830        'base/platform/condition-variable.h',
1831        'base/platform/mutex.cc',
1832        'base/platform/mutex.h',
1833        'base/platform/platform.h',
1834        'base/platform/semaphore.cc',
1835        'base/platform/semaphore.h',
1836        'base/ring-buffer.h',
1837        'base/safe_conversions.h',
1838        'base/safe_conversions_impl.h',
1839        'base/safe_math.h',
1840        'base/safe_math_impl.h',
1841        'base/sys-info.cc',
1842        'base/sys-info.h',
1843        'base/utils/random-number-generator.cc',
1844        'base/utils/random-number-generator.h',
1845      ],
1846      'target_conditions': [
1847        ['OS=="android" and _toolset=="target"', {
1848          'libraries': [
1849            '-llog',
1850          ],
1851          'include_dirs': [
1852            'src/common/android/include',
1853          ],
1854        }],
1855      ],
1856      'conditions': [
1857        ['want_separate_host_toolset==1 or \
1858          want_separate_host_toolset_mkpeephole==1', {
1859          'toolsets': ['host', 'target'],
1860        }, {
1861          'toolsets': ['target'],
1862        }],
1863        ['component=="shared_library"', {
1864          'defines': [
1865            'BUILDING_V8_BASE_SHARED',
1866          ],
1867          'direct_dependent_settings': {
1868            'defines': [
1869              'USING_V8_BASE_SHARED',
1870            ],
1871          },
1872        }],
1873        ['OS=="linux"', {
1874            'link_settings': {
1875              'libraries': [
1876                '-ldl',
1877                '-lrt'
1878              ],
1879            },
1880            'sources': [
1881              'base/debug/stack_trace_posix.cc',
1882              'base/platform/platform-linux.cc',
1883              'base/platform/platform-posix.cc',
1884            ],
1885          }
1886        ],
1887        ['OS=="android"', {
1888            'sources': [
1889              'base/debug/stack_trace_android.cc',
1890              'base/platform/platform-posix.cc',
1891            ],
1892            'link_settings': {
1893              'target_conditions': [
1894                ['_toolset=="host" and host_os!="mac"', {
1895                  # Only include libdl and librt on host builds because they
1896                  # are included by default on Android target builds, and we
1897                  # don't want to re-include them here since this will change
1898                  # library order and break (see crbug.com/469973).
1899                  # These libraries do not exist on Mac hosted builds.
1900                  'libraries': [
1901                    '-ldl',
1902                    '-lrt'
1903                  ]
1904                }]
1905              ]
1906            },
1907            'conditions': [
1908              ['host_os=="mac"', {
1909                'target_conditions': [
1910                  ['_toolset=="host"', {
1911                    'sources': [
1912                      'base/platform/platform-macos.cc'
1913                    ]
1914                  }, {
1915                    'sources': [
1916                      'base/platform/platform-linux.cc'
1917                    ]
1918                  }],
1919                ],
1920              }, {
1921                'sources': [
1922                  'base/platform/platform-linux.cc'
1923                ]
1924              }],
1925            ],
1926          },
1927        ],
1928        ['OS=="qnx"', {
1929            'link_settings': {
1930              'target_conditions': [
1931                ['_toolset=="host" and host_os=="linux"', {
1932                  'libraries': [
1933                    '-lrt'
1934                  ],
1935                }],
1936                ['_toolset=="target"', {
1937                  'libraries': [
1938                    '-lbacktrace'
1939                  ],
1940                }],
1941              ],
1942            },
1943            'sources': [
1944              'base/debug/stack_trace_posix.cc',
1945              'base/platform/platform-posix.cc',
1946              'base/qnx-math.h'
1947            ],
1948            'target_conditions': [
1949              ['_toolset=="host" and host_os=="linux"', {
1950                'sources': [
1951                  'base/platform/platform-linux.cc'
1952                ],
1953              }],
1954              ['_toolset=="host" and host_os=="mac"', {
1955                'sources': [
1956                  'base/platform/platform-macos.cc'
1957                ],
1958              }],
1959              ['_toolset=="target"', {
1960                'sources': [
1961                  'base/platform/platform-qnx.cc'
1962                ],
1963              }],
1964            ],
1965          },
1966        ],
1967        ['OS=="freebsd"', {
1968            'link_settings': {
1969              'libraries': [
1970                '-L/usr/local/lib -lexecinfo',
1971            ]},
1972            'sources': [
1973              'base/debug/stack_trace_posix.cc',
1974              'base/platform/platform-freebsd.cc',
1975              'base/platform/platform-posix.cc',
1976            ],
1977          }
1978        ],
1979        ['OS=="openbsd"', {
1980            'link_settings': {
1981              'libraries': [
1982                '-L/usr/local/lib -lexecinfo',
1983            ]},
1984            'sources': [
1985              'base/platform/platform-openbsd.cc',
1986              'base/platform/platform-posix.cc'
1987            ],
1988          }
1989        ],
1990        ['OS=="netbsd"', {
1991            'link_settings': {
1992              'libraries': [
1993                '-L/usr/pkg/lib -Wl,-R/usr/pkg/lib -lexecinfo',
1994            ]},
1995            'sources': [
1996              'base/debug/stack_trace_posix.cc',
1997              'base/platform/platform-openbsd.cc',
1998              'base/platform/platform-posix.cc',
1999            ],
2000          }
2001        ],
2002        ['OS=="aix"', {
2003          'sources': [
2004            'base/debug/stack_trace_posix.cc',
2005            'base/platform/platform-aix.cc',
2006            'base/platform/platform-posix.cc'
2007          ]},
2008        ],
2009        ['OS=="solaris"', {
2010            'link_settings': {
2011              'libraries': [
2012                '-lnsl -lrt',
2013            ]},
2014            'sources': [
2015              'base/debug/stack_trace_posix.cc',
2016              'base/platform/platform-solaris.cc',
2017              'base/platform/platform-posix.cc',
2018            ],
2019          }
2020        ],
2021        ['OS=="mac"', {
2022          'sources': [
2023            'base/debug/stack_trace_posix.cc',
2024            'base/platform/platform-macos.cc',
2025            'base/platform/platform-posix.cc',
2026          ]},
2027        ],
2028        ['OS=="win"', {
2029          'defines': [
2030            '_CRT_RAND_S'  # for rand_s()
2031          ],
2032          'variables': {
2033            'gyp_generators': '<!(echo $GYP_GENERATORS)',
2034          },
2035          'conditions': [
2036            ['gyp_generators=="make"', {
2037              'variables': {
2038                'build_env': '<!(uname -o)',
2039              },
2040              'conditions': [
2041                ['build_env=="Cygwin"', {
2042                  'sources': [
2043                    'base/debug/stack_trace_posix.cc',
2044                    'base/platform/platform-cygwin.cc',
2045                    'base/platform/platform-posix.cc',
2046                  ],
2047                }, {
2048                  'sources': [
2049                    'base/debug/stack_trace_win.cc',
2050                    'base/platform/platform-win32.cc',
2051                    'base/win32-headers.h',
2052                  ],
2053                }],
2054              ],
2055              'link_settings':  {
2056                'libraries': [ '-lwinmm', '-lws2_32' ],
2057              },
2058            }, {
2059              'sources': [
2060                'base/debug/stack_trace_win.cc',
2061                'base/platform/platform-win32.cc',
2062                'base/win32-headers.h',
2063              ],
2064              'msvs_disabled_warnings': [4351, 4355, 4800],
2065              'link_settings':  {
2066                'libraries': [
2067                  '-ldbghelp.lib',
2068                  '-lshlwapi.lib',
2069                  '-lwinmm.lib',
2070                  '-lws2_32.lib'
2071                ],
2072              },
2073            }],
2074          ],
2075        }],
2076      ],
2077    },
2078    {
2079      'target_name': 'v8_libplatform',
2080      'type': '<(component)',
2081      'variables': {
2082        'optimize': 'max',
2083      },
2084      'dependencies': [
2085        'v8_libbase',
2086      ],
2087      'include_dirs+': [
2088        '..',
2089        '<(DEPTH)',
2090        '../include',
2091      ],
2092      'sources': [
2093        '../include/libplatform/libplatform.h',
2094        '../include/libplatform/libplatform-export.h',
2095        '../include/libplatform/v8-tracing.h',
2096        'libplatform/default-platform.cc',
2097        'libplatform/default-platform.h',
2098        'libplatform/task-queue.cc',
2099        'libplatform/task-queue.h',
2100        'libplatform/tracing/trace-buffer.cc',
2101        'libplatform/tracing/trace-buffer.h',
2102        'libplatform/tracing/trace-config.cc',
2103        'libplatform/tracing/trace-object.cc',
2104        'libplatform/tracing/trace-writer.cc',
2105        'libplatform/tracing/trace-writer.h',
2106        'libplatform/tracing/tracing-controller.cc',
2107        'libplatform/worker-thread.cc',
2108        'libplatform/worker-thread.h',
2109      ],
2110      'conditions': [
2111        ['want_separate_host_toolset==1', {
2112          'toolsets': ['host', 'target'],
2113        }, {
2114          'toolsets': ['target'],
2115        }],
2116        ['component=="shared_library"', {
2117          'direct_dependent_settings': {
2118            'defines': [ 'USING_V8_PLATFORM_SHARED' ],
2119          },
2120          'defines': [ 'BUILDING_V8_PLATFORM_SHARED' ],
2121        }]
2122      ],
2123      'direct_dependent_settings': {
2124        'include_dirs': [
2125          '../include',
2126        ],
2127      },
2128    },
2129    {
2130      'target_name': 'v8_libsampler',
2131      'type': 'static_library',
2132      'variables': {
2133        'optimize': 'max',
2134      },
2135      'dependencies': [
2136        'v8_libbase',
2137      ],
2138      'include_dirs+': [
2139        '..',
2140        '../include',
2141      ],
2142      'sources': [
2143        'libsampler/sampler.cc',
2144        'libsampler/sampler.h'
2145      ],
2146      'conditions': [
2147        ['want_separate_host_toolset==1', {
2148          'toolsets': ['host', 'target'],
2149        }, {
2150          'toolsets': ['target'],
2151        }],
2152      ],
2153      'direct_dependent_settings': {
2154        'include_dirs': [
2155          '../include',
2156        ],
2157      },
2158    },
2159    {
2160      'target_name': 'natives_blob',
2161      'type': 'none',
2162      'conditions': [
2163        [ 'v8_use_external_startup_data==1', {
2164          'conditions': [
2165            ['want_separate_host_toolset==1', {
2166              'dependencies': ['js2c#host'],
2167            }, {
2168              'dependencies': ['js2c'],
2169            }],
2170          ],
2171          'actions': [{
2172            'action_name': 'concatenate_natives_blob',
2173            'inputs': [
2174              '../tools/concatenate-files.py',
2175              '<(SHARED_INTERMEDIATE_DIR)/libraries.bin',
2176              '<(SHARED_INTERMEDIATE_DIR)/libraries-experimental.bin',
2177              '<(SHARED_INTERMEDIATE_DIR)/libraries-extras.bin',
2178              '<(SHARED_INTERMEDIATE_DIR)/libraries-experimental-extras.bin',
2179            ],
2180            'conditions': [
2181              ['want_separate_host_toolset==1', {
2182                'target_conditions': [
2183                  ['_toolset=="host"', {
2184                    'outputs': [
2185                      '<(PRODUCT_DIR)/natives_blob_host.bin',
2186                    ],
2187                    'action': [
2188                      'python', '<@(_inputs)', '<(PRODUCT_DIR)/natives_blob_host.bin'
2189                    ],
2190                  }, {
2191                    'outputs': [
2192                      '<(PRODUCT_DIR)/natives_blob.bin',
2193                    ],
2194                    'action': [
2195                      'python', '<@(_inputs)', '<(PRODUCT_DIR)/natives_blob.bin'
2196                    ],
2197                  }],
2198                ],
2199              }, {
2200                'outputs': [
2201                  '<(PRODUCT_DIR)/natives_blob.bin',
2202                ],
2203                'action': [
2204                  'python', '<@(_inputs)', '<(PRODUCT_DIR)/natives_blob.bin'
2205                ],
2206              }],
2207            ],
2208          }],
2209        }],
2210        ['want_separate_host_toolset==1', {
2211          'toolsets': ['host', 'target'],
2212        }, {
2213          'toolsets': ['target'],
2214        }],
2215      ]
2216    },
2217    {
2218      'target_name': 'js2c',
2219      'type': 'none',
2220      'conditions': [
2221        ['want_separate_host_toolset==1', {
2222          'toolsets': ['host'],
2223        }, {
2224          'toolsets': ['target'],
2225        }],
2226      ],
2227      'variables': {
2228        'library_files': [
2229          'js/macros.py',
2230          'messages.h',
2231          'js/prologue.js',
2232          'js/runtime.js',
2233          'js/v8natives.js',
2234          'js/symbol.js',
2235          'js/array.js',
2236          'js/string.js',
2237          'js/arraybuffer.js',
2238          'js/typedarray.js',
2239          'js/collection.js',
2240          'js/weak-collection.js',
2241          'js/collection-iterator.js',
2242          'js/promise.js',
2243          'js/messages.js',
2244          'js/templates.js',
2245          'js/spread.js',
2246          'js/proxy.js',
2247          'js/async-await.js',
2248          'debug/mirrors.js',
2249          'debug/debug.js',
2250          'debug/liveedit.js',
2251        ],
2252        'experimental_library_files': [
2253          'js/macros.py',
2254          'messages.h',
2255          'js/harmony-atomics.js',
2256          'js/harmony-simd.js',
2257          'js/harmony-string-padding.js',
2258        ],
2259        'libraries_bin_file': '<(SHARED_INTERMEDIATE_DIR)/libraries.bin',
2260        'libraries_experimental_bin_file': '<(SHARED_INTERMEDIATE_DIR)/libraries-experimental.bin',
2261        'libraries_extras_bin_file': '<(SHARED_INTERMEDIATE_DIR)/libraries-extras.bin',
2262        'libraries_experimental_extras_bin_file': '<(SHARED_INTERMEDIATE_DIR)/libraries-experimental-extras.bin',
2263        'conditions': [
2264          ['v8_enable_i18n_support==1', {
2265            'library_files': ['js/i18n.js'],
2266            'experimental_library_files': [
2267              'js/datetime-format-to-parts.js',
2268              'js/icu-case-mapping.js',
2269             ],
2270          }],
2271        ],
2272      },
2273      'actions': [
2274        {
2275          'action_name': 'js2c',
2276          'inputs': [
2277            '../tools/js2c.py',
2278            '<@(library_files)',
2279          ],
2280          'outputs': ['<(SHARED_INTERMEDIATE_DIR)/libraries.cc'],
2281          'action': [
2282            'python',
2283            '../tools/js2c.py',
2284            '<(SHARED_INTERMEDIATE_DIR)/libraries.cc',
2285            'CORE',
2286            '<@(library_files)',
2287          ],
2288        },
2289        {
2290          'action_name': 'js2c_bin',
2291          'inputs': [
2292            '../tools/js2c.py',
2293            '<@(library_files)',
2294          ],
2295          'outputs': ['<@(libraries_bin_file)'],
2296          'action': [
2297            'python',
2298            '../tools/js2c.py',
2299            '<(SHARED_INTERMEDIATE_DIR)/libraries.cc',
2300            'CORE',
2301            '<@(library_files)',
2302            '--startup_blob', '<@(libraries_bin_file)',
2303            '--nojs',
2304          ],
2305        },
2306        {
2307          'action_name': 'js2c_experimental',
2308          'inputs': [
2309            '../tools/js2c.py',
2310            '<@(experimental_library_files)',
2311          ],
2312          'outputs': ['<(SHARED_INTERMEDIATE_DIR)/experimental-libraries.cc'],
2313          'action': [
2314            'python',
2315            '../tools/js2c.py',
2316            '<(SHARED_INTERMEDIATE_DIR)/experimental-libraries.cc',
2317            'EXPERIMENTAL',
2318            '<@(experimental_library_files)',
2319          ],
2320        },
2321        {
2322          'action_name': 'js2c_experimental_bin',
2323          'inputs': [
2324            '../tools/js2c.py',
2325            '<@(experimental_library_files)',
2326          ],
2327          'outputs': ['<@(libraries_experimental_bin_file)'],
2328          'action': [
2329            'python',
2330            '../tools/js2c.py',
2331            '<(SHARED_INTERMEDIATE_DIR)/experimental-libraries.cc',
2332            'EXPERIMENTAL',
2333            '<@(experimental_library_files)',
2334            '--startup_blob', '<@(libraries_experimental_bin_file)',
2335            '--nojs',
2336          ],
2337        },
2338        {
2339          'action_name': 'js2c_extras',
2340          'inputs': [
2341            '../tools/js2c.py',
2342            '<@(v8_extra_library_files)',
2343          ],
2344          'outputs': ['<(SHARED_INTERMEDIATE_DIR)/extras-libraries.cc'],
2345          'action': [
2346            'python',
2347            '../tools/js2c.py',
2348            '<(SHARED_INTERMEDIATE_DIR)/extras-libraries.cc',
2349            'EXTRAS',
2350            '<@(v8_extra_library_files)',
2351          ],
2352        },
2353        {
2354          'action_name': 'js2c_extras_bin',
2355          'inputs': [
2356            '../tools/js2c.py',
2357            '<@(v8_extra_library_files)',
2358          ],
2359          'outputs': ['<@(libraries_extras_bin_file)'],
2360          'action': [
2361            'python',
2362            '../tools/js2c.py',
2363            '<(SHARED_INTERMEDIATE_DIR)/extras-libraries.cc',
2364            'EXTRAS',
2365            '<@(v8_extra_library_files)',
2366            '--startup_blob', '<@(libraries_extras_bin_file)',
2367            '--nojs',
2368          ],
2369        },
2370        {
2371          'action_name': 'js2c_experimental_extras',
2372          'inputs': [
2373            '../tools/js2c.py',
2374            '<@(v8_experimental_extra_library_files)',
2375          ],
2376          'outputs': [
2377            '<(SHARED_INTERMEDIATE_DIR)/experimental-extras-libraries.cc',
2378          ],
2379          'action': [
2380            'python',
2381            '../tools/js2c.py',
2382            '<(SHARED_INTERMEDIATE_DIR)/experimental-extras-libraries.cc',
2383            'EXPERIMENTAL_EXTRAS',
2384            '<@(v8_experimental_extra_library_files)',
2385          ],
2386        },
2387        {
2388          'action_name': 'js2c_experimental_extras_bin',
2389          'inputs': [
2390            '../tools/js2c.py',
2391            '<@(v8_experimental_extra_library_files)',
2392          ],
2393          'outputs': ['<@(libraries_experimental_extras_bin_file)'],
2394          'action': [
2395            'python',
2396            '../tools/js2c.py',
2397            '<(SHARED_INTERMEDIATE_DIR)/experimental-extras-libraries.cc',
2398            'EXPERIMENTAL_EXTRAS',
2399            '<@(v8_experimental_extra_library_files)',
2400            '--startup_blob', '<@(libraries_experimental_extras_bin_file)',
2401            '--nojs',
2402          ],
2403        },
2404      ],
2405    },
2406    {
2407      'target_name': 'postmortem-metadata',
2408      'type': 'none',
2409      'variables': {
2410        'heapobject_files': [
2411            'objects.h',
2412            'objects-inl.h',
2413        ],
2414      },
2415      'actions': [
2416          {
2417            'action_name': 'gen-postmortem-metadata',
2418            'inputs': [
2419              '../tools/gen-postmortem-metadata.py',
2420              '<@(heapobject_files)',
2421            ],
2422            'outputs': [
2423              '<(SHARED_INTERMEDIATE_DIR)/debug-support.cc',
2424            ],
2425            'action': [
2426              'python',
2427              '../tools/gen-postmortem-metadata.py',
2428              '<@(_outputs)',
2429              '<@(heapobject_files)'
2430            ]
2431          }
2432        ]
2433    },
2434    {
2435      'target_name': 'mksnapshot',
2436      'type': 'executable',
2437      'dependencies': [
2438        'v8_base',
2439        'v8_libbase',
2440        'v8_nosnapshot',
2441        'v8_libplatform'
2442      ],
2443      'include_dirs+': [
2444        '..',
2445        '<(DEPTH)',
2446      ],
2447      'sources': [
2448        'snapshot/mksnapshot.cc',
2449      ],
2450      'conditions': [
2451        ['v8_enable_i18n_support==1', {
2452          'dependencies': [
2453            '<(icu_gyp_path):icui18n',
2454            '<(icu_gyp_path):icuuc',
2455          ]
2456        }],
2457        ['want_separate_host_toolset==1', {
2458          'toolsets': ['host'],
2459        }, {
2460          'toolsets': ['target'],
2461        }],
2462      ],
2463    },
2464    {
2465      'target_name': 'mkpeephole',
2466      'type': 'executable',
2467      'dependencies': [ 'v8_libbase' ],
2468      'include_dirs+': [
2469        '..',
2470       ],
2471      'sources': [
2472        'interpreter/bytecode-operands.h',
2473        'interpreter/bytecode-operands.cc',
2474        'interpreter/bytecode-peephole-table.h',
2475        'interpreter/bytecode-traits.h',
2476        'interpreter/bytecodes.h',
2477        'interpreter/bytecodes.cc',
2478        'interpreter/mkpeephole.cc'
2479      ],
2480      'conditions': [
2481        ['want_separate_host_toolset_mkpeephole==1', {
2482          'toolsets': ['host'],
2483        }, {
2484          'toolsets': ['target'],
2485        }],
2486      ],
2487    },
2488  ],
2489}
2490