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

Side by Side Diff: src/types.h

Issue 90643003: Experimental implementation: Exposing SIMD instructions into JavaScript Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 7 years 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 | Annotate | Revision Log
« no previous file with comments | « src/stub-cache.cc ('k') | src/types.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 2013 the V8 project authors. All rights reserved. 1 // Copyright 2013 the V8 project authors. All rights reserved.
2 // Redistribution and use in source and binary forms, with or without 2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions are 3 // modification, are permitted provided that the following conditions are
4 // met: 4 // met:
5 // 5 //
6 // * Redistributions of source code must retain the above copyright 6 // * Redistributions of source code must retain the above copyright
7 // notice, this list of conditions and the following disclaimer. 7 // notice, this list of conditions and the following disclaimer.
8 // * Redistributions in binary form must reproduce the above 8 // * Redistributions in binary form must reproduce the above
9 // copyright notice, this list of conditions and the following 9 // copyright notice, this list of conditions and the following
10 // disclaimer in the documentation and/or other materials provided 10 // disclaimer in the documentation and/or other materials provided
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
97 97
98 #define BITSET_TYPE_LIST(V) \ 98 #define BITSET_TYPE_LIST(V) \
99 V(None, 0) \ 99 V(None, 0) \
100 V(Null, 1 << 0) \ 100 V(Null, 1 << 0) \
101 V(Undefined, 1 << 1) \ 101 V(Undefined, 1 << 1) \
102 V(Boolean, 1 << 2) \ 102 V(Boolean, 1 << 2) \
103 V(Smi, 1 << 3) \ 103 V(Smi, 1 << 3) \
104 V(OtherSigned32, 1 << 4) \ 104 V(OtherSigned32, 1 << 4) \
105 V(Unsigned32, 1 << 5) \ 105 V(Unsigned32, 1 << 5) \
106 V(Double, 1 << 6) \ 106 V(Double, 1 << 6) \
107 V(Symbol, 1 << 7) \ 107 V(Float32x4, 1 << 7) \
108 V(InternalizedString, 1 << 8) \ 108 V(Int32x4, 1 << 8) \
109 V(OtherString, 1 << 9) \ 109 V(Symbol, 1 << 9) \
110 V(Undetectable, 1 << 10) \ 110 V(InternalizedString, 1 << 10) \
111 V(Array, 1 << 11) \ 111 V(OtherString, 1 << 11) \
112 V(Function, 1 << 12) \ 112 V(Undetectable, 1 << 12) \
113 V(RegExp, 1 << 13) \ 113 V(Array, 1 << 13) \
114 V(OtherObject, 1 << 14) \ 114 V(Function, 1 << 14) \
115 V(Proxy, 1 << 15) \ 115 V(RegExp, 1 << 15) \
116 V(Internal, 1 << 16) \ 116 V(OtherObject, 1 << 16) \
117 V(Proxy, 1 << 17) \
118 V(Internal, 1 << 18) \
117 \ 119 \
118 V(Oddball, kBoolean | kNull | kUndefined) \ 120 V(Oddball, kBoolean | kNull | kUndefined) \
119 V(Signed32, kSmi | kOtherSigned32) \ 121 V(Signed32, kSmi | kOtherSigned32) \
120 V(Number, kSigned32 | kUnsigned32 | kDouble) \ 122 V(Number, kSigned32 | kUnsigned32 | kDouble) \
121 V(String, kInternalizedString | kOtherString) \ 123 V(String, kInternalizedString | kOtherString) \
122 V(UniqueName, kSymbol | kInternalizedString) \ 124 V(UniqueName, kSymbol | kInternalizedString) \
123 V(Name, kSymbol | kString) \ 125 V(Name, kSymbol | kString) \
124 V(NumberOrString, kNumber | kString) \ 126 V(NumberOrString, kNumber | kString) \
125 V(Object, kUndetectable | kArray | kFunction | \ 127 V(Object, kUndetectable | kArray | kFunction | \
126 kRegExp | kOtherObject) \ 128 kRegExp | kOtherObject) \
127 V(Receiver, kObject | kProxy) \ 129 V(Receiver, kObject | kProxy) \
128 V(Allocated, kDouble | kName | kReceiver) \ 130 V(Allocated, kDouble | kFloat32x4 | kInt32x4 | kName | kReceiver) \
129 V(Any, kOddball | kNumber | kAllocated | kInternal) \ 131 V(Any, kOddball | kNumber | kAllocated | kInternal) \
130 V(NonNumber, kAny - kNumber) \ 132 V(NonNumber, kAny - kNumber) \
131 V(Detectable, kAllocated - kUndetectable) 133 V(Detectable, kAllocated - kUndetectable)
132 134
133 135
134 class Type : public Object { 136 class Type : public Object {
135 public: 137 public:
136 #define DEFINE_TYPE_CONSTRUCTOR(type, value) \ 138 #define DEFINE_TYPE_CONSTRUCTOR(type, value) \
137 static Type* type() { return from_bitset(k##type); } 139 static Type* type() { return from_bitset(k##type); }
138 BITSET_TYPE_LIST(DEFINE_TYPE_CONSTRUCTOR) 140 BITSET_TYPE_LIST(DEFINE_TYPE_CONSTRUCTOR)
139 #undef DEFINE_TYPE_CONSTRUCTOR 141 #undef DEFINE_TYPE_CONSTRUCTOR
140 142
(...skipping 187 matching lines...) Expand 10 before | Expand all | Expand 10 after
328 static Bounds NarrowUpper(Bounds b, Handle<Type> t, Isolate* isl) { 330 static Bounds NarrowUpper(Bounds b, Handle<Type> t, Isolate* isl) {
329 return Bounds( 331 return Bounds(
330 handle(Type::Intersect(b.lower, t), isl), 332 handle(Type::Intersect(b.lower, t), isl),
331 handle(Type::Intersect(b.upper, t), isl)); 333 handle(Type::Intersect(b.upper, t), isl));
332 } 334 }
333 }; 335 };
334 336
335 } } // namespace v8::internal 337 } } // namespace v8::internal
336 338
337 #endif // V8_TYPES_H_ 339 #endif // V8_TYPES_H_
OLDNEW
« no previous file with comments | « src/stub-cache.cc ('k') | src/types.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698