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 856 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
867 | 867 |
868 static void ArrayIdToTypeAndSize(int array_id, ExternalArrayType* type, | 868 static void ArrayIdToTypeAndSize(int array_id, ExternalArrayType* type, |
869 ElementsKind* external_elements_kind, | 869 ElementsKind* external_elements_kind, |
870 ElementsKind* fixed_elements_kind, | 870 ElementsKind* fixed_elements_kind, |
871 size_t* element_size); | 871 size_t* element_size); |
872 | 872 |
873 // Used in runtime.cc and hydrogen's VisitArrayLiteral. | 873 // Used in runtime.cc and hydrogen's VisitArrayLiteral. |
874 MUST_USE_RESULT static MaybeHandle<Object> CreateArrayLiteralBoilerplate( | 874 MUST_USE_RESULT static MaybeHandle<Object> CreateArrayLiteralBoilerplate( |
875 Isolate* isolate, Handle<FixedArray> literals, | 875 Isolate* isolate, Handle<FixedArray> literals, |
876 Handle<FixedArray> elements); | 876 Handle<FixedArray> elements); |
| 877 |
| 878 static void WeakCollectionInitialize( |
| 879 Isolate* isolate, Handle<JSWeakCollection> weak_collection); |
| 880 static void WeakCollectionSet(Handle<JSWeakCollection> weak_collection, |
| 881 Handle<Object> key, Handle<Object> value); |
| 882 static bool WeakCollectionDelete(Handle<JSWeakCollection> weak_collection, |
| 883 Handle<Object> key); |
877 }; | 884 }; |
878 | 885 |
879 | 886 |
880 std::ostream& operator<<(std::ostream&, Runtime::FunctionId); | 887 std::ostream& operator<<(std::ostream&, Runtime::FunctionId); |
881 | 888 |
882 //--------------------------------------------------------------------------- | 889 //--------------------------------------------------------------------------- |
883 // Constants used by interface to runtime functions. | 890 // Constants used by interface to runtime functions. |
884 | 891 |
885 class AllocateDoubleAlignFlag : public BitField<bool, 0, 1> {}; | 892 class AllocateDoubleAlignFlag : public BitField<bool, 0, 1> {}; |
886 class AllocateTargetSpace : public BitField<AllocationSpace, 1, 3> {}; | 893 class AllocateTargetSpace : public BitField<AllocationSpace, 1, 3> {}; |
887 | 894 |
888 class DeclareGlobalsEvalFlag : public BitField<bool, 0, 1> {}; | 895 class DeclareGlobalsEvalFlag : public BitField<bool, 0, 1> {}; |
889 class DeclareGlobalsNativeFlag : public BitField<bool, 1, 1> {}; | 896 class DeclareGlobalsNativeFlag : public BitField<bool, 1, 1> {}; |
890 STATIC_ASSERT(LANGUAGE_END == 2); | 897 STATIC_ASSERT(LANGUAGE_END == 2); |
891 class DeclareGlobalsLanguageMode : public BitField<LanguageMode, 2, 1> {}; | 898 class DeclareGlobalsLanguageMode : public BitField<LanguageMode, 2, 1> {}; |
892 | 899 |
893 } // namespace internal | 900 } // namespace internal |
894 } // namespace v8 | 901 } // namespace v8 |
895 | 902 |
896 #endif // V8_RUNTIME_RUNTIME_H_ | 903 #endif // V8_RUNTIME_RUNTIME_H_ |
OLD | NEW |