daa296b564
This always creates the bytecode handlers as part of the builtins table regardless of the V8_EMBEDDED_BYTECODE_HANDLERS definition. Lazy deserialization of bytecode handlers is enabled for this flow by moving the three lazy bytecode deserializers from the strong roots into the builtins table (ensuring that they not marked lazy themselves). To simplify lazy deserialization, the illegal bytecode handler is made non-lazy so that GetAndMaybeDeserializeBytecodeHandler doesn't to know about it. Since the bytecode handlers are now always part of the builtins table, many bytecode specific methods are removed, including logging and in BuiltinsSerializer and BuiltinsDeserializer. Removes setup-interpreter.h, setup-interpreter-internal.cc and builtin-snapshot-utils.*. Change-Id: Ie421aa897a04f7b3bcb964c476eb7ab149388d53 Reviewed-on: https://chromium-review.googlesource.com/1220046 Reviewed-by: Hannes Payer <hpayer@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#56063}
28 lines
779 B
C++
28 lines
779 B
C++
// Copyright 2017 the V8 project authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
#ifndef V8_TEST_CCTEST_SETUP_ISOLATE_FOR_TESTS_H_
|
|
#define V8_TEST_CCTEST_SETUP_ISOLATE_FOR_TESTS_H_
|
|
|
|
#include "src/setup-isolate.h"
|
|
|
|
namespace v8 {
|
|
namespace internal {
|
|
|
|
class SetupIsolateDelegateForTests : public SetupIsolateDelegate {
|
|
public:
|
|
explicit SetupIsolateDelegateForTests(bool create_heap_objects)
|
|
: SetupIsolateDelegate(create_heap_objects) {}
|
|
~SetupIsolateDelegateForTests() override = default;
|
|
|
|
void SetupBuiltins(Isolate* isolate) override;
|
|
|
|
bool SetupHeap(Heap* heap) override;
|
|
};
|
|
|
|
} // namespace internal
|
|
} // namespace v8
|
|
|
|
#endif // V8_TEST_CCTEST_SETUP_ISOLATE_FOR_TESTS_H_
|