| Index: src/x64/codegen-x64.h
|
| diff --git a/src/x64/codegen-x64.h b/src/x64/codegen-x64.h
|
| index 01bbd20246b639030bd7c0da5f7be165ed8b25d6..b5a1315aa66bc25a6b63d3188bfae7869463b261 100644
|
| --- a/src/x64/codegen-x64.h
|
| +++ b/src/x64/codegen-x64.h
|
| @@ -568,10 +568,13 @@ class CodeGenerator: public AstVisitor {
|
| void GenerateSetValueOf(ZoneList<Expression*>* args);
|
|
|
| // Fast support for charCodeAt(n).
|
| - void GenerateFastCharCodeAt(ZoneList<Expression*>* args);
|
| + void GenerateStringCharCodeAt(ZoneList<Expression*>* args);
|
|
|
| // Fast support for string.charAt(n) and string[n].
|
| - void GenerateCharFromCode(ZoneList<Expression*>* args);
|
| + void GenerateStringCharFromCode(ZoneList<Expression*>* args);
|
| +
|
| + // Fast support for string.charAt(n) and string[n].
|
| + void GenerateStringCharAt(ZoneList<Expression*>* args);
|
|
|
| // Fast support for object equality testing.
|
| void GenerateObjectEquals(ZoneList<Expression*>* args);
|
| @@ -843,38 +846,6 @@ class GenericBinaryOpStub: public CodeStub {
|
|
|
| class StringHelper : public AllStatic {
|
| public:
|
| - // Generates fast code for getting a char code out of a string
|
| - // object at the given index. May bail out for four reasons (in the
|
| - // listed order):
|
| - // * Receiver is not a string (receiver_not_string label).
|
| - // * Index is not a smi (index_not_smi label).
|
| - // * Index is out of range (index_out_of_range).
|
| - // * Some other reason (slow_case label). In this case it's
|
| - // guaranteed that the above conditions are not violated,
|
| - // e.g. it's safe to assume the receiver is a string and the
|
| - // index is a non-negative smi < length.
|
| - // When successful, object, index, and scratch are clobbered.
|
| - // Otherwise, scratch and result are clobbered.
|
| - static void GenerateFastCharCodeAt(MacroAssembler* masm,
|
| - Register object,
|
| - Register index,
|
| - Register scratch,
|
| - Register result,
|
| - Label* receiver_not_string,
|
| - Label* index_not_smi,
|
| - Label* index_out_of_range,
|
| - Label* slow_case);
|
| -
|
| - // Generates code for creating a one-char string from the given char
|
| - // code. May do a runtime call, so any register can be clobbered
|
| - // and, if the given invoke flag specifies a call, an internal frame
|
| - // is required. In tail call mode the result must be rax register.
|
| - static void GenerateCharFromCode(MacroAssembler* masm,
|
| - Register code,
|
| - Register result,
|
| - Register scratch,
|
| - InvokeFlag flag);
|
| -
|
| // Generate code for copying characters using a simple loop. This should only
|
| // be used in places where the number of characters is small and the
|
| // additional setup and checking in GenerateCopyCharactersREP adds too much
|
|
|