<?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>45749</bug_id>
          
          <creation_ts>2010-09-14 07:35:29 -0700</creation_ts>
          <short_desc>Extend YARR JIT with beginning character look-up optimization</short_desc>
          <delta_ts>2011-05-24 13:02:02 -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>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>WONTFIX</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>61306</dependson>
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Peter Varga">pvarga</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abecsi</cc>
    
    <cc>barraclough</cc>
    
    <cc>buildbot</cc>
    
    <cc>eric</cc>
    
    <cc>ggaren</cc>
    
    <cc>gustavo</cc>
    
    <cc>msaboff</cc>
    
    <cc>oliver</cc>
    
    <cc>ossy</cc>
    
    <cc>webkit-ews</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
    
    <cc>zherczeg</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>278884</commentid>
    <comment_count>0</comment_count>
    <who name="Peter Varga">pvarga</who>
    <bug_when>2010-09-14 07:35:29 -0700</bug_when>
    <thetext>Search the start index of the first potential match before the pattern
matching process. Use the vector of possible beginning characters which are collected
by YARR&apos;s parser.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>278888</commentid>
    <comment_count>1</comment_count>
      <attachid>67548</attachid>
    <who name="Peter Varga">pvarga</who>
    <bug_when>2010-09-14 07:39:47 -0700</bug_when>
    <thetext>Created attachment 67548
proposed patch

Performance results:

                                      ref               mod
regexp-dna:   1.060x as fast   21.1ms +/- 1.1%   19.9ms +/- 1.1%
v8-regexp:    1.011x as slow  350.9ms +/- 0.2%  354.7ms +/- 0.1%</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>278898</commentid>
    <comment_count>2</comment_count>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2010-09-14 07:54:49 -0700</bug_when>
    <thetext>Attachment 67548 did not build on qt:
Build output: http://queues.webkit.org/results/3998008</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>278902</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-09-14 08:00:33 -0700</bug_when>
    <thetext>Attachment 67548 did not build on gtk:
Build output: http://queues.webkit.org/results/4019006</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>278908</commentid>
    <comment_count>4</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2010-09-14 08:06:00 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; Attachment 67548 [details] did not build on qt:
&gt; Build output: http://queues.webkit.org/results/3998008

It will build on Qt after https://bugs.webkit.org/show_bug.cgi?id=45748 fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>278935</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-09-14 08:48:34 -0700</bug_when>
    <thetext>Attachment 67548 did not build on win:
Build output: http://queues.webkit.org/results/4017011</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>279141</commentid>
    <comment_count>6</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2010-09-14 13:53:00 -0700</bug_when>
    <thetext>Do you know why v8-regexp got slower?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>279537</commentid>
    <comment_count>7</comment_count>
    <who name="Peter Varga">pvarga</who>
    <bug_when>2010-09-15 07:19:01 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; Do you know why v8-regexp got slower?

I made some other measurements:
- I increased the number of iterations in the v8-regexp benchmark. The ratio of the difference between the two results 
didn&apos;t increase.
- I just measured with the parser&apos;s patch (https://bugs.webkit.org/show_bug.cgi?id=45748). I noticed that the slow-down still remains.
- On another machine the v8 benchmark&apos;s results were different. v8-regexp was faster than the reference but 
other tests&apos; (which don&apos;t contain regular expressions) performance results were different. I think it is caused by deviation.

It looks like the slow-down with v8-regexp is caused by the beginning character collecting in the parser.
I&apos;m working on this problem.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>279609</commentid>
    <comment_count>8</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2010-09-15 10:32:52 -0700</bug_when>
    <thetext>Any idea why this would slow down the JIT but not the interpreter? Your interpreter results show a solid improvement on v8-regexp. It&apos;s surprising that the JIT wouldn&apos;t improve as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>279635</commentid>
    <comment_count>9</comment_count>
    <who name="Peter Varga">pvarga</who>
    <bug_when>2010-09-15 11:34:28 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; Any idea why this would slow down the JIT but not the interpreter? Your interpreter results show a solid improvement on v8-regexp. It&apos;s surprising that the JIT wouldn&apos;t improve as well.

I think this optimization haven&apos;t enough possibilities to make faster the pattern matching in case of v8-regexp test. Therefore the overhead of the character collecting is greater than the profit of the optimization in case of JIT.

However this optimization is more efficient in case of interpreter and the overhead of character collecting is same in both case, therefore the overhead should be negligible when the interpreter does the pattern matching.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>281047</commentid>
    <comment_count>10</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2010-09-17 18:12:19 -0700</bug_when>
    <thetext>Hi Peter,

I think Michael is going to take a look over your patch, since he&apos;s been working in this area at the minute.  He has a patch on bugs.webkit.org/show_bug.cgi?id=45787 that I imagine could conflict with this, which is at commit-queue+ at the minute.  You may need to update your patches once this has landed to resolve any merge issues.

cheers,
G.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>281487</commentid>
    <comment_count>11</comment_count>
      <attachid>68070</attachid>
    <who name="Peter Varga">pvarga</who>
    <bug_when>2010-09-20 04:12:42 -0700</bug_when>
    <thetext>Created attachment 68070
proposed patch v2

updated patch for top of trunk.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>281490</commentid>
    <comment_count>12</comment_count>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2010-09-20 04:19:41 -0700</bug_when>
    <thetext>Attachment 68070 did not build on qt:
Build output: http://queues.webkit.org/results/4035090</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>281495</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-09-20 04:52:45 -0700</bug_when>
    <thetext>Attachment 68070 did not build on gtk:
Build output: http://queues.webkit.org/results/4084022</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>281499</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-09-20 05:08:11 -0700</bug_when>
    <thetext>Attachment 68070 did not build on win:
Build output: http://queues.webkit.org/results/4031067</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>281596</commentid>
    <comment_count>15</comment_count>
    <who name="Peter Varga">pvarga</who>
    <bug_when>2010-09-20 09:20:10 -0700</bug_when>
    <thetext>The new performance results without the collecting of character classes:

                                       ref                mod
regexp-dna:  1.055x as fast     21.1ms +/- 1.1%    20.0ms +/- 0.0%
v8-regexp:   ??                316.6ms +/- 0.6%   317.6ms +/- 0.2%</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>297429</commentid>
    <comment_count>16</comment_count>
      <attachid>71439</attachid>
    <who name="Peter Varga">pvarga</who>
    <bug_when>2010-10-21 08:20:56 -0700</bug_when>
    <thetext>Created attachment 71439
proposed patch v3

update patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>309891</commentid>
    <comment_count>17</comment_count>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2010-11-16 13:08:29 -0800</bug_when>
    <thetext>Attachment 71439 did not build on qt:
Build output: http://queues.webkit.org/results/6117003</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>309966</commentid>
    <comment_count>18</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2010-11-16 15:18:22 -0800</bug_when>
    <thetext>Attachment 71439 did not build on win:
Build output: http://queues.webkit.org/results/5992105</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>317011</commentid>
    <comment_count>19</comment_count>
      <attachid>71439</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-12-03 13:30:15 -0800</bug_when>
    <thetext>Comment on attachment 71439
proposed patch v3

r- for qt and win failures.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>317505</commentid>
    <comment_count>20</comment_count>
      <attachid>75659</attachid>
    <who name="Peter Varga">pvarga</who>
    <bug_when>2010-12-06 02:35:41 -0800</bug_when>
    <thetext>Created attachment 75659
proposed patch v3

I upload the previous patch again. It has failed on the last ews check because a depedency wasn&apos;t landed but now it seems ok.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>408078</commentid>
    <comment_count>21</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-05-23 11:00:10 -0700</bug_when>
    <thetext>Oliver, Gavin:  This patch has been up for review for 6 months.  it&apos;s tiny.  Please r- it or r+ it.  I will r- this next week if it still remains undecided.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>408292</commentid>
    <comment_count>22</comment_count>
      <attachid>75659</attachid>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2011-05-23 14:22:49 -0700</bug_when>
    <thetext>Comment on attachment 75659
proposed patch v3

Clearing review flag pending 61306</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>409139</commentid>
    <comment_count>23</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2011-05-24 13:02:02 -0700</bug_when>
    <thetext>Marking this won&apos;t fix based on resolution to r61306.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>67548</attachid>
            <date>2010-09-14 07:39:47 -0700</date>
            <delta_ts>2010-09-20 04:12:42 -0700</delta_ts>
            <desc>proposed patch</desc>
            <filename>0001-kilincs-jit-optimization.patch</filename>
            <type>text/plain</type>
            <size>4314</size>
            <attacher name="Peter Varga">pvarga</attacher>
            
              <data encoding="base64">RnJvbSBiMzgwZWUzNjUxNWU5NTM4ZWMxODc5YzkxNWNiNjYwZGU0ZDRkODAxIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRlciBWYXJnYSA8cHZhcmdhQGluZi51LXN6ZWdlZC5odT4K
RGF0ZTogVHVlLCAxNCBTZXAgMjAxMCAxNjozODozMiArMDIwMApTdWJqZWN0OiBbUEFUQ0hdIGtp
bGluY3Mgaml0IG9wdGltaXphdGlvbgoKLS0tCiBKYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgICAg
ICAgICB8ICAgMTcgKysrKysrKysrKysrCiBKYXZhU2NyaXB0Q29yZS95YXJyL1JlZ2V4SklULmNw
cCB8ICAgNTQgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIDIgZmlsZXMg
Y2hhbmdlZCwgNzEgaW5zZXJ0aW9ucygrKSwgMCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9K
YXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKaW5kZXgg
YTczNDUwNi4uMzljMjNiNiAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCisr
KyBiL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMiw2ICsyLDIzIEBACiAKICAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCiAKKyAgICAgICAgRXh0ZW5kIFlBUlIgSklUIHdp
dGggYmVnaW5uaW5nIGNoYXJhY3RlciBsb29rLXVwIG9waXRpbWl6YXRpb24KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ1NzQ5CisKKyAgICAgICAgQWRk
IGJlZ2lubmluZyBjaGFyYWN0ZXIgbG9vay11cCBvcHRpbWl6YXRpb24gd2hpY2ggc2V0cyB0aGUg
c3RhcnQKKyAgICAgICAgaW5kZXggdG8gdGhlIGZpcnN0IHBvc3NpYmxlIHN1Y2Nlc3NmdWwgcGF0
dGVybiBtYXRjaC4KKyAgICAgICAgRXh0ZW5kIFlBUlIgSklUIHdpdGggZ2VuZXJhdGVMb29rdXBG
b3JCZWdpbkNoYXJzIGZ1bmN0aW9uIHdoaWNoCisgICAgICAgIGdlbmVyYXRlcyBuYXRpdmUgY29k
ZSBmb3IgdGhlIGJlZ2lubmluZyBjaGFyYWN0ZXIgbG9vay11cAorICAgICAgICBvcHRpbWl6YXRp
b24uCisKKyAgICAgICAgKiB5YXJyL1JlZ2V4SklULmNwcDoKKyAgICAgICAgKEpTQzo6WWFycjo6
UmVnZXhHZW5lcmF0b3I6OmdlbmVyYXRlTG9va3VwRm9yQmVnaW5DaGFycyk6CisgICAgICAgIChK
U0M6OllhcnI6OlJlZ2V4R2VuZXJhdG9yOjpnZW5lcmF0ZURpc2p1bmN0aW9uKToKKworMjAxMC0w
OS0xNCAgUGV0ZXIgVmFyZ2EgIDxwdmFyZ2FAaW5mLnUtc3plZ2VkLmh1PgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCiAgICAgICAgIENvbGxlY3QgdGhlIGJlZ2lubmlu
ZyBjaGFyYWN0ZXJzIGluIGEgUmVnRXhwIHBhdHRlcm4gZm9yIGxvb2stdXAKICAgICAgICAgb3B0
aW1pemF0aW9uCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD00NTc0OApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUveWFyci9SZWdleEpJVC5jcHAgYi9K
YXZhU2NyaXB0Q29yZS95YXJyL1JlZ2V4SklULmNwcAppbmRleCA3ODE4YjUyLi41OTc0MDVjIDEw
MDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS95YXJyL1JlZ2V4SklULmNwcAorKysgYi9KYXZhU2Ny
aXB0Q29yZS95YXJyL1JlZ2V4SklULmNwcApAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmln
aHQgKEMpIDIwMDkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0
IChDKSAyMDEwIFBldGVyIFZhcmdhIChwdmFyZ2FAaW5mLnUtc3plZ2VkLmh1KSwgVW5pdmVyc2l0
eSBvZiBTemVnZWQKICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMTIwMiw2ICsx
MjAzLDQ3IEBAIGNsYXNzIFJlZ2V4R2VuZXJhdG9yIDogcHJpdmF0ZSBNYWNyb0Fzc2VtYmxlciB7
CiAgICAgICAgIH0KICAgICB9CiAKKyAgICB2b2lkIGdlbmVyYXRlTG9va3VwRm9yQmVnaW5DaGFy
cyhpbnQgY291bnRUb0NoZWNrID0gMCkKKyAgICB7CisgICAgICAgIGNvbnN0IFJlZ2lzdGVySUQg
Y2hhcmFjdGVyID0gcmVnVDA7CisgICAgICAgIGNvbnN0IFJlZ2lzdGVySUQgY2hhcmFjdGVyVGVt
cCA9IHJlZ1QxOworCisgICAgICAgIGJvb2wgZmlyc3RTaW5nbGVDaGFyRm91bmQgPSBmYWxzZTsK
KyAgICAgICAgaW50IHByZXZNYXNrID0gMDsKKworICAgICAgICBKdW1wTGlzdCBvdmVyOworICAg
ICAgICBMYWJlbCBsb29wKHRoaXMpOworCisgICAgICAgIG92ZXIuYXBwZW5kKGF0RW5kT2ZJbnB1
dCgpKTsKKworICAgICAgICBsb2FkMzJXaXRoVW5hbGlnbmVkSGFsZldvcmRzKEJhc2VJbmRleChp
bnB1dCwgaW5kZXgsIFRpbWVzVHdvLCAtY291bnRUb0NoZWNrICogc2l6ZW9mKFVDaGFyKSksIGNo
YXJhY3Rlcik7CisKKyAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG1fcGF0dGVybi5t
X2JlZ2luQ2hhckhlbHBlci5zaXplKCk7ICsraSkgeworICAgICAgICAgICAgQmVnaW5DaGFyIGJj
ID0gbV9wYXR0ZXJuLm1fYmVnaW5DaGFySGVscGVyLm1fYmVnaW5DaGFyc1tpXTsKKworICAgICAg
ICAgICAgaWYgKCFmaXJzdFNpbmdsZUNoYXJGb3VuZCAmJiBiYy52YWx1ZSA8PSAweEZGRkYpIHsK
KyAgICAgICAgICAgICAgICBmaXJzdFNpbmdsZUNoYXJGb3VuZCA9IHRydWU7CisgICAgICAgICAg
ICAgICAgYW5kMzIoSW1tMzIoMHhGRkZGKSwgY2hhcmFjdGVyKTsKKyAgICAgICAgICAgIH0KKwor
ICAgICAgICAgICAgaWYgKGJjLm1hc2spIHsKKyAgICAgICAgICAgICAgICBpZiAoYmMubWFzayAh
PSBwcmV2TWFzaykgeworICAgICAgICAgICAgICAgICAgICBtb3ZlKGNoYXJhY3RlciwgY2hhcmFj
dGVyVGVtcCk7CisgICAgICAgICAgICAgICAgICAgIG9yMzIoSW1tMzIoYmMubWFzayksIGNoYXJh
Y3RlclRlbXApOworICAgICAgICAgICAgICAgICAgICBwcmV2TWFzayA9IGJjLm1hc2s7CisgICAg
ICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgb3Zlci5hcHBlbmQoYnJhbmNoMzIoRXF1
YWwsIGNoYXJhY3RlclRlbXAsIEltbTMyKGJjLnZhbHVlKSkpOworICAgICAgICAgICAgfSBlbHNl
CisgICAgICAgICAgICAgICAgb3Zlci5hcHBlbmQoYnJhbmNoMzIoRXF1YWwsIGNoYXJhY3Rlciwg
SW1tMzIoYmMudmFsdWUpKSk7CisgICAgICAgIH0KKworICAgICAgICBhZGQzMihJbW0zMigxKSwg
aW5kZXgpOworICAgICAgICBqdW1wKCkubGlua1RvKGxvb3AsIHRoaXMpOworCisgICAgICAgIG92
ZXIubGluayh0aGlzKTsKKyAgICB9CisKICAgICB2b2lkIGdlbmVyYXRlRGlzanVuY3Rpb24oUGF0
dGVybkRpc2p1bmN0aW9uKiBkaXNqdW5jdGlvbikKICAgICB7CiAgICAgICAgIFRlcm1HZW5lcmF0
aW9uU3RhdGUgc3RhdGUoZGlzanVuY3Rpb24sIDApOwpAQCAtMTIzMSw2ICsxMjczLDE4IEBAIGNs
YXNzIFJlZ2V4R2VuZXJhdG9yIDogcHJpdmF0ZSBNYWNyb0Fzc2VtYmxlciB7CiAKICAgICAgICAg
TGFiZWwgZmlyc3RBbHRlcm5hdGl2ZUlucHV0Q2hlY2tlZCh0aGlzKTsKIAorICAgICAgICBpZiAo
bV9wYXR0ZXJuLm1fY29udGFpbnNCZWdpbkNoYXJzKQorICAgICAgICAgICAgZ2VuZXJhdGVMb29r
dXBGb3JCZWdpbkNoYXJzKGNvdW50VG9DaGVja0ZvckZpcnN0QWx0ZXJuYXRpdmUpOworCisgICAg
ICAgIGlmICghbV9wYXR0ZXJuLm1fYm9keS0+bV9oYXNGaXhlZFNpemUpIHsKKyAgICAgICAgICAg
IGlmIChjb3VudFRvQ2hlY2tGb3JGaXJzdEFsdGVybmF0aXZlKSB7CisgICAgICAgICAgICAgICAg
bW92ZShpbmRleCwgcmVnVDApOworICAgICAgICAgICAgICAgIHN1YjMyKEltbTMyKGNvdW50VG9D
aGVja0ZvckZpcnN0QWx0ZXJuYXRpdmUpLCByZWdUMCk7CisgICAgICAgICAgICAgICAgc3RvcmUz
MihyZWdUMCwgQWRkcmVzcyhvdXRwdXQpKTsKKyAgICAgICAgICAgIH0gZWxzZQorICAgICAgICAg
ICAgICAgIHN0b3JlMzIoaW5kZXgsIEFkZHJlc3Mob3V0cHV0KSk7CisgICAgICAgIH0KKwogICAg
ICAgICB3aGlsZSAoc3RhdGUuYWx0ZXJuYXRpdmVWYWxpZCgpKSB7CiAgICAgICAgICAgICAvLyBU
cmFjayB3aGV0aGVyIGFueSBhbHRlcm5hdGl2ZXMgYXJlIHNob3J0ZXIgdGhhbiB0aGUgZmlyc3Qg
b25lLgogICAgICAgICAgICAgaGFzU2hvcnRlckFsdGVybmF0aXZlcyA9IGhhc1Nob3J0ZXJBbHRl
cm5hdGl2ZXMgfHwgKGNvdW50Q2hlY2tlZEZvckN1cnJlbnRBbHRlcm5hdGl2ZSA8IGNvdW50VG9D
aGVja0ZvckZpcnN0QWx0ZXJuYXRpdmUpOwotLSAKMS43LjIuMgoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>68070</attachid>
            <date>2010-09-20 04:12:42 -0700</date>
            <delta_ts>2010-10-21 08:20:56 -0700</delta_ts>
            <desc>proposed patch v2</desc>
            <filename>0001-kilincs-jit-optimization-v2.patch</filename>
            <type>text/plain</type>
            <size>4406</size>
            <attacher name="Peter Varga">pvarga</attacher>
            
              <data encoding="base64">RnJvbSA4NDI0MzgyZjg4M2IzZDUxYzQ1ZGUzNmY3NmIzMWQ2NGE2MWU5OGIxIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRlciBWYXJnYSA8cHZhcmdhQGluZi51LXN6ZWdlZC5odT4K
RGF0ZTogTW9uLCAyMCBTZXAgMjAxMCAxMzowNDozMCArMDIwMApTdWJqZWN0OiBbUEFUQ0hdIGtp
bGluY3Mgaml0IG9wdGltaXphdGlvbiB2MgoKLS0tCiBKYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cg
ICAgICAgICB8ICAgMTcgKysrKysrKysrKysKIEphdmFTY3JpcHRDb3JlL3lhcnIvUmVnZXhKSVQu
Y3BwIHwgICA1NSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogMiBmaWxl
cyBjaGFuZ2VkLCA3MiBpbnNlcnRpb25zKCspLCAwIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBh
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRl
eCA2MDMxZTRiLi5iNzNlYWZlIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cK
KysrIGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0yLDYgKzIsMjMgQEAKIAogICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KIAorICAgICAgICBFeHRlbmQgWUFSUiBKSVQg
d2l0aCBiZWdpbm5pbmcgY2hhcmFjdGVyIGxvb2stdXAgb3BpdGltaXphdGlvbgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDU3NDkKKworICAgICAgICBB
ZGQgYmVnaW5uaW5nIGNoYXJhY3RlciBsb29rLXVwIG9wdGltaXphdGlvbiB3aGljaCBzZXRzIHRo
ZSBzdGFydAorICAgICAgICBpbmRleCB0byB0aGUgZmlyc3QgcG9zc2libGUgc3VjY2Vzc2Z1bCBw
YXR0ZXJuIG1hdGNoLgorICAgICAgICBFeHRlbmQgWUFSUiBKSVQgd2l0aCBnZW5lcmF0ZUxvb2t1
cEZvckJlZ2luQ2hhcnMgZnVuY3Rpb24gd2hpY2gKKyAgICAgICAgZ2VuZXJhdGVzIG5hdGl2ZSBj
b2RlIGZvciB0aGUgYmVnaW5uaW5nIGNoYXJhY3RlciBsb29rLXVwCisgICAgICAgIG9wdGltaXph
dGlvbi4KKworICAgICAgICAqIHlhcnIvUmVnZXhKSVQuY3BwOgorICAgICAgICAoSlNDOjpZYXJy
OjpSZWdleEdlbmVyYXRvcjo6Z2VuZXJhdGVMb29rdXBGb3JCZWdpbkNoYXJzKToKKyAgICAgICAg
KEpTQzo6WWFycjo6UmVnZXhHZW5lcmF0b3I6OmdlbmVyYXRlRGlzanVuY3Rpb24pOgorCisyMDEw
LTA5LTIwICBQZXRlciBWYXJnYSAgPHB2YXJnYUBpbmYudS1zemVnZWQuaHU+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKICAgICAgICAgQ29sbGVjdCB0aGUgYmVnaW5u
aW5nIGNoYXJhY3RlcnMgaW4gYSBSZWdFeHAgcGF0dGVybiBmb3IgbG9vay11cAogICAgICAgICBv
cHRpbWl6YXRpb24KICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTQ1NzQ4CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS95YXJyL1JlZ2V4SklULmNwcCBi
L0phdmFTY3JpcHRDb3JlL3lhcnIvUmVnZXhKSVQuY3BwCmluZGV4IGQ2OTFiZmQuLmRiMDE0Njkg
MTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3lhcnIvUmVnZXhKSVQuY3BwCisrKyBiL0phdmFT
Y3JpcHRDb3JlL3lhcnIvUmVnZXhKSVQuY3BwCkBAIC0xLDUgKzEsNiBAQAogLyoKICAqIENvcHly
aWdodCAoQykgMjAwOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmln
aHQgKEMpIDIwMTAgUGV0ZXIgVmFyZ2EgKHB2YXJnYUBpbmYudS1zemVnZWQuaHUpLCBVbml2ZXJz
aXR5IG9mIFN6ZWdlZAogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0xMjAyLDYg
KzEyMDMsNDcgQEAgY2xhc3MgUmVnZXhHZW5lcmF0b3IgOiBwcml2YXRlIE1hY3JvQXNzZW1ibGVy
IHsKICAgICAgICAgfQogICAgIH0KIAorICAgIHZvaWQgZ2VuZXJhdGVMb29rdXBGb3JCZWdpbkNo
YXJzKGludCBjb3VudFRvQ2hlY2sgPSAwKQorICAgIHsKKyAgICAgICAgY29uc3QgUmVnaXN0ZXJJ
RCBjaGFyYWN0ZXIgPSByZWdUMDsKKyAgICAgICAgY29uc3QgUmVnaXN0ZXJJRCBjaGFyYWN0ZXJU
ZW1wID0gcmVnVDE7CisKKyAgICAgICAgYm9vbCBmaXJzdFNpbmdsZUNoYXJGb3VuZCA9IGZhbHNl
OworICAgICAgICBpbnQgcHJldk1hc2sgPSAwOworCisgICAgICAgIEp1bXBMaXN0IG92ZXI7Cisg
ICAgICAgIExhYmVsIGxvb3AodGhpcyk7CisKKyAgICAgICAgb3Zlci5hcHBlbmQoYXRFbmRPZklu
cHV0KCkpOworCisgICAgICAgIGxvYWQzMldpdGhVbmFsaWduZWRIYWxmV29yZHMoQmFzZUluZGV4
KGlucHV0LCBpbmRleCwgVGltZXNUd28sIC1jb3VudFRvQ2hlY2sgKiBzaXplb2YoVUNoYXIpKSwg
Y2hhcmFjdGVyKTsKKworICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbV9wYXR0ZXJu
Lm1fYmVnaW5DaGFySGVscGVyLnNpemUoKTsgKytpKSB7CisgICAgICAgICAgICBCZWdpbkNoYXIg
YmMgPSBtX3BhdHRlcm4ubV9iZWdpbkNoYXJIZWxwZXIubV9iZWdpbkNoYXJzW2ldOworCisgICAg
ICAgICAgICBpZiAoIWZpcnN0U2luZ2xlQ2hhckZvdW5kICYmIGJjLnZhbHVlIDw9IDB4RkZGRikg
eworICAgICAgICAgICAgICAgIGZpcnN0U2luZ2xlQ2hhckZvdW5kID0gdHJ1ZTsKKyAgICAgICAg
ICAgICAgICBhbmQzMihJbW0zMigweEZGRkYpLCBjaGFyYWN0ZXIpOworICAgICAgICAgICAgfQor
CisgICAgICAgICAgICBpZiAoYmMubWFzaykgeworICAgICAgICAgICAgICAgIGlmIChiYy5tYXNr
ICE9IHByZXZNYXNrKSB7CisgICAgICAgICAgICAgICAgICAgIG1vdmUoY2hhcmFjdGVyLCBjaGFy
YWN0ZXJUZW1wKTsKKyAgICAgICAgICAgICAgICAgICAgb3IzMihJbW0zMihiYy5tYXNrKSwgY2hh
cmFjdGVyVGVtcCk7CisgICAgICAgICAgICAgICAgICAgIHByZXZNYXNrID0gYmMubWFzazsKKyAg
ICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBvdmVyLmFwcGVuZChicmFuY2gzMihF
cXVhbCwgY2hhcmFjdGVyVGVtcCwgSW1tMzIoYmMudmFsdWUpKSk7CisgICAgICAgICAgICB9IGVs
c2UKKyAgICAgICAgICAgICAgICBvdmVyLmFwcGVuZChicmFuY2gzMihFcXVhbCwgY2hhcmFjdGVy
LCBJbW0zMihiYy52YWx1ZSkpKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZDMyKEltbTMyKDEp
LCBpbmRleCk7CisgICAgICAgIGp1bXAoKS5saW5rVG8obG9vcCwgdGhpcyk7CisKKyAgICAgICAg
b3Zlci5saW5rKHRoaXMpOworICAgIH0KKwogICAgIHZvaWQgZ2VuZXJhdGVEaXNqdW5jdGlvbihQ
YXR0ZXJuRGlzanVuY3Rpb24qIGRpc2p1bmN0aW9uKQogICAgIHsKICAgICAgICAgVGVybUdlbmVy
YXRpb25TdGF0ZSBzdGF0ZShkaXNqdW5jdGlvbiwgMCk7CkBAIC0xMjM3LDYgKzEyNzksMTkgQEAg
Y2xhc3MgUmVnZXhHZW5lcmF0b3IgOiBwcml2YXRlIE1hY3JvQXNzZW1ibGVyIHsKICAgICAgICAg
aWYgKHNldFJlcGVhdEFsdGVybmF0aXZlTGFiZWxzKQogICAgICAgICAgICAgZmlyc3RBbHRlcm5h
dGl2ZUlucHV0Q2hlY2tlZCA9IExhYmVsKHRoaXMpOwogCisgICAgICAgIGlmIChtX3BhdHRlcm4u
bV9jb250YWluc0JlZ2luQ2hhcnMpIHsKKyAgICAgICAgICAgIGdlbmVyYXRlTG9va3VwRm9yQmVn
aW5DaGFycyhjb3VudFRvQ2hlY2tGb3JGaXJzdEFsdGVybmF0aXZlKTsKKworICAgICAgICAgICAg
aWYgKCFtX3BhdHRlcm4ubV9ib2R5LT5tX2hhc0ZpeGVkU2l6ZSkgeworICAgICAgICAgICAgICAg
IGlmIChjb3VudFRvQ2hlY2tGb3JGaXJzdEFsdGVybmF0aXZlKSB7CisgICAgICAgICAgICAgICAg
ICAgIG1vdmUoaW5kZXgsIHJlZ1QwKTsKKyAgICAgICAgICAgICAgICAgICAgc3ViMzIoSW1tMzIo
Y291bnRUb0NoZWNrRm9yRmlyc3RBbHRlcm5hdGl2ZSksIHJlZ1QwKTsKKyAgICAgICAgICAgICAg
ICAgICAgc3RvcmUzMihyZWdUMCwgQWRkcmVzcyhvdXRwdXQpKTsKKyAgICAgICAgICAgICAgICB9
IGVsc2UKKyAgICAgICAgICAgICAgICAgICAgc3RvcmUzMihpbmRleCwgQWRkcmVzcyhvdXRwdXQp
KTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCiAgICAgICAgIHdoaWxlIChzdGF0ZS5hbHRl
cm5hdGl2ZVZhbGlkKCkpIHsKICAgICAgICAgICAgIC8vIFRyYWNrIHdoZXRoZXIgYW55IGFsdGVy
bmF0aXZlcyBhcmUgc2hvcnRlciB0aGFuIHRoZSBmaXJzdCBvbmUuCiAgICAgICAgICAgICBoYXNT
aG9ydGVyQWx0ZXJuYXRpdmVzID0gaGFzU2hvcnRlckFsdGVybmF0aXZlcyB8fCAoY291bnRDaGVj
a2VkRm9yQ3VycmVudEFsdGVybmF0aXZlIDwgY291bnRUb0NoZWNrRm9yRmlyc3RBbHRlcm5hdGl2
ZSk7Ci0tIAoxLjcuMi4yCgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>71439</attachid>
            <date>2010-10-21 08:20:56 -0700</date>
            <delta_ts>2010-12-06 02:35:41 -0800</delta_ts>
            <desc>proposed patch v3</desc>
            <filename>0001-kilincs-jit-optimization-v3.patch</filename>
            <type>text/plain</type>
            <size>4185</size>
            <attacher name="Peter Varga">pvarga</attacher>
            
              <data encoding="base64">RnJvbSA4MTRjY2RiNzE4YWJjM2I5N2Q0Y2Q2MjEzNTVjMzFlYWQ3Y2YzMzJmIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRlciBWYXJnYSA8cHZhcmdhQGluZi51LXN6ZWdlZC5odT4K
RGF0ZTogVGh1LCAyMSBPY3QgMjAxMCAwODoxOTowNyAtMDcwMApTdWJqZWN0OiBbUEFUQ0hdIGtp
bGluY3Mgaml0IG9wdGltaXphdGlvbiB2MwoKLS0tCiBKYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cg
ICAgICAgICB8ICAgMTcgKysrKysrKysrKysKIEphdmFTY3JpcHRDb3JlL3lhcnIvUmVnZXhKSVQu
Y3BwIHwgICA1NSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogMiBmaWxl
cyBjaGFuZ2VkLCA3MiBpbnNlcnRpb25zKCspLCAwIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBh
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRl
eCAzMzI3NjFkLi4yNmZlYmI0IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cK
KysrIGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTAtMTAt
MjEgIFBldGVyIFZhcmdhICA8cHZhcmdhQGluZi51LXN6ZWdlZC5odT4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBFeHRlbmQgWUFSUiBKSVQgd2l0aCBi
ZWdpbm5pbmcgY2hhcmFjdGVyIGxvb2stdXAgb3BpdGltaXphdGlvbgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDU3NDkKKworICAgICAgICBBZGQgYmVn
aW5uaW5nIGNoYXJhY3RlciBsb29rLXVwIG9wdGltaXphdGlvbiB3aGljaCBzZXRzIHRoZSBzdGFy
dAorICAgICAgICBpbmRleCB0byB0aGUgZmlyc3QgcG9zc2libGUgc3VjY2Vzc2Z1bCBwYXR0ZXJu
IG1hdGNoLgorICAgICAgICBFeHRlbmQgWUFSUiBKSVQgd2l0aCBnZW5lcmF0ZUxvb2t1cEZvckJl
Z2luQ2hhcnMgZnVuY3Rpb24gd2hpY2gKKyAgICAgICAgZ2VuZXJhdGVzIG5hdGl2ZSBjb2RlIGZv
ciB0aGUgYmVnaW5uaW5nIGNoYXJhY3RlciBsb29rLXVwCisgICAgICAgIG9wdGltaXphdGlvbi4K
KworICAgICAgICAqIHlhcnIvUmVnZXhKSVQuY3BwOgorICAgICAgICAoSlNDOjpZYXJyOjpSZWdl
eEdlbmVyYXRvcjo6Z2VuZXJhdGVMb29rdXBGb3JCZWdpbkNoYXJzKToKKyAgICAgICAgKEpTQzo6
WWFycjo6UmVnZXhHZW5lcmF0b3I6OmdlbmVyYXRlRGlzanVuY3Rpb24pOgorCiAyMDEwLTEwLTIx
ICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwg
cm9sbGluZyBvdXQgcjcwMTc0LgpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUveWFyci9SZWdl
eEpJVC5jcHAgYi9KYXZhU2NyaXB0Q29yZS95YXJyL1JlZ2V4SklULmNwcAppbmRleCAxYjgwNDY0
Li42OWRkOGRiIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS95YXJyL1JlZ2V4SklULmNwcAor
KysgYi9KYXZhU2NyaXB0Q29yZS95YXJyL1JlZ2V4SklULmNwcApAQCAtMSw1ICsxLDYgQEAKIC8q
CiAgKiBDb3B5cmlnaHQgKEMpIDIwMDkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICogQ29weXJpZ2h0IChDKSAyMDEwIFBldGVyIFZhcmdhIChwdmFyZ2FAaW5mLnUtc3plZ2VkLmh1
KSwgVW5pdmVyc2l0eSBvZiBTemVnZWQKICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpA
QCAtMTIwMCw2ICsxMjAxLDQ3IEBAIGNsYXNzIFJlZ2V4R2VuZXJhdG9yIDogcHJpdmF0ZSBNYWNy
b0Fzc2VtYmxlciB7CiAgICAgICAgIH0KICAgICB9CiAKKyAgICB2b2lkIGdlbmVyYXRlTG9va3Vw
Rm9yQmVnaW5DaGFycyhpbnQgY291bnRUb0NoZWNrID0gMCkKKyAgICB7CisgICAgICAgIGNvbnN0
IFJlZ2lzdGVySUQgY2hhcmFjdGVyID0gcmVnVDA7CisgICAgICAgIGNvbnN0IFJlZ2lzdGVySUQg
Y2hhcmFjdGVyVGVtcCA9IHJlZ1QxOworCisgICAgICAgIGJvb2wgZmlyc3RTaW5nbGVDaGFyRm91
bmQgPSBmYWxzZTsKKyAgICAgICAgdW5zaWduZWQgcHJldk1hc2sgPSAwOworCisgICAgICAgIEp1
bXBMaXN0IG92ZXI7CisgICAgICAgIExhYmVsIGxvb3AodGhpcyk7CisKKyAgICAgICAgb3Zlci5h
cHBlbmQoYXRFbmRPZklucHV0KCkpOworCisgICAgICAgIGxvYWQzMldpdGhVbmFsaWduZWRIYWxm
V29yZHMoQmFzZUluZGV4KGlucHV0LCBpbmRleCwgVGltZXNUd28sIC1jb3VudFRvQ2hlY2sgKiBz
aXplb2YoVUNoYXIpKSwgY2hhcmFjdGVyKTsKKworICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAw
OyBpIDwgbV9wYXR0ZXJuLm1fYmVnaW5DaGFycy5zaXplKCk7ICsraSkgeworICAgICAgICAgICAg
QmVnaW5DaGFyIGJjID0gbV9wYXR0ZXJuLm1fYmVnaW5DaGFyc1tpXTsKKworICAgICAgICAgICAg
aWYgKCFmaXJzdFNpbmdsZUNoYXJGb3VuZCAmJiBiYy52YWx1ZSA8PSAweEZGRkYpIHsKKyAgICAg
ICAgICAgICAgICBmaXJzdFNpbmdsZUNoYXJGb3VuZCA9IHRydWU7CisgICAgICAgICAgICAgICAg
YW5kMzIoSW1tMzIoMHhGRkZGKSwgY2hhcmFjdGVyKTsKKyAgICAgICAgICAgIH0KKworICAgICAg
ICAgICAgaWYgKGJjLm1hc2spIHsKKyAgICAgICAgICAgICAgICBpZiAoYmMubWFzayAhPSBwcmV2
TWFzaykgeworICAgICAgICAgICAgICAgICAgICBtb3ZlKGNoYXJhY3RlciwgY2hhcmFjdGVyVGVt
cCk7CisgICAgICAgICAgICAgICAgICAgIG9yMzIoSW1tMzIoYmMubWFzayksIGNoYXJhY3RlclRl
bXApOworICAgICAgICAgICAgICAgICAgICBwcmV2TWFzayA9IGJjLm1hc2s7CisgICAgICAgICAg
ICAgICAgfQorCisgICAgICAgICAgICAgICAgb3Zlci5hcHBlbmQoYnJhbmNoMzIoRXF1YWwsIGNo
YXJhY3RlclRlbXAsIEltbTMyKGJjLnZhbHVlKSkpOworICAgICAgICAgICAgfSBlbHNlCisgICAg
ICAgICAgICAgICAgb3Zlci5hcHBlbmQoYnJhbmNoMzIoRXF1YWwsIGNoYXJhY3RlciwgSW1tMzIo
YmMudmFsdWUpKSk7CisgICAgICAgIH0KKworICAgICAgICBhZGQzMihJbW0zMigxKSwgaW5kZXgp
OworICAgICAgICBqdW1wKCkubGlua1RvKGxvb3AsIHRoaXMpOworCisgICAgICAgIG92ZXIubGlu
ayh0aGlzKTsKKyAgICB9CisKICAgICB2b2lkIGdlbmVyYXRlRGlzanVuY3Rpb24oUGF0dGVybkRp
c2p1bmN0aW9uKiBkaXNqdW5jdGlvbikKICAgICB7CiAgICAgICAgIFRlcm1HZW5lcmF0aW9uU3Rh
dGUgc3RhdGUoZGlzanVuY3Rpb24sIDApOwpAQCAtMTIzNSw2ICsxMjc3LDE5IEBAIGNsYXNzIFJl
Z2V4R2VuZXJhdG9yIDogcHJpdmF0ZSBNYWNyb0Fzc2VtYmxlciB7CiAgICAgICAgIGlmIChzZXRS
ZXBlYXRBbHRlcm5hdGl2ZUxhYmVscykKICAgICAgICAgICAgIGZpcnN0QWx0ZXJuYXRpdmVJbnB1
dENoZWNrZWQgPSBMYWJlbCh0aGlzKTsKIAorICAgICAgICBpZiAobV9wYXR0ZXJuLm1fY29udGFp
bnNCZWdpbkNoYXJzKSB7CisgICAgICAgICAgICBnZW5lcmF0ZUxvb2t1cEZvckJlZ2luQ2hhcnMo
Y291bnRUb0NoZWNrRm9yRmlyc3RBbHRlcm5hdGl2ZSk7CisKKyAgICAgICAgICAgIGlmICghbV9w
YXR0ZXJuLm1fYm9keS0+bV9oYXNGaXhlZFNpemUpIHsKKyAgICAgICAgICAgICAgICBpZiAoY291
bnRUb0NoZWNrRm9yRmlyc3RBbHRlcm5hdGl2ZSkgeworICAgICAgICAgICAgICAgICAgICBtb3Zl
KGluZGV4LCByZWdUMCk7CisgICAgICAgICAgICAgICAgICAgIHN1YjMyKEltbTMyKGNvdW50VG9D
aGVja0ZvckZpcnN0QWx0ZXJuYXRpdmUpLCByZWdUMCk7CisgICAgICAgICAgICAgICAgICAgIHN0
b3JlMzIocmVnVDAsIEFkZHJlc3Mob3V0cHV0KSk7CisgICAgICAgICAgICAgICAgfSBlbHNlCisg
ICAgICAgICAgICAgICAgICAgIHN0b3JlMzIoaW5kZXgsIEFkZHJlc3Mob3V0cHV0KSk7CisgICAg
ICAgICAgICB9CisgICAgICAgIH0KKwogICAgICAgICB3aGlsZSAoc3RhdGUuYWx0ZXJuYXRpdmVW
YWxpZCgpKSB7CiAgICAgICAgICAgICBQYXR0ZXJuQWx0ZXJuYXRpdmUqIGFsdGVybmF0aXZlID0g
c3RhdGUuYWx0ZXJuYXRpdmUoKTsKICAgICAgICAgICAgIG9wdGltaXplQWx0ZXJuYXRpdmUoYWx0
ZXJuYXRpdmUpOwotLSAKMS43LjIuMgoK
</data>
<flag name="review"
          id="64562"
          type_id="1"
          status="-"
          setter="eric"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>75659</attachid>
            <date>2010-12-06 02:35:41 -0800</date>
            <delta_ts>2011-05-23 14:22:49 -0700</delta_ts>
            <desc>proposed patch v3</desc>
            <filename>0001-kilincs-jit-optimization-v3.patch</filename>
            <type>text/plain</type>
            <size>4185</size>
            <attacher name="Peter Varga">pvarga</attacher>
            
              <data encoding="base64">RnJvbSA4MTRjY2RiNzE4YWJjM2I5N2Q0Y2Q2MjEzNTVjMzFlYWQ3Y2YzMzJmIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRlciBWYXJnYSA8cHZhcmdhQGluZi51LXN6ZWdlZC5odT4K
RGF0ZTogVGh1LCAyMSBPY3QgMjAxMCAwODoxOTowNyAtMDcwMApTdWJqZWN0OiBbUEFUQ0hdIGtp
bGluY3Mgaml0IG9wdGltaXphdGlvbiB2MwoKLS0tCiBKYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cg
ICAgICAgICB8ICAgMTcgKysrKysrKysrKysKIEphdmFTY3JpcHRDb3JlL3lhcnIvUmVnZXhKSVQu
Y3BwIHwgICA1NSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogMiBmaWxl
cyBjaGFuZ2VkLCA3MiBpbnNlcnRpb25zKCspLCAwIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBh
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRl
eCAzMzI3NjFkLi4yNmZlYmI0IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cK
KysrIGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTAtMTAt
MjEgIFBldGVyIFZhcmdhICA8cHZhcmdhQGluZi51LXN6ZWdlZC5odT4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBFeHRlbmQgWUFSUiBKSVQgd2l0aCBi
ZWdpbm5pbmcgY2hhcmFjdGVyIGxvb2stdXAgb3BpdGltaXphdGlvbgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDU3NDkKKworICAgICAgICBBZGQgYmVn
aW5uaW5nIGNoYXJhY3RlciBsb29rLXVwIG9wdGltaXphdGlvbiB3aGljaCBzZXRzIHRoZSBzdGFy
dAorICAgICAgICBpbmRleCB0byB0aGUgZmlyc3QgcG9zc2libGUgc3VjY2Vzc2Z1bCBwYXR0ZXJu
IG1hdGNoLgorICAgICAgICBFeHRlbmQgWUFSUiBKSVQgd2l0aCBnZW5lcmF0ZUxvb2t1cEZvckJl
Z2luQ2hhcnMgZnVuY3Rpb24gd2hpY2gKKyAgICAgICAgZ2VuZXJhdGVzIG5hdGl2ZSBjb2RlIGZv
ciB0aGUgYmVnaW5uaW5nIGNoYXJhY3RlciBsb29rLXVwCisgICAgICAgIG9wdGltaXphdGlvbi4K
KworICAgICAgICAqIHlhcnIvUmVnZXhKSVQuY3BwOgorICAgICAgICAoSlNDOjpZYXJyOjpSZWdl
eEdlbmVyYXRvcjo6Z2VuZXJhdGVMb29rdXBGb3JCZWdpbkNoYXJzKToKKyAgICAgICAgKEpTQzo6
WWFycjo6UmVnZXhHZW5lcmF0b3I6OmdlbmVyYXRlRGlzanVuY3Rpb24pOgorCiAyMDEwLTEwLTIx
ICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwg
cm9sbGluZyBvdXQgcjcwMTc0LgpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUveWFyci9SZWdl
eEpJVC5jcHAgYi9KYXZhU2NyaXB0Q29yZS95YXJyL1JlZ2V4SklULmNwcAppbmRleCAxYjgwNDY0
Li42OWRkOGRiIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS95YXJyL1JlZ2V4SklULmNwcAor
KysgYi9KYXZhU2NyaXB0Q29yZS95YXJyL1JlZ2V4SklULmNwcApAQCAtMSw1ICsxLDYgQEAKIC8q
CiAgKiBDb3B5cmlnaHQgKEMpIDIwMDkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICogQ29weXJpZ2h0IChDKSAyMDEwIFBldGVyIFZhcmdhIChwdmFyZ2FAaW5mLnUtc3plZ2VkLmh1
KSwgVW5pdmVyc2l0eSBvZiBTemVnZWQKICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpA
QCAtMTIwMCw2ICsxMjAxLDQ3IEBAIGNsYXNzIFJlZ2V4R2VuZXJhdG9yIDogcHJpdmF0ZSBNYWNy
b0Fzc2VtYmxlciB7CiAgICAgICAgIH0KICAgICB9CiAKKyAgICB2b2lkIGdlbmVyYXRlTG9va3Vw
Rm9yQmVnaW5DaGFycyhpbnQgY291bnRUb0NoZWNrID0gMCkKKyAgICB7CisgICAgICAgIGNvbnN0
IFJlZ2lzdGVySUQgY2hhcmFjdGVyID0gcmVnVDA7CisgICAgICAgIGNvbnN0IFJlZ2lzdGVySUQg
Y2hhcmFjdGVyVGVtcCA9IHJlZ1QxOworCisgICAgICAgIGJvb2wgZmlyc3RTaW5nbGVDaGFyRm91
bmQgPSBmYWxzZTsKKyAgICAgICAgdW5zaWduZWQgcHJldk1hc2sgPSAwOworCisgICAgICAgIEp1
bXBMaXN0IG92ZXI7CisgICAgICAgIExhYmVsIGxvb3AodGhpcyk7CisKKyAgICAgICAgb3Zlci5h
cHBlbmQoYXRFbmRPZklucHV0KCkpOworCisgICAgICAgIGxvYWQzMldpdGhVbmFsaWduZWRIYWxm
V29yZHMoQmFzZUluZGV4KGlucHV0LCBpbmRleCwgVGltZXNUd28sIC1jb3VudFRvQ2hlY2sgKiBz
aXplb2YoVUNoYXIpKSwgY2hhcmFjdGVyKTsKKworICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAw
OyBpIDwgbV9wYXR0ZXJuLm1fYmVnaW5DaGFycy5zaXplKCk7ICsraSkgeworICAgICAgICAgICAg
QmVnaW5DaGFyIGJjID0gbV9wYXR0ZXJuLm1fYmVnaW5DaGFyc1tpXTsKKworICAgICAgICAgICAg
aWYgKCFmaXJzdFNpbmdsZUNoYXJGb3VuZCAmJiBiYy52YWx1ZSA8PSAweEZGRkYpIHsKKyAgICAg
ICAgICAgICAgICBmaXJzdFNpbmdsZUNoYXJGb3VuZCA9IHRydWU7CisgICAgICAgICAgICAgICAg
YW5kMzIoSW1tMzIoMHhGRkZGKSwgY2hhcmFjdGVyKTsKKyAgICAgICAgICAgIH0KKworICAgICAg
ICAgICAgaWYgKGJjLm1hc2spIHsKKyAgICAgICAgICAgICAgICBpZiAoYmMubWFzayAhPSBwcmV2
TWFzaykgeworICAgICAgICAgICAgICAgICAgICBtb3ZlKGNoYXJhY3RlciwgY2hhcmFjdGVyVGVt
cCk7CisgICAgICAgICAgICAgICAgICAgIG9yMzIoSW1tMzIoYmMubWFzayksIGNoYXJhY3RlclRl
bXApOworICAgICAgICAgICAgICAgICAgICBwcmV2TWFzayA9IGJjLm1hc2s7CisgICAgICAgICAg
ICAgICAgfQorCisgICAgICAgICAgICAgICAgb3Zlci5hcHBlbmQoYnJhbmNoMzIoRXF1YWwsIGNo
YXJhY3RlclRlbXAsIEltbTMyKGJjLnZhbHVlKSkpOworICAgICAgICAgICAgfSBlbHNlCisgICAg
ICAgICAgICAgICAgb3Zlci5hcHBlbmQoYnJhbmNoMzIoRXF1YWwsIGNoYXJhY3RlciwgSW1tMzIo
YmMudmFsdWUpKSk7CisgICAgICAgIH0KKworICAgICAgICBhZGQzMihJbW0zMigxKSwgaW5kZXgp
OworICAgICAgICBqdW1wKCkubGlua1RvKGxvb3AsIHRoaXMpOworCisgICAgICAgIG92ZXIubGlu
ayh0aGlzKTsKKyAgICB9CisKICAgICB2b2lkIGdlbmVyYXRlRGlzanVuY3Rpb24oUGF0dGVybkRp
c2p1bmN0aW9uKiBkaXNqdW5jdGlvbikKICAgICB7CiAgICAgICAgIFRlcm1HZW5lcmF0aW9uU3Rh
dGUgc3RhdGUoZGlzanVuY3Rpb24sIDApOwpAQCAtMTIzNSw2ICsxMjc3LDE5IEBAIGNsYXNzIFJl
Z2V4R2VuZXJhdG9yIDogcHJpdmF0ZSBNYWNyb0Fzc2VtYmxlciB7CiAgICAgICAgIGlmIChzZXRS
ZXBlYXRBbHRlcm5hdGl2ZUxhYmVscykKICAgICAgICAgICAgIGZpcnN0QWx0ZXJuYXRpdmVJbnB1
dENoZWNrZWQgPSBMYWJlbCh0aGlzKTsKIAorICAgICAgICBpZiAobV9wYXR0ZXJuLm1fY29udGFp
bnNCZWdpbkNoYXJzKSB7CisgICAgICAgICAgICBnZW5lcmF0ZUxvb2t1cEZvckJlZ2luQ2hhcnMo
Y291bnRUb0NoZWNrRm9yRmlyc3RBbHRlcm5hdGl2ZSk7CisKKyAgICAgICAgICAgIGlmICghbV9w
YXR0ZXJuLm1fYm9keS0+bV9oYXNGaXhlZFNpemUpIHsKKyAgICAgICAgICAgICAgICBpZiAoY291
bnRUb0NoZWNrRm9yRmlyc3RBbHRlcm5hdGl2ZSkgeworICAgICAgICAgICAgICAgICAgICBtb3Zl
KGluZGV4LCByZWdUMCk7CisgICAgICAgICAgICAgICAgICAgIHN1YjMyKEltbTMyKGNvdW50VG9D
aGVja0ZvckZpcnN0QWx0ZXJuYXRpdmUpLCByZWdUMCk7CisgICAgICAgICAgICAgICAgICAgIHN0
b3JlMzIocmVnVDAsIEFkZHJlc3Mob3V0cHV0KSk7CisgICAgICAgICAgICAgICAgfSBlbHNlCisg
ICAgICAgICAgICAgICAgICAgIHN0b3JlMzIoaW5kZXgsIEFkZHJlc3Mob3V0cHV0KSk7CisgICAg
ICAgICAgICB9CisgICAgICAgIH0KKwogICAgICAgICB3aGlsZSAoc3RhdGUuYWx0ZXJuYXRpdmVW
YWxpZCgpKSB7CiAgICAgICAgICAgICBQYXR0ZXJuQWx0ZXJuYXRpdmUqIGFsdGVybmF0aXZlID0g
c3RhdGUuYWx0ZXJuYXRpdmUoKTsKICAgICAgICAgICAgIG9wdGltaXplQWx0ZXJuYXRpdmUoYWx0
ZXJuYXRpdmUpOwotLSAKMS43LjIuMgoK
</data>

          </attachment>
      

    </bug>

</bugzilla>