Index: src/x64/codegen-x64.h |
=================================================================== |
--- src/x64/codegen-x64.h (revision 5450) |
+++ src/x64/codegen-x64.h (working copy) |
@@ -343,15 +343,17 @@ |
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); |
- |
static Operand ContextOperand(Register context, int index) { |
return Operand(context, Context::SlotOffset(index)); |
} |
private: |
+ // Type of a member function that generates inline code for a native function. |
+ typedef void (CodeGenerator::*InlineFunctionGenerator) |
+ (ZoneList<Expression*>*); |
+ |
+ static const InlineFunctionGenerator kInlineFunctionGenerators[]; |
+ |
// Construction/Destruction |
explicit CodeGenerator(MacroAssembler* masm); |
@@ -584,12 +586,9 @@ |
void CheckStack(); |
- struct InlineRuntimeLUT { |
- void (CodeGenerator::*method)(ZoneList<Expression*>*); |
- const char* name; |
- int nargs; |
- }; |
- static InlineRuntimeLUT* FindInlineRuntimeLUT(Handle<String> name); |
+ static InlineFunctionGenerator FindInlineFunctionGenerator( |
+ Runtime::FunctionId function_id); |
+ |
bool CheckForInlineRuntimeCall(CallRuntime* node); |
void ProcessDeclarations(ZoneList<Declaration*>* declarations); |
@@ -742,8 +741,6 @@ |
// in a spilled state. |
bool in_spilled_code_; |
- static InlineRuntimeLUT kInlineRuntimeLUT[]; |
- |
friend class VirtualFrame; |
friend class JumpTarget; |
friend class Reference; |