| # Copyright 2014 The Chromium Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| import("//build/buildflag_header.gni") |
| import("//build/config/jumbo.gni") |
| import("//third_party/blink/renderer/platform/platform.gni") |
| import("//testing/test.gni") |
| |
| declare_args() { |
| # Build Blink with incremental marking infrastructure for Oilpan. |
| # |
| # To turn on incremental marking also use |
| # --enable-blink-features=HeapIncrementalMarking |
| enable_blink_heap_incremental_marking = true |
| |
| # Enables heap verification. |
| enable_blink_heap_verification = false |
| } |
| |
| buildflag_header("blink_heap_buildflags") { |
| header = "heap_buildflags.h" |
| header_dir = "third_party/blink/renderer/platform/heap" |
| |
| flags = [ |
| "BLINK_HEAP_INCREMENTAL_MARKING=$enable_blink_heap_incremental_marking", |
| "BLINK_HEAP_VERIFICATION=$enable_blink_heap_verification", |
| ] |
| } |
| |
| blink_platform_sources("heap") { |
| sources = [ |
| "address_cache.cc", |
| "address_cache.h", |
| "blink_gc.h", |
| "blink_gc_memory_dump_provider.cc", |
| "blink_gc_memory_dump_provider.h", |
| "garbage_collected.h", |
| "gc_info.cc", |
| "gc_info.h", |
| "gc_task_runner.h", |
| "handle.h", |
| "heap.cc", |
| "heap.h", |
| "heap_allocator.cc", |
| "heap_allocator.h", |
| "heap_compact.cc", |
| "heap_compact.h", |
| "heap_linked_stack.h", |
| "heap_page.cc", |
| "heap_page.h", |
| "heap_stats_collector.cc", |
| "heap_stats_collector.h", |
| "heap_terminated_array.h", |
| "heap_terminated_array_builder.h", |
| "heap_traits.h", |
| "marking_verifier.h", |
| "marking_visitor.cc", |
| "marking_visitor.h", |
| "member.h", |
| "page_memory.cc", |
| "page_memory.h", |
| "page_pool.cc", |
| "page_pool.h", |
| "persistent.h", |
| "persistent_node.cc", |
| "persistent_node.h", |
| "process_heap.cc", |
| "process_heap.h", |
| "safe_point.h", |
| "self_keep_alive.h", |
| "sparse_heap_bitmap.cc", |
| "sparse_heap_bitmap.h", |
| "stack_frame_depth.cc", |
| "stack_frame_depth.h", |
| "thread_state.cc", |
| "thread_state.h", |
| "threading_traits.h", |
| "trace_traits.h", |
| "visitor.h", |
| "worklist.h", |
| ] |
| |
| deps = [ |
| ":blink_heap_buildflags", |
| "//base", |
| "//third_party/blink/renderer/platform:make_platform_generated", |
| "//third_party/blink/renderer/platform/heap/asm", |
| "//third_party/icu", |
| "//v8", |
| ] |
| } |
| |
| test("blink_heap_unittests") { |
| deps = [ |
| ":blink_heap_unittests_sources", |
| ] |
| if (is_android) { |
| deps += [ |
| "//base:base_java", |
| "//content/shell/android:content_shell_assets", |
| "//net/android:net_java", |
| "//ui/android:ui_full_java", |
| ] |
| } |
| } |
| |
| jumbo_source_set("blink_heap_unittests_sources") { |
| testonly = true |
| sources = [ |
| "address_cache_test.cc", |
| "blink_gc_memory_dump_provider_test.cc", |
| "gc_info_test.cc", |
| "heap_compact_test.cc", |
| "heap_stats_collector_test.cc", |
| "heap_test.cc", |
| "heap_test_utilities.cc", |
| "heap_test_utilities.h", |
| "heap_traits_test.cc", |
| "incremental_marking_test.cc", |
| "object_start_bitmap_test.cc", |
| "persistent_test.cc", |
| "run_all_tests.cc", |
| "worklist_test.cc", |
| ] |
| |
| configs += [ |
| "//third_party/blink/renderer/platform/wtf:wtf_config", |
| "//third_party/blink/renderer:config", |
| "//third_party/blink/renderer:inside_blink", |
| ] |
| |
| deps = [ |
| "//base", |
| "//base/test:test_support", |
| "//content/test:test_support", |
| "//testing/gmock", |
| "//testing/gtest", |
| "//third_party/blink/renderer/platform:test_support", |
| "//third_party/blink/renderer/platform/wtf", |
| ] |
| } |