Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(639)

Side by Side Diff: src/runtime/runtime.h

Issue 1149863005: Move hash code from hidden string to a private symbol (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Fix global object hash code. This eated about 5% of weak collection performance Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
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_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698