<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>43910</bug_id>
          
          <creation_ts>2010-08-12 05:46:54 -0700</creation_ts>
          <short_desc>The scratch register should be saved in YARR with ARM JIT</short_desc>
          <delta_ts>2011-04-19 05:15:29 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Critical</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Gabor Loki">loki</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>barraclough</cc>
    
    <cc>benjamin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric</cc>
    
    <cc>hausmann</cc>
    
    <cc>jturcotte</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>263747</commentid>
    <comment_count>0</comment_count>
    <who name="Gabor Loki">loki</who>
    <bug_when>2010-08-12 05:46:54 -0700</bug_when>
    <thetext>It looks like the scratch register (S0 == r8) is not saved before entering YARR JIT on ARM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>263751</commentid>
    <comment_count>1</comment_count>
      <attachid>64215</attachid>
    <who name="Gabor Loki">loki</who>
    <bug_when>2010-08-12 05:50:40 -0700</bug_when>
    <thetext>Created attachment 64215
The scratch register should be saved in YARR with ARM JIT</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>263765</commentid>
    <comment_count>2</comment_count>
    <who name="Jocelyn Turcotte">jturcotte</who>
    <bug_when>2010-08-12 06:12:09 -0700</bug_when>
    <thetext>A bit of context for future reference:
This was causing a crash of QtWebKit on the N900 in release at the following stack trace:


Program received signal SIGSEGV, Segmentation fault.
JSC::RegExp::match (this=0x448ce300, s=..., startOffset=0, ovector=0x44935e58) at ../../webkit/JavaScriptCore/wtf/RefPtr.h:60
60	        T* get() const { return m_ptr; }
(gdb) bt
#0  JSC::RegExp::match (this=0x448ce300, s=..., startOffset=0, ovector=0x44935e58) at ../../webkit/JavaScriptCore/wtf/RefPtr.h:60
#1  0x412eaa70 in JSC::RegExpObject::match (this=0x44e02900, exec=0x460080c4) at ../../webkit/JavaScriptCore/runtime/RegExpConstructor.h:114
#2  0x412eae94 in JSC::RegExpObject::exec (this=0x28, exec=0x34) at ../../webkit/JavaScriptCore/runtime/RegExpObject.cpp:124
#3  0x412eb818 in regExpProtoFuncExec (exec=0x460080c4) at ../../webkit/JavaScriptCore/runtime/RegExpPrototype.cpp:75
#4  0x43fec34c in ?? ()
#5  0x43fec34c in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>263769</commentid>
    <comment_count>3</comment_count>
      <attachid>64215</attachid>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-08-12 06:26:14 -0700</bug_when>
    <thetext>Comment on attachment 64215
The scratch register should be saved in YARR with ARM JIT

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>263777</commentid>
    <comment_count>4</comment_count>
      <attachid>64215</attachid>
    <who name="Gabor Loki">loki</who>
    <bug_when>2010-08-12 06:34:04 -0700</bug_when>
    <thetext>Comment on attachment 64215
The scratch register should be saved in YARR with ARM JIT

I am going to land it manually.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>263779</commentid>
    <comment_count>5</comment_count>
    <who name="Gabor Loki">loki</who>
    <bug_when>2010-08-12 06:39:23 -0700</bug_when>
    <thetext>Committed revision 65242.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>263780</commentid>
    <comment_count>6</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-08-12 06:43:02 -0700</bug_when>
    <thetext>You can use webkit-patch mark-bug-fixed to get all the fancy bug updating when you chose to land without webkit-patch land or the cq.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>263785</commentid>
    <comment_count>7</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-08-12 07:09:01 -0700</bug_when>
    <thetext>Revision r65242 cherry-picked into qtwebkit-2.1 with commit 29b5a48d43c1cca1b875c407f31fd6e1928fc0a6</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>263927</commentid>
    <comment_count>8</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2010-08-12 13:08:23 -0700</bug_when>
    <thetext>Thanks Jocelyn and Loki! I will be able to work with trunk on ARM again :)</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>64215</attachid>
            <date>2010-08-12 05:50:40 -0700</date>
            <delta_ts>2010-08-12 06:34:03 -0700</delta_ts>
            <desc>The scratch register should be saved in YARR with ARM JIT</desc>
            <filename>0001-The-scratch-register-should-be-saved-in-YARR-with-AR.patch</filename>
            <type>text/plain</type>
            <size>1955</size>
            <attacher name="Gabor Loki">loki</attacher>
            
              <data encoding="base64">RnJvbSBmNjk1YTM0MzM5NWUxNzg2YjEwMDEwZWE1M2U1NDNjZDRmOTJmMzk5IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBHYWJvciBMb2tpIDxsb2tpQGluZi51LXN6ZWdlZC5odT4KRGF0
ZTogVGh1LCAxMiBBdWcgMjAxMCAxNDo0ODo1NSArMDIwMApTdWJqZWN0OiBbUEFUQ0hdIFRoZSBz
Y3JhdGNoIHJlZ2lzdGVyIHNob3VsZCBiZSBzYXZlZCBpbiBZQVJSIHdpdGggQVJNIEpJVAoKU2ln
bmVkLW9mZi1ieTogR2Fib3IgTG9raSA8bG9raUBpbmYudS1zemVnZWQuaHU+Ci0tLQogSmF2YVNj
cmlwdENvcmUvQ2hhbmdlTG9nICAgICAgICAgfCAgIDEzICsrKysrKysrKysrKysKIEphdmFTY3Jp
cHRDb3JlL3lhcnIvUmVnZXhKSVQuY3BwIHwgICAgNiArKysrKysKIDIgZmlsZXMgY2hhbmdlZCwg
MTkgaW5zZXJ0aW9ucygrKSwgMCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cgYi9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKaW5kZXggODA1NzhmOC4u
YTg4NzNjNiAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCisrKyBiL0phdmFT
Y3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDEwLTA4LTEyICBHYWJvciBM
b2tpICA8bG9raUB3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFRoZSBzY3JhdGNoIHJlZ2lzdGVyIHNob3VsZCBiZSBzYXZlZCBpbiBZ
QVJSIHdpdGggQVJNIEpJVAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NDM5MTAKKworICAgICAgICBSZXBvcnRlZCBieSBKb2NlbHluIFR1cmNvdHRlLgor
CisgICAgICAgICogeWFyci9SZWdleEpJVC5jcHA6CisgICAgICAgIChKU0M6OllhcnI6OlJlZ2V4
R2VuZXJhdG9yOjpnZW5lcmF0ZUVudGVyKToKKyAgICAgICAgKEpTQzo6WWFycjo6UmVnZXhHZW5l
cmF0b3I6OmdlbmVyYXRlUmV0dXJuKToKKwogMjAxMC0wOC0xMSAgR2F2aW4gQmFycmFjbG91Z2gg
IDxiYXJyYWNsb3VnaEBhcHBsZS5jb20+CiAKICAgICAgICAgV2luZG93cyBidWlsZCBmaXguCmRp
ZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS95YXJyL1JlZ2V4SklULmNwcCBiL0phdmFTY3JpcHRD
b3JlL3lhcnIvUmVnZXhKSVQuY3BwCmluZGV4IGUxNThmOGYuLjRjMjE1NDcgMTAwNjQ0Ci0tLSBh
L0phdmFTY3JpcHRDb3JlL3lhcnIvUmVnZXhKSVQuY3BwCisrKyBiL0phdmFTY3JpcHRDb3JlL3lh
cnIvUmVnZXhKSVQuY3BwCkBAIC0xNDE2LDYgKzE0MTYsOSBAQCBjbGFzcyBSZWdleEdlbmVyYXRv
ciA6IHByaXZhdGUgTWFjcm9Bc3NlbWJsZXIgewogICAgICAgICBwdXNoKEFSTVJlZ2lzdGVyczo6
cjQpOwogICAgICAgICBwdXNoKEFSTVJlZ2lzdGVyczo6cjUpOwogICAgICAgICBwdXNoKEFSTVJl
Z2lzdGVyczo6cjYpOworI2lmIENQVShBUk1fVFJBRElUSU9OQUwpCisgICAgICAgIHB1c2goQVJN
UmVnaXN0ZXJzOjpyOCk7IC8vIHNjcmF0Y2ggcmVnaXN0ZXIKKyNlbmRpZgogICAgICAgICBtb3Zl
KEFSTVJlZ2lzdGVyczo6cjMsIG91dHB1dCk7CiAjZWxpZiBDUFUoTUlQUykKICAgICAgICAgLy8g
RG8gbm90aGluZy4KQEAgLTE0MzMsNiArMTQzNiw5IEBAIGNsYXNzIFJlZ2V4R2VuZXJhdG9yIDog
cHJpdmF0ZSBNYWNyb0Fzc2VtYmxlciB7CiAgICAgICAgIHBvcChYODZSZWdpc3RlcnM6OmVieCk7
CiAgICAgICAgIHBvcChYODZSZWdpc3RlcnM6OmVicCk7CiAjZWxpZiBDUFUoQVJNKQorI2lmIENQ
VShBUk1fVFJBRElUSU9OQUwpCisgICAgICAgIHBvcChBUk1SZWdpc3RlcnM6OnI4KTsgLy8gc2Ny
YXRjaCByZWdpc3RlcgorI2VuZGlmCiAgICAgICAgIHBvcChBUk1SZWdpc3RlcnM6OnI2KTsKICAg
ICAgICAgcG9wKEFSTVJlZ2lzdGVyczo6cjUpOwogICAgICAgICBwb3AoQVJNUmVnaXN0ZXJzOjpy
NCk7Ci0tIAoxLjcuMC40Cgo=
</data>
<flag name="review"
          id="52731"
          type_id="1"
          status="+"
          setter="hausmann"
    />
    <flag name="commit-queue"
          id="52735"
          type_id="3"
          status="-"
          setter="loki"
    />
          </attachment>
      

    </bug>

</bugzilla>