<?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>144286</bug_id>
          
          <creation_ts>2015-04-27 15:56:13 -0700</creation_ts>
          <short_desc>RegExp matches arrays should use contiguous indexing.</short_desc>
          <delta_ts>2015-04-27 22:55:16 -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>Performance</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Andreas Kling">kling</reporter>
          <assigned_to name="Andreas Kling">kling</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>kling</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1089236</commentid>
    <comment_count>0</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2015-04-27 15:56:13 -0700</bug_when>
    <thetext>They currently use slow-put array storage, which prevents the FTL JIT from compiling the inner loop on the Octane/regexp benchmark.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1089240</commentid>
    <comment_count>1</comment_count>
      <attachid>251780</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2015-04-27 15:57:44 -0700</bug_when>
    <thetext>Created attachment 251780
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1089254</commentid>
    <comment_count>2</comment_count>
      <attachid>251780</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2015-04-27 16:21:22 -0700</bug_when>
    <thetext>Comment on attachment 251780
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1089285</commentid>
    <comment_count>3</comment_count>
      <attachid>251780</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-04-27 17:16:01 -0700</bug_when>
    <thetext>Comment on attachment 251780
Patch

Clearing flags on attachment: 251780

Committed r183438: &lt;http://trac.webkit.org/changeset/183438&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1089286</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-04-27 17:16:04 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1089337</commentid>
    <comment_count>5</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-04-27 19:14:19 -0700</bug_when>
    <thetext>This is causing a bunch of asserts in lots of tests when running run-javascriptcore-tests --debug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1089338</commentid>
    <comment_count>6</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-04-27 19:14:40 -0700</bug_when>
    <thetext>Example:

jsc-layout-tests.yaml/js/script-tests/JSON-parse-reviver.js.layout-ftl-eager-no-cjit: ASSERTION FAILED: indexingType &amp; IsArray
jsc-layout-tests.yaml/js/script-tests/JSON-parse-reviver.js.layout-ftl-eager-no-cjit: /Volumes/Data/pizlo/quartary/OpenSource/Source/JavaScriptCore/runtime/JSGlobalObject.h(443) : JSC::Structure *JSC::JSGlobalObject::arrayStructureForIndexingTypeDuringAllocation(IndexingType) const
jsc-layout-tests.yaml/js/script-tests/JSON-parse-reviver.js.layout-ftl-eager-no-cjit: 1   0x10f618220 WTFCrash
jsc-layout-tests.yaml/js/script-tests/JSON-parse-reviver.js.layout-ftl-eager-no-cjit: 2   0x10ec23254 JSC::JSGlobalObject::arrayStructureForIndexingTypeDuringAllocation(unsigned char) const
jsc-layout-tests.yaml/js/script-tests/JSON-parse-reviver.js.layout-ftl-eager-no-cjit: 3   0x10f509aad JSC::createRegExpMatchesArray(JSC::ExecState*, JSC::JSString*, JSC::RegExp*, MatchResult)
jsc-layout-tests.yaml/js/script-tests/JSON-parse-reviver.js.layout-ftl-eager-no-cjit: 4   0x10f50aed9 JSC::RegExpObject::exec(JSC::ExecState*, JSC::JSString*)
jsc-layout-tests.yaml/js/script-tests/JSON-parse-reviver.js.layout-ftl-eager-no-cjit: 5   0x10f50c6a8 JSC::regExpProtoFuncExec(JSC::ExecState*)
jsc-layout-tests.yaml/js/script-tests/JSON-parse-reviver.js.layout-ftl-eager-no-cjit: 6   0x594e41a01028
jsc-layout-tests.yaml/js/script-tests/JSON-parse-reviver.js.layout-ftl-eager-no-cjit: 7   0x10f3b26c3 llint_entry
jsc-layout-tests.yaml/js/script-tests/JSON-parse-reviver.js.layout-ftl-eager-no-cjit: 8   0x10f3abf49 vmEntryToJavaScript
jsc-layout-tests.yaml/js/script-tests/JSON-parse-reviver.js.layout-ftl-eager-no-cjit: 9   0x10f20605a JSC::JITCode::execute(JSC::VM*, JSC::ProtoCallFrame*)
jsc-layout-tests.yaml/js/script-tests/JSON-parse-reviver.js.layout-ftl-eager-no-cjit: 10  0x10f1ea08e JSC::Interpreter::executeCall(JSC::ExecState*, JSC::JSObject*, JSC::CallType, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList const&amp;)
jsc-layout-tests.yaml/js/script-tests/JSON-parse-reviver.js.layout-ftl-eager-no-cjit: 11  0x10eca1e8e JSC::call(JSC::ExecState*, JSC::JSValue, JSC::CallType, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList const&amp;)
jsc-layout-tests.yaml/js/script-tests/JSON-parse-reviver.js.layout-ftl-eager-no-cjit: 12  0x10f2fd854 JSC::Walker::callReviver(JSC::JSObject*, JSC::JSValue, JSC::JSValue)
jsc-layout-tests.yaml/js/script-tests/JSON-parse-reviver.js.layout-ftl-eager-no-cjit: 13  0x10f2fb06a JSC::Walker::walk(JSC::JSValue)
jsc-layout-tests.yaml/js/script-tests/JSON-parse-reviver.js.layout-ftl-eager-no-cjit: 14  0x10f2fc098 JSC::JSONProtoFuncParse(JSC::ExecState*)
jsc-layout-tests.yaml/js/script-tests/JSON-parse-reviver.js.layout-ftl-eager-no-cjit: 15  0x594e41a01028
jsc-layout-tests.yaml/js/script-tests/JSON-parse-reviver.js.layout-ftl-eager-no-cjit: 16  0x10f3b26c3 llint_entry
jsc-layout-tests.yaml/js/script-tests/JSON-parse-reviver.js.layout-ftl-eager-no-cjit: 17  0x10f3abf49 vmEntryToJavaScript
jsc-layout-tests.yaml/js/script-tests/JSON-parse-reviver.js.layout-ftl-eager-no-cjit: 18  0x10f20605a JSC::JITCode::execute(JSC::VM*, JSC::ProtoCallFrame*)
jsc-layout-tests.yaml/js/script-tests/JSON-parse-reviver.js.layout-ftl-eager-no-cjit: 19  0x10f1e6a71 JSC::Interpreter::execute(JSC::EvalExecutable*, JSC::ExecState*, JSC::JSValue, JSC::JSScope*)
jsc-layout-tests.yaml/js/script-tests/JSON-parse-reviver.js.layout-ftl-eager-no-cjit: 20  0x10f1e602f JSC::eval(JSC::ExecState*)
jsc-layout-tests.yaml/js/script-tests/JSON-parse-reviver.js.layout-ftl-eager-no-cjit: 21  0x10f21702d operationCallEval
jsc-layout-tests.yaml/js/script-tests/JSON-parse-reviver.js.layout-ftl-eager-no-cjit: 22  0x594e41a0501f
jsc-layout-tests.yaml/js/script-tests/JSON-parse-reviver.js.layout-ftl-eager-no-cjit: 23  0x10f3b26c3 llint_entry
jsc-layout-tests.yaml/js/script-tests/JSON-parse-reviver.js.layout-ftl-eager-no-cjit: 24  0x10f3abf49 vmEntryToJavaScript
jsc-layout-tests.yaml/js/script-tests/JSON-parse-reviver.js.layout-ftl-eager-no-cjit: 25  0x10f20605a JSC::JITCode::execute(JSC::VM*, JSC::ProtoCallFrame*)
jsc-layout-tests.yaml/js/script-tests/JSON-parse-reviver.js.layout-ftl-eager-no-cjit: 26  0x10f1e98e1 JSC::Interpreter::execute(JSC::ProgramExecutable*, JSC::ExecState*, JSC::JSObject*)
jsc-layout-tests.yaml/js/script-tests/JSON-parse-reviver.js.layout-ftl-eager-no-cjit: 27  0x10ed28dd0 JSC::evaluate(JSC::ExecState*, JSC::SourceCode const&amp;, JSC::JSValue, JSC::JSValue*)
jsc-layout-tests.yaml/js/script-tests/JSON-parse-reviver.js.layout-ftl-eager-no-cjit: 28  0x10eb9deb4 runWithScripts(GlobalObject*, WTF::Vector&lt;Script, 0ul, WTF::CrashOnOverflow&gt; const&amp;, bool)
jsc-layout-tests.yaml/js/script-tests/JSON-parse-reviver.js.layout-ftl-eager-no-cjit: 29  0x10eb9d476 jscmain(int, char**)
jsc-layout-tests.yaml/js/script-tests/JSON-parse-reviver.js.layout-ftl-eager-no-cjit: 30  0x10eb9cf91 main
jsc-layout-tests.yaml/js/script-tests/JSON-parse-reviver.js.layout-ftl-eager-no-cjit: 31  0x7fff9713d5c9 start
jsc-layout-tests.yaml/js/script-tests/JSON-parse-reviver.js.layout-ftl-eager-no-cjit: test_script_18228: line 2: 77426 Segmentation fault: 11  &quot;$@&quot; ../../../../.vm/JavaScriptCore.framework/Resources/jsc --useFTLJIT\=false --enableFunctionDotArguments\=true --testTheFTL\=true --useFTLJIT\=true --ftlCrashesIfCantInitializeLLVM\=true --enableConcurrentJIT\=false --thresholdForJITAfterWarmUp\=100 --thresholdForJITAfterWarmUp\=10 --thresholdForJITSoon\=10 --thresholdForOptimizeAfterWarmUp\=20 --thresholdForOptimizeAfterLongWarmUp\=20 --thresholdForOptimizeSoon\=20 --thresholdForFTLOptimizeAfterWarmUp\=20 --thresholdForFTLOptimizeSoon\=20 --maximumEvalCacheableSourceLength\=150000 resources/standalone-pre.js JSON-parse-reviver.js resources/standalone-post.js</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1089340</commentid>
    <comment_count>7</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-04-27 19:15:56 -0700</bug_when>
    <thetext>Rolled out in http://trac.webkit.org/changeset/183446</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1089413</commentid>
    <comment_count>8</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2015-04-27 22:55:16 -0700</bug_when>
    <thetext>Committed r183458: &lt;http://trac.webkit.org/changeset/183458&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>251780</attachid>
            <date>2015-04-27 15:57:44 -0700</date>
            <delta_ts>2015-04-27 17:16:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-144286.diff</filename>
            <type>text/plain</type>
            <size>7695</size>
            <attacher name="Andreas Kling">kling</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGE4YmY0ZTQuLmYwNzQyZDMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDE1LTA0LTI3ICBBbmRyZWFzIEtsaW5n
ICA8YWtsaW5nQGFwcGxlLmNvbT4KKworICAgICAgICBSZWdFeHAgbWF0Y2hlcyBhcnJheXMgc2hv
dWxkIHVzZSBjb250aWd1b3VzIGluZGV4aW5nLgorICAgICAgICA8aHR0cHM6Ly93ZWJraXQub3Jn
L2IvMTQ0Mjg2PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFdlIGhhZCBhIGN1c3RvbSBTdHJ1Y3R1cmUgYmVpbmcgdXNlZCBmb3IgUmVnRXhwIG1hdGNo
ZXMgYXJyYXlzIHRoYXQgd291bGQKKyAgICAgICAgcHV0IHRoZSBhcnJheXMgaW50byBTbG93UHV0
QXJyYXlTdG9yYWdlU2hhcGUgbW9kZS4gVGhpcyB3YXMganVzdCBsZWZ0CisgICAgICAgIGZyb20g
d2hlbiBtYXRjaGVzIGFycmF5cyB3ZXJlIGN1c3RvbSwgbGF6aWx5IGluaXRpYWxpemVkIG9iamVj
dHMuCisKKyAgICAgICAgVGhpcyBjaGFuZ2UgcmVtb3ZlcyB0aGF0IFN0cnVjdHVyZSBhbmQgc3dp
dGNoZXMgdGhlIG1hdGNoZXMgYXJyYXlzIHRvCisgICAgICAgIHVzaW5nIHRoZSBkZWZhdWx0IENv
bnRpZ3VvdXNTaGFwZSBTdHJ1Y3R1cmUuIFRoaXMgYWxsb3dzIHRoZSBGVEwgSklUCisgICAgICAg
IHRvIGNvbXBpbGUgdGhlIGlubmVyIGxvb3Agb2YgdGhlIE9jdGFuZS9yZWdleHAgYmVuY2htYXJr
LgorCisgICAgICAgIEFsc28gbWFkZSBhIHZlcnNpb24gb2YgaW5pdGlhbGl6ZUluZGV4KCkgW2lu
bGluZV0gdGhhdCB0YWtlcyB0aGUgaW5kZXhpbmcKKyAgICAgICAgdHlwZSBpbiBhbiBhcmd1bWVu
dCwgYWxsb3dpbmcgY3JlYXRlUmVnRXhwTWF0Y2hlc0FycmF5KCkgdG8gaW5pdGlhbGl6ZQorICAg
ICAgICB0aGUgZW50aXJlIGFycmF5IHdpdGhvdXQgYnJhbmNoaW5nIG9uIHRoZSBpbmRleGluZyB0
eXBlIGZvciBlYWNoIGVudHJ5LgorCisgICAgICAgIH4zJSBwcm9ncmVzc2lvbiBvbiBPY3RhbmUv
cmVnZXhwLgorCisgICAgICAgICogcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHA6CisgICAgICAg
IChKU0M6OkpTR2xvYmFsT2JqZWN0Ojppbml0KToKKyAgICAgICAgKEpTQzo6SlNHbG9iYWxPYmpl
Y3Q6OnZpc2l0Q2hpbGRyZW4pOgorICAgICAgICAqIHJ1bnRpbWUvSlNHbG9iYWxPYmplY3QuaDoK
KyAgICAgICAgKEpTQzo6SlNHbG9iYWxPYmplY3Q6Om1hcFN0cnVjdHVyZSk6CisgICAgICAgIChK
U0M6OkpTR2xvYmFsT2JqZWN0OjpyZWdFeHBNYXRjaGVzQXJyYXlTdHJ1Y3R1cmUpOiBEZWxldGVk
LgorICAgICAgICAqIHJ1bnRpbWUvSlNPYmplY3QuaDoKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6
OmluaXRpYWxpemVJbmRleCk6CisgICAgICAgICogcnVudGltZS9SZWdFeHBNYXRjaGVzQXJyYXku
Y3BwOgorICAgICAgICAoSlNDOjpjcmVhdGVSZWdFeHBNYXRjaGVzQXJyYXkpOgorCiAyMDE1LTA0
LTI3ICBCYXNpbGUgQ2xlbWVudCAgPGJhc2lsZV9jbGVtZW50QGFwcGxlLmNvbT4KIAogICAgICAg
ICBGdW5jdGlvbiBhbGxvY2F0aW9ucyBzaG91bGRuJ3Qgc2luayB0aHJvdWdoIFB1dCBvcGVyYXRp
b25zCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9i
amVjdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5j
cHAKaW5kZXggNjM4YWQyOC4uMTgzNTE2OCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcApAQCAtMzA1LDggKzMwNSw2IEBAIHZvaWQgSlNH
bG9iYWxPYmplY3Q6OmluaXQoVk0mIHZtKQogICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBO
dW1iZXJPZkluZGV4aW5nU2hhcGVzOyArK2kpCiAgICAgICAgIG1fYXJyYXlTdHJ1Y3R1cmVGb3JJ
bmRleGluZ1NoYXBlRHVyaW5nQWxsb2NhdGlvbltpXSA9IG1fb3JpZ2luYWxBcnJheVN0cnVjdHVy
ZUZvckluZGV4aW5nU2hhcGVbaV07CiAKLSAgICBtX3JlZ0V4cE1hdGNoZXNBcnJheVN0cnVjdHVy
ZS5zZXQodm0sIHRoaXMsIFN0cnVjdHVyZTo6Y3JlYXRlKHZtLCB0aGlzLCBtX2FycmF5UHJvdG90
eXBlLmdldCgpLCBUeXBlSW5mbyhPYmplY3RUeXBlLCBTdHJ1Y3R1cmVGbGFncyksIEpTQXJyYXk6
OmluZm8oKSwgQXJyYXlXaXRoU2xvd1B1dEFycmF5U3RvcmFnZSkpOwotICAgIAogICAgIFJlZ0V4
cCogZW1wdHlSZWdleCA9IFJlZ0V4cDo6Y3JlYXRlKHZtLCAiIiwgTm9GbGFncyk7CiAgICAgCiAg
ICAgbV9yZWdFeHBQcm90b3R5cGUuc2V0KHZtLCB0aGlzLCBSZWdFeHBQcm90b3R5cGU6OmNyZWF0
ZSh2bSwgUmVnRXhwUHJvdG90eXBlOjpjcmVhdGVTdHJ1Y3R1cmUodm0sIHRoaXMsIG1fb2JqZWN0
UHJvdG90eXBlLmdldCgpKSwgZW1wdHlSZWdleCkpOwpAQCAtNzY0LDcgKzc2Miw2IEBAIHZvaWQg
SlNHbG9iYWxPYmplY3Q6OnZpc2l0Q2hpbGRyZW4oSlNDZWxsKiBjZWxsLCBTbG90VmlzaXRvciYg
dmlzaXRvcikKICAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9ib3VuZEZ1bmN0aW9u
U3RydWN0dXJlKTsKICAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9uYW1lZEZ1bmN0
aW9uU3RydWN0dXJlKTsKICAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9zeW1ib2xP
YmplY3RTdHJ1Y3R1cmUpOwotICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX3JlZ0V4
cE1hdGNoZXNBcnJheVN0cnVjdHVyZSk7CiAgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3Qt
Pm1fcmVnRXhwU3RydWN0dXJlKTsKICAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9j
b25zb2xlU3RydWN0dXJlKTsKICAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9kb2xs
YXJWTVN0cnVjdHVyZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU0dsb2JhbE9iamVjdC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9i
YWxPYmplY3QuaAppbmRleCBlNWYyZTZhLi41ODlmYTM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmgKQEAgLTIzMiw3ICsyMzIsNiBAQCBwcm90
ZWN0ZWQ6CiAgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9uYW1lZEZ1bmN0aW9uU3RydWN0
dXJlOwogICAgIFByb3BlcnR5T2Zmc2V0IG1fZnVuY3Rpb25OYW1lT2Zmc2V0OwogICAgIFdyaXRl
QmFycmllcjxTdHJ1Y3R1cmU+IG1fcHJpdmF0ZU5hbWVTdHJ1Y3R1cmU7Ci0gICAgV3JpdGVCYXJy
aWVyPFN0cnVjdHVyZT4gbV9yZWdFeHBNYXRjaGVzQXJyYXlTdHJ1Y3R1cmU7CiAgICAgV3JpdGVC
YXJyaWVyPFN0cnVjdHVyZT4gbV9yZWdFeHBTdHJ1Y3R1cmU7CiAgICAgV3JpdGVCYXJyaWVyPFN0
cnVjdHVyZT4gbV9jb25zb2xlU3RydWN0dXJlOwogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+
IG1fZG9sbGFyVk1TdHJ1Y3R1cmU7CkBAIC00NzQsNyArNDczLDYgQEAgcHVibGljOgogICAgIFN0
cnVjdHVyZSogcHJpdmF0ZU5hbWVTdHJ1Y3R1cmUoKSBjb25zdCB7IHJldHVybiBtX3ByaXZhdGVO
YW1lU3RydWN0dXJlLmdldCgpOyB9CiAgICAgU3RydWN0dXJlKiBpbnRlcm5hbEZ1bmN0aW9uU3Ry
dWN0dXJlKCkgY29uc3QgeyByZXR1cm4gbV9pbnRlcm5hbEZ1bmN0aW9uU3RydWN0dXJlLmdldCgp
OyB9CiAgICAgU3RydWN0dXJlKiBtYXBTdHJ1Y3R1cmUoKSBjb25zdCB7IHJldHVybiBtX21hcFN0
cnVjdHVyZS5nZXQoKTsgfQotICAgIFN0cnVjdHVyZSogcmVnRXhwTWF0Y2hlc0FycmF5U3RydWN0
dXJlKCkgY29uc3QgeyByZXR1cm4gbV9yZWdFeHBNYXRjaGVzQXJyYXlTdHJ1Y3R1cmUuZ2V0KCk7
IH0KICAgICBTdHJ1Y3R1cmUqIHJlZ0V4cFN0cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fcmVn
RXhwU3RydWN0dXJlLmdldCgpOyB9CiAgICAgU3RydWN0dXJlKiBzZXRTdHJ1Y3R1cmUoKSBjb25z
dCB7IHJldHVybiBtX3NldFN0cnVjdHVyZS5nZXQoKTsgfQogICAgIFN0cnVjdHVyZSogc3RyaW5n
T2JqZWN0U3RydWN0dXJlKCkgY29uc3QgeyByZXR1cm4gbV9zdHJpbmdPYmplY3RTdHJ1Y3R1cmUu
Z2V0KCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2Jq
ZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5oCmluZGV4IGE0
NjkwMmEuLmQ2MjgyYjA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU09iamVjdC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0
LmgKQEAgLTM2NCwxMCArMzY0LDE1IEBAIHB1YmxpYzoKICAgICAgICAgICAgIFJFTEVBU0VfQVNT
RVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAgIH0KICAgICB9Ci0gICAgICAgIAorCiAgICAgdm9p
ZCBpbml0aWFsaXplSW5kZXgoVk0mIHZtLCB1bnNpZ25lZCBpLCBKU1ZhbHVlIHYpCiAgICAgewot
ICAgICAgICBzd2l0Y2ggKGluZGV4aW5nVHlwZSgpKSB7CisgICAgICAgIGluaXRpYWxpemVJbmRl
eCh2bSwgaSwgdiwgaW5kZXhpbmdUeXBlKCkpOworICAgIH0KKworICAgIHZvaWQgaW5pdGlhbGl6
ZUluZGV4KFZNJiB2bSwgdW5zaWduZWQgaSwgSlNWYWx1ZSB2LCBJbmRleGluZ1R5cGUgaW5kZXhp
bmdUeXBlKQorICAgIHsKKyAgICAgICAgc3dpdGNoIChpbmRleGluZ1R5cGUpIHsKICAgICAgICAg
Y2FzZSBBTExfVU5ERUNJREVEX0lOREVYSU5HX1RZUEVTOiB7CiAgICAgICAgICAgICBzZXRJbmRl
eFF1aWNrbHlUb1VuZGVjaWRlZCh2bSwgaSwgdik7CiAgICAgICAgICAgICBicmVhazsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cE1hdGNoZXNBcnJheS5j
cHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBNYXRjaGVzQXJyYXkuY3Bw
CmluZGV4IDM0NjFjZjAuLjkxNTdjNjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1JlZ0V4cE1hdGNoZXNBcnJheS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvUmVnRXhwTWF0Y2hlc0FycmF5LmNwcApAQCAtMzUsMTYgKzM1LDE2IEBAIEpT
QXJyYXkqIGNyZWF0ZVJlZ0V4cE1hdGNoZXNBcnJheShFeGVjU3RhdGUqIGV4ZWMsIEpTU3RyaW5n
KiBpbnB1dCwgUmVnRXhwKiByZWdFCiB7CiAgICAgQVNTRVJUKHJlc3VsdCk7CiAgICAgVk0mIHZt
ID0gZXhlYy0+dm0oKTsKLSAgICBKU0FycmF5KiBhcnJheSA9IEpTQXJyYXk6OnRyeUNyZWF0ZVVu
aW5pdGlhbGl6ZWQodm0sIGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKS0+cmVnRXhwTWF0Y2hl
c0FycmF5U3RydWN0dXJlKCksIHJlZ0V4cC0+bnVtU3VicGF0dGVybnMoKSArIDEpOworICAgIEpT
QXJyYXkqIGFycmF5ID0gSlNBcnJheTo6dHJ5Q3JlYXRlVW5pbml0aWFsaXplZCh2bSwgZXhlYy0+
bGV4aWNhbEdsb2JhbE9iamVjdCgpLT5hcnJheVN0cnVjdHVyZUZvckluZGV4aW5nVHlwZUR1cmlu
Z0FsbG9jYXRpb24oQ29udGlndW91c1NoYXBlKSwgcmVnRXhwLT5udW1TdWJwYXR0ZXJucygpICsg
MSk7CiAgICAgUkVMRUFTRV9BU1NFUlQoYXJyYXkpOwogCiAgICAgU2FtcGxpbmdSZWdpb24gc2Ft
cGxpbmdSZWdpb24oIlJlaWZ5aW5nIHN1YnN0cmluZyBwcm9wZXJ0aWVzIik7CiAKLSAgICBhcnJh
eS0+cHV0RGlyZWN0SW5kZXgoZXhlYywgMCwganNTdWJzdHJpbmcoZXhlYywgaW5wdXQsIHJlc3Vs
dC5zdGFydCwgcmVzdWx0LmVuZCAtIHJlc3VsdC5zdGFydCkpOworICAgIGFycmF5LT5pbml0aWFs
aXplSW5kZXgodm0sIDAsIGpzU3Vic3RyaW5nKGV4ZWMsIGlucHV0LCByZXN1bHQuc3RhcnQsIHJl
c3VsdC5lbmQgLSByZXN1bHQuc3RhcnQpLCBDb250aWd1b3VzU2hhcGUpOwogCiAgICAgaWYgKHVu
c2lnbmVkIG51bVN1YnBhdHRlcm5zID0gcmVnRXhwLT5udW1TdWJwYXR0ZXJucygpKSB7CiAgICAg
ICAgIFZlY3RvcjxpbnQsIDMyPiBzdWJwYXR0ZXJuUmVzdWx0czsKLSAgICAgICAgaW50IHBvc2l0
aW9uID0gcmVnRXhwLT5tYXRjaChleGVjLT52bSgpLCBpbnB1dC0+dmFsdWUoZXhlYyksIHJlc3Vs
dC5zdGFydCwgc3VicGF0dGVyblJlc3VsdHMpOworICAgICAgICBpbnQgcG9zaXRpb24gPSByZWdF
eHAtPm1hdGNoKHZtLCBpbnB1dC0+dmFsdWUoZXhlYyksIHJlc3VsdC5zdGFydCwgc3VicGF0dGVy
blJlc3VsdHMpOwogICAgICAgICBBU1NFUlRfVU5VU0VEKHBvc2l0aW9uLCBwb3NpdGlvbiA+PSAw
ICYmIHN0YXRpY19jYXN0PHNpemVfdD4ocG9zaXRpb24pID09IHJlc3VsdC5zdGFydCk7CiAgICAg
ICAgIEFTU0VSVChyZXN1bHQuc3RhcnQgPT0gc3RhdGljX2Nhc3Q8c2l6ZV90PihzdWJwYXR0ZXJu
UmVzdWx0c1swXSkpOwogICAgICAgICBBU1NFUlQocmVzdWx0LmVuZCA9PSBzdGF0aWNfY2FzdDxz
aXplX3Q+KHN1YnBhdHRlcm5SZXN1bHRzWzFdKSk7CkBAIC01MiwxNCArNTIsMTQgQEAgSlNBcnJh
eSogY3JlYXRlUmVnRXhwTWF0Y2hlc0FycmF5KEV4ZWNTdGF0ZSogZXhlYywgSlNTdHJpbmcqIGlu
cHV0LCBSZWdFeHAqIHJlZ0UKICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMTsgaSA8PSBudW1T
dWJwYXR0ZXJuczsgKytpKSB7CiAgICAgICAgICAgICBpbnQgc3RhcnQgPSBzdWJwYXR0ZXJuUmVz
dWx0c1syICogaV07CiAgICAgICAgICAgICBpZiAoc3RhcnQgPj0gMCkKLSAgICAgICAgICAgICAg
ICBhcnJheS0+cHV0RGlyZWN0SW5kZXgoZXhlYywgaSwganNTdWJzdHJpbmcoZXhlYywgaW5wdXQs
IHN0YXJ0LCBzdWJwYXR0ZXJuUmVzdWx0c1syICogaSArIDFdIC0gc3RhcnQpKTsKKyAgICAgICAg
ICAgICAgICBhcnJheS0+aW5pdGlhbGl6ZUluZGV4KHZtLCBpLCBqc1N1YnN0cmluZyhleGVjLCBp
bnB1dCwgc3RhcnQsIHN1YnBhdHRlcm5SZXN1bHRzWzIgKiBpICsgMV0gLSBzdGFydCksIENvbnRp
Z3VvdXNTaGFwZSk7CiAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgYXJyYXktPnB1
dERpcmVjdEluZGV4KGV4ZWMsIGksIGpzVW5kZWZpbmVkKCkpOworICAgICAgICAgICAgICAgIGFy
cmF5LT5pbml0aWFsaXplSW5kZXgodm0sIGksIGpzVW5kZWZpbmVkKCksIENvbnRpZ3VvdXNTaGFw
ZSk7CiAgICAgICAgIH0KICAgICB9CiAKLSAgICBhcnJheS0+cHV0RGlyZWN0KGV4ZWMtPnZtKCks
IGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5pbmRleCwganNOdW1iZXIocmVzdWx0LnN0YXJ0KSk7Ci0g
ICAgYXJyYXktPnB1dERpcmVjdChleGVjLT52bSgpLCBleGVjLT5wcm9wZXJ0eU5hbWVzKCkuaW5w
dXQsIGlucHV0KTsKKyAgICBhcnJheS0+cHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5p
bmRleCwganNOdW1iZXIocmVzdWx0LnN0YXJ0KSk7CisgICAgYXJyYXktPnB1dERpcmVjdCh2bSwg
dm0ucHJvcGVydHlOYW1lcy0+aW5wdXQsIGlucHV0KTsKIAogICAgIHJldHVybiBhcnJheTsKIH0K
</data>

          </attachment>
      

    </bug>

</bugzilla>