Index: src/ia32/codegen-ia32.h |
diff --git a/src/ia32/codegen-ia32.h b/src/ia32/codegen-ia32.h |
index 6f1f2406d11f8e602ec7545ebd10c31879447be5..ea182ab9cc9f40b3962062633354119275b66778 100644 |
--- a/src/ia32/codegen-ia32.h |
+++ b/src/ia32/codegen-ia32.h |
@@ -38,8 +38,10 @@ namespace internal { |
// Forward declarations |
class CompilationInfo; |
class DeferredCode; |
+class FrameRegisterState; |
class RegisterAllocator; |
class RegisterFile; |
+class RuntimeCallHelper; |
enum InitState { CONST_INIT, NOT_CONST_INIT }; |
enum TypeofState { INSIDE_TYPEOF, NOT_INSIDE_TYPEOF }; |
@@ -621,10 +623,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); |
@@ -910,37 +915,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 eax register. |
- static void GenerateCharFromCode(MacroAssembler* masm, |
- Register code, |
- Register result, |
- 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 |