summaryrefslogtreecommitdiff
path: root/deps/v8/src/factory.h
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/src/factory.h')
-rw-r--r--deps/v8/src/factory.h24
1 files changed, 13 insertions, 11 deletions
diff --git a/deps/v8/src/factory.h b/deps/v8/src/factory.h
index b7602e023b..80916b8a20 100644
--- a/deps/v8/src/factory.h
+++ b/deps/v8/src/factory.h
@@ -7,12 +7,11 @@
#include "src/isolate.h"
#include "src/messages.h"
+#include "src/type-feedback-vector.h"
namespace v8 {
namespace internal {
-class StaticFeedbackVectorSpec;
-
// Interface for handle based allocation.
class Factory final {
public:
@@ -81,6 +80,8 @@ class Factory final {
template<class StringTableKey>
Handle<String> InternalizeStringWithKey(StringTableKey* key);
+ Handle<Name> InternalizeName(Handle<Name> name);
+
// String creation functions. Most of the string creation functions take
// a Heap::PretenureFlag argument to optionally request that they be
@@ -218,7 +219,7 @@ class Factory final {
// Create a symbol.
Handle<Symbol> NewSymbol();
- Handle<Symbol> NewPrivateSymbol(Handle<Object> name);
+ Handle<Symbol> NewPrivateSymbol();
// Create a global (but otherwise uninitialized) context.
Handle<Context> NewNativeContext();
@@ -375,7 +376,7 @@ class Factory final {
Handle<AllocationSite> site);
// Global objects are pretenured and initialized based on a constructor.
- Handle<GlobalObject> NewGlobalObject(Handle<JSFunction> constructor);
+ Handle<JSGlobalObject> NewJSGlobalObject(Handle<JSFunction> constructor);
// JS objects are pretenured when allocated by the bootstrapper and
// runtime.
@@ -506,8 +507,11 @@ class Factory final {
bool is_strict = false);
Handle<JSFunction> NewFunctionFromSharedFunctionInfo(
- Handle<SharedFunctionInfo> function_info,
- Handle<Context> context,
+ Handle<Map> initial_map, Handle<SharedFunctionInfo> function_info,
+ Handle<Context> context, PretenureFlag pretenure = TENURED);
+
+ Handle<JSFunction> NewFunctionFromSharedFunctionInfo(
+ Handle<SharedFunctionInfo> function_info, Handle<Context> context,
PretenureFlag pretenure = TENURED);
Handle<JSFunction> NewFunction(Handle<String> name, Handle<Code> code,
@@ -616,6 +620,7 @@ class Factory final {
&isolate()->heap()->roots_[Heap::k##name##RootIndex])); \
}
PUBLIC_SYMBOL_LIST(SYMBOL_ACCESSOR)
+ WELL_KNOWN_SYMBOL_LIST(SYMBOL_ACCESSOR)
#undef SYMBOL_ACCESSOR
// Allocates a new SharedFunctionInfo object.
@@ -626,10 +631,6 @@ class Factory final {
Handle<SharedFunctionInfo> NewSharedFunctionInfo(Handle<String> name,
MaybeHandle<Code> code);
- // Allocate a new type feedback vector
- template <typename Spec>
- Handle<TypeFeedbackVector> NewTypeFeedbackVector(const Spec* spec);
-
// Allocates a new JSMessageObject object.
Handle<JSMessageObject> NewJSMessageObject(MessageTemplate::Template message,
Handle<Object> argument,
@@ -720,6 +721,7 @@ class Factory final {
void ReinitializeJSProxy(Handle<JSProxy> proxy, InstanceType type, int size);
};
-} } // namespace v8::internal
+} // namespace internal
+} // namespace v8
#endif // V8_FACTORY_H_