Index: src/ia32/code-stubs-ia32.h |
diff --git a/src/ia32/code-stubs-ia32.h b/src/ia32/code-stubs-ia32.h |
index fbf1a68e66390639e2b2d16267372ace17422360..6dc63bdd4910c2356f654b3a54c94915ec927efd 100644 |
--- a/src/ia32/code-stubs-ia32.h |
+++ b/src/ia32/code-stubs-ia32.h |
@@ -218,13 +218,14 @@ class StringHelper : public AllStatic { |
}; |
-// Flag that indicates how to generate code for the stub StringAddStub. |
enum StringAddFlags { |
- NO_STRING_ADD_FLAGS = 0, |
+ NO_STRING_ADD_FLAGS = 1 << 0, |
// Omit left string check in stub (left is definitely a string). |
- NO_STRING_CHECK_LEFT_IN_STUB = 1 << 0, |
+ NO_STRING_CHECK_LEFT_IN_STUB = 1 << 1, |
// Omit right string check in stub (right is definitely a string). |
- NO_STRING_CHECK_RIGHT_IN_STUB = 1 << 1, |
+ NO_STRING_CHECK_RIGHT_IN_STUB = 1 << 2, |
+ // Stub needs a frame before calling the runtime |
+ ERECT_FRAME = 1 << 3, |
// Omit both string checks in stub. |
NO_STRING_CHECK_IN_STUB = |
NO_STRING_CHECK_LEFT_IN_STUB | NO_STRING_CHECK_RIGHT_IN_STUB |
@@ -249,6 +250,9 @@ class StringAddStub: public PlatformCodeStub { |
Register scratch3, |
Label* slow); |
+ void GenerateRegisterArgsPush(MacroAssembler* masm); |
+ void GenerateRegisterArgsPop(MacroAssembler* masm, Register temp); |
+ |
const StringAddFlags flags_; |
}; |