aboutsummaryrefslogtreecommitdiff
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.h101
1 files changed, 45 insertions, 56 deletions
diff --git a/deps/v8/src/factory.h b/deps/v8/src/factory.h
index 2c3d687786..b7602e023b 100644
--- a/deps/v8/src/factory.h
+++ b/deps/v8/src/factory.h
@@ -11,7 +11,7 @@
namespace v8 {
namespace internal {
-class FeedbackVectorSpec;
+class StaticFeedbackVectorSpec;
// Interface for handle based allocation.
class Factory final {
@@ -54,6 +54,11 @@ class Factory final {
// Create a new PrototypeInfo struct.
Handle<PrototypeInfo> NewPrototypeInfo();
+ // Create a new SloppyBlockWithEvalContextExtension struct.
+ Handle<SloppyBlockWithEvalContextExtension>
+ NewSloppyBlockWithEvalContextExtension(Handle<ScopeInfo> scope_info,
+ Handle<JSObject> extension);
+
// Create a pre-tenured empty AccessorPair.
Handle<AccessorPair> NewAccessorPair();
@@ -151,24 +156,21 @@ class Factory final {
// Allocates an internalized string in old space based on the character
// stream.
- MUST_USE_RESULT Handle<String> NewInternalizedStringFromUtf8(
- Vector<const char> str,
- int chars,
- uint32_t hash_field);
+ Handle<String> NewInternalizedStringFromUtf8(Vector<const char> str,
+ int chars, uint32_t hash_field);
- MUST_USE_RESULT Handle<String> NewOneByteInternalizedString(
- Vector<const uint8_t> str, uint32_t hash_field);
+ Handle<String> NewOneByteInternalizedString(Vector<const uint8_t> str,
+ uint32_t hash_field);
- MUST_USE_RESULT Handle<String> NewOneByteInternalizedSubString(
+ Handle<String> NewOneByteInternalizedSubString(
Handle<SeqOneByteString> string, int offset, int length,
uint32_t hash_field);
- MUST_USE_RESULT Handle<String> NewTwoByteInternalizedString(
- Vector<const uc16> str,
- uint32_t hash_field);
+ Handle<String> NewTwoByteInternalizedString(Vector<const uc16> str,
+ uint32_t hash_field);
- MUST_USE_RESULT Handle<String> NewInternalizedStringImpl(
- Handle<String> string, int chars, uint32_t hash_field);
+ Handle<String> NewInternalizedStringImpl(Handle<String> string, int chars,
+ uint32_t hash_field);
// Compute the matching internalized string map for a string if possible.
// Empty handle is returned if string is in new space or not flattened.
@@ -192,14 +194,6 @@ class Factory final {
// Create a new cons string object which consists of a pair of strings.
MUST_USE_RESULT MaybeHandle<String> NewConsString(Handle<String> left,
Handle<String> right);
- MUST_USE_RESULT MaybeHandle<String> NewOneByteConsString(
- int length, Handle<String> left, Handle<String> right);
- MUST_USE_RESULT MaybeHandle<String> NewTwoByteConsString(
- int length, Handle<String> left, Handle<String> right);
- MUST_USE_RESULT MaybeHandle<String> NewRawConsString(Handle<Map> map,
- int length,
- Handle<String> left,
- Handle<String> right);
// Create a new string object which holds a proper substring of a string.
Handle<String> NewProperSubString(Handle<String> str,
@@ -283,7 +277,8 @@ class Factory final {
PretenureFlag pretenure = NOT_TENURED);
Handle<BytecodeArray> NewBytecodeArray(int length, const byte* raw_bytecodes,
- int frame_size);
+ int frame_size, int parameter_count,
+ Handle<FixedArray> constant_pool);
Handle<FixedTypedArrayBase> NewFixedTypedArrayWithExternalPointer(
int length, ExternalArrayType array_type, void* external_pointer,
@@ -443,20 +438,25 @@ class Factory final {
Handle<JSGeneratorObject> NewJSGeneratorObject(Handle<JSFunction> function);
Handle<JSArrayBuffer> NewJSArrayBuffer(
- SharedFlag shared = SharedFlag::kNotShared);
+ SharedFlag shared = SharedFlag::kNotShared,
+ PretenureFlag pretenure = NOT_TENURED);
- Handle<JSTypedArray> NewJSTypedArray(ExternalArrayType type);
+ Handle<JSTypedArray> NewJSTypedArray(ExternalArrayType type,
+ PretenureFlag pretenure = NOT_TENURED);
- Handle<JSTypedArray> NewJSTypedArray(ElementsKind elements_kind);
+ Handle<JSTypedArray> NewJSTypedArray(ElementsKind elements_kind,
+ PretenureFlag pretenure = NOT_TENURED);
// Creates a new JSTypedArray with the specified buffer.
Handle<JSTypedArray> NewJSTypedArray(ExternalArrayType type,
Handle<JSArrayBuffer> buffer,
- size_t byte_offset, size_t length);
+ size_t byte_offset, size_t length,
+ PretenureFlag pretenure = NOT_TENURED);
// Creates a new on-heap JSTypedArray.
Handle<JSTypedArray> NewJSTypedArray(ElementsKind elements_kind,
- size_t number_of_elements);
+ size_t number_of_elements,
+ PretenureFlag pretenure = NOT_TENURED);
Handle<JSDataView> NewJSDataView();
Handle<JSDataView> NewJSDataView(Handle<JSArrayBuffer> buffer,
@@ -469,12 +469,17 @@ class Factory final {
Handle<JSMapIterator> NewJSMapIterator();
Handle<JSSetIterator> NewJSSetIterator();
+ // Creates a new JSIteratorResult object with the arguments {value} and
+ // {done}. Implemented according to ES6 section 7.4.7 CreateIterResultObject.
+ Handle<JSIteratorResult> NewJSIteratorResult(Handle<Object> value,
+ Handle<Object> done);
+
// Allocates a Harmony proxy.
Handle<JSProxy> NewJSProxy(Handle<Object> handler, Handle<Object> prototype);
// Allocates a Harmony function proxy.
Handle<JSProxy> NewJSFunctionProxy(Handle<Object> handler,
- Handle<Object> call_trap,
+ Handle<JSReceiver> call_trap,
Handle<Object> construct_trap,
Handle<Object> prototype);
@@ -551,21 +556,17 @@ class Factory final {
Handle<Object> arg1 = Handle<Object>(),
Handle<Object> arg2 = Handle<Object>());
-#define DEFINE_ERROR(NAME, name) \
- Handle<Object> New##NAME(MessageTemplate::Template template_index, \
- Handle<Object> arg0 = Handle<Object>(), \
- Handle<Object> arg1 = Handle<Object>(), \
- Handle<Object> arg2 = Handle<Object>()) { \
- return NewError(isolate()->name##_function(), template_index, arg0, arg1, \
- arg2); \
- }
-
- DEFINE_ERROR(Error, error)
- DEFINE_ERROR(EvalError, eval_error)
- DEFINE_ERROR(RangeError, range_error)
- DEFINE_ERROR(ReferenceError, reference_error)
- DEFINE_ERROR(SyntaxError, syntax_error)
- DEFINE_ERROR(TypeError, type_error)
+#define DECLARE_ERROR(NAME) \
+ Handle<Object> New##NAME(MessageTemplate::Template template_index, \
+ Handle<Object> arg0 = Handle<Object>(), \
+ Handle<Object> arg1 = Handle<Object>(), \
+ Handle<Object> arg2 = Handle<Object>());
+ DECLARE_ERROR(Error)
+ DECLARE_ERROR(EvalError)
+ DECLARE_ERROR(RangeError)
+ DECLARE_ERROR(ReferenceError)
+ DECLARE_ERROR(SyntaxError)
+ DECLARE_ERROR(TypeError)
#undef DEFINE_ERROR
Handle<String> NumberToString(Handle<Object> number,
@@ -609,7 +610,7 @@ class Factory final {
PRIVATE_SYMBOL_LIST(SYMBOL_ACCESSOR)
#undef SYMBOL_ACCESSOR
-#define SYMBOL_ACCESSOR(name, varname, description) \
+#define SYMBOL_ACCESSOR(name, description) \
inline Handle<Symbol> name() { \
return Handle<Symbol>(bit_cast<Symbol**>( \
&isolate()->heap()->roots_[Heap::k##name##RootIndex])); \
@@ -617,18 +618,6 @@ class Factory final {
PUBLIC_SYMBOL_LIST(SYMBOL_ACCESSOR)
#undef SYMBOL_ACCESSOR
- inline void set_string_table(Handle<StringTable> table) {
- isolate()->heap()->set_string_table(*table);
- }
-
- inline void set_weak_stack_trace_list(Handle<WeakFixedArray> list) {
- isolate()->heap()->set_weak_stack_trace_list(*list);
- }
-
- Handle<String> hidden_string() {
- return Handle<String>(&isolate()->heap()->hidden_string_);
- }
-
// Allocates a new SharedFunctionInfo object.
Handle<SharedFunctionInfo> NewSharedFunctionInfo(
Handle<String> name, int number_of_literals, FunctionKind kind,