OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef V8_RUNTIME_RUNTIME_H_ | 5 #ifndef V8_RUNTIME_RUNTIME_H_ |
6 #define V8_RUNTIME_RUNTIME_H_ | 6 #define V8_RUNTIME_RUNTIME_H_ |
7 | 7 |
8 #include "src/allocation.h" | 8 #include "src/allocation.h" |
9 #include "src/objects.h" | 9 #include "src/objects.h" |
10 #include "src/zone.h" | 10 #include "src/zone.h" |
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
93 F(MapInitialize, 1, 1) \ | 93 F(MapInitialize, 1, 1) \ |
94 F(MapShrink, 1, 1) \ | 94 F(MapShrink, 1, 1) \ |
95 F(MapClear, 1, 1) \ | 95 F(MapClear, 1, 1) \ |
96 F(MapGrow, 1, 1) \ | 96 F(MapGrow, 1, 1) \ |
97 F(MapIteratorInitialize, 3, 1) \ | 97 F(MapIteratorInitialize, 3, 1) \ |
98 F(MapIteratorClone, 1, 1) \ | 98 F(MapIteratorClone, 1, 1) \ |
99 F(MapIteratorDetails, 1, 1) \ | 99 F(MapIteratorDetails, 1, 1) \ |
100 F(GetWeakMapEntries, 2, 1) \ | 100 F(GetWeakMapEntries, 2, 1) \ |
101 F(MapIteratorNext, 2, 1) \ | 101 F(MapIteratorNext, 2, 1) \ |
102 F(WeakCollectionInitialize, 1, 1) \ | 102 F(WeakCollectionInitialize, 1, 1) \ |
103 F(WeakCollectionGet, 2, 1) \ | 103 F(WeakCollectionGet, 3, 1) \ |
104 F(WeakCollectionHas, 2, 1) \ | 104 F(WeakCollectionHas, 3, 1) \ |
105 F(WeakCollectionDelete, 2, 1) \ | 105 F(WeakCollectionDelete, 3, 1) \ |
106 F(WeakCollectionSet, 3, 1) \ | 106 F(WeakCollectionSet, 4, 1) \ |
107 F(GetWeakSetValues, 2, 1) \ | 107 F(GetWeakSetValues, 2, 1) \ |
108 F(ObservationWeakMapCreate, 0, 1) | 108 F(ObservationWeakMapCreate, 0, 1) |
109 | 109 |
110 | 110 |
111 #define FOR_EACH_INTRINSIC_COMPILER(F) \ | 111 #define FOR_EACH_INTRINSIC_COMPILER(F) \ |
112 F(CompileLazy, 1, 1) \ | 112 F(CompileLazy, 1, 1) \ |
113 F(CompileOptimized, 2, 1) \ | 113 F(CompileOptimized, 2, 1) \ |
114 F(NotifyStubFailure, 0, 1) \ | 114 F(NotifyStubFailure, 0, 1) \ |
115 F(NotifyDeoptimized, 1, 1) \ | 115 F(NotifyDeoptimized, 1, 1) \ |
116 F(CompileForOnStackReplacement, 1, 1) \ | 116 F(CompileForOnStackReplacement, 1, 1) \ |
(...skipping 730 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
847 size_t* element_size); | 847 size_t* element_size); |
848 | 848 |
849 // Used in runtime.cc and hydrogen's VisitArrayLiteral. | 849 // Used in runtime.cc and hydrogen's VisitArrayLiteral. |
850 MUST_USE_RESULT static MaybeHandle<Object> CreateArrayLiteralBoilerplate( | 850 MUST_USE_RESULT static MaybeHandle<Object> CreateArrayLiteralBoilerplate( |
851 Isolate* isolate, Handle<FixedArray> literals, | 851 Isolate* isolate, Handle<FixedArray> literals, |
852 Handle<FixedArray> elements, bool is_strong); | 852 Handle<FixedArray> elements, bool is_strong); |
853 | 853 |
854 static void WeakCollectionInitialize( | 854 static void WeakCollectionInitialize( |
855 Isolate* isolate, Handle<JSWeakCollection> weak_collection); | 855 Isolate* isolate, Handle<JSWeakCollection> weak_collection); |
856 static void WeakCollectionSet(Handle<JSWeakCollection> weak_collection, | 856 static void WeakCollectionSet(Handle<JSWeakCollection> weak_collection, |
857 Handle<Object> key, Handle<Object> value); | 857 Handle<Object> key, Handle<Object> value, |
| 858 int32_t hash); |
858 static bool WeakCollectionDelete(Handle<JSWeakCollection> weak_collection, | 859 static bool WeakCollectionDelete(Handle<JSWeakCollection> weak_collection, |
859 Handle<Object> key); | 860 Handle<Object> key); |
| 861 static bool WeakCollectionDelete(Handle<JSWeakCollection> weak_collection, |
| 862 Handle<Object> key, int32_t hash); |
860 | 863 |
861 static MaybeHandle<JSArray> GetInternalProperties(Isolate* isolate, | 864 static MaybeHandle<JSArray> GetInternalProperties(Isolate* isolate, |
862 Handle<Object>); | 865 Handle<Object>); |
863 }; | 866 }; |
864 | 867 |
865 | 868 |
866 std::ostream& operator<<(std::ostream&, Runtime::FunctionId); | 869 std::ostream& operator<<(std::ostream&, Runtime::FunctionId); |
867 | 870 |
868 //--------------------------------------------------------------------------- | 871 //--------------------------------------------------------------------------- |
869 // Constants used by interface to runtime functions. | 872 // Constants used by interface to runtime functions. |
870 | 873 |
871 class AllocateDoubleAlignFlag : public BitField<bool, 0, 1> {}; | 874 class AllocateDoubleAlignFlag : public BitField<bool, 0, 1> {}; |
872 class AllocateTargetSpace : public BitField<AllocationSpace, 1, 3> {}; | 875 class AllocateTargetSpace : public BitField<AllocationSpace, 1, 3> {}; |
873 | 876 |
874 class DeclareGlobalsEvalFlag : public BitField<bool, 0, 1> {}; | 877 class DeclareGlobalsEvalFlag : public BitField<bool, 0, 1> {}; |
875 class DeclareGlobalsNativeFlag : public BitField<bool, 1, 1> {}; | 878 class DeclareGlobalsNativeFlag : public BitField<bool, 1, 1> {}; |
876 STATIC_ASSERT(LANGUAGE_END == 3); | 879 STATIC_ASSERT(LANGUAGE_END == 3); |
877 class DeclareGlobalsLanguageMode : public BitField<LanguageMode, 2, 2> {}; | 880 class DeclareGlobalsLanguageMode : public BitField<LanguageMode, 2, 2> {}; |
878 | 881 |
879 } // namespace internal | 882 } // namespace internal |
880 } // namespace v8 | 883 } // namespace v8 |
881 | 884 |
882 #endif // V8_RUNTIME_RUNTIME_H_ | 885 #endif // V8_RUNTIME_RUNTIME_H_ |
OLD | NEW |