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

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

Issue 1208933006: Atomics Futex API (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: TODO about busy-waiting Created 5 years, 5 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
« no previous file with comments | « src/messages.h ('k') | src/runtime/runtime-futex.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
59 F(AtomicsStore, 3, 1) \ 59 F(AtomicsStore, 3, 1) \
60 F(AtomicsAdd, 3, 1) \ 60 F(AtomicsAdd, 3, 1) \
61 F(AtomicsSub, 3, 1) \ 61 F(AtomicsSub, 3, 1) \
62 F(AtomicsAnd, 3, 1) \ 62 F(AtomicsAnd, 3, 1) \
63 F(AtomicsOr, 3, 1) \ 63 F(AtomicsOr, 3, 1) \
64 F(AtomicsXor, 3, 1) \ 64 F(AtomicsXor, 3, 1) \
65 F(AtomicsExchange, 3, 1) \ 65 F(AtomicsExchange, 3, 1) \
66 F(AtomicsIsLockFree, 1, 1) 66 F(AtomicsIsLockFree, 1, 1)
67 67
68 68
69 #define FOR_EACH_INTRINSIC_FUTEX(F) \
70 F(AtomicsFutexWait, 4, 1) \
71 F(AtomicsFutexWake, 3, 1) \
72 F(AtomicsFutexWakeOrRequeue, 5, 1) \
73 F(AtomicsFutexNumWaitersForTesting, 2, 1)
74
75
69 #define FOR_EACH_INTRINSIC_CLASSES(F) \ 76 #define FOR_EACH_INTRINSIC_CLASSES(F) \
70 F(ThrowNonMethodError, 0, 1) \ 77 F(ThrowNonMethodError, 0, 1) \
71 F(ThrowUnsupportedSuperError, 0, 1) \ 78 F(ThrowUnsupportedSuperError, 0, 1) \
72 F(ThrowConstructorNonCallableError, 0, 1) \ 79 F(ThrowConstructorNonCallableError, 0, 1) \
73 F(ThrowArrayNotSubclassableError, 0, 1) \ 80 F(ThrowArrayNotSubclassableError, 0, 1) \
74 F(ThrowStaticPrototypeError, 0, 1) \ 81 F(ThrowStaticPrototypeError, 0, 1) \
75 F(ThrowIfStaticPrototype, 1, 1) \ 82 F(ThrowIfStaticPrototype, 1, 1) \
76 F(ToMethod, 2, 1) \ 83 F(ToMethod, 2, 1) \
77 F(HomeObjectSymbol, 0, 1) \ 84 F(HomeObjectSymbol, 0, 1) \
78 F(DefineClass, 6, 1) \ 85 F(DefineClass, 6, 1) \
(...skipping 642 matching lines...) Expand 10 before | Expand all | Expand 10 after
721 #define FOR_EACH_INTRINSIC_RETURN_OBJECT(F) \ 728 #define FOR_EACH_INTRINSIC_RETURN_OBJECT(F) \
722 FOR_EACH_INTRINSIC_ARRAY(F) \ 729 FOR_EACH_INTRINSIC_ARRAY(F) \
723 FOR_EACH_INTRINSIC_ATOMICS(F) \ 730 FOR_EACH_INTRINSIC_ATOMICS(F) \
724 FOR_EACH_INTRINSIC_CLASSES(F) \ 731 FOR_EACH_INTRINSIC_CLASSES(F) \
725 FOR_EACH_INTRINSIC_COLLECTIONS(F) \ 732 FOR_EACH_INTRINSIC_COLLECTIONS(F) \
726 FOR_EACH_INTRINSIC_COMPILER(F) \ 733 FOR_EACH_INTRINSIC_COMPILER(F) \
727 FOR_EACH_INTRINSIC_DATE(F) \ 734 FOR_EACH_INTRINSIC_DATE(F) \
728 FOR_EACH_INTRINSIC_DEBUG(F) \ 735 FOR_EACH_INTRINSIC_DEBUG(F) \
729 FOR_EACH_INTRINSIC_FORIN(F) \ 736 FOR_EACH_INTRINSIC_FORIN(F) \
730 FOR_EACH_INTRINSIC_FUNCTION(F) \ 737 FOR_EACH_INTRINSIC_FUNCTION(F) \
738 FOR_EACH_INTRINSIC_FUTEX(F) \
731 FOR_EACH_INTRINSIC_GENERATOR(F) \ 739 FOR_EACH_INTRINSIC_GENERATOR(F) \
732 FOR_EACH_INTRINSIC_I18N(F) \ 740 FOR_EACH_INTRINSIC_I18N(F) \
733 FOR_EACH_INTRINSIC_INTERNAL(F) \ 741 FOR_EACH_INTRINSIC_INTERNAL(F) \
734 FOR_EACH_INTRINSIC_JSON(F) \ 742 FOR_EACH_INTRINSIC_JSON(F) \
735 FOR_EACH_INTRINSIC_LITERALS(F) \ 743 FOR_EACH_INTRINSIC_LITERALS(F) \
736 FOR_EACH_INTRINSIC_LIVEEDIT(F) \ 744 FOR_EACH_INTRINSIC_LIVEEDIT(F) \
737 FOR_EACH_INTRINSIC_MATHS(F) \ 745 FOR_EACH_INTRINSIC_MATHS(F) \
738 FOR_EACH_INTRINSIC_NUMBERS(F) \ 746 FOR_EACH_INTRINSIC_NUMBERS(F) \
739 FOR_EACH_INTRINSIC_OBJECT(F) \ 747 FOR_EACH_INTRINSIC_OBJECT(F) \
740 FOR_EACH_INTRINSIC_OBSERVE(F) \ 748 FOR_EACH_INTRINSIC_OBSERVE(F) \
(...skipping 205 matching lines...) Expand 10 before | Expand all | Expand 10 after
946 inline bool Runtime::AtomicIsLockFree(uint32_t size) { 954 inline bool Runtime::AtomicIsLockFree(uint32_t size) {
947 return size == 1 || size == 2 || size == 4; 955 return size == 1 || size == 2 || size == 4;
948 } 956 }
949 957
950 #endif 958 #endif
951 959
952 } // namespace internal 960 } // namespace internal
953 } // namespace v8 961 } // namespace v8
954 962
955 #endif // V8_RUNTIME_RUNTIME_H_ 963 #endif // V8_RUNTIME_RUNTIME_H_
OLDNEW
« no previous file with comments | « src/messages.h ('k') | src/runtime/runtime-futex.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698