| Index: src/x64/codegen-x64.h
|
| ===================================================================
|
| --- src/x64/codegen-x64.h (revision 3430)
|
| +++ src/x64/codegen-x64.h (working copy)
|
| @@ -745,6 +745,36 @@
|
| };
|
|
|
|
|
| +// 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 StringAddStub: public CodeStub {
|
| + public:
|
| + explicit StringAddStub(StringAddFlags flags) {
|
| + string_check_ = ((flags & NO_STRING_CHECK_IN_STUB) == 0);
|
| + }
|
| +
|
| + private:
|
| + Major MajorKey() { return StringAdd; }
|
| + int MinorKey() { return string_check_ ? 0 : 1; }
|
| +
|
| + void Generate(MacroAssembler* masm);
|
| +
|
| + void GenerateCopyCharacters(MacroAssembler* masm,
|
| + Register desc,
|
| + Register src,
|
| + Register count,
|
| + bool ascii);
|
| +
|
| + // Should the stub check whether arguments are strings?
|
| + bool string_check_;
|
| +};
|
| +
|
| +
|
| } } // namespace v8::internal
|
|
|
| #endif // V8_X64_CODEGEN_X64_H_
|
|
|