| Index: src/arm/codegen-arm.h
|
| diff --git a/src/arm/codegen-arm.h b/src/arm/codegen-arm.h
|
| index 4f56c84fc21c89bf768cfe3873fc82c77d6bac41..5673052265bb1f879393dfa1679c93473ed3e5b8 100644
|
| --- a/src/arm/codegen-arm.h
|
| +++ b/src/arm/codegen-arm.h
|
| @@ -529,6 +529,55 @@ class GenericBinaryOpStub : public CodeStub {
|
| };
|
|
|
|
|
| +class StringStubBase: public CodeStub {
|
| + public:
|
| + // 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 GenerateCopyCharactersLong adds too much
|
| + // overhead. Copying of overlapping regions is not supported.
|
| + void GenerateCopyCharacters(MacroAssembler* masm,
|
| + Register dest,
|
| + Register src,
|
| + Register count,
|
| + Register scratch,
|
| + bool ascii);
|
| +
|
| + // Generate code for copying a large number of characters. This function
|
| + // is allowed to spend extra time setting up conditions to make copying
|
| + // faster. Copying of overlapping regions is not supported.
|
| + void GenerateCopyCharactersLong(MacroAssembler* masm,
|
| + Register dest,
|
| + Register src,
|
| + Register count,
|
| + Register scratch1,
|
| + Register scratch2,
|
| + Register scratch3,
|
| + Register scratch4,
|
| + Register scratch5,
|
| + int flags);
|
| +};
|
| +
|
| +
|
| +// Flag that indicates how to generate code for the stub StringAddStub.
|
| +enum StringAddFlags {
|
| + NO_STRING_ADD_FLAGS = 0,
|
| + NO_STRING_CHECK_IN_STUB = 1 << 0 // Omit string check in stub.
|
| +};
|
| +
|
| +
|
| +class SubStringStub: public StringStubBase {
|
| + public:
|
| + SubStringStub() {}
|
| +
|
| + private:
|
| + Major MajorKey() { return SubString; }
|
| + int MinorKey() { return 0; }
|
| +
|
| + void Generate(MacroAssembler* masm);
|
| +};
|
| +
|
| +
|
| +
|
| class StringCompareStub: public CodeStub {
|
| public:
|
| StringCompareStub() { }
|
|
|