Index: src/ia32/codegen-ia32.h |
=================================================================== |
--- src/ia32/codegen-ia32.h (revision 4085) |
+++ src/ia32/codegen-ia32.h (working copy) |
@@ -339,6 +339,10 @@ |
bool in_spilled_code() const { return in_spilled_code_; } |
void set_in_spilled_code(bool flag) { in_spilled_code_ = flag; } |
+ // If the name is an inline runtime function call return the number of |
+ // expected arguments. Otherwise return -1. |
+ static int InlineRuntimeCallArgumentsCount(Handle<String> name); |
+ |
private: |
// Construction/Destruction |
explicit CodeGenerator(MacroAssembler* masm); |
@@ -522,6 +526,7 @@ |
struct InlineRuntimeLUT { |
void (CodeGenerator::*method)(ZoneList<Expression*>*); |
const char* name; |
+ int nargs; |
}; |
static InlineRuntimeLUT* FindInlineRuntimeLUT(Handle<String> name); |
@@ -555,7 +560,7 @@ |
// Support for arguments.length and arguments[?]. |
void GenerateArgumentsLength(ZoneList<Expression*>* args); |
- void GenerateArgumentsAccess(ZoneList<Expression*>* args); |
+ void GenerateArguments(ZoneList<Expression*>* args); |
// Support for accessing the class and value fields of an object. |
void GenerateClassOf(ZoneList<Expression*>* args); |
@@ -593,14 +598,10 @@ |
// Fast support for number to string. |
void GenerateNumberToString(ZoneList<Expression*>* args); |
- // Fast support for Math.pow(). |
+ // Fast call to math functions. |
void GenerateMathPow(ZoneList<Expression*>* args); |
- |
- // Fast call to transcendental functions. |
void GenerateMathSin(ZoneList<Expression*>* args); |
void GenerateMathCos(ZoneList<Expression*>* args); |
- |
- // Fast case for sqrt |
void GenerateMathSqrt(ZoneList<Expression*>* args); |
// Simple condition analysis. |