Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2783)

Unified Diff: src/builtins/builtins-constructor.h

Issue 2760953002: [builtins] Move more files into v8_builtins_generators source set (Closed)
Patch Set: rebased Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/builtins/builtins-async-iterator-gen.cc ('k') | src/builtins/builtins-constructor-gen.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/builtins/builtins-constructor.h
diff --git a/src/builtins/builtins-constructor.h b/src/builtins/builtins-constructor.h
index 79cebbb8374a99106e45428037da588073196788..59afc7385316482002d364d8af66114c4d47e488 100644
--- a/src/builtins/builtins-constructor.h
+++ b/src/builtins/builtins-constructor.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_
« no previous file with comments | « src/builtins/builtins-async-iterator-gen.cc ('k') | src/builtins/builtins-constructor-gen.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698