From 5d1b6d3e0fa4b97a490ef964be48aed9872e3ec1 Mon Sep 17 00:00:00 2001 From: Ben Noordhuis Date: Fri, 14 Nov 2014 00:52:27 +0100 Subject: deps: upgrade v8 to 3.30.37 --- deps/v8/src/runtime/runtime.h | 88 ++++++++++++++++++------------------------- 1 file changed, 37 insertions(+), 51 deletions(-) (limited to 'deps/v8/src/runtime/runtime.h') diff --git a/deps/v8/src/runtime/runtime.h b/deps/v8/src/runtime/runtime.h index da8511b1a4..5d6ccac709 100644 --- a/deps/v8/src/runtime/runtime.h +++ b/deps/v8/src/runtime/runtime.h @@ -2,10 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef V8_RUNTIME_H_ -#define V8_RUNTIME_H_ +#ifndef V8_RUNTIME_RUNTIME_H_ +#define V8_RUNTIME_RUNTIME_H_ #include "src/allocation.h" +#include "src/objects.h" #include "src/zone.h" namespace v8 { @@ -79,8 +80,10 @@ namespace internal { F(DebugPushPromise, 1, 1) \ F(DebugPopPromise, 0, 1) \ F(DebugPromiseEvent, 1, 1) \ - F(DebugPromiseRejectEvent, 2, 1) \ F(DebugAsyncTaskEvent, 1, 1) \ + F(PromiseRejectEvent, 3, 1) \ + F(PromiseRevokeReject, 1, 1) \ + F(PromiseHasHandlerSymbol, 0, 1) \ F(FlattenString, 1, 1) \ F(LoadMutableDouble, 2, 1) \ F(TryMigrateInstance, 1, 1) \ @@ -184,11 +187,19 @@ namespace internal { /* Classes support */ \ F(ToMethod, 2, 1) \ F(HomeObjectSymbol, 0, 1) \ + F(DefineClass, 6, 1) \ + F(DefineClassMethod, 3, 1) \ + F(DefineClassGetter, 3, 1) \ + F(DefineClassSetter, 3, 1) \ + F(ClassGetSourceCode, 1, 1) \ F(ThrowNonMethodError, 0, 1) \ F(ThrowUnsupportedSuperError, 0, 1) \ F(LoadFromSuper, 3, 1) \ + F(LoadKeyedFromSuper, 3, 1) \ F(StoreToSuper_Strict, 4, 1) \ - F(StoreToSuper_Sloppy, 4, 1) + F(StoreToSuper_Sloppy, 4, 1) \ + F(StoreKeyedToSuper_Strict, 4, 1) \ + F(StoreKeyedToSuper_Sloppy, 4, 1) #define RUNTIME_FUNCTION_LIST_ALWAYS_2(F) \ @@ -253,7 +264,6 @@ namespace internal { F(DefineDataPropertyUnchecked, 4, 1) \ F(DefineAccessorPropertyUnchecked, 5, 1) \ F(GetDataProperty, 2, 1) \ - F(SetHiddenProperty, 3, 1) \ \ /* Arrays */ \ F(RemoveArrayHoles, 2, 1) \ @@ -261,6 +271,7 @@ namespace internal { F(MoveArrayContents, 2, 1) \ F(EstimateNumberOfElements, 1, 1) \ F(NormalizeElements, 1, 1) \ + F(HasComplexElements, 1, 1) \ \ /* Getters and Setters */ \ F(LookupAccessor, 3, 1) \ @@ -284,7 +295,6 @@ namespace internal { /* Harmony proxies */ \ F(CreateJSProxy, 2, 1) \ F(CreateJSFunctionProxy, 4, 1) \ - F(IsJSProxy, 1, 1) \ F(IsJSFunctionProxy, 1, 1) \ F(GetHandler, 1, 1) \ F(GetCallTrap, 1, 1) \ @@ -300,6 +310,7 @@ namespace internal { F(SetGetSize, 1, 1) \ \ F(SetIteratorInitialize, 3, 1) \ + F(SetIteratorClone, 1, 1) \ F(SetIteratorNext, 2, 1) \ \ /* Harmony maps */ \ @@ -312,6 +323,7 @@ namespace internal { F(MapGetSize, 1, 1) \ \ F(MapIteratorInitialize, 3, 1) \ + F(MapIteratorClone, 1, 1) \ F(MapIteratorNext, 2, 1) \ \ /* Harmony weak maps and sets */ \ @@ -338,6 +350,7 @@ namespace internal { F(GetObjectContextObjectObserve, 1, 1) \ F(GetObjectContextObjectGetNotifier, 1, 1) \ F(GetObjectContextNotifierPerformChange, 1, 1) \ + F(DeliverObservationChangeRecords, 2, 1) \ \ /* Harmony typed arrays */ \ F(ArrayBufferInitialize, 2, 1) \ @@ -345,6 +358,7 @@ namespace internal { F(ArrayBufferIsView, 1, 1) \ F(ArrayBufferNeuter, 1, 1) \ \ + F(IsTypedArray, 1, 1) \ F(TypedArrayInitializeFromArrayLike, 4, 1) \ F(TypedArrayGetBuffer, 1, 1) \ F(TypedArraySetFastCases, 3, 1) \ @@ -383,6 +397,7 @@ namespace internal { F(TraceExit, 1, 1) \ F(Abort, 1, 1) \ F(AbortJS, 1, 1) \ + F(NativeScriptsCount, 0, 1) \ /* ES5 */ \ F(OwnKeys, 1, 1) \ \ @@ -512,7 +527,7 @@ namespace internal { #define RUNTIME_FUNCTION_LIST_RETURN_PAIR(F) \ F(LoadLookupSlot, 2, 2) \ F(LoadLookupSlotNoReferenceError, 2, 2) \ - F(ResolvePossiblyDirectEval, 5, 2) \ + F(ResolvePossiblyDirectEval, 6, 2) \ F(ForInInit, 2, 2) /* TODO(turbofan): Only temporary */ \ F(ForInNext, 4, 2) /* TODO(turbofan): Only temporary */ @@ -625,14 +640,6 @@ namespace internal { #endif -#ifdef DEBUG -#define RUNTIME_FUNCTION_LIST_DEBUG(F) \ - /* Testing */ \ - F(ListNatives, 0, 1) -#else -#define RUNTIME_FUNCTION_LIST_DEBUG(F) -#endif - // ---------------------------------------------------------------------------- // RUNTIME_FUNCTION_LIST defines all runtime functions accessed // either directly by id (via the code generator), or indirectly @@ -643,7 +650,6 @@ namespace internal { RUNTIME_FUNCTION_LIST_ALWAYS_1(F) \ RUNTIME_FUNCTION_LIST_ALWAYS_2(F) \ RUNTIME_FUNCTION_LIST_ALWAYS_3(F) \ - RUNTIME_FUNCTION_LIST_DEBUG(F) \ RUNTIME_FUNCTION_LIST_DEBUGGER(F) \ RUNTIME_FUNCTION_LIST_I18N_SUPPORT(F) @@ -661,6 +667,7 @@ namespace internal { F(IsNonNegativeSmi, 1, 1) \ F(IsArray, 1, 1) \ F(IsRegExp, 1, 1) \ + F(IsJSProxy, 1, 1) \ F(IsConstructCall, 0, 1) \ F(CallFunction, -1 /* receiver + n args + function */, 1) \ F(ArgumentsLength, 0, 1) \ @@ -729,38 +736,17 @@ namespace internal { class RuntimeState { public: - StaticResource* string_iterator() { - return &string_iterator_; - } unibrow::Mapping* to_upper_mapping() { return &to_upper_mapping_; } unibrow::Mapping* to_lower_mapping() { return &to_lower_mapping_; } - ConsStringIteratorOp* string_iterator_compare_x() { - return &string_iterator_compare_x_; - } - ConsStringIteratorOp* string_iterator_compare_y() { - return &string_iterator_compare_y_; - } - ConsStringIteratorOp* string_locale_compare_it1() { - return &string_locale_compare_it1_; - } - ConsStringIteratorOp* string_locale_compare_it2() { - return &string_locale_compare_it2_; - } private: RuntimeState() {} - // Non-reentrant string buffer for efficient general use in the runtime. - StaticResource string_iterator_; unibrow::Mapping to_upper_mapping_; unibrow::Mapping to_lower_mapping_; - ConsStringIteratorOp string_iterator_compare_x_; - ConsStringIteratorOp string_iterator_compare_y_; - ConsStringIteratorOp string_locale_compare_it1_; - ConsStringIteratorOp string_locale_compare_it2_; friend class Isolate; friend class Runtime; @@ -769,6 +755,9 @@ class RuntimeState { }; +class JavaScriptFrameIterator; // Forward declaration. + + class Runtime : public AllStatic { public: enum FunctionId { @@ -820,10 +809,6 @@ class Runtime : public AllStatic { // Get the intrinsic function with the given function entry address. static const Function* FunctionForEntry(Address ref); - // General-purpose helper functions for runtime system. - static int StringMatch(Isolate* isolate, Handle sub, - Handle pat, int index); - // TODO(1240886): Some of the following methods are *not* handle safe, but // accept handle arguments. This seems fragile. @@ -840,16 +825,12 @@ class Runtime : public AllStatic { Handle object, Handle key, Handle value, PropertyAttributes attr); - MUST_USE_RESULT static MaybeHandle DeleteObjectProperty( - Isolate* isolate, Handle object, Handle key, - JSReceiver::DeleteMode mode); - - MUST_USE_RESULT static MaybeHandle HasObjectProperty( - Isolate* isolate, Handle object, Handle key); - MUST_USE_RESULT static MaybeHandle GetObjectProperty( Isolate* isolate, Handle object, Handle key); + MUST_USE_RESULT static MaybeHandle ToName(Isolate* isolate, + Handle key); + static void SetupArrayBuffer(Isolate* isolate, Handle array_buffer, bool is_external, void* data, @@ -865,6 +846,8 @@ class Runtime : public AllStatic { static void FreeArrayBuffer(Isolate* isolate, JSArrayBuffer* phantom_array_buffer); + static int FindIndexedNonNativeFrame(JavaScriptFrameIterator* it, int index); + enum TypedArrayId { // arrayIds below should be synchromized with typedarray.js natives. ARRAY_ID_UINT8 = 1, @@ -892,6 +875,8 @@ class Runtime : public AllStatic { }; +std::ostream& operator<<(std::ostream&, Runtime::FunctionId); + //--------------------------------------------------------------------------- // Constants used by interface to runtime functions. @@ -901,7 +886,8 @@ class AllocateTargetSpace : public BitField {}; class DeclareGlobalsEvalFlag : public BitField {}; class DeclareGlobalsNativeFlag : public BitField {}; class DeclareGlobalsStrictMode : public BitField {}; -} -} // namespace v8::internal -#endif // V8_RUNTIME_H_ +} // namespace internal +} // namespace v8 + +#endif // V8_RUNTIME_RUNTIME_H_ -- cgit v1.2.1