<?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>141362</bug_id>
          
          <creation_ts>2015-02-07 14:35:52 -0800</creation_ts>
          <short_desc>Use a PairHash for DFGByteCodeParser&apos;s ConstantBufferKey</short_desc>
          <delta_ts>2015-02-07 15:49:14 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></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="Benjamin Poulain">benjamin</reporter>
          <assigned_to name="Benjamin Poulain">benjamin</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1067569</commentid>
    <comment_count>0</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2015-02-07 14:35:52 -0800</bug_when>
    <thetext>Use a PairHash for DFGByteCodeParser&apos;s ConstantBufferKey</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1067570</commentid>
    <comment_count>1</comment_count>
      <attachid>246218</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2015-02-07 14:37:22 -0800</bug_when>
    <thetext>Created attachment 246218
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1067586</commentid>
    <comment_count>2</comment_count>
      <attachid>246218</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2015-02-07 15:49:14 -0800</bug_when>
    <thetext>Comment on attachment 246218
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=246218&amp;action=review

&gt; Source/JavaScriptCore/ChangeLog:10
&gt; +        Use nullptr for pointers when possible.

Seems like we’d also want to use member initialization rather than initializing in each constructor. Makes it harder to accidentally leave m_codeBlock uninitialized.

&gt; Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp:84
&gt; +        return WTF::pairIntHash(PtrHash&lt;CodeBlock*&gt;::hash(m_codeBlock), IntHash&lt;unsigned&gt;::hash(m_index));

Doesn’t pairIntHash already do enough hashing that we don’t need the IntHash&lt;unsigned&gt;::hash here? Also, that could just be WTF::intHash(m_index). I’m also not sure why HashFunctions.h doesn’t do using WTF::intHash and WTF::pairIntHash. No reason for us to be inconsistent about things like that.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>246218</attachid>
            <date>2015-02-07 14:37:22 -0800</date>
            <delta_ts>2015-02-07 15:49:14 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-141362-20150207143721.patch</filename>
            <type>text/plain</type>
            <size>2679</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc5NzgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBj
ODFmOTZmMmFjYzQzZWViOGU4ZTlmNGNhYjVmN2IxMGQwZDhmYWM3Li43YzhlNGViNTM3YWRhYjY3
NTVkOGJjYzIzOTQ3YmQzM2U3NDQyMDhjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
NSArMSwyMyBAQAogMjAxNS0wMi0wNyAgQmVuamFtaW4gUG91bGFpbiAgPGJlbmphbWluQHdlYmtp
dC5vcmc+CiAKKyAgICAgICAgVXNlIGEgUGFpckhhc2ggZm9yIERGR0J5dGVDb2RlUGFyc2VyJ3Mg
Q29uc3RhbnRCdWZmZXJLZXkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE0MTM2MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcDoKKyAgICAgICAgKEpTQzo6REZH
OjpDb25zdGFudEJ1ZmZlcktleTo6Q29uc3RhbnRCdWZmZXJLZXkpOgorICAgICAgICBVc2UgbnVs
bHB0ciBmb3IgcG9pbnRlcnMgd2hlbiBwb3NzaWJsZS4KKworICAgICAgICAoSlNDOjpERkc6OkNv
bnN0YW50QnVmZmVyS2V5OjpvcGVyYXRvcj09KToKKyAgICAgICAgV2ViS2l0IHN0eWxlLgorCisg
ICAgICAgIChKU0M6OkRGRzo6Q29uc3RhbnRCdWZmZXJLZXk6Omhhc2gpOgorICAgICAgICBUaGlz
IGtpbmQgb2YgaGFzaCB0dXJuZWQgb3V0IHByZXR0eSBiYWQgZm9yIFdlYkNvcmUuIFRyeSBhIHN0
YW5kYXJkCisgICAgICAgIGhhc2ggZm9yIHRoZSBwYWlyLgorCisyMDE1LTAyLTA3ICBCZW5qYW1p
biBQb3VsYWluICA8YmVuamFtaW5Ad2Via2l0Lm9yZz4KKwogICAgICAgICBSZW1vdmUgdXNlbGVz
cyBkZWNsYXJhdGlvbnMgYW5kIGEgc3RhbGUgY29tbWVudCBmcm9tIERGR0J5dGVDb2RlUGFyc2Vy
LmgKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MTM2
MQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFy
c2VyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3Bw
CmluZGV4IGExMDg4OWJjNjIyYmQwYmQwYzQxNmIxMTFkY2FjNjZjNGY2MzcxOWYuLmY3OGFkZGJk
NTAzY2EwNjA2MDhiN2MyOGRkYTk3YWYxMTBjY2MxOTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCkBAIC01Nyw0MiArNTcsNDEgQEAgc3Rh
dGljIGNvbnN0IGJvb2wgdmVyYm9zZSA9IGZhbHNlOwogY2xhc3MgQ29uc3RhbnRCdWZmZXJLZXkg
ewogcHVibGljOgogICAgIENvbnN0YW50QnVmZmVyS2V5KCkKLSAgICAgICAgOiBtX2NvZGVCbG9j
aygwKQorICAgICAgICA6IG1fY29kZUJsb2NrKG51bGxwdHIpCiAgICAgICAgICwgbV9pbmRleCgw
KQogICAgIHsKICAgICB9Ci0gICAgCisKICAgICBDb25zdGFudEJ1ZmZlcktleShXVEY6Okhhc2hU
YWJsZURlbGV0ZWRWYWx1ZVR5cGUpCi0gICAgICAgIDogbV9jb2RlQmxvY2soMCkKKyAgICAgICAg
OiBtX2NvZGVCbG9jayhudWxscHRyKQogICAgICAgICAsIG1faW5kZXgoMSkKICAgICB7CiAgICAg
fQotICAgIAorCiAgICAgQ29uc3RhbnRCdWZmZXJLZXkoQ29kZUJsb2NrKiBjb2RlQmxvY2ssIHVu
c2lnbmVkIGluZGV4KQogICAgICAgICA6IG1fY29kZUJsb2NrKGNvZGVCbG9jaykKICAgICAgICAg
LCBtX2luZGV4KGluZGV4KQogICAgIHsKICAgICB9Ci0gICAgCisKICAgICBib29sIG9wZXJhdG9y
PT0oY29uc3QgQ29uc3RhbnRCdWZmZXJLZXkmIG90aGVyKSBjb25zdAogICAgIHsKLSAgICAgICAg
cmV0dXJuIG1fY29kZUJsb2NrID09IG90aGVyLm1fY29kZUJsb2NrCi0gICAgICAgICAgICAmJiBt
X2luZGV4ID09IG90aGVyLm1faW5kZXg7CisgICAgICAgIHJldHVybiBtX2NvZGVCbG9jayA9PSBv
dGhlci5tX2NvZGVCbG9jayAmJiBtX2luZGV4ID09IG90aGVyLm1faW5kZXg7CiAgICAgfQotICAg
IAorCiAgICAgdW5zaWduZWQgaGFzaCgpIGNvbnN0CiAgICAgewotICAgICAgICByZXR1cm4gV1RG
OjpQdHJIYXNoPENvZGVCbG9jayo+OjpoYXNoKG1fY29kZUJsb2NrKSBeIG1faW5kZXg7CisgICAg
ICAgIHJldHVybiBXVEY6OnBhaXJJbnRIYXNoKFB0ckhhc2g8Q29kZUJsb2NrKj46Omhhc2gobV9j
b2RlQmxvY2spLCBJbnRIYXNoPHVuc2lnbmVkPjo6aGFzaChtX2luZGV4KSk7CiAgICAgfQotICAg
IAorCiAgICAgYm9vbCBpc0hhc2hUYWJsZURlbGV0ZWRWYWx1ZSgpIGNvbnN0CiAgICAgewogICAg
ICAgICByZXR1cm4gIW1fY29kZUJsb2NrICYmIG1faW5kZXg7CiAgICAgfQotICAgIAorCiAgICAg
Q29kZUJsb2NrKiBjb2RlQmxvY2soKSBjb25zdCB7IHJldHVybiBtX2NvZGVCbG9jazsgfQogICAg
IHVuc2lnbmVkIGluZGV4KCkgY29uc3QgeyByZXR1cm4gbV9pbmRleDsgfQotICAgIAorCiBwcml2
YXRlOgogICAgIENvZGVCbG9jayogbV9jb2RlQmxvY2s7CiAgICAgdW5zaWduZWQgbV9pbmRleDsK
</data>
<flag name="review"
          id="271149"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>