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 729 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
846 size_t* element_size); | 846 size_t* element_size); |
847 | 847 |
848 // Used in runtime.cc and hydrogen's VisitArrayLiteral. | 848 // Used in runtime.cc and hydrogen's VisitArrayLiteral. |
849 MUST_USE_RESULT static MaybeHandle<Object> CreateArrayLiteralBoilerplate( | 849 MUST_USE_RESULT static MaybeHandle<Object> CreateArrayLiteralBoilerplate( |
850 Isolate* isolate, Handle<FixedArray> literals, | 850 Isolate* isolate, Handle<FixedArray> literals, |
851 Handle<FixedArray> elements, bool is_strong); | 851 Handle<FixedArray> elements, bool is_strong); |
852 | 852 |
853 static void WeakCollectionInitialize( | 853 static void WeakCollectionInitialize( |
854 Isolate* isolate, Handle<JSWeakCollection> weak_collection); | 854 Isolate* isolate, Handle<JSWeakCollection> weak_collection); |
855 static void WeakCollectionSet(Handle<JSWeakCollection> weak_collection, | 855 static void WeakCollectionSet(Handle<JSWeakCollection> weak_collection, |
856 Handle<Object> key, Handle<Object> value); | 856 Handle<Object> key, Handle<Object> value, |
| 857 int32_t hash); |
857 static bool WeakCollectionDelete(Handle<JSWeakCollection> weak_collection, | 858 static bool WeakCollectionDelete(Handle<JSWeakCollection> weak_collection, |
858 Handle<Object> key); | 859 Handle<Object> key); |
| 860 static bool WeakCollectionDelete(Handle<JSWeakCollection> weak_collection, |
| 861 Handle<Object> key, int32_t hash); |
859 | 862 |
860 static MaybeHandle<JSArray> GetInternalProperties(Isolate* isolate, | 863 static MaybeHandle<JSArray> GetInternalProperties(Isolate* isolate, |
861 Handle<Object>); | 864 Handle<Object>); |
862 }; | 865 }; |
863 | 866 |
864 | 867 |
865 std::ostream& operator<<(std::ostream&, Runtime::FunctionId); | 868 std::ostream& operator<<(std::ostream&, Runtime::FunctionId); |
866 | 869 |
867 //--------------------------------------------------------------------------- | 870 //--------------------------------------------------------------------------- |
868 // Constants used by interface to runtime functions. | 871 // Constants used by interface to runtime functions. |
869 | 872 |
870 class AllocateDoubleAlignFlag : public BitField<bool, 0, 1> {}; | 873 class AllocateDoubleAlignFlag : public BitField<bool, 0, 1> {}; |
871 class AllocateTargetSpace : public BitField<AllocationSpace, 1, 3> {}; | 874 class AllocateTargetSpace : public BitField<AllocationSpace, 1, 3> {}; |
872 | 875 |
873 class DeclareGlobalsEvalFlag : public BitField<bool, 0, 1> {}; | 876 class DeclareGlobalsEvalFlag : public BitField<bool, 0, 1> {}; |
874 class DeclareGlobalsNativeFlag : public BitField<bool, 1, 1> {}; | 877 class DeclareGlobalsNativeFlag : public BitField<bool, 1, 1> {}; |
875 STATIC_ASSERT(LANGUAGE_END == 3); | 878 STATIC_ASSERT(LANGUAGE_END == 3); |
876 class DeclareGlobalsLanguageMode : public BitField<LanguageMode, 2, 2> {}; | 879 class DeclareGlobalsLanguageMode : public BitField<LanguageMode, 2, 2> {}; |
877 | 880 |
878 } // namespace internal | 881 } // namespace internal |
879 } // namespace v8 | 882 } // namespace v8 |
880 | 883 |
881 #endif // V8_RUNTIME_RUNTIME_H_ | 884 #endif // V8_RUNTIME_RUNTIME_H_ |
OLD | NEW |