[builtins] Move more files into v8_builtins_generators source set
BUG=v8:6055 Review-Url: https://codereview.chromium.org/2760953002 Cr-Commit-Position: refs/heads/master@{#43975}
This commit is contained in:
parent
fa3f8c6fb0
commit
f8c707305b
77
BUILD.gn
77
BUILD.gn
@ -902,19 +902,20 @@ v8_source_set("v8_builtins_generators") {
|
||||
sources = [
|
||||
### gcmole(all) ###
|
||||
"src/builtins/builtins-arguments-gen.cc",
|
||||
"src/builtins/builtins-arguments.h",
|
||||
"src/builtins/builtins-arguments-gen.h",
|
||||
"src/builtins/builtins-array-gen.cc",
|
||||
"src/builtins/builtins-async-function-gen.cc",
|
||||
"src/builtins/builtins-async-gen.cc",
|
||||
"src/builtins/builtins-async-gen.h",
|
||||
"src/builtins/builtins-async-iterator-gen.cc",
|
||||
"src/builtins/builtins-async.h",
|
||||
"src/builtins/builtins-boolean-gen.cc",
|
||||
"src/builtins/builtins-constructor-gen.cc",
|
||||
"src/builtins/builtins-constructor-gen.h",
|
||||
"src/builtins/builtins-constructor.h",
|
||||
"src/builtins/builtins-conversion-gen.cc",
|
||||
"src/builtins/builtins-date-gen.cc",
|
||||
"src/builtins/builtins-forin-gen.cc",
|
||||
"src/builtins/builtins-forin.h",
|
||||
"src/builtins/builtins-forin-gen.h",
|
||||
"src/builtins/builtins-function-gen.cc",
|
||||
"src/builtins/builtins-generator-gen.cc",
|
||||
"src/builtins/builtins-global-gen.cc",
|
||||
@ -925,7 +926,7 @@ v8_source_set("v8_builtins_generators") {
|
||||
"src/builtins/builtins-number-gen.cc",
|
||||
"src/builtins/builtins-object-gen.cc",
|
||||
"src/builtins/builtins-promise-gen.cc",
|
||||
"src/builtins/builtins-promise.h",
|
||||
"src/builtins/builtins-promise-gen.h",
|
||||
"src/builtins/builtins-regexp-gen.cc",
|
||||
"src/builtins/builtins-regexp-gen.h",
|
||||
"src/builtins/builtins-sharedarraybuffer-gen.cc",
|
||||
@ -934,10 +935,61 @@ v8_source_set("v8_builtins_generators") {
|
||||
"src/builtins/builtins-typedarray-gen.cc",
|
||||
"src/builtins/builtins-utils-gen.h",
|
||||
"src/builtins/builtins-wasm-gen.cc",
|
||||
"src/ic/accessor-assembler.cc",
|
||||
"src/ic/accessor-assembler.h",
|
||||
"src/ic/keyed-store-generic.cc",
|
||||
"src/ic/keyed-store-generic.h",
|
||||
"src/interpreter/interpreter-generator.cc",
|
||||
"src/interpreter/interpreter-generator.h",
|
||||
]
|
||||
|
||||
if (v8_current_cpu == "x86") {
|
||||
sources += [
|
||||
### gcmole(arch:ia32) ###
|
||||
"src/builtins/ia32/builtins-ia32.cc",
|
||||
]
|
||||
} else if (v8_current_cpu == "x64") {
|
||||
sources += [
|
||||
### gcmole(arch:x64) ###
|
||||
"src/builtins/x64/builtins-x64.cc",
|
||||
]
|
||||
} else if (v8_current_cpu == "arm") {
|
||||
sources += [
|
||||
### gcmole(arch:arm) ###
|
||||
"src/builtins/arm/builtins-arm.cc",
|
||||
]
|
||||
} else if (v8_current_cpu == "arm64") {
|
||||
sources += [
|
||||
### gcmole(arch:arm64) ###
|
||||
"src/builtins/arm64/builtins-arm64.cc",
|
||||
]
|
||||
} else if (v8_current_cpu == "mips" || v8_current_cpu == "mipsel") {
|
||||
sources += [
|
||||
### gcmole(arch:mipsel) ###
|
||||
"src/builtins/mips/builtins-mips.cc",
|
||||
]
|
||||
} else if (v8_current_cpu == "mips64" || v8_current_cpu == "mips64el") {
|
||||
sources += [
|
||||
### gcmole(arch:mips64el) ###
|
||||
"src/builtins/mips64/builtins-mips64.cc",
|
||||
]
|
||||
} else if (v8_current_cpu == "ppc" || v8_current_cpu == "ppc64") {
|
||||
sources += [
|
||||
### gcmole(arch:ppc) ###
|
||||
"src/builtins/ppc/builtins-ppc.cc",
|
||||
]
|
||||
} else if (v8_current_cpu == "s390" || v8_current_cpu == "s390x") {
|
||||
sources += [
|
||||
### gcmole(arch:s390) ###
|
||||
"src/builtins/s390/builtins-s390.cc",
|
||||
]
|
||||
} else if (v8_current_cpu == "x87") {
|
||||
sources += [
|
||||
### gcmole(arch:x87) ###
|
||||
"src/builtins/x87/builtins-x87.cc",
|
||||
]
|
||||
}
|
||||
|
||||
configs = [ ":internal_config" ]
|
||||
}
|
||||
|
||||
@ -1042,7 +1094,6 @@ v8_source_set("v8_base") {
|
||||
"src/bootstrapper.cc",
|
||||
"src/bootstrapper.h",
|
||||
"src/builtins/builtins-api.cc",
|
||||
"src/builtins/builtins-arguments.h",
|
||||
"src/builtins/builtins-array.cc",
|
||||
"src/builtins/builtins-arraybuffer.cc",
|
||||
"src/builtins/builtins-boolean.cc",
|
||||
@ -1054,7 +1105,6 @@ v8_source_set("v8_base") {
|
||||
"src/builtins/builtins-debug.cc",
|
||||
"src/builtins/builtins-descriptors.h",
|
||||
"src/builtins/builtins-error.cc",
|
||||
"src/builtins/builtins-forin.h",
|
||||
"src/builtins/builtins-function.cc",
|
||||
"src/builtins/builtins-global.cc",
|
||||
"src/builtins/builtins-internal.cc",
|
||||
@ -1063,10 +1113,8 @@ v8_source_set("v8_base") {
|
||||
"src/builtins/builtins-math.cc",
|
||||
"src/builtins/builtins-number.cc",
|
||||
"src/builtins/builtins-object.cc",
|
||||
"src/builtins/builtins-promise.h",
|
||||
"src/builtins/builtins-proxy.cc",
|
||||
"src/builtins/builtins-reflect.cc",
|
||||
"src/builtins/builtins-regexp-gen.h",
|
||||
"src/builtins/builtins-regexp.cc",
|
||||
"src/builtins/builtins-sharedarraybuffer.cc",
|
||||
"src/builtins/builtins-string.cc",
|
||||
@ -1532,8 +1580,6 @@ v8_source_set("v8_base") {
|
||||
"src/ic/access-compiler-data.h",
|
||||
"src/ic/access-compiler.cc",
|
||||
"src/ic/access-compiler.h",
|
||||
"src/ic/accessor-assembler.cc",
|
||||
"src/ic/accessor-assembler.h",
|
||||
"src/ic/call-optimization.cc",
|
||||
"src/ic/call-optimization.h",
|
||||
"src/ic/handler-compiler.cc",
|
||||
@ -1547,8 +1593,6 @@ v8_source_set("v8_base") {
|
||||
"src/ic/ic-stats.h",
|
||||
"src/ic/ic.cc",
|
||||
"src/ic/ic.h",
|
||||
"src/ic/keyed-store-generic.cc",
|
||||
"src/ic/keyed-store-generic.h",
|
||||
"src/ic/stub-cache.cc",
|
||||
"src/ic/stub-cache.h",
|
||||
"src/icu_util.cc",
|
||||
@ -1912,7 +1956,6 @@ v8_source_set("v8_base") {
|
||||
|
||||
if (v8_current_cpu == "x86") {
|
||||
sources += [ ### gcmole(arch:ia32) ###
|
||||
"src/builtins/ia32/builtins-ia32.cc",
|
||||
"src/compiler/ia32/code-generator-ia32.cc",
|
||||
"src/compiler/ia32/instruction-codes-ia32.h",
|
||||
"src/compiler/ia32/instruction-scheduler-ia32.cc",
|
||||
@ -1951,7 +1994,6 @@ v8_source_set("v8_base") {
|
||||
]
|
||||
} else if (v8_current_cpu == "x64") {
|
||||
sources += [ ### gcmole(arch:x64) ###
|
||||
"src/builtins/x64/builtins-x64.cc",
|
||||
"src/compiler/x64/code-generator-x64.cc",
|
||||
"src/compiler/x64/instruction-codes-x64.h",
|
||||
"src/compiler/x64/instruction-scheduler-x64.cc",
|
||||
@ -2018,7 +2060,6 @@ v8_source_set("v8_base") {
|
||||
"src/arm/macro-assembler-arm.h",
|
||||
"src/arm/simulator-arm.cc",
|
||||
"src/arm/simulator-arm.h",
|
||||
"src/builtins/arm/builtins-arm.cc",
|
||||
"src/compiler/arm/code-generator-arm.cc",
|
||||
"src/compiler/arm/instruction-codes-arm.h",
|
||||
"src/compiler/arm/instruction-scheduler-arm.cc",
|
||||
@ -2072,7 +2113,6 @@ v8_source_set("v8_base") {
|
||||
"src/arm64/simulator-arm64.h",
|
||||
"src/arm64/utils-arm64.cc",
|
||||
"src/arm64/utils-arm64.h",
|
||||
"src/builtins/arm64/builtins-arm64.cc",
|
||||
"src/compiler/arm64/code-generator-arm64.cc",
|
||||
"src/compiler/arm64/instruction-codes-arm64.h",
|
||||
"src/compiler/arm64/instruction-scheduler-arm64.cc",
|
||||
@ -2098,7 +2138,6 @@ v8_source_set("v8_base") {
|
||||
]
|
||||
} else if (v8_current_cpu == "mips" || v8_current_cpu == "mipsel") {
|
||||
sources += [ ### gcmole(arch:mipsel) ###
|
||||
"src/builtins/mips/builtins-mips.cc",
|
||||
"src/compiler/mips/code-generator-mips.cc",
|
||||
"src/compiler/mips/instruction-codes-mips.h",
|
||||
"src/compiler/mips/instruction-scheduler-mips.cc",
|
||||
@ -2138,7 +2177,6 @@ v8_source_set("v8_base") {
|
||||
]
|
||||
} else if (v8_current_cpu == "mips64" || v8_current_cpu == "mips64el") {
|
||||
sources += [ ### gcmole(arch:mips64el) ###
|
||||
"src/builtins/mips64/builtins-mips64.cc",
|
||||
"src/compiler/mips64/code-generator-mips64.cc",
|
||||
"src/compiler/mips64/instruction-codes-mips64.h",
|
||||
"src/compiler/mips64/instruction-scheduler-mips64.cc",
|
||||
@ -2178,7 +2216,6 @@ v8_source_set("v8_base") {
|
||||
]
|
||||
} else if (v8_current_cpu == "ppc" || v8_current_cpu == "ppc64") {
|
||||
sources += [ ### gcmole(arch:ppc) ###
|
||||
"src/builtins/ppc/builtins-ppc.cc",
|
||||
"src/compiler/ppc/code-generator-ppc.cc",
|
||||
"src/compiler/ppc/instruction-codes-ppc.h",
|
||||
"src/compiler/ppc/instruction-scheduler-ppc.cc",
|
||||
@ -2218,7 +2255,6 @@ v8_source_set("v8_base") {
|
||||
]
|
||||
} else if (v8_current_cpu == "s390" || v8_current_cpu == "s390x") {
|
||||
sources += [ ### gcmole(arch:s390) ###
|
||||
"src/builtins/s390/builtins-s390.cc",
|
||||
"src/compiler/s390/code-generator-s390.cc",
|
||||
"src/compiler/s390/instruction-codes-s390.h",
|
||||
"src/compiler/s390/instruction-scheduler-s390.cc",
|
||||
@ -2258,7 +2294,6 @@ v8_source_set("v8_base") {
|
||||
]
|
||||
} else if (v8_current_cpu == "x87") {
|
||||
sources += [ ### gcmole(arch:x87) ###
|
||||
"src/builtins/x87/builtins-x87.cc",
|
||||
"src/compiler/x87/code-generator-x87.cc",
|
||||
"src/compiler/x87/instruction-codes-x87.h",
|
||||
"src/compiler/x87/instruction-scheduler-x87.cc",
|
||||
|
@ -687,8 +687,8 @@ bool ObjectLiteral::IsFastCloningSupported() const {
|
||||
// literals don't support copy-on-write (COW) elements for now.
|
||||
// TODO(mvstanton): make object literals support COW elements.
|
||||
return fast_elements() && has_shallow_properties() &&
|
||||
properties_count() <= ConstructorBuiltinsAssembler::
|
||||
kMaximumClonedShallowObjectProperties;
|
||||
properties_count() <=
|
||||
ConstructorBuiltins::kMaximumClonedShallowObjectProperties;
|
||||
}
|
||||
|
||||
ElementsKind ArrayLiteral::constant_elements_kind() const {
|
||||
@ -792,7 +792,7 @@ void ArrayLiteral::BuildConstantElements(Isolate* isolate) {
|
||||
bool ArrayLiteral::IsFastCloningSupported() const {
|
||||
return depth() <= 1 &&
|
||||
values()->length() <=
|
||||
ConstructorBuiltinsAssembler::kMaximumClonedShallowArrayElements;
|
||||
ConstructorBuiltins::kMaximumClonedShallowArrayElements;
|
||||
}
|
||||
|
||||
void ArrayLiteral::RewindSpreads() {
|
||||
|
@ -2,7 +2,8 @@
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
#include "src/builtins/builtins-arguments.h"
|
||||
#include "src/builtins/builtins-arguments-gen.h"
|
||||
|
||||
#include "src/builtins/builtins-utils-gen.h"
|
||||
#include "src/builtins/builtins.h"
|
||||
#include "src/code-factory.h"
|
||||
|
@ -2,7 +2,7 @@
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
#include "src/builtins/builtins-async.h"
|
||||
#include "src/builtins/builtins-async-gen.h"
|
||||
#include "src/builtins/builtins-utils-gen.h"
|
||||
#include "src/builtins/builtins.h"
|
||||
#include "src/code-stub-assembler.h"
|
||||
|
@ -2,7 +2,7 @@
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
#include "src/builtins/builtins-async.h"
|
||||
#include "src/builtins/builtins-async-gen.h"
|
||||
|
||||
namespace v8 {
|
||||
namespace internal {
|
||||
|
@ -5,7 +5,7 @@
|
||||
#ifndef V8_BUILTINS_BUILTINS_ASYNC_H_
|
||||
#define V8_BUILTINS_BUILTINS_ASYNC_H_
|
||||
|
||||
#include "src/builtins/builtins-promise.h"
|
||||
#include "src/builtins/builtins-promise-gen.h"
|
||||
|
||||
namespace v8 {
|
||||
namespace internal {
|
@ -2,7 +2,7 @@
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
#include "src/builtins/builtins-async.h"
|
||||
#include "src/builtins/builtins-async-gen.h"
|
||||
#include "src/builtins/builtins-utils-gen.h"
|
||||
#include "src/builtins/builtins.h"
|
||||
#include "src/code-factory.h"
|
||||
|
@ -2,6 +2,8 @@
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
#include "src/builtins/builtins-constructor-gen.h"
|
||||
|
||||
#include "src/ast/ast.h"
|
||||
#include "src/builtins/builtins-constructor.h"
|
||||
#include "src/builtins/builtins-utils-gen.h"
|
||||
@ -330,7 +332,7 @@ Node* ConstructorBuiltinsAssembler::EmitFastNewFunctionContext(
|
||||
slots = ChangeUint32ToWord(slots);
|
||||
|
||||
// TODO(ishell): Use CSA::OptimalParameterMode() here.
|
||||
CodeStubAssembler::ParameterMode mode = CodeStubAssembler::INTPTR_PARAMETERS;
|
||||
ParameterMode mode = INTPTR_PARAMETERS;
|
||||
Node* min_context_slots = IntPtrConstant(Context::MIN_CONTEXT_SLOTS);
|
||||
Node* length = IntPtrAdd(slots, min_context_slots);
|
||||
Node* size = GetFixedArrayAllocationSize(length, FAST_ELEMENTS, mode);
|
||||
@ -379,12 +381,6 @@ Node* ConstructorBuiltinsAssembler::EmitFastNewFunctionContext(
|
||||
return function_context;
|
||||
}
|
||||
|
||||
// static
|
||||
int ConstructorBuiltinsAssembler::MaximumFunctionContextSlots() {
|
||||
return FLAG_test_small_max_function_context_stub_size ? kSmallMaximumSlots
|
||||
: kMaximumSlots;
|
||||
}
|
||||
|
||||
TF_BUILTIN(FastNewFunctionContextEval, ConstructorBuiltinsAssembler) {
|
||||
Node* function = Parameter(FastNewFunctionContextDescriptor::kFunction);
|
||||
Node* slots = Parameter(FastNewFunctionContextDescriptor::kSlots);
|
||||
@ -406,10 +402,6 @@ Node* ConstructorBuiltinsAssembler::EmitFastCloneRegExp(Node* closure,
|
||||
Node* pattern,
|
||||
Node* flags,
|
||||
Node* context) {
|
||||
typedef CodeStubAssembler::Label Label;
|
||||
typedef CodeStubAssembler::Variable Variable;
|
||||
typedef compiler::Node Node;
|
||||
|
||||
Label call_runtime(this, Label::kDeferred), end(this);
|
||||
|
||||
Variable result(this, MachineRepresentation::kTagged);
|
||||
@ -455,8 +447,6 @@ TF_BUILTIN(FastCloneRegExp, ConstructorBuiltinsAssembler) {
|
||||
Node* ConstructorBuiltinsAssembler::NonEmptyShallowClone(
|
||||
Node* boilerplate, Node* boilerplate_map, Node* boilerplate_elements,
|
||||
Node* allocation_site, Node* capacity, ElementsKind kind) {
|
||||
typedef CodeStubAssembler::ParameterMode ParameterMode;
|
||||
|
||||
ParameterMode param_mode = OptimalParameterMode();
|
||||
|
||||
Node* length = LoadJSArrayLength(boilerplate);
|
||||
@ -589,9 +579,6 @@ Node* ConstructorBuiltinsAssembler::EmitFastCloneShallowArray(
|
||||
|
||||
void ConstructorBuiltinsAssembler::CreateFastCloneShallowArrayBuiltin(
|
||||
AllocationSiteMode allocation_site_mode) {
|
||||
typedef compiler::Node Node;
|
||||
typedef CodeStubAssembler::Label Label;
|
||||
|
||||
Node* closure = Parameter(FastCloneShallowArrayDescriptor::kClosure);
|
||||
Node* literal_index =
|
||||
Parameter(FastCloneShallowArrayDescriptor::kLiteralIndex);
|
||||
@ -623,18 +610,6 @@ TF_BUILTIN(FastCloneShallowArrayDontTrack, ConstructorBuiltinsAssembler) {
|
||||
CreateFastCloneShallowArrayBuiltin(DONT_TRACK_ALLOCATION_SITE);
|
||||
}
|
||||
|
||||
// static
|
||||
int ConstructorBuiltinsAssembler::FastCloneShallowObjectPropertiesCount(
|
||||
int literal_length) {
|
||||
// This heuristic of setting empty literals to have
|
||||
// kInitialGlobalObjectUnusedPropertiesCount must remain in-sync with the
|
||||
// runtime.
|
||||
// TODO(verwaest): Unify this with the heuristic in the runtime.
|
||||
return literal_length == 0
|
||||
? JSObject::kInitialGlobalObjectUnusedPropertiesCount
|
||||
: literal_length;
|
||||
}
|
||||
|
||||
Node* ConstructorBuiltinsAssembler::EmitFastCloneShallowObject(
|
||||
Label* call_runtime, Node* closure, Node* literals_index,
|
||||
Node* properties_count) {
|
||||
@ -705,13 +680,15 @@ Node* ConstructorBuiltinsAssembler::EmitFastCloneShallowObject(
|
||||
void ConstructorBuiltinsAssembler::CreateFastCloneShallowObjectBuiltin(
|
||||
int properties_count) {
|
||||
DCHECK_GE(properties_count, 0);
|
||||
DCHECK_LE(properties_count, kMaximumClonedShallowObjectProperties);
|
||||
DCHECK_LE(properties_count,
|
||||
ConstructorBuiltins::kMaximumClonedShallowObjectProperties);
|
||||
Label call_runtime(this);
|
||||
Node* closure = Parameter(0);
|
||||
Node* literals_index = Parameter(1);
|
||||
|
||||
Node* properties_count_node =
|
||||
IntPtrConstant(FastCloneShallowObjectPropertiesCount(properties_count));
|
||||
IntPtrConstant(ConstructorBuiltins::FastCloneShallowObjectPropertiesCount(
|
||||
properties_count));
|
||||
Node* copy = EmitFastCloneShallowObject(
|
||||
&call_runtime, closure, literals_index, properties_count_node);
|
||||
Return(copy);
|
||||
|
51
src/builtins/builtins-constructor-gen.h
Normal file
51
src/builtins/builtins-constructor-gen.h
Normal file
@ -0,0 +1,51 @@
|
||||
// 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_BUILTINS_BUILTINS_CONSTRUCTOR_GEN_H_
|
||||
#define V8_BUILTINS_BUILTINS_CONSTRUCTOR_GEN_H_
|
||||
|
||||
#include "src/code-stub-assembler.h"
|
||||
|
||||
namespace v8 {
|
||||
namespace internal {
|
||||
|
||||
class ConstructorBuiltinsAssembler : public CodeStubAssembler {
|
||||
public:
|
||||
explicit ConstructorBuiltinsAssembler(compiler::CodeAssemblerState* state)
|
||||
: CodeStubAssembler(state) {}
|
||||
|
||||
Node* EmitFastNewClosure(Node* shared_info, Node* feedback_vector, Node* slot,
|
||||
Node* context);
|
||||
Node* EmitFastNewFunctionContext(Node* closure, Node* slots, Node* context,
|
||||
ScopeType scope_type);
|
||||
|
||||
Node* EmitFastCloneRegExp(Node* closure, Node* literal_index, Node* pattern,
|
||||
Node* flags, Node* context);
|
||||
Node* EmitFastCloneShallowArray(Node* closure, Node* literal_index,
|
||||
Node* context, Label* call_runtime,
|
||||
AllocationSiteMode allocation_site_mode);
|
||||
|
||||
void CreateFastCloneShallowArrayBuiltin(
|
||||
AllocationSiteMode allocation_site_mode);
|
||||
|
||||
Node* EmitFastCloneShallowObject(Label* call_runtime, Node* closure,
|
||||
Node* literals_index,
|
||||
Node* properties_count);
|
||||
void CreateFastCloneShallowObjectBuiltin(int properties_count);
|
||||
|
||||
Node* EmitFastNewObject(Node* context, Node* target, Node* new_target);
|
||||
|
||||
Node* EmitFastNewObject(Node* context, Node* target, Node* new_target,
|
||||
Label* call_runtime);
|
||||
|
||||
private:
|
||||
Node* NonEmptyShallowClone(Node* boilerplate, Node* boilerplate_map,
|
||||
Node* boilerplate_elements, Node* allocation_site,
|
||||
Node* capacity, ElementsKind kind);
|
||||
};
|
||||
|
||||
} // namespace internal
|
||||
} // namespace v8
|
||||
|
||||
#endif // V8_BUILTINS_BUILTINS_CONSTRUCTOR_GEN_H_
|
@ -2,57 +2,43 @@
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
#include "src/code-stub-assembler.h"
|
||||
#ifndef V8_BUILTINS_BUILTINS_CONSTRUCTOR_H_
|
||||
#define V8_BUILTINS_BUILTINS_CONSTRUCTOR_H_
|
||||
|
||||
#include "src/contexts.h"
|
||||
#include "src/objects.h"
|
||||
|
||||
namespace v8 {
|
||||
namespace internal {
|
||||
|
||||
class ConstructorBuiltinsAssembler : public CodeStubAssembler {
|
||||
class ConstructorBuiltins {
|
||||
public:
|
||||
explicit ConstructorBuiltinsAssembler(compiler::CodeAssemblerState* state)
|
||||
: CodeStubAssembler(state) {}
|
||||
|
||||
Node* EmitFastNewClosure(Node* shared_info, Node* feedback_vector, Node* slot,
|
||||
Node* context);
|
||||
Node* EmitFastNewFunctionContext(Node* closure, Node* slots, Node* context,
|
||||
ScopeType scope_type);
|
||||
static int MaximumFunctionContextSlots();
|
||||
|
||||
Node* EmitFastCloneRegExp(Node* closure, Node* literal_index, Node* pattern,
|
||||
Node* flags, Node* context);
|
||||
Node* EmitFastCloneShallowArray(Node* closure, Node* literal_index,
|
||||
Node* context, Label* call_runtime,
|
||||
AllocationSiteMode allocation_site_mode);
|
||||
static int MaximumFunctionContextSlots() {
|
||||
return FLAG_test_small_max_function_context_stub_size ? kSmallMaximumSlots
|
||||
: kMaximumSlots;
|
||||
}
|
||||
|
||||
// Maximum number of elements in copied array (chosen so that even an array
|
||||
// backed by a double backing store will fit into new-space).
|
||||
static const int kMaximumClonedShallowArrayElements =
|
||||
JSArray::kInitialMaxFastElementArray * kPointerSize / kDoubleSize;
|
||||
|
||||
void CreateFastCloneShallowArrayBuiltin(
|
||||
AllocationSiteMode allocation_site_mode);
|
||||
|
||||
// Maximum number of properties in copied objects.
|
||||
static const int kMaximumClonedShallowObjectProperties = 6;
|
||||
static int FastCloneShallowObjectPropertiesCount(int literal_length);
|
||||
Node* EmitFastCloneShallowObject(Label* call_runtime, Node* closure,
|
||||
Node* literals_index,
|
||||
Node* properties_count);
|
||||
void CreateFastCloneShallowObjectBuiltin(int properties_count);
|
||||
|
||||
Node* EmitFastNewObject(Node* context, Node* target, Node* new_target);
|
||||
|
||||
Node* EmitFastNewObject(Node* context, Node* target, Node* new_target,
|
||||
Label* call_runtime);
|
||||
static int FastCloneShallowObjectPropertiesCount(int literal_length) {
|
||||
// This heuristic of setting empty literals to have
|
||||
// kInitialGlobalObjectUnusedPropertiesCount must remain in-sync with the
|
||||
// runtime.
|
||||
// TODO(verwaest): Unify this with the heuristic in the runtime.
|
||||
return literal_length == 0
|
||||
? JSObject::kInitialGlobalObjectUnusedPropertiesCount
|
||||
: literal_length;
|
||||
}
|
||||
|
||||
private:
|
||||
static const int kMaximumSlots = 0x8000;
|
||||
static const int kSmallMaximumSlots = 10;
|
||||
|
||||
Node* NonEmptyShallowClone(Node* boilerplate, Node* boilerplate_map,
|
||||
Node* boilerplate_elements, Node* allocation_site,
|
||||
Node* capacity, ElementsKind kind);
|
||||
|
||||
// FastNewFunctionContext can only allocate closures which fit in the
|
||||
// new space.
|
||||
STATIC_ASSERT(((kMaximumSlots + Context::MIN_CONTEXT_SLOTS) * kPointerSize +
|
||||
@ -61,3 +47,5 @@ class ConstructorBuiltinsAssembler : public CodeStubAssembler {
|
||||
|
||||
} // namespace internal
|
||||
} // namespace v8
|
||||
|
||||
#endif // V8_BUILTINS_BUILTINS_CONSTRUCTOR_H_
|
||||
|
@ -2,7 +2,7 @@
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
#include "src/builtins/builtins-forin.h"
|
||||
#include "src/builtins/builtins-forin-gen.h"
|
||||
|
||||
#include "src/builtins/builtins-utils-gen.h"
|
||||
#include "src/builtins/builtins.h"
|
||||
|
@ -2,8 +2,9 @@
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
#include "src/builtins/builtins-constructor.h"
|
||||
#include "src/builtins/builtins-promise.h"
|
||||
#include "src/builtins/builtins-promise-gen.h"
|
||||
|
||||
#include "src/builtins/builtins-constructor-gen.h"
|
||||
#include "src/builtins/builtins-utils-gen.h"
|
||||
#include "src/builtins/builtins.h"
|
||||
#include "src/code-factory.h"
|
||||
|
@ -4,7 +4,7 @@
|
||||
|
||||
#include "src/builtins/builtins-regexp-gen.h"
|
||||
|
||||
#include "src/builtins/builtins-constructor.h"
|
||||
#include "src/builtins/builtins-constructor-gen.h"
|
||||
#include "src/builtins/builtins-utils-gen.h"
|
||||
#include "src/builtins/builtins.h"
|
||||
#include "src/code-factory.h"
|
||||
|
@ -392,8 +392,7 @@ void JSGenericLowering::LowerJSCreateFunctionContext(Node* node) {
|
||||
ScopeType scope_type = parameters.scope_type();
|
||||
CallDescriptor::Flags flags = FrameStateFlagForCall(node);
|
||||
|
||||
if (slot_count <=
|
||||
ConstructorBuiltinsAssembler::MaximumFunctionContextSlots()) {
|
||||
if (slot_count <= ConstructorBuiltins::MaximumFunctionContextSlots()) {
|
||||
Callable callable =
|
||||
CodeFactory::FastNewFunctionContext(isolate(), scope_type);
|
||||
node->InsertInput(zone(), 1, jsgraph()->Int32Constant(slot_count));
|
||||
@ -422,8 +421,7 @@ void JSGenericLowering::LowerJSCreateLiteralArray(Node* node) {
|
||||
// Use the FastCloneShallowArray builtin only for shallow boilerplates without
|
||||
// properties up to the number of elements that the stubs can handle.
|
||||
if ((p.flags() & ArrayLiteral::kShallowElements) != 0 &&
|
||||
p.length() <
|
||||
ConstructorBuiltinsAssembler::kMaximumClonedShallowArrayElements) {
|
||||
p.length() < ConstructorBuiltins::kMaximumClonedShallowArrayElements) {
|
||||
Callable callable = CodeFactory::FastCloneShallowArray(
|
||||
isolate(), DONT_TRACK_ALLOCATION_SITE);
|
||||
ReplaceWithStubCall(node, callable, flags);
|
||||
@ -445,7 +443,7 @@ void JSGenericLowering::LowerJSCreateLiteralObject(Node* node) {
|
||||
// without elements up to the number of properties that the stubs can handle.
|
||||
if ((p.flags() & ObjectLiteral::kShallowProperties) != 0 &&
|
||||
p.length() <=
|
||||
ConstructorBuiltinsAssembler::kMaximumClonedShallowObjectProperties) {
|
||||
ConstructorBuiltins::kMaximumClonedShallowObjectProperties) {
|
||||
Callable callable =
|
||||
CodeFactory::FastCloneShallowObject(isolate(), p.length());
|
||||
ReplaceWithStubCall(node, callable, flags);
|
||||
|
@ -167,8 +167,7 @@ void LCodeGen::DoPrologue(LPrologue* instr) {
|
||||
__ CallRuntime(Runtime::kNewScriptContext);
|
||||
deopt_mode = Safepoint::kLazyDeopt;
|
||||
} else {
|
||||
if (slots <=
|
||||
ConstructorBuiltinsAssembler::MaximumFunctionContextSlots()) {
|
||||
if (slots <= ConstructorBuiltins::MaximumFunctionContextSlots()) {
|
||||
Callable callable = CodeFactory::FastNewFunctionContext(
|
||||
isolate(), info()->scope()->scope_type());
|
||||
__ mov(FastNewFunctionContextDescriptor::SlotsRegister(),
|
||||
|
@ -621,8 +621,7 @@ void LCodeGen::DoPrologue(LPrologue* instr) {
|
||||
__ CallRuntime(Runtime::kNewScriptContext);
|
||||
deopt_mode = Safepoint::kLazyDeopt;
|
||||
} else {
|
||||
if (slots <=
|
||||
ConstructorBuiltinsAssembler::MaximumFunctionContextSlots()) {
|
||||
if (slots <= ConstructorBuiltins::MaximumFunctionContextSlots()) {
|
||||
Callable callable = CodeFactory::FastNewFunctionContext(
|
||||
isolate(), info()->scope()->scope_type());
|
||||
__ Mov(FastNewFunctionContextDescriptor::SlotsRegister(), slots);
|
||||
|
@ -177,8 +177,7 @@ void LCodeGen::DoPrologue(LPrologue* instr) {
|
||||
__ CallRuntime(Runtime::kNewScriptContext);
|
||||
deopt_mode = Safepoint::kLazyDeopt;
|
||||
} else {
|
||||
if (slots <=
|
||||
ConstructorBuiltinsAssembler::MaximumFunctionContextSlots()) {
|
||||
if (slots <= ConstructorBuiltins::MaximumFunctionContextSlots()) {
|
||||
Callable callable = CodeFactory::FastNewFunctionContext(
|
||||
isolate(), info()->scope()->scope_type());
|
||||
__ mov(FastNewFunctionContextDescriptor::SlotsRegister(),
|
||||
|
@ -203,8 +203,7 @@ void LCodeGen::DoPrologue(LPrologue* instr) {
|
||||
__ CallRuntime(Runtime::kNewScriptContext);
|
||||
deopt_mode = Safepoint::kLazyDeopt;
|
||||
} else {
|
||||
if (slots <=
|
||||
ConstructorBuiltinsAssembler::MaximumFunctionContextSlots()) {
|
||||
if (slots <= ConstructorBuiltins::MaximumFunctionContextSlots()) {
|
||||
Callable callable = CodeFactory::FastNewFunctionContext(
|
||||
isolate(), info()->scope()->scope_type());
|
||||
__ li(FastNewFunctionContextDescriptor::SlotsRegister(),
|
||||
|
@ -179,8 +179,7 @@ void LCodeGen::DoPrologue(LPrologue* instr) {
|
||||
__ CallRuntime(Runtime::kNewScriptContext);
|
||||
deopt_mode = Safepoint::kLazyDeopt;
|
||||
} else {
|
||||
if (slots <=
|
||||
ConstructorBuiltinsAssembler::MaximumFunctionContextSlots()) {
|
||||
if (slots <= ConstructorBuiltins::MaximumFunctionContextSlots()) {
|
||||
Callable callable = CodeFactory::FastNewFunctionContext(
|
||||
isolate(), info()->scope()->scope_type());
|
||||
__ li(FastNewFunctionContextDescriptor::SlotsRegister(),
|
||||
|
@ -187,8 +187,7 @@ void LCodeGen::DoPrologue(LPrologue* instr) {
|
||||
__ CallRuntime(Runtime::kNewScriptContext);
|
||||
deopt_mode = Safepoint::kLazyDeopt;
|
||||
} else {
|
||||
if (slots <=
|
||||
ConstructorBuiltinsAssembler::MaximumFunctionContextSlots()) {
|
||||
if (slots <= ConstructorBuiltins::MaximumFunctionContextSlots()) {
|
||||
Callable callable = CodeFactory::FastNewFunctionContext(
|
||||
isolate(), info()->scope()->scope_type());
|
||||
__ mov(FastNewFunctionContextDescriptor::SlotsRegister(),
|
||||
|
@ -178,8 +178,7 @@ void LCodeGen::DoPrologue(LPrologue* instr) {
|
||||
__ CallRuntime(Runtime::kNewScriptContext);
|
||||
deopt_mode = Safepoint::kLazyDeopt;
|
||||
} else {
|
||||
if (slots <=
|
||||
ConstructorBuiltinsAssembler::MaximumFunctionContextSlots()) {
|
||||
if (slots <= ConstructorBuiltins::MaximumFunctionContextSlots()) {
|
||||
Callable callable = CodeFactory::FastNewFunctionContext(
|
||||
isolate(), info()->scope()->scope_type());
|
||||
__ mov(FastNewFunctionContextDescriptor::SlotsRegister(),
|
||||
|
@ -181,8 +181,7 @@ void LCodeGen::DoPrologue(LPrologue* instr) {
|
||||
__ CallRuntime(Runtime::kNewScriptContext);
|
||||
deopt_mode = Safepoint::kLazyDeopt;
|
||||
} else {
|
||||
if (slots <=
|
||||
ConstructorBuiltinsAssembler::MaximumFunctionContextSlots()) {
|
||||
if (slots <= ConstructorBuiltins::MaximumFunctionContextSlots()) {
|
||||
Callable callable = CodeFactory::FastNewFunctionContext(
|
||||
isolate(), info()->scope()->scope_type());
|
||||
__ Set(FastNewFunctionContextDescriptor::SlotsRegister(), slots);
|
||||
|
@ -147,8 +147,7 @@ void LCodeGen::DoPrologue(LPrologue* instr) {
|
||||
__ CallRuntime(Runtime::kNewScriptContext);
|
||||
deopt_mode = Safepoint::kLazyDeopt;
|
||||
} else {
|
||||
if (slots <=
|
||||
ConstructorBuiltinsAssembler::MaximumFunctionContextSlots()) {
|
||||
if (slots <= ConstructorBuiltins::MaximumFunctionContextSlots()) {
|
||||
Callable callable = CodeFactory::FastNewFunctionContext(
|
||||
isolate(), info()->scope()->scope_type());
|
||||
__ mov(FastNewFunctionContextDescriptor::SlotsRegister(),
|
||||
|
@ -202,8 +202,7 @@ void FullCodeGenerator::Generate() {
|
||||
if (info->scope()->new_target_var() != nullptr) {
|
||||
__ push(r3); // Preserve new target.
|
||||
}
|
||||
if (slots <=
|
||||
ConstructorBuiltinsAssembler::MaximumFunctionContextSlots()) {
|
||||
if (slots <= ConstructorBuiltins::MaximumFunctionContextSlots()) {
|
||||
Callable callable = CodeFactory::FastNewFunctionContext(
|
||||
isolate(), info->scope()->scope_type());
|
||||
__ mov(FastNewFunctionContextDescriptor::SlotsRegister(),
|
||||
|
@ -204,8 +204,7 @@ void FullCodeGenerator::Generate() {
|
||||
if (info->scope()->new_target_var() != nullptr) {
|
||||
__ Push(x3); // Preserve new target.
|
||||
}
|
||||
if (slots <=
|
||||
ConstructorBuiltinsAssembler::MaximumFunctionContextSlots()) {
|
||||
if (slots <= ConstructorBuiltins::MaximumFunctionContextSlots()) {
|
||||
Callable callable = CodeFactory::FastNewFunctionContext(
|
||||
isolate(), info->scope()->scope_type());
|
||||
__ Mov(FastNewFunctionContextDescriptor::SlotsRegister(), slots);
|
||||
|
@ -188,8 +188,7 @@ void FullCodeGenerator::Generate() {
|
||||
if (info->scope()->new_target_var() != nullptr) {
|
||||
__ push(edx); // Preserve new target.
|
||||
}
|
||||
if (slots <=
|
||||
ConstructorBuiltinsAssembler::MaximumFunctionContextSlots()) {
|
||||
if (slots <= ConstructorBuiltins::MaximumFunctionContextSlots()) {
|
||||
Callable callable = CodeFactory::FastNewFunctionContext(
|
||||
isolate(), info->scope()->scope_type());
|
||||
__ mov(FastNewFunctionContextDescriptor::SlotsRegister(),
|
||||
|
@ -209,8 +209,7 @@ void FullCodeGenerator::Generate() {
|
||||
if (info->scope()->new_target_var() != nullptr) {
|
||||
__ push(a3); // Preserve new target.
|
||||
}
|
||||
if (slots <=
|
||||
ConstructorBuiltinsAssembler::MaximumFunctionContextSlots()) {
|
||||
if (slots <= ConstructorBuiltins::MaximumFunctionContextSlots()) {
|
||||
Callable callable = CodeFactory::FastNewFunctionContext(
|
||||
isolate(), info->scope()->scope_type());
|
||||
__ li(FastNewFunctionContextDescriptor::SlotsRegister(),
|
||||
|
@ -208,8 +208,7 @@ void FullCodeGenerator::Generate() {
|
||||
if (info->scope()->new_target_var() != nullptr) {
|
||||
__ push(a3); // Preserve new target.
|
||||
}
|
||||
if (slots <=
|
||||
ConstructorBuiltinsAssembler::MaximumFunctionContextSlots()) {
|
||||
if (slots <= ConstructorBuiltins::MaximumFunctionContextSlots()) {
|
||||
Callable callable = CodeFactory::FastNewFunctionContext(
|
||||
isolate(), info->scope()->scope_type());
|
||||
__ li(FastNewFunctionContextDescriptor::SlotsRegister(),
|
||||
|
@ -206,8 +206,7 @@ void FullCodeGenerator::Generate() {
|
||||
if (info->scope()->new_target_var() != nullptr) {
|
||||
__ push(r6); // Preserve new target.
|
||||
}
|
||||
if (slots <=
|
||||
ConstructorBuiltinsAssembler::MaximumFunctionContextSlots()) {
|
||||
if (slots <= ConstructorBuiltins::MaximumFunctionContextSlots()) {
|
||||
Callable callable = CodeFactory::FastNewFunctionContext(
|
||||
isolate(), info->scope()->scope_type());
|
||||
__ mov(FastNewFunctionContextDescriptor::SlotsRegister(),
|
||||
|
@ -210,8 +210,7 @@ void FullCodeGenerator::Generate() {
|
||||
if (info->scope()->new_target_var() != nullptr) {
|
||||
__ push(r5); // Preserve new target.
|
||||
}
|
||||
if (slots <=
|
||||
ConstructorBuiltinsAssembler::MaximumFunctionContextSlots()) {
|
||||
if (slots <= ConstructorBuiltins::MaximumFunctionContextSlots()) {
|
||||
Callable callable = CodeFactory::FastNewFunctionContext(
|
||||
isolate(), info->scope()->scope_type());
|
||||
__ mov(FastNewFunctionContextDescriptor::SlotsRegister(),
|
||||
|
@ -190,8 +190,7 @@ void FullCodeGenerator::Generate() {
|
||||
if (info->scope()->new_target_var() != nullptr) {
|
||||
__ Push(rdx); // Preserve new target.
|
||||
}
|
||||
if (slots <=
|
||||
ConstructorBuiltinsAssembler::MaximumFunctionContextSlots()) {
|
||||
if (slots <= ConstructorBuiltins::MaximumFunctionContextSlots()) {
|
||||
Callable callable = CodeFactory::FastNewFunctionContext(
|
||||
isolate(), info->scope()->scope_type());
|
||||
__ Set(FastNewFunctionContextDescriptor::SlotsRegister(), slots);
|
||||
|
@ -188,8 +188,7 @@ void FullCodeGenerator::Generate() {
|
||||
if (info->scope()->new_target_var() != nullptr) {
|
||||
__ push(edx); // Preserve new target.
|
||||
}
|
||||
if (slots <=
|
||||
ConstructorBuiltinsAssembler::MaximumFunctionContextSlots()) {
|
||||
if (slots <= ConstructorBuiltins::MaximumFunctionContextSlots()) {
|
||||
Callable callable = CodeFactory::FastNewFunctionContext(
|
||||
isolate(), info->scope()->scope_type());
|
||||
__ mov(FastNewFunctionContextDescriptor::SlotsRegister(),
|
||||
|
@ -29,11 +29,10 @@ uint8_t CreateObjectLiteralFlags::Encode(bool fast_clone_supported,
|
||||
uint8_t result = FlagsBits::encode(runtime_flags);
|
||||
if (fast_clone_supported) {
|
||||
STATIC_ASSERT(
|
||||
ConstructorBuiltinsAssembler::kMaximumClonedShallowObjectProperties <=
|
||||
ConstructorBuiltins::kMaximumClonedShallowObjectProperties <=
|
||||
1 << CreateObjectLiteralFlags::FastClonePropertiesCountBits::kShift);
|
||||
DCHECK_LE(
|
||||
properties_count,
|
||||
ConstructorBuiltinsAssembler::kMaximumClonedShallowObjectProperties);
|
||||
DCHECK_LE(properties_count,
|
||||
ConstructorBuiltins::kMaximumClonedShallowObjectProperties);
|
||||
result |= CreateObjectLiteralFlags::FastClonePropertiesCountBits::encode(
|
||||
properties_count);
|
||||
}
|
||||
|
@ -1674,7 +1674,7 @@ void BytecodeGenerator::VisitObjectLiteral(ObjectLiteral* expr) {
|
||||
// Deep-copy the literal boilerplate.
|
||||
uint8_t flags = CreateObjectLiteralFlags::Encode(
|
||||
expr->IsFastCloningSupported(),
|
||||
ConstructorBuiltinsAssembler::FastCloneShallowObjectPropertiesCount(
|
||||
ConstructorBuiltins::FastCloneShallowObjectPropertiesCount(
|
||||
expr->properties_count()),
|
||||
expr->ComputeFlags());
|
||||
|
||||
@ -3212,8 +3212,7 @@ void BytecodeGenerator::BuildNewLocalActivationContext() {
|
||||
} else {
|
||||
DCHECK(scope->is_function_scope() || scope->is_eval_scope());
|
||||
int slot_count = scope->num_heap_slots() - Context::MIN_CONTEXT_SLOTS;
|
||||
if (slot_count <=
|
||||
ConstructorBuiltinsAssembler::MaximumFunctionContextSlots()) {
|
||||
if (slot_count <= ConstructorBuiltins::MaximumFunctionContextSlots()) {
|
||||
switch (scope->scope_type()) {
|
||||
case EVAL_SCOPE:
|
||||
builder()->CreateEvalContext(slot_count);
|
||||
|
@ -7,9 +7,9 @@
|
||||
#include <array>
|
||||
#include <tuple>
|
||||
|
||||
#include "src/builtins/builtins-arguments.h"
|
||||
#include "src/builtins/builtins-constructor.h"
|
||||
#include "src/builtins/builtins-forin.h"
|
||||
#include "src/builtins/builtins-arguments-gen.h"
|
||||
#include "src/builtins/builtins-constructor-gen.h"
|
||||
#include "src/builtins/builtins-forin-gen.h"
|
||||
#include "src/code-events.h"
|
||||
#include "src/code-factory.h"
|
||||
#include "src/factory.h"
|
||||
|
@ -475,19 +475,20 @@
|
||||
'bootstrapper.h',
|
||||
'builtins/builtins-api.cc',
|
||||
'builtins/builtins-arguments-gen.cc',
|
||||
'builtins/builtins-arguments.h',
|
||||
'builtins/builtins-arguments-gen.h',
|
||||
'builtins/builtins-arraybuffer.cc',
|
||||
'builtins/builtins-array.cc',
|
||||
'builtins/builtins-array-gen.cc',
|
||||
'builtins/builtins-async-function-gen.cc',
|
||||
'builtins/builtins-async-iterator-gen.cc',
|
||||
'builtins/builtins-async-gen.cc',
|
||||
'builtins/builtins-async.h',
|
||||
'builtins/builtins-async-gen.h',
|
||||
'builtins/builtins-boolean.cc',
|
||||
'builtins/builtins-boolean-gen.cc',
|
||||
'builtins/builtins-call.cc',
|
||||
'builtins/builtins-callsite.cc',
|
||||
'builtins/builtins-constructor-gen.cc',
|
||||
'builtins/builtins-constructor-gen.h',
|
||||
'builtins/builtins-constructor.h',
|
||||
'builtins/builtins-conversion-gen.cc',
|
||||
'builtins/builtins-dataview.cc',
|
||||
@ -497,7 +498,7 @@
|
||||
'builtins/builtins-descriptors.h',
|
||||
'builtins/builtins-error.cc',
|
||||
'builtins/builtins-forin-gen.cc',
|
||||
'builtins/builtins-forin.h',
|
||||
'builtins/builtins-forin-gen.h',
|
||||
'builtins/builtins-function.cc',
|
||||
'builtins/builtins-function-gen.cc',
|
||||
'builtins/builtins-generator-gen.cc',
|
||||
@ -516,7 +517,7 @@
|
||||
'builtins/builtins-object.cc',
|
||||
'builtins/builtins-object-gen.cc',
|
||||
'builtins/builtins-promise-gen.cc',
|
||||
'builtins/builtins-promise.h',
|
||||
'builtins/builtins-promise-gen.h',
|
||||
'builtins/builtins-proxy.cc',
|
||||
'builtins/builtins-reflect.cc',
|
||||
'builtins/builtins-regexp.cc',
|
||||
|
@ -4,7 +4,7 @@
|
||||
|
||||
#include "src/api.h"
|
||||
#include "src/base/utils/random-number-generator.h"
|
||||
#include "src/builtins/builtins-promise.h"
|
||||
#include "src/builtins/builtins-promise-gen.h"
|
||||
#include "src/code-factory.h"
|
||||
#include "src/code-stub-assembler.h"
|
||||
#include "src/compiler/node.h"
|
||||
|
Loading…
Reference in New Issue
Block a user