# 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", "finalizer_traits.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", "name_traits.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", "name_trait_test.cc", "object_start_bitmap_test.cc", "persistent_test.cc", "run_all_tests.cc", "thread_state_scheduling_test.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", ] }