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_HYDROGEN_H_ | 5 #ifndef V8_HYDROGEN_H_ |
6 #define V8_HYDROGEN_H_ | 6 #define V8_HYDROGEN_H_ |
7 | 7 |
8 #include "src/v8.h" | 8 #include "src/v8.h" |
9 | 9 |
10 #include "src/accessors.h" | 10 #include "src/accessors.h" |
(...skipping 2144 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2155 TestContext* inlined_test_context() const { | 2155 TestContext* inlined_test_context() const { |
2156 return function_state()->test_context(); | 2156 return function_state()->test_context(); |
2157 } | 2157 } |
2158 void ClearInlinedTestContext() { | 2158 void ClearInlinedTestContext() { |
2159 function_state()->ClearInlinedTestContext(); | 2159 function_state()->ClearInlinedTestContext(); |
2160 } | 2160 } |
2161 LanguageMode function_language_mode() { | 2161 LanguageMode function_language_mode() { |
2162 return function_state()->compilation_info()->language_mode(); | 2162 return function_state()->compilation_info()->language_mode(); |
2163 } | 2163 } |
2164 | 2164 |
2165 #define FOR_EACH_HYDROGEN_INTRINSIC(F) \ | 2165 #define FOR_EACH_HYDROGEN_INTRINSIC(F) \ |
2166 F(IsSmi) \ | 2166 F(IsSmi) \ |
2167 F(IsNonNegativeSmi) \ | 2167 F(IsArray) \ |
2168 F(IsArray) \ | 2168 F(IsRegExp) \ |
2169 F(IsRegExp) \ | 2169 F(IsJSProxy) \ |
2170 F(IsJSProxy) \ | 2170 F(IsConstructCall) \ |
2171 F(IsConstructCall) \ | 2171 F(CallFunction) \ |
2172 F(CallFunction) \ | 2172 F(ArgumentsLength) \ |
2173 F(DefaultConstructorCallSuper) \ | 2173 F(Arguments) \ |
2174 F(ArgumentsLength) \ | 2174 F(ValueOf) \ |
2175 F(Arguments) \ | 2175 F(SetValueOf) \ |
2176 F(ValueOf) \ | 2176 F(DateField) \ |
2177 F(SetValueOf) \ | 2177 F(StringCharFromCode) \ |
2178 F(DateField) \ | 2178 F(StringCharAt) \ |
2179 F(StringCharFromCode) \ | 2179 F(OneByteSeqStringSetChar) \ |
2180 F(StringCharAt) \ | 2180 F(TwoByteSeqStringSetChar) \ |
2181 F(OneByteSeqStringSetChar) \ | 2181 F(ObjectEquals) \ |
2182 F(TwoByteSeqStringSetChar) \ | 2182 F(IsObject) \ |
2183 F(ObjectEquals) \ | 2183 F(IsFunction) \ |
2184 F(IsObject) \ | 2184 F(IsUndetectableObject) \ |
2185 F(IsFunction) \ | 2185 F(IsSpecObject) \ |
2186 F(IsUndetectableObject) \ | 2186 F(MathPow) \ |
2187 F(IsSpecObject) \ | 2187 F(IsMinusZero) \ |
2188 F(IsStringWrapperSafeForDefaultValueOf) \ | 2188 F(HasCachedArrayIndex) \ |
2189 F(MathPow) \ | 2189 F(GetCachedArrayIndex) \ |
2190 F(IsMinusZero) \ | 2190 F(DebugBreakInOptimizedCode) \ |
2191 F(HasCachedArrayIndex) \ | 2191 F(StringCharCodeAt) \ |
2192 F(GetCachedArrayIndex) \ | 2192 F(StringAdd) \ |
2193 F(FastOneByteArrayJoin) \ | 2193 F(SubString) \ |
2194 F(GeneratorNext) \ | 2194 F(StringCompare) \ |
2195 F(GeneratorThrow) \ | 2195 F(RegExpExec) \ |
2196 F(DebugBreakInOptimizedCode) \ | 2196 F(RegExpConstructResult) \ |
2197 F(ClassOf) \ | 2197 F(GetFromCache) \ |
2198 F(StringCharCodeAt) \ | 2198 F(NumberToString) \ |
2199 F(StringAdd) \ | 2199 F(DebugIsActive) \ |
2200 F(SubString) \ | 2200 /* Typed Arrays */ \ |
2201 F(StringCompare) \ | 2201 F(TypedArrayInitialize) \ |
2202 F(RegExpExec) \ | 2202 F(DataViewInitialize) \ |
2203 F(RegExpConstructResult) \ | 2203 F(MaxSmi) \ |
2204 F(GetFromCache) \ | 2204 F(TypedArrayMaxSizeInHeap) \ |
2205 F(NumberToString) \ | 2205 F(ArrayBufferViewGetByteLength) \ |
2206 F(DebugIsActive) \ | 2206 F(ArrayBufferViewGetByteOffset) \ |
2207 /* Typed Arrays */ \ | 2207 F(TypedArrayGetLength) \ |
2208 F(TypedArrayInitialize) \ | 2208 /* ArrayBuffer */ \ |
2209 F(DataViewInitialize) \ | 2209 F(ArrayBufferGetByteLength) \ |
2210 F(MaxSmi) \ | 2210 /* Maths */ \ |
2211 F(TypedArrayMaxSizeInHeap) \ | 2211 F(ConstructDouble) \ |
2212 F(ArrayBufferViewGetByteLength) \ | 2212 F(DoubleHi) \ |
2213 F(ArrayBufferViewGetByteOffset) \ | 2213 F(DoubleLo) \ |
2214 F(TypedArrayGetLength) \ | 2214 F(MathFloor) \ |
2215 /* ArrayBuffer */ \ | 2215 F(MathSqrtRT) \ |
2216 F(ArrayBufferGetByteLength) \ | 2216 F(MathLogRT) \ |
2217 /* Maths */ \ | 2217 /* ES6 Collections */ \ |
2218 F(ConstructDouble) \ | 2218 F(MapClear) \ |
2219 F(DoubleHi) \ | 2219 F(MapDelete) \ |
2220 F(DoubleLo) \ | 2220 F(MapGet) \ |
2221 F(MathFloor) \ | 2221 F(MapGetSize) \ |
2222 F(MathSqrtRT) \ | 2222 F(MapHas) \ |
2223 F(MathLogRT) \ | 2223 F(MapInitialize) \ |
2224 /* ES6 Collections */ \ | 2224 F(MapSet) \ |
2225 F(MapClear) \ | 2225 F(SetAdd) \ |
2226 F(MapDelete) \ | 2226 F(SetClear) \ |
2227 F(MapGet) \ | 2227 F(SetDelete) \ |
2228 F(MapGetSize) \ | 2228 F(SetGetSize) \ |
2229 F(MapHas) \ | 2229 F(SetHas) \ |
2230 F(MapInitialize) \ | 2230 F(SetInitialize) \ |
2231 F(MapSet) \ | 2231 /* Arrays */ \ |
2232 F(SetAdd) \ | 2232 F(HasFastPackedElements) \ |
2233 F(SetClear) \ | |
2234 F(SetDelete) \ | |
2235 F(SetGetSize) \ | |
2236 F(SetHas) \ | |
2237 F(SetInitialize) \ | |
2238 /* Arrays */ \ | |
2239 F(HasFastPackedElements) \ | |
2240 F(GetPrototype) | 2233 F(GetPrototype) |
2241 | 2234 |
2242 #define GENERATOR_DECLARATION(Name) void Generate##Name(CallRuntime* call); | 2235 #define GENERATOR_DECLARATION(Name) void Generate##Name(CallRuntime* call); |
2243 FOR_EACH_HYDROGEN_INTRINSIC(GENERATOR_DECLARATION) | 2236 FOR_EACH_HYDROGEN_INTRINSIC(GENERATOR_DECLARATION) |
2244 #undef GENERATOR_DECLARATION | 2237 #undef GENERATOR_DECLARATION |
2245 | 2238 |
2246 void VisitDelete(UnaryOperation* expr); | 2239 void VisitDelete(UnaryOperation* expr); |
2247 void VisitVoid(UnaryOperation* expr); | 2240 void VisitVoid(UnaryOperation* expr); |
2248 void VisitTypeof(UnaryOperation* expr); | 2241 void VisitTypeof(UnaryOperation* expr); |
2249 void VisitNot(UnaryOperation* expr); | 2242 void VisitNot(UnaryOperation* expr); |
(...skipping 781 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3031 } | 3024 } |
3032 | 3025 |
3033 private: | 3026 private: |
3034 HGraphBuilder* builder_; | 3027 HGraphBuilder* builder_; |
3035 }; | 3028 }; |
3036 | 3029 |
3037 | 3030 |
3038 } } // namespace v8::internal | 3031 } } // namespace v8::internal |
3039 | 3032 |
3040 #endif // V8_HYDROGEN_H_ | 3033 #endif // V8_HYDROGEN_H_ |
OLD | NEW |