| Index: src/arm/codegen-arm.h
|
| ===================================================================
|
| --- src/arm/codegen-arm.h (revision 3964)
|
| +++ src/arm/codegen-arm.h (working copy)
|
| @@ -203,7 +203,7 @@
|
|
|
| // Accessors
|
| inline bool is_eval();
|
| - Scope* scope();
|
| + inline Scope* scope();
|
|
|
| // Generating deferred code.
|
| void ProcessDeferred();
|
| @@ -370,6 +370,9 @@
|
| // Fast support for charCodeAt(n).
|
| void GenerateFastCharCodeAt(ZoneList<Expression*>* args);
|
|
|
| + // Fast support for string.charAt(n) and string[n].
|
| + void GenerateCharFromCode(ZoneList<Expression*>* args);
|
| +
|
| // Fast support for object equality testing.
|
| void GenerateObjectEquals(ZoneList<Expression*>* args);
|
|
|
| @@ -393,10 +396,16 @@
|
| // Fast support for number to string.
|
| void GenerateNumberToString(ZoneList<Expression*>* args);
|
|
|
| + // Fast support for Math.pow().
|
| + void GenerateMathPow(ZoneList<Expression*>* args);
|
| +
|
| // Fast call to sine function.
|
| void GenerateMathSin(ZoneList<Expression*>* args);
|
| void GenerateMathCos(ZoneList<Expression*>* args);
|
|
|
| + // Fast support for Math.pow().
|
| + void GenerateMathSqrt(ZoneList<Expression*>* args);
|
| +
|
| // Simple condition analysis.
|
| enum ConditionAnalysis {
|
| ALWAYS_TRUE,
|
| @@ -558,6 +567,36 @@
|
| Register scratch4,
|
| Register scratch5,
|
| int flags);
|
| +
|
| +
|
| + // Probe the symbol table for a two character string. If the string is
|
| + // not found by probing a jump to the label not_found is performed. This jump
|
| + // does not guarantee that the string is not in the symbol table. If the
|
| + // string is found the code falls through with the string in register r0.
|
| + // Contents of both c1 and c2 registers are modified. At the exit c1 is
|
| + // guaranteed to contain halfword with low and high bytes equal to
|
| + // initial contents of c1 and c2 respectively.
|
| + void GenerateTwoCharacterSymbolTableProbe(MacroAssembler* masm,
|
| + Register c1,
|
| + Register c2,
|
| + Register scratch1,
|
| + Register scratch2,
|
| + Register scratch3,
|
| + Register scratch4,
|
| + Register scratch5,
|
| + Label* not_found);
|
| +
|
| + // Generate string hash.
|
| + void GenerateHashInit(MacroAssembler* masm,
|
| + Register hash,
|
| + Register character);
|
| +
|
| + void GenerateHashAddCharacter(MacroAssembler* masm,
|
| + Register hash,
|
| + Register character);
|
| +
|
| + void GenerateHashGetHash(MacroAssembler* masm,
|
| + Register hash);
|
| };
|
|
|
|
|
|
|