<?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>236686</bug_id>
          
          <creation_ts>2022-02-15 20:14:27 -0800</creation_ts>
          <short_desc>Defer TerminationsExceptions while in operationMaterializeObjectInOSR.</short_desc>
          <delta_ts>2022-02-15 22:13:01 -0800</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>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Mark Lam">mark.lam</reporter>
          <assigned_to name="Mark Lam">mark.lam</assigned_to>
          <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1842100</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2022-02-15 20:14:27 -0800</bug_when>
    <thetext>operationMaterializeObjectInOSR expects to always succeed.  It is difficult (and not worth the effort) to make it be able to handle interruptions by the TerminationException.  Since operationMaterializeObjectInOSR is guaranteed to finish running in some finite time, it is reasonable to just defer handling a pending TerminationException until the function returns.

rdar://81337114</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1842101</commentid>
    <comment_count>1</comment_count>
      <attachid>452128</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2022-02-15 20:21:25 -0800</bug_when>
    <thetext>Created attachment 452128
proposed patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1842133</commentid>
    <comment_count>2</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2022-02-15 22:13:01 -0800</bug_when>
    <thetext>Thanks for the review.  Landed in r289877: &lt;http://trac.webkit.org/r289877&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>452128</attachid>
            <date>2022-02-15 20:21:25 -0800</date>
            <delta_ts>2022-02-15 20:25:17 -0800</delta_ts>
            <desc>proposed patch.</desc>
            <filename>bug-236686.patch</filename>
            <type>text/plain</type>
            <size>4729</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyODk4NzIpCisrKyBKU1Rlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDE4IEBACisyMDIyLTAyLTE1ICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNv
bT4KKworICAgICAgICBEZWZlciBUZXJtaW5hdGlvbnNFeGNlcHRpb25zIHdoaWxlIGluIG9wZXJh
dGlvbk1hdGVyaWFsaXplT2JqZWN0SW5PU1IuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMzY2ODYKKyAgICAgICAgcmRhcjovLzgxMzM3MTE0CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlc2UgdGVzdHMg
YXJlIGlkZW50aWNhbCBleGNlcHQgdGhhdCB0aGV5IGFyZSBjdXN0b21pemVkIHdpdGggZGlmZmVy
ZW50IHdhdGNoZG9nCisgICAgICAgIHRpbWVvdXQgcGVyaW9kcyBmb3IgYSBEZWJ1ZyAvIFJlbGVh
c2UgYnVpbGQuICBUaGlzIGlzIGEgbmVjZXNzYXJ5IGNvbmRpdGlvbiBpbgorICAgICAgICBvcmRl
ciBmb3IgdGhlIHRlc3QgdG8gbWFuaWZlc3QgdGhpcyBpc3N1ZSBpZiB0aGUgY29kZSBpcyByZWdy
ZXNzZWQuCisKKyAgICAgICAgKiBzdHJlc3MvdGVybWluYXRpb24tZXhjZXB0aW9uLWluLW9wZXJh
dGlvbk1hdGVyaWFsaXplT2JqZWN0SW5PU1ItZGVidWcuanM6IEFkZGVkLgorICAgICAgICAqIHN0
cmVzcy90ZXJtaW5hdGlvbi1leGNlcHRpb24taW4tb3BlcmF0aW9uTWF0ZXJpYWxpemVPYmplY3RJ
bk9TUi1yZWxlYXNlLmpzOiBBZGRlZC4KKwogMjAyMi0wMi0xNSAgWGFuIExvcGV6ICA8eGFuQGln
YWxpYS5jb20+CiAKICAgICAgICAgW0pTQ10gUmVkdWNlIGl0ZXJhdGlvbnMgZm9yIGdldHRlci1y
aWNoYXJkcy5qcyBvbiBNSVBTCkluZGV4OiBKU1Rlc3RzL3N0cmVzcy90ZXJtaW5hdGlvbi1leGNl
cHRpb24taW4tb3BlcmF0aW9uTWF0ZXJpYWxpemVPYmplY3RJbk9TUi1kZWJ1Zy5qcwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBKU1Rlc3RzL3N0cmVzcy90ZXJtaW5hdGlvbi1leGNlcHRpb24taW4tb3BlcmF0aW9u
TWF0ZXJpYWxpemVPYmplY3RJbk9TUi1kZWJ1Zy5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3Rz
L3N0cmVzcy90ZXJtaW5hdGlvbi1leGNlcHRpb24taW4tb3BlcmF0aW9uTWF0ZXJpYWxpemVPYmpl
Y3RJbk9TUi1kZWJ1Zy5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDIyIEBACisvL0Agc2tp
cCBpZiAkYnVpbGRUeXBlID09ICJyZWxlYXNlIgorLy9AIHJ1bkRlZmF1bHQoIi0td2F0Y2hkb2c9
MTAwIiwgIi0td2F0Y2hkb2ctZXhjZXB0aW9uLW9rIikKKworZnVuY3Rpb24gYmF6KGMpIHsKKyAg
aWYgKGMpIHsKKyAgICAkdm0uaGF2ZUFCYWRUaW1lKCk7CisgIH0KK30KK25vSW5saW5lKGJheik7
CisKK2Z1bmN0aW9uIGJhcigpIHt9CisKK2Z1bmN0aW9uIGZvbyhjLCAuLi5hcmdzKSB7CisgIGxl
dCBhcmdzMiA9IFsuLi5hcmdzXTsKKyAgYmF6KGMpOworICBiYXIuYXBwbHkodW5kZWZpbmVkLCBh
cmdzMik7Cit9CisKK2ZvciAobGV0IGkgPSAwOyBpIDwgNzAwMDA7IGkrKykgeworICBmb28oZmFs
c2UsIDApOworfQorZm9vKHRydWUsIDApOwpJbmRleDogSlNUZXN0cy9zdHJlc3MvdGVybWluYXRp
b24tZXhjZXB0aW9uLWluLW9wZXJhdGlvbk1hdGVyaWFsaXplT2JqZWN0SW5PU1ItcmVsZWFzZS5q
cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3N0cmVzcy90ZXJtaW5hdGlvbi1leGNlcHRpb24taW4t
b3BlcmF0aW9uTWF0ZXJpYWxpemVPYmplY3RJbk9TUi1yZWxlYXNlLmpzCShub25leGlzdGVudCkK
KysrIEpTVGVzdHMvc3RyZXNzL3Rlcm1pbmF0aW9uLWV4Y2VwdGlvbi1pbi1vcGVyYXRpb25NYXRl
cmlhbGl6ZU9iamVjdEluT1NSLXJlbGVhc2UuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwy
MiBAQAorLy9AIHNraXAgaWYgJGJ1aWxkVHlwZSA9PSAiZGVidWciCisvL0AgcnVuRGVmYXVsdCgi
LS13YXRjaGRvZz00IiwgIi0td2F0Y2hkb2ctZXhjZXB0aW9uLW9rIikKKworZnVuY3Rpb24gYmF6
KGMpIHsKKyAgaWYgKGMpIHsKKyAgICAkdm0uaGF2ZUFCYWRUaW1lKCk7CisgIH0KK30KK25vSW5s
aW5lKGJheik7CisKK2Z1bmN0aW9uIGJhcigpIHt9CisKK2Z1bmN0aW9uIGZvbyhjLCAuLi5hcmdz
KSB7CisgIGxldCBhcmdzMiA9IFsuLi5hcmdzXTsKKyAgYmF6KGMpOworICBiYXIuYXBwbHkodW5k
ZWZpbmVkLCBhcmdzMik7Cit9CisKK2ZvciAobGV0IGkgPSAwOyBpIDwgNzAwMDA7IGkrKykgewor
ICBmb28oZmFsc2UsIDApOworfQorZm9vKHRydWUsIDApOwpJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hh
bmdlTG9nCShyZXZpc2lvbiAyODk4NjQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjAgQEAKKzIwMjItMDItMTUgIE1hcmsgTGFt
ICA8bWFyay5sYW1AYXBwbGUuY29tPgorCisgICAgICAgIERlZmVyIFRlcm1pbmF0aW9uc0V4Y2Vw
dGlvbnMgd2hpbGUgaW4gb3BlcmF0aW9uTWF0ZXJpYWxpemVPYmplY3RJbk9TUi4KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNjY4NgorICAgICAgICBy
ZGFyOi8vODEzMzcxMTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBvcGVyYXRpb25NYXRlcmlhbGl6ZU9iamVjdEluT1NSIGV4cGVjdHMgdG8gYWx3YXlz
IHN1Y2NlZWQuICBJdCBpcyBkaWZmaWN1bHQgKGFuZAorICAgICAgICBub3Qgd29ydGggdGhlIGVm
Zm9ydCkgdG8gbWFrZSBpdCBiZSBhYmxlIHRvIGhhbmRsZSBpbnRlcnJ1cHRpb25zIGJ5IHRoZQor
ICAgICAgICBUZXJtaW5hdGlvbkV4Y2VwdGlvbi4gIFNpbmNlIG9wZXJhdGlvbk1hdGVyaWFsaXpl
T2JqZWN0SW5PU1IgaXMgZ3VhcmFudGVlZCB0bworICAgICAgICBmaW5pc2ggcnVubmluZyBpbiBz
b21lIGZpbml0ZSB0aW1lLCBpdCBpcyByZWFzb25hYmxlIHRvIGp1c3QgZGVmZXIgaGFuZGxpbmcg
YQorICAgICAgICBwZW5kaW5nIFRlcm1pbmF0aW9uRXhjZXB0aW9uIHVudGlsIHRoZSBmdW5jdGlv
biByZXR1cm5zLgorCisgICAgICAgICogZnRsL0ZUTE9wZXJhdGlvbnMuY3BwOgorICAgICAgICAo
SlNDOjpGVEw6OkpTQ19ERUZJTkVfSklUX09QRVJBVElPTik6CisKIDIwMjItMDItMTUgIE1hcmsg
TGFtICA8bWFyay5sYW1AYXBwbGUuY29tPgogCiAgICAgICAgIE1ha2UgSGVhcFR5cGUgYW4gZW51
bSBjbGFzcy4KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMT3BlcmF0aW9ucy5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExPcGVyYXRpb25z
LmNwcAkocmV2aXNpb24gMjg5ODY0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExP
cGVyYXRpb25zLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5
cmlnaHQgKEMpIDIwMTQtMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTQtMjAyMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAg
KgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTQ3LDYgKzQ3LDcgQEAKICNpbmNsdWRl
ICJKU01hcEl0ZXJhdG9yLmgiCiAjaW5jbHVkZSAiSlNTZXRJdGVyYXRvci5oIgogI2luY2x1ZGUg
IlJlZ0V4cE9iamVjdC5oIgorI2luY2x1ZGUgIlZNVHJhcHNJbmxpbmVzLmgiCiAjaW5jbHVkZSA8
d3RmL0Fzc2VydGlvbnMuaD4KIAogSUdOT1JFX1dBUk5JTkdTX0JFR0lOKCJmcmFtZS1hZGRyZXNz
IikKQEAgLTE4OSw2ICsxOTAsMTAgQEAgSlNDX0RFRklORV9KSVRfT1BFUkFUSU9OKG9wZXJhdGlv
bk1hdGVyaQogICAgIENhbGxGcmFtZSogY2FsbEZyYW1lID0gREVDTEFSRV9DQUxMX0ZSQU1FKHZt
KTsKICAgICBKSVRPcGVyYXRpb25Qcm9sb2d1ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIodm0sIGNh
bGxGcmFtZSk7CiAKKyAgICAvLyBJdCdzIHRvbyBoYWlyeSB0byBoYW5kbGUgVGVybWluYXRpb25F
eGNlcHRpb25zIGR1cmluZyBPU1Igb2JqZWN0IG1hdGVyaWFsaXphdGlvbi4KKyAgICAvLyBMZXQn
cyBqdXN0IHdhaXQgdW50aWwgYWZ0ZXIuCisgICAgRGVmZXJUZXJtaW5hdGlvbiBkZWZlclRlcm1p
bmF0aW9uKHZtKTsKKwogICAgIC8vIFdlIGNhbm5vdCBHQy4gV2UndmUgZ290IHBvaW50ZXJzIGlu
IGV2aWwgcGxhY2VzLgogICAgIERlZmVyR0NGb3JBV2hpbGUgZGVmZXJHQyh2bSk7CiAgICAgCg==
</data>
<flag name="review"
          id="479068"
          type_id="1"
          status="+"
          setter="saam"
    />
          </attachment>
      

    </bug>

</bugzilla>