<?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>136165</bug_id>
          
          <creation_ts>2014-08-22 11:48:33 -0700</creation_ts>
          <short_desc>REGRESSION(r172794) + 32Bit build: ASSERT failures in for-in-tests.js tests.</short_desc>
          <delta_ts>2014-08-26 11:28:21 -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>Unspecified</rep_platform>
          <op_sys>Unspecified</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>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Michael Saboff">msaboff</reporter>
          <assigned_to name="Michael Saboff">msaboff</assigned_to>
          <cc>clopez</cc>
    
    <cc>fpizlo</cc>
    
    <cc>mhahnenb</cc>
    
    <cc>ossy</cc>
    
    <cc>peavo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1030771</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2014-08-22 11:48:33 -0700</bug_when>
    <thetext>The following JavaScriptCore regression tests are failing after r172794 &lt;http://trac.webkit.org/changeset/172794&gt;:

	stress/for-in-base-reassigned-later-and-change-structure.js.always-trigger-copy-phase
	stress/for-in-base-reassigned-later-and-change-structure.js.default
	stress/for-in-base-reassigned-later-and-change-structure.js.default-ftl
	stress/for-in-base-reassigned-later-and-change-structure.js.dfg-eager
	stress/for-in-base-reassigned-later-and-change-structure.js.dfg-eager-no-cjit-validate
	stress/for-in-base-reassigned-later-and-change-structure.js.ftl-eager
	stress/for-in-base-reassigned-later-and-change-structure.js.ftl-eager-no-cjit
	stress/for-in-base-reassigned-later-and-change-structure.js.ftl-no-cjit-no-inline-validate
	stress/for-in-base-reassigned-later-and-change-structure.js.ftl-no-cjit-validate
	stress/for-in-base-reassigned-later-and-change-structure.js.no-cjit-validate-phases
	stress/for-in-base-reassigned-later-and-change-structure.js.no-llint
	stress/for-in-tests.js.always-trigger-copy-phase
	stress/for-in-tests.js.default
	stress/for-in-tests.js.default-ftl
	stress/for-in-tests.js.dfg-eager
	stress/for-in-tests.js.dfg-eager-no-cjit-validate
	stress/for-in-tests.js.ftl-eager
	stress/for-in-tests.js.ftl-eager-no-cjit
	stress/for-in-tests.js.ftl-no-cjit-no-inline-validate
	stress/for-in-tests.js.ftl-no-cjit-validate
	stress/for-in-tests.js.no-cjit-validate-phases
	stress/for-in-tests.js.no-llint

The &quot;for-in-base-reassigned-later-and-change-structure.js&quot; fail with Exception: Error: bad result: NaN

The &quot;for-in-tests&quot; fail with ASSERTION FAILED: currentLowest != NUM_REGS &amp;&amp; currentSpillOrder != SpillHintInvalid</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1030773</commentid>
    <comment_count>1</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2014-08-22 11:51:17 -0700</bug_when>
    <thetext>Here is a complete stack trace for a for-in-tests crash:

stress/for-in-tests.js.default-ftl: ASSERTION FAILED: currentLowest != NUM_REGS &amp;&amp; currentSpillOrder != SpillHintInvalid
stress/for-in-tests.js.default-ftl: /Volumes/Data/src/webkit/Source/JavaScriptCore/dfg/DFGRegisterBank.h(138) : RegID JSC::DFG::RegisterBank&lt;JSC::GPRInfo&gt;::allocate(JSC::VirtualRegister &amp;) [BankInfo = JSC::GPRInfo]
stress/for-in-tests.js.default-ftl: 1   0x98486d WTFCrash
stress/for-in-tests.js.default-ftl: 2   0x46ab48 JSC::DFG::RegisterBank&lt;JSC::GPRInfo&gt;::allocate(JSC::VirtualRegister&amp;)
stress/for-in-tests.js.default-ftl: 3   0x446b95 JSC::DFG::SpeculativeJIT::allocate()
stress/for-in-tests.js.default-ftl: 4   0x47479e JSC::DFG::SpeculativeJIT::fillSpeculateCell(JSC::DFG::Edge)
stress/for-in-tests.js.default-ftl: 5   0x4466c1 JSC::DFG::SpeculateCellOperand::gpr()
stress/for-in-tests.js.default-ftl: 6   0x49504e JSC::DFG::SpeculativeJIT::compile(JSC::DFG::Node*)
stress/for-in-tests.js.default-ftl: 7   0x428b75 JSC::DFG::SpeculativeJIT::compileCurrentBlock()
stress/for-in-tests.js.default-ftl: 8   0x4294b2 JSC::DFG::SpeculativeJIT::compile()
stress/for-in-tests.js.default-ftl: 9   0x3a3ad0 JSC::DFG::JITCompiler::compileBody()
stress/for-in-tests.js.default-ftl: 10  0x3a5ccd JSC::DFG::JITCompiler::compileFunction()
stress/for-in-tests.js.default-ftl: 11  0x4144c7 JSC::DFG::Plan::compileInThreadImpl(JSC::DFG::LongLivedState&amp;)
stress/for-in-tests.js.default-ftl: 12  0x4139c4 JSC::DFG::Plan::compileInThread(JSC::DFG::LongLivedState&amp;, JSC::DFG::ThreadData*)
stress/for-in-tests.js.default-ftl: 13  0x35e94d JSC::DFG::compileImpl(JSC::VM&amp;, JSC::CodeBlock*, JSC::CodeBlock*, JSC::DFG::CompilationMode, unsigned int, JSC::Operands&lt;JSC::JSValue, JSC::OperandValueTraits&lt;JSC::JSValue&gt; &gt; const&amp;, WTF::PassRefPtr&lt;JSC::DeferredCompilationCallback&gt;)
stress/for-in-tests.js.default-ftl: 14  0x35e1a2 JSC::DFG::compile(JSC::VM&amp;, JSC::CodeBlock*, JSC::CodeBlock*, JSC::DFG::CompilationMode, unsigned int, JSC::Operands&lt;JSC::JSValue, JSC::OperandValueTraits&lt;JSC::JSValue&gt; &gt; const&amp;, WTF::PassRefPtr&lt;JSC::DeferredCompilationCallback&gt;)
stress/for-in-tests.js.default-ftl: 15  0x5dba49 operationOptimize
stress/for-in-tests.js.default-ftl: 16  0x1f862c4
stress/for-in-tests.js.default-ftl: 17  0x1f884c0
stress/for-in-tests.js.default-ftl: 18  0x737c3c llint_entry
stress/for-in-tests.js.default-ftl: 19  0x732d85 vmEntryToJavaScript
stress/for-in-tests.js.default-ftl: 20  0x5c28f0 JSC::JITCode::execute(JSC::VM*, JSC::ProtoCallFrame*)
stress/for-in-tests.js.default-ftl: 21  0x59f39f JSC::Interpreter::execute(JSC::ProgramExecutable*, JSC::ExecState*, JSC::JSObject*)
stress/for-in-tests.js.default-ftl: 22  0x2118bf JSC::evaluate(JSC::ExecState*, JSC::SourceCode const&amp;, JSC::JSValue, JSC::JSValue*)
stress/for-in-tests.js.default-ftl: 23  0x86c86 runWithScripts(GlobalObject*, WTF::Vector&lt;Script, 0ul, WTF::CrashOnOverflow&gt; const&amp;, bool)
stress/for-in-tests.js.default-ftl: 24  0x86130 jscmain(int, char**)
stress/for-in-tests.js.default-ftl: 25  0x85ea9 main
stress/for-in-tests.js.default-ftl: 26  0x92907701 start
stress/for-in-tests.js.default-ftl: 27  0x5      
stress/for-in-tests.js.default-ftl: test_script_8184: line 2: 87667 Segmentation fault: 11  &quot;$@&quot; ../../.vm/JavaScriptCore.framework/Resources/jsc --useFTLJIT\=false --useFTLJIT\=true --enableExperimentalFTLCoverage\=true for-in-tests.js
stress/for-in-tests.js.default-ftl: ERROR: Unexpected exit code: 139</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1030786</commentid>
    <comment_count>2</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2014-08-22 13:28:12 -0700</bug_when>
    <thetext>For the ASSERT failure in for-in-tests.js, looks like we are running out of registers in DFG::SpeculativeJIT::compile as part of case GetDirectPname.  The code wants 7 registers and X86 32 bit only has 6 to use.  Restructuring to use one less register.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1030852</commentid>
    <comment_count>3</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2014-08-22 17:29:33 -0700</bug_when>
    <thetext>Using this bug to track the ASSERT failures in for-in-tests.js

Created clone &lt;https://bugs.webkit.org/show_bug.cgi?id=136187&gt; REGRESSION(r172794) + 32Bit build: for-in-base-reassigned-later-and-change-structure.js fail with NaN result to track the other failure.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1030853</commentid>
    <comment_count>4</comment_count>
      <attachid>237016</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2014-08-22 17:37:54 -0700</bug_when>
    <thetext>Created attachment 237016
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1030932</commentid>
    <comment_count>5</comment_count>
      <attachid>237016</attachid>
    <who name="Mark Hahnenberg">mhahnenb</who>
    <bug_when>2014-08-23 14:08:08 -0700</bug_when>
    <thetext>Comment on attachment 237016
Patch

Is it safe to start allocating registers after we&apos;ve emitted all that code?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1030948</commentid>
    <comment_count>6</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2014-08-23 21:42:33 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 237016 [details])
&gt; Is it safe to start allocating registers after we&apos;ve emitted all that code?

Why not?  The two registers in the block, indexGRP and enumeratorGPR, will be available for use when the block goes out of scope.  At that point we&apos;ll have two free registers, but we only need one, propertyGRP.  The other four registers stay allocated the whole time.

When propertyGPR is allocated, it most likely will be filled from its spill location due to a total of 6 live registers while in the block.

BTW, do you know why the line:
    m_jit.move(MacroAssembler::TrustedImm32(JSValue::CellTag), scratchGPR);
at the end of the modified sections is there?  Seems like scratch reg is never used after we set it to the CellTag.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1030949</commentid>
    <comment_count>7</comment_count>
      <attachid>237016</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2014-08-23 22:31:51 -0700</bug_when>
    <thetext>Comment on attachment 237016
Patch

I don&apos;t like this approach. It adds a lot of complexity just for x86-32, which is a rarely used architecture for us. Arm doesn&apos;t have this problem. It would be better, I think, to have an x86 special case where we just always call slow, and then do what ToT does on other architectures. That&apos;s how we have fixed such problems in the past.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1031312</commentid>
    <comment_count>8</comment_count>
      <attachid>237132</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2014-08-25 21:05:57 -0700</bug_when>
    <thetext>Created attachment 237132
Updated patch that always takes the slow path for X86</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1031371</commentid>
    <comment_count>9</comment_count>
    <who name="Mark Hahnenberg">mhahnenb</who>
    <bug_when>2014-08-26 07:41:54 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; Created an attachment (id=237132) [details]
&gt; Updated patch that always takes the slow path for X86

Looks like you forgot to mark it as a patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1031372</commentid>
    <comment_count>10</comment_count>
      <attachid>237132</attachid>
    <who name="Mark Hahnenberg">mhahnenb</who>
    <bug_when>2014-08-26 07:42:42 -0700</bug_when>
    <thetext>Comment on attachment 237132
Updated patch that always takes the slow path for X86

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1031381</commentid>
    <comment_count>11</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2014-08-26 08:29:22 -0700</bug_when>
    <thetext>*** Bug 136124 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1031384</commentid>
    <comment_count>12</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2014-08-26 08:56:18 -0700</bug_when>
    <thetext>Committed r172959: &lt;http://trac.webkit.org/changeset/172959&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1031409</commentid>
    <comment_count>13</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2014-08-26 10:57:47 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; (From update of attachment 237016 [details])
&gt; I don&apos;t like this approach. It adds a lot of complexity just for x86-32, which is a rarely used architecture for us. Arm doesn&apos;t have this problem. It would be better, I think, to have an x86 special case where we just always call slow, and then do what ToT does on other architectures. That&apos;s how we have fixed such problems in the past.

ARM does have this issues as I mentioned in https://bugs.webkit.org/show_bug.cgi?id=136124#c0</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1031413</commentid>
    <comment_count>14</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2014-08-26 11:05:20 -0700</bug_when>
    <thetext>(In reply to comment #13)
&gt; (In reply to comment #7)
&gt; &gt; (From update of attachment 237016 [details] [details])
&gt; &gt; I don&apos;t like this approach. It adds a lot of complexity just for x86-32, which is a rarely used architecture for us. Arm doesn&apos;t have this problem. It would be better, I think, to have an x86 special case where we just always call slow, and then do what ToT does on other architectures. That&apos;s how we have fixed such problems in the past.
&gt; 
&gt; ARM does have this issues as I mentioned in https://bugs.webkit.org/show_bug.cgi?id=136124#c0

The issues with for-in-base-reassigned-later-and-change-structure.js are addressed in &lt;https://bugs.webkit.org/show_bug.cgi?id=136187&gt; - &quot;REGRESSION(r172794) + 32Bit build: for-in-base-reassigned-later-and-change-structure.js fail with NaN result&quot;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>237016</attachid>
            <date>2014-08-22 17:37:54 -0700</date>
            <delta_ts>2014-08-25 21:05:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>136165.patch</filename>
            <type>text/plain</type>
            <size>7723</size>
            <attacher name="Michael Saboff">msaboff</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTcyODc1KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5IEBA
CisyMDE0LTA4LTIyICBNaWNoYWVsIFNhYm9mZiAgPG1zYWJvZmZAYXBwbGUuY29tPgorCisgICAg
ICAgIFJFR1JFU1NJT04ocjE3Mjc5NCkgKyAzMkJpdCBidWlsZDogQVNTRVJUIGZhaWx1cmVzIGlu
IGZvci1pbi10ZXN0cy5qcyB0ZXN0cy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTEzNjE2NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFRoZSBzd2l0Y2ggY2FzZSBHZXREaXJlY3RQbmFtZSBvZiBERkc6OlNw
ZWN1bGF0aXZlSklUOjpjb21waWxlIHdhcyBkZXNpZ25lZCB0byB1c2UgNyBsaXZlCisgICAgICAg
IHJlZ2lzdGVycyBhbmQgWDg2IDMyIGJpdCBvbmx5IGhhcyA2IGF2YWlsYWJsZS4gIFJlc3RydWN0
dXJlZCB0byB1c2Ugb25lIGxlc3MgcmVnaXN0ZXIgYnkgcHV0dGluZworICAgICAgICBtb3N0IG9m
IHRoZSBtYWlubGluZSBjb2RlIGludG8gYSBibG9jayBhbmQgdGhlbiBhbGxvY2F0ZWQgdHdvIHJl
Z2lzdGVycyB3aXRoaW4gdGhhdCBibG9jay4KKyAgICAgICAgTW92ZWQgdGhlIGFsbG9jYXRpb24g
b2YgdGhlIHByb3BlcnR5R1BSIHJlZ2lzdGVyLCB3aGljaCBpcyBvbmx5IG5lZWRlZCBmb3IgdGhl
IHNsb3cgcGF0aAorICAgICAgICBoYW5kbGluZywgYWZ0ZXIgdGhlIGJsb2NrIG9mIHRoZSBtYWlu
IGNvZGUuCisKKyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHA6CisgICAg
ICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUpOgorCiAyMDE0LTA4LTIxICBN
aWNoYWVsIFNhYm9mZiAgPG1zYWJvZmZAYXBwbGUuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04o
cjE2MzE3OSk6IFNwb3JhZGljIGNyYXNoIGluIGpzL2RvbS9saW5lLWNvbHVtbi1udW1iZXJzLmh0
bWwgdGVzdApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJ
VDMyXzY0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Nw
ZWN1bGF0aXZlSklUMzJfNjQuY3BwCShyZXZpc2lvbiAxNzI4NjMpCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC00NzE2LDUxICs0NzE2LDU3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUoTm9kZSog
bm9kZSkKIAogICAgICAgICBTcGVjdWxhdGVDZWxsT3BlcmFuZCBiYXNlKHRoaXMsIGJhc2VFZGdl
KTsKICAgICAgICAgU3BlY3VsYXRlQ2VsbE9wZXJhbmQgcHJvcGVydHkodGhpcywgcHJvcGVydHlF
ZGdlKTsKLSAgICAgICAgU3BlY3VsYXRlSW50MzJPcGVyYW5kIGluZGV4KHRoaXMsIGluZGV4RWRn
ZSk7Ci0gICAgICAgIFNwZWN1bGF0ZUNlbGxPcGVyYW5kIGVudW1lcmF0b3IodGhpcywgZW51bWVy
YXRvckVkZ2UpOwogICAgICAgICBHUFJSZXN1bHQgcmVzdWx0UGF5bG9hZCh0aGlzKTsKICAgICAg
ICAgR1BSUmVzdWx0MiByZXN1bHRUYWcodGhpcyk7CiAgICAgICAgIEdQUlRlbXBvcmFyeSBzY3Jh
dGNoKHRoaXMpOwogCiAgICAgICAgIEdQUlJlZyBiYXNlR1BSID0gYmFzZS5ncHIoKTsKLSAgICAg
ICAgR1BSUmVnIHByb3BlcnR5R1BSID0gcHJvcGVydHkuZ3ByKCk7Ci0gICAgICAgIEdQUlJlZyBp
bmRleEdQUiA9IGluZGV4LmdwcigpOwotICAgICAgICBHUFJSZWcgZW51bWVyYXRvckdQUiA9IGVu
dW1lcmF0b3IuZ3ByKCk7CiAgICAgICAgIEdQUlJlZyByZXN1bHRUYWdHUFIgPSByZXN1bHRUYWcu
Z3ByKCk7CiAgICAgICAgIEdQUlJlZyByZXN1bHRQYXlsb2FkR1BSID0gcmVzdWx0UGF5bG9hZC5n
cHIoKTsKICAgICAgICAgR1BSUmVnIHNjcmF0Y2hHUFIgPSBzY3JhdGNoLmdwcigpOwogCi0gICAg
ICAgIC8vIENoZWNrIHRoZSBzdHJ1Y3R1cmUKLSAgICAgICAgbV9qaXQubG9hZDMyKE1hY3JvQXNz
ZW1ibGVyOjpBZGRyZXNzKGJhc2VHUFIsIEpTQ2VsbDo6c3RydWN0dXJlSURPZmZzZXQoKSksIHNj
cmF0Y2hHUFIpOwotICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6SnVtcCB3cm9uZ1N0cnVjdHVyZSA9
IG1faml0LmJyYW5jaDMyKE1hY3JvQXNzZW1ibGVyOjpOb3RFcXVhbCwgCi0gICAgICAgICAgICBz
Y3JhdGNoR1BSLCBNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhlbnVtZXJhdG9yR1BSLCBKU1Byb3Bl
cnR5TmFtZUVudW1lcmF0b3I6OmNhY2hlZFN0cnVjdHVyZUlET2Zmc2V0KCkpKTsKLSAgICAgICAg
Ci0gICAgICAgIC8vIENvbXB1dGUgdGhlIG9mZnNldAotICAgICAgICAvLyBJZiBpbmRleCBpcyBs
ZXNzIHRoYW4gdGhlIGVudW1lcmF0b3IncyBjYWNoZWQgaW5saW5lIHN0b3JhZ2UsIHRoZW4gaXQn
cyBhbiBpbmxpbmUgYWNjZXNzCi0gICAgICAgIE1hY3JvQXNzZW1ibGVyOjpKdW1wIG91dE9mTGlu
ZUFjY2VzcyA9IG1faml0LmJyYW5jaDMyKE1hY3JvQXNzZW1ibGVyOjpBYm92ZU9yRXF1YWwsIAot
ICAgICAgICAgICAgaW5kZXhHUFIsIE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNzKGVudW1lcmF0b3JH
UFIsIEpTUHJvcGVydHlOYW1lRW51bWVyYXRvcjo6Y2FjaGVkSW5saW5lQ2FwYWNpdHlPZmZzZXQo
KSkpOwotCi0gICAgICAgIG1faml0Lm1vdmUoaW5kZXhHUFIsIHNjcmF0Y2hHUFIpOwotICAgICAg
ICBtX2ppdC5zaWduRXh0ZW5kMzJUb1B0cihzY3JhdGNoR1BSLCBzY3JhdGNoR1BSKTsKLSAgICAg
ICAgbV9qaXQubG9hZDMyKE1hY3JvQXNzZW1ibGVyOjpCYXNlSW5kZXgoYmFzZUdQUiwgc2NyYXRj
aEdQUiwgTWFjcm9Bc3NlbWJsZXI6OlRpbWVzRWlnaHQsIEpTT2JqZWN0OjpvZmZzZXRPZklubGlu
ZVN0b3JhZ2UoKSArIE9CSkVDVF9PRkZTRVRPRihKU1ZhbHVlLCB1LmFzQml0cy50YWcpKSwgcmVz
dWx0VGFnR1BSKTsKLSAgICAgICAgbV9qaXQubG9hZDMyKE1hY3JvQXNzZW1ibGVyOjpCYXNlSW5k
ZXgoYmFzZUdQUiwgc2NyYXRjaEdQUiwgTWFjcm9Bc3NlbWJsZXI6OlRpbWVzRWlnaHQsIEpTT2Jq
ZWN0OjpvZmZzZXRPZklubGluZVN0b3JhZ2UoKSArIE9CSkVDVF9PRkZTRVRPRihKU1ZhbHVlLCB1
LmFzQml0cy5wYXlsb2FkKSksIHJlc3VsdFBheWxvYWRHUFIpOworICAgICAgICBNYWNyb0Fzc2Vt
Ymxlcjo6SnVtcCB3cm9uZ1N0cnVjdHVyZTsKIAotICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6SnVt
cCBkb25lID0gbV9qaXQuanVtcCgpOwotICAgICAgICAKLSAgICAgICAgLy8gT3RoZXJ3aXNlIGl0
J3Mgb3V0IG9mIGxpbmUKLSAgICAgICAgb3V0T2ZMaW5lQWNjZXNzLmxpbmsoJm1faml0KTsKLSAg
ICAgICAgbV9qaXQubW92ZShpbmRleEdQUiwgc2NyYXRjaEdQUik7Ci0gICAgICAgIG1faml0LnN1
YjMyKE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNzKGVudW1lcmF0b3JHUFIsIEpTUHJvcGVydHlOYW1l
RW51bWVyYXRvcjo6Y2FjaGVkSW5saW5lQ2FwYWNpdHlPZmZzZXQoKSksIHNjcmF0Y2hHUFIpOwot
ICAgICAgICBtX2ppdC5uZWczMihzY3JhdGNoR1BSKTsKLSAgICAgICAgbV9qaXQuc2lnbkV4dGVu
ZDMyVG9QdHIoc2NyYXRjaEdQUiwgc2NyYXRjaEdQUik7Ci0gICAgICAgIC8vIFdlIHVzZSByZXN1
bHRQYXlsb2FkR1BSIGFzIGEgdGVtcG9yYXJ5IGhlcmUuIFdlIGhhdmUgdG8gbWFrZSBzdXJlIGNs
b2JiZXIgaXQgYWZ0ZXIgZ2V0dGluZyB0aGUgCi0gICAgICAgIC8vIHZhbHVlIG91dCBvZiBpbmRl
eEdQUiBhbmQgZW51bWVyYXRvckdQUiBiZWNhdXNlIHJlc3VsdFBheWxvYWRHUFIgY291bGQgcmV1
c2UgZWl0aGVyIG9mIHRob3NlIHJlZ2lzdGVycy4KLSAgICAgICAgbV9qaXQubG9hZFB0cihNYWNy
b0Fzc2VtYmxlcjo6QWRkcmVzcyhiYXNlR1BSLCBKU09iamVjdDo6YnV0dGVyZmx5T2Zmc2V0KCkp
LCByZXN1bHRQYXlsb2FkR1BSKTsgCi0gICAgICAgIGludDMyX3Qgb2Zmc2V0T2ZGaXJzdFByb3Bl
cnR5ID0gc3RhdGljX2Nhc3Q8aW50MzJfdD4ob2Zmc2V0SW5CdXR0ZXJmbHkoZmlyc3RPdXRPZkxp
bmVPZmZzZXQpKSAqIHNpemVvZihFbmNvZGVkSlNWYWx1ZSk7Ci0gICAgICAgIG1faml0LmxvYWQz
MihNYWNyb0Fzc2VtYmxlcjo6QmFzZUluZGV4KHJlc3VsdFBheWxvYWRHUFIsIHNjcmF0Y2hHUFIs
IE1hY3JvQXNzZW1ibGVyOjpUaW1lc0VpZ2h0LCBvZmZzZXRPZkZpcnN0UHJvcGVydHkgKyBPQkpF
Q1RfT0ZGU0VUT0YoSlNWYWx1ZSwgdS5hc0JpdHMudGFnKSksIHJlc3VsdFRhZ0dQUik7Ci0gICAg
ICAgIG1faml0LmxvYWQzMihNYWNyb0Fzc2VtYmxlcjo6QmFzZUluZGV4KHJlc3VsdFBheWxvYWRH
UFIsIHNjcmF0Y2hHUFIsIE1hY3JvQXNzZW1ibGVyOjpUaW1lc0VpZ2h0LCBvZmZzZXRPZkZpcnN0
UHJvcGVydHkgKyBPQkpFQ1RfT0ZGU0VUT0YoSlNWYWx1ZSwgdS5hc0JpdHMucGF5bG9hZCkpLCBy
ZXN1bHRQYXlsb2FkR1BSKTsKKyAgICAgICAgeworICAgICAgICAgICAgU3BlY3VsYXRlSW50MzJP
cGVyYW5kIGluZGV4KHRoaXMsIGluZGV4RWRnZSk7CisgICAgICAgICAgICBTcGVjdWxhdGVDZWxs
T3BlcmFuZCBlbnVtZXJhdG9yKHRoaXMsIGVudW1lcmF0b3JFZGdlKTsKKyAgICAgICAgICAgIEdQ
UlJlZyBpbmRleEdQUiA9IGluZGV4LmdwcigpOworICAgICAgICAgICAgR1BSUmVnIGVudW1lcmF0
b3JHUFIgPSBlbnVtZXJhdG9yLmdwcigpOworCisgICAgICAgICAgICAvLyBDaGVjayB0aGUgc3Ry
dWN0dXJlCisgICAgICAgICAgICBtX2ppdC5sb2FkMzIoTWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3Mo
YmFzZUdQUiwgSlNDZWxsOjpzdHJ1Y3R1cmVJRE9mZnNldCgpKSwgc2NyYXRjaEdQUik7CisgICAg
ICAgICAgICB3cm9uZ1N0cnVjdHVyZSA9IG1faml0LmJyYW5jaDMyKE1hY3JvQXNzZW1ibGVyOjpO
b3RFcXVhbCwKKyAgICAgICAgICAgICAgICBzY3JhdGNoR1BSLCBNYWNyb0Fzc2VtYmxlcjo6QWRk
cmVzcyhlbnVtZXJhdG9yR1BSLCBKU1Byb3BlcnR5TmFtZUVudW1lcmF0b3I6OmNhY2hlZFN0cnVj
dHVyZUlET2Zmc2V0KCkpKTsKKworICAgICAgICAgICAgLy8gQ29tcHV0ZSB0aGUgb2Zmc2V0Cisg
ICAgICAgICAgICAvLyBJZiBpbmRleCBpcyBsZXNzIHRoYW4gdGhlIGVudW1lcmF0b3IncyBjYWNo
ZWQgaW5saW5lIHN0b3JhZ2UsIHRoZW4gaXQncyBhbiBpbmxpbmUgYWNjZXNzCisgICAgICAgICAg
ICBNYWNyb0Fzc2VtYmxlcjo6SnVtcCBvdXRPZkxpbmVBY2Nlc3MgPSBtX2ppdC5icmFuY2gzMihN
YWNyb0Fzc2VtYmxlcjo6QWJvdmVPckVxdWFsLCAKKyAgICAgICAgICAgICAgICBpbmRleEdQUiwg
TWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3MoZW51bWVyYXRvckdQUiwgSlNQcm9wZXJ0eU5hbWVFbnVt
ZXJhdG9yOjpjYWNoZWRJbmxpbmVDYXBhY2l0eU9mZnNldCgpKSk7CisKKyAgICAgICAgICAgIG1f
aml0Lm1vdmUoaW5kZXhHUFIsIHNjcmF0Y2hHUFIpOworICAgICAgICAgICAgbV9qaXQuc2lnbkV4
dGVuZDMyVG9QdHIoc2NyYXRjaEdQUiwgc2NyYXRjaEdQUik7CisgICAgICAgICAgICBtX2ppdC5s
b2FkMzIoTWFjcm9Bc3NlbWJsZXI6OkJhc2VJbmRleChiYXNlR1BSLCBzY3JhdGNoR1BSLCBNYWNy
b0Fzc2VtYmxlcjo6VGltZXNFaWdodCwgSlNPYmplY3Q6Om9mZnNldE9mSW5saW5lU3RvcmFnZSgp
ICsgT0JKRUNUX09GRlNFVE9GKEpTVmFsdWUsIHUuYXNCaXRzLnRhZykpLCByZXN1bHRUYWdHUFIp
OworICAgICAgICAgICAgbV9qaXQubG9hZDMyKE1hY3JvQXNzZW1ibGVyOjpCYXNlSW5kZXgoYmFz
ZUdQUiwgc2NyYXRjaEdQUiwgTWFjcm9Bc3NlbWJsZXI6OlRpbWVzRWlnaHQsIEpTT2JqZWN0Ojpv
ZmZzZXRPZklubGluZVN0b3JhZ2UoKSArIE9CSkVDVF9PRkZTRVRPRihKU1ZhbHVlLCB1LmFzQml0
cy5wYXlsb2FkKSksIHJlc3VsdFBheWxvYWRHUFIpOworCisgICAgICAgICAgICBNYWNyb0Fzc2Vt
Ymxlcjo6SnVtcCBkb25lID0gbV9qaXQuanVtcCgpOworCisgICAgICAgICAgICAvLyBPdGhlcndp
c2UgaXQncyBvdXQgb2YgbGluZQorICAgICAgICAgICAgb3V0T2ZMaW5lQWNjZXNzLmxpbmsoJm1f
aml0KTsKKyAgICAgICAgICAgIG1faml0Lm1vdmUoaW5kZXhHUFIsIHNjcmF0Y2hHUFIpOworICAg
ICAgICAgICAgbV9qaXQuc3ViMzIoTWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3MoZW51bWVyYXRvckdQ
UiwgSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yOjpjYWNoZWRJbmxpbmVDYXBhY2l0eU9mZnNldCgp
KSwgc2NyYXRjaEdQUik7CisgICAgICAgICAgICBtX2ppdC5uZWczMihzY3JhdGNoR1BSKTsKKyAg
ICAgICAgICAgIG1faml0LnNpZ25FeHRlbmQzMlRvUHRyKHNjcmF0Y2hHUFIsIHNjcmF0Y2hHUFIp
OworICAgICAgICAgICAgLy8gV2UgdXNlIHJlc3VsdFBheWxvYWRHUFIgYXMgYSB0ZW1wb3Jhcnkg
aGVyZS4gV2UgaGF2ZSB0byBtYWtlIHN1cmUgY2xvYmJlciBpdCBhZnRlciBnZXR0aW5nIHRoZSAK
KyAgICAgICAgICAgIC8vIHZhbHVlIG91dCBvZiBpbmRleEdQUiBhbmQgZW51bWVyYXRvckdQUiBi
ZWNhdXNlIHJlc3VsdFBheWxvYWRHUFIgY291bGQgcmV1c2UgZWl0aGVyIG9mIHRob3NlIHJlZ2lz
dGVycy4KKyAgICAgICAgICAgIG1faml0LmxvYWRQdHIoTWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3Mo
YmFzZUdQUiwgSlNPYmplY3Q6OmJ1dHRlcmZseU9mZnNldCgpKSwgcmVzdWx0UGF5bG9hZEdQUik7
IAorICAgICAgICAgICAgaW50MzJfdCBvZmZzZXRPZkZpcnN0UHJvcGVydHkgPSBzdGF0aWNfY2Fz
dDxpbnQzMl90PihvZmZzZXRJbkJ1dHRlcmZseShmaXJzdE91dE9mTGluZU9mZnNldCkpICogc2l6
ZW9mKEVuY29kZWRKU1ZhbHVlKTsKKyAgICAgICAgICAgIG1faml0LmxvYWQzMihNYWNyb0Fzc2Vt
Ymxlcjo6QmFzZUluZGV4KHJlc3VsdFBheWxvYWRHUFIsIHNjcmF0Y2hHUFIsIE1hY3JvQXNzZW1i
bGVyOjpUaW1lc0VpZ2h0LCBvZmZzZXRPZkZpcnN0UHJvcGVydHkgKyBPQkpFQ1RfT0ZGU0VUT0Yo
SlNWYWx1ZSwgdS5hc0JpdHMudGFnKSksIHJlc3VsdFRhZ0dQUik7CisgICAgICAgICAgICBtX2pp
dC5sb2FkMzIoTWFjcm9Bc3NlbWJsZXI6OkJhc2VJbmRleChyZXN1bHRQYXlsb2FkR1BSLCBzY3Jh
dGNoR1BSLCBNYWNyb0Fzc2VtYmxlcjo6VGltZXNFaWdodCwgb2Zmc2V0T2ZGaXJzdFByb3BlcnR5
ICsgT0JKRUNUX09GRlNFVE9GKEpTVmFsdWUsIHUuYXNCaXRzLnBheWxvYWQpKSwgcmVzdWx0UGF5
bG9hZEdQUik7CiAKLSAgICAgICAgZG9uZS5saW5rKCZtX2ppdCk7CisgICAgICAgICAgICBkb25l
LmxpbmsoJm1faml0KTsKKyAgICAgICAgfQorCisgICAgICAgIEdQUlJlZyBwcm9wZXJ0eUdQUiA9
IHByb3BlcnR5LmdwcigpOwogCiAgICAgICAgIG1faml0Lm1vdmUoTWFjcm9Bc3NlbWJsZXI6OlRy
dXN0ZWRJbW0zMihKU1ZhbHVlOjpDZWxsVGFnKSwgc2NyYXRjaEdQUik7CiAgICAgICAgIGFkZFNs
b3dQYXRoR2VuZXJhdG9yKHNsb3dQYXRoQ2FsbCh3cm9uZ1N0cnVjdHVyZSwgdGhpcywgb3BlcmF0
aW9uR2V0QnlWYWxDZWxsLCByZXN1bHRUYWdHUFIsIHJlc3VsdFBheWxvYWRHUFIsIGJhc2VHUFIs
IHNjcmF0Y2hHUFIsIHByb3BlcnR5R1BSKSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>237132</attachid>
            <date>2014-08-25 21:05:57 -0700</date>
            <delta_ts>2014-08-26 07:42:41 -0700</delta_ts>
            <desc>Updated patch that always takes the slow path for X86</desc>
            <filename>136165-2.patch</filename>
            <type>text/plain</type>
            <size>3397</size>
            <attacher name="Michael Saboff">msaboff</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTcyOTQ5KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBA
CisyMDE0LTA4LTI1ICBNaWNoYWVsIFNhYm9mZiAgPG1zYWJvZmZAYXBwbGUuY29tPgorCisgICAg
ICAgIFJFR1JFU1NJT04ocjE3Mjc5NCkgKyAzMkJpdCBidWlsZDogQVNTRVJUIGZhaWx1cmVzIGlu
IGZvci1pbi10ZXN0cy5qcyB0ZXN0cy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTEzNjE2NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIENoYW5nZWQgc3dpdGNoIGNhc2UgR2V0RGlyZWN0UG5hbWU6IHRvIGFs
d2F5cyB1c2UgdGhlIHNsb3cgcGF0aCBmb3IgWDg2IHNpbmNlIGl0IG9ubHkgaGFzCisgICAgICAg
IDYgcmVnaXN0ZXJzIGF2YWlsYWJsZSwgYnV0IHRoZSBjb2RlIHJlcXVpcmVzIDcuCisKKyAgICAg
ICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6
U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUpOgorCiAyMDE0LTA4LTI1ICBTYWFtIEJhcmF0aSAgPHNi
YXJhdGlAYXBwbGUuY29tPgogCiAgICAgICAgIFJldHVybiBzdGF0ZW1lbnQgVHlwZVNldCdzIG1p
Z2h0IGJlIGR1cGxpY2F0ZWQKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3Bl
Y3VsYXRpdmVKSVQzMl82NC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcAkocmV2aXNpb24gMTcyODgxKQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNDcxMSwyNSArNDcxMSwzNCBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21w
aWxlKE5vZGUqIG5vZGUpCiAgICAgY2FzZSBHZXREaXJlY3RQbmFtZTogewogICAgICAgICBFZGdl
JiBiYXNlRWRnZSA9IG1faml0LmdyYXBoKCkudmFyQXJnQ2hpbGQobm9kZSwgMCk7CiAgICAgICAg
IEVkZ2UmIHByb3BlcnR5RWRnZSA9IG1faml0LmdyYXBoKCkudmFyQXJnQ2hpbGQobm9kZSwgMSk7
Ci0gICAgICAgIEVkZ2UmIGluZGV4RWRnZSA9IG1faml0LmdyYXBoKCkudmFyQXJnQ2hpbGQobm9k
ZSwgMik7Ci0gICAgICAgIEVkZ2UmIGVudW1lcmF0b3JFZGdlID0gbV9qaXQuZ3JhcGgoKS52YXJB
cmdDaGlsZChub2RlLCAzKTsKIAogICAgICAgICBTcGVjdWxhdGVDZWxsT3BlcmFuZCBiYXNlKHRo
aXMsIGJhc2VFZGdlKTsKICAgICAgICAgU3BlY3VsYXRlQ2VsbE9wZXJhbmQgcHJvcGVydHkodGhp
cywgcHJvcGVydHlFZGdlKTsKLSAgICAgICAgU3BlY3VsYXRlSW50MzJPcGVyYW5kIGluZGV4KHRo
aXMsIGluZGV4RWRnZSk7Ci0gICAgICAgIFNwZWN1bGF0ZUNlbGxPcGVyYW5kIGVudW1lcmF0b3Io
dGhpcywgZW51bWVyYXRvckVkZ2UpOwogICAgICAgICBHUFJSZXN1bHQgcmVzdWx0UGF5bG9hZCh0
aGlzKTsKICAgICAgICAgR1BSUmVzdWx0MiByZXN1bHRUYWcodGhpcyk7CiAgICAgICAgIEdQUlRl
bXBvcmFyeSBzY3JhdGNoKHRoaXMpOwogCiAgICAgICAgIEdQUlJlZyBiYXNlR1BSID0gYmFzZS5n
cHIoKTsKICAgICAgICAgR1BSUmVnIHByb3BlcnR5R1BSID0gcHJvcGVydHkuZ3ByKCk7Ci0gICAg
ICAgIEdQUlJlZyBpbmRleEdQUiA9IGluZGV4LmdwcigpOwotICAgICAgICBHUFJSZWcgZW51bWVy
YXRvckdQUiA9IGVudW1lcmF0b3IuZ3ByKCk7CiAgICAgICAgIEdQUlJlZyByZXN1bHRUYWdHUFIg
PSByZXN1bHRUYWcuZ3ByKCk7CiAgICAgICAgIEdQUlJlZyByZXN1bHRQYXlsb2FkR1BSID0gcmVz
dWx0UGF5bG9hZC5ncHIoKTsKICAgICAgICAgR1BSUmVnIHNjcmF0Y2hHUFIgPSBzY3JhdGNoLmdw
cigpOwogCisjaWYgQ1BVKFg4NikKKyAgICAgICAgLy8gTm90IGVub3VnaCByZWdpc3RlcnMgb24g
WDg2IGZvciB0aGlzIGNvZGUsIHNvIGFsd2F5cyB1c2UgdGhlIHNsb3cgcGF0aC4KKyAgICAgICAg
Zmx1c2hSZWdpc3RlcnMoKTsKKyAgICAgICAgbV9qaXQubW92ZShNYWNyb0Fzc2VtYmxlcjo6VHJ1
c3RlZEltbTMyKEpTVmFsdWU6OkNlbGxUYWcpLCBzY3JhdGNoR1BSKTsKKyAgICAgICAgY2FsbE9w
ZXJhdGlvbihvcGVyYXRpb25HZXRCeVZhbENlbGwsIHJlc3VsdFRhZ0dQUiwgcmVzdWx0UGF5bG9h
ZEdQUiwgYmFzZUdQUiwgc2NyYXRjaEdQUiwgcHJvcGVydHlHUFIpOworI2Vsc2UKKyAgICAgICAg
RWRnZSYgaW5kZXhFZGdlID0gbV9qaXQuZ3JhcGgoKS52YXJBcmdDaGlsZChub2RlLCAyKTsKKyAg
ICAgICAgRWRnZSYgZW51bWVyYXRvckVkZ2UgPSBtX2ppdC5ncmFwaCgpLnZhckFyZ0NoaWxkKG5v
ZGUsIDMpOworCisgICAgICAgIFNwZWN1bGF0ZUludDMyT3BlcmFuZCBpbmRleCh0aGlzLCBpbmRl
eEVkZ2UpOworICAgICAgICBTcGVjdWxhdGVDZWxsT3BlcmFuZCBlbnVtZXJhdG9yKHRoaXMsIGVu
dW1lcmF0b3JFZGdlKTsKKworICAgICAgICBHUFJSZWcgaW5kZXhHUFIgPSBpbmRleC5ncHIoKTsK
KyAgICAgICAgR1BSUmVnIGVudW1lcmF0b3JHUFIgPSBlbnVtZXJhdG9yLmdwcigpOworCiAgICAg
ICAgIC8vIENoZWNrIHRoZSBzdHJ1Y3R1cmUKICAgICAgICAgbV9qaXQubG9hZDMyKE1hY3JvQXNz
ZW1ibGVyOjpBZGRyZXNzKGJhc2VHUFIsIEpTQ2VsbDo6c3RydWN0dXJlSURPZmZzZXQoKSksIHNj
cmF0Y2hHUFIpOwogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6SnVtcCB3cm9uZ1N0cnVjdHVyZSA9
IG1faml0LmJyYW5jaDMyKE1hY3JvQXNzZW1ibGVyOjpOb3RFcXVhbCwgCkBAIC00NzY0LDYgKzQ3
NzMsNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlKE5vZGUqIG5vZGUpCiAKICAgICAg
ICAgbV9qaXQubW92ZShNYWNyb0Fzc2VtYmxlcjo6VHJ1c3RlZEltbTMyKEpTVmFsdWU6OkNlbGxU
YWcpLCBzY3JhdGNoR1BSKTsKICAgICAgICAgYWRkU2xvd1BhdGhHZW5lcmF0b3Ioc2xvd1BhdGhD
YWxsKHdyb25nU3RydWN0dXJlLCB0aGlzLCBvcGVyYXRpb25HZXRCeVZhbENlbGwsIHJlc3VsdFRh
Z0dQUiwgcmVzdWx0UGF5bG9hZEdQUiwgYmFzZUdQUiwgc2NyYXRjaEdQUiwgcHJvcGVydHlHUFIp
KTsKKyNlbmRpZgogCiAgICAgICAgIGpzVmFsdWVSZXN1bHQocmVzdWx0VGFnR1BSLCByZXN1bHRQ
YXlsb2FkR1BSLCBub2RlKTsKICAgICAgICAgYnJlYWs7Cg==
</data>
<flag name="review"
          id="261839"
          type_id="1"
          status="+"
          setter="mhahnenb"
    />
          </attachment>
      

    </bug>

</bugzilla>