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

Unified Diff: src/hydrogen.h

Issue 993963002: Converted Crankshaft to have its own list of known intrinsics. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Fixed undef Created 5 years, 9 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | src/hydrogen.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/hydrogen.h
diff --git a/src/hydrogen.h b/src/hydrogen.h
index 07a5270b321345df9cdbabd04bcd6f05d4299ca0..fe2372855ada4a146a9327803d6ca03f29c9ac19 100644
--- a/src/hydrogen.h
+++ b/src/hydrogen.h
@@ -2118,17 +2118,9 @@ class HOptimizedGraphBuilder : public HGraphBuilder, public AstVisitor {
DEFINE_AST_VISITOR_SUBCLASS_MEMBERS();
protected:
- // Type of a member function that generates inline code for a native function.
- typedef void (HOptimizedGraphBuilder::*InlineFunctionGenerator)
- (CallRuntime* call);
-
- InlineFunctionGenerator FindInlineFunctionGenerator(CallRuntime* expr);
-
// Forward declarations for inner scope classes.
class SubgraphScope;
- static const InlineFunctionGenerator kInlineFunctionGenerators[];
-
static const int kMaxCallPolymorphism = 4;
static const int kMaxLoadPolymorphism = 4;
static const int kMaxStorePolymorphism = 4;
@@ -2170,13 +2162,86 @@ class HOptimizedGraphBuilder : public HGraphBuilder, public AstVisitor {
return function_state()->compilation_info()->language_mode();
}
- // Generators for inline runtime functions.
-#define INLINE_FUNCTION_GENERATOR_DECLARATION(Name, argc, ressize) \
- void Generate##Name(CallRuntime* call);
-
- INLINE_FUNCTION_LIST(INLINE_FUNCTION_GENERATOR_DECLARATION)
- INLINE_OPTIMIZED_FUNCTION_LIST(INLINE_FUNCTION_GENERATOR_DECLARATION)
-#undef INLINE_FUNCTION_GENERATOR_DECLARATION
+#define FOR_EACH_HYDROGEN_INTRINSIC(F) \
+ F(IsSmi) \
+ F(IsNonNegativeSmi) \
+ F(IsArray) \
+ F(IsRegExp) \
+ F(IsJSProxy) \
+ F(IsConstructCall) \
+ F(CallFunction) \
+ F(DefaultConstructorCallSuper) \
+ F(ArgumentsLength) \
+ F(Arguments) \
+ F(ValueOf) \
+ F(SetValueOf) \
+ F(DateField) \
+ F(StringCharFromCode) \
+ F(StringCharAt) \
+ F(OneByteSeqStringSetChar) \
+ F(TwoByteSeqStringSetChar) \
+ F(ObjectEquals) \
+ F(IsObject) \
+ F(IsFunction) \
+ F(IsUndetectableObject) \
+ F(IsSpecObject) \
+ F(IsStringWrapperSafeForDefaultValueOf) \
+ F(MathPow) \
+ F(IsMinusZero) \
+ F(HasCachedArrayIndex) \
+ F(GetCachedArrayIndex) \
+ F(FastOneByteArrayJoin) \
+ F(GeneratorNext) \
+ F(GeneratorThrow) \
+ F(DebugBreakInOptimizedCode) \
+ F(ClassOf) \
+ F(StringCharCodeAt) \
+ F(StringAdd) \
+ F(SubString) \
+ F(StringCompare) \
+ F(RegExpExec) \
+ F(RegExpConstructResult) \
+ F(GetFromCache) \
+ F(NumberToString) \
+ F(DebugIsActive) \
+ /* Typed Arrays */ \
+ F(TypedArrayInitialize) \
+ F(DataViewInitialize) \
+ F(MaxSmi) \
+ F(TypedArrayMaxSizeInHeap) \
+ F(ArrayBufferViewGetByteLength) \
+ F(ArrayBufferViewGetByteOffset) \
+ F(TypedArrayGetLength) \
+ /* ArrayBuffer */ \
+ F(ArrayBufferGetByteLength) \
+ /* Maths */ \
+ F(ConstructDouble) \
+ F(DoubleHi) \
+ F(DoubleLo) \
+ F(MathFloor) \
+ F(MathSqrtRT) \
+ F(MathLogRT) \
+ /* ES6 Collections */ \
+ F(MapClear) \
+ F(MapDelete) \
+ F(MapGet) \
+ F(MapGetSize) \
+ F(MapHas) \
+ F(MapInitialize) \
+ F(MapSet) \
+ F(SetAdd) \
+ F(SetClear) \
+ F(SetDelete) \
+ F(SetGetSize) \
+ F(SetHas) \
+ F(SetInitialize) \
+ /* Arrays */ \
+ F(HasFastPackedElements) \
+ F(GetPrototype)
+
+#define GENERATOR_DECLARATION(Name) void Generate##Name(CallRuntime* call);
+ FOR_EACH_HYDROGEN_INTRINSIC(GENERATOR_DECLARATION)
+#undef GENERATOR_DECLARATION
void VisitDelete(UnaryOperation* expr);
void VisitVoid(UnaryOperation* expr);
« no previous file with comments | « no previous file | src/hydrogen.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698