diff options
author | Simon Hausmann <simon.hausmann@nokia.com> | 2011-05-16 13:47:09 +0200 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@nokia.com> | 2011-05-16 14:01:33 +0200 |
commit | 9ed05d4d8a5a3a7f181e4905e415f3036f334456 (patch) | |
tree | 807aefc3f8501ed6185c1f746431af0d12116c05 | |
parent | e3c777dc7acc967830be16d418c0c2825e2f593e (diff) |
Fix crashes with regular expressions QtScript on ARM traditional architectures
Save and restore the r8 register properly.
Backport of http://trac.webkit.org/changeset/65242 from WebKit trunk
Reviewed-by: Jedrzej Nowacki
(cherry picked from commit f5acce7e11fa7c6abf5cf5352ec750c1ac65dd29)
-rw-r--r-- | src/3rdparty/javascriptcore/JavaScriptCore/yarr/RegexJIT.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/yarr/RegexJIT.cpp b/src/3rdparty/javascriptcore/JavaScriptCore/yarr/RegexJIT.cpp index fcb8d86..1015923 100644 --- a/src/3rdparty/javascriptcore/JavaScriptCore/yarr/RegexJIT.cpp +++ b/src/3rdparty/javascriptcore/JavaScriptCore/yarr/RegexJIT.cpp @@ -1312,6 +1312,9 @@ class RegexGenerator : private MacroAssembler { push(ARMRegisters::r4); push(ARMRegisters::r5); push(ARMRegisters::r6); +#if CPU(ARM_TRADITIONAL) + push(ARMRegisters::r8); // scratch register +#endif move(ARMRegisters::r3, output); #endif } @@ -1327,6 +1330,9 @@ class RegexGenerator : private MacroAssembler { pop(X86Registers::ebx); pop(X86Registers::ebp); #elif CPU(ARM) +#if CPU(ARM_TRADITIONAL) + pop(ARMRegisters::r8); // scratch register +#endif pop(ARMRegisters::r6); pop(ARMRegisters::r5); pop(ARMRegisters::r4); |