blob: 140e65139b4e18cc914026f7ecb5f809f4148c87 [file] [log] [blame]
# 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",
"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",
]
}