1// Copyright 2017 the V8 project authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#include "src/setup-isolate.h"
6
7#include "src/base/logging.h"
8#include "src/debug/debug-evaluate.h"
9#include "src/heap/heap-inl.h"
10#include "src/interpreter/interpreter.h"
11#include "src/isolate.h"
12
13namespace v8 {
14namespace internal {
15
16void SetupIsolateDelegate::SetupBuiltins(Isolate* isolate) {
17 if (create_heap_objects_) {
18 SetupBuiltinsInternal(isolate);
19#ifdef DEBUG
20 DebugEvaluate::VerifyTransitiveBuiltins(isolate);
21#endif // DEBUG
22 } else {
23 CHECK(isolate->snapshot_available());
24 }
25}
26
27bool SetupIsolateDelegate::SetupHeap(Heap* heap) {
28 if (create_heap_objects_) {
29 return SetupHeapInternal(heap);
30 } else {
31 CHECK(heap->isolate()->snapshot_available());
32 return true;
33 }
34}
35
36} // namespace internal
37} // namespace v8
38