<?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>117312</bug_id>
          
          <creation_ts>2013-06-06 11:17:51 -0700</creation_ts>
          <short_desc>Encode CallFrame::Location flags in the low bits when USE(JSVALUE32_64).</short_desc>
          <delta_ts>2013-06-06 14:35:50 -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>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>
          
          <blocked>117262</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Michael Saboff">msaboff</reporter>
          <assigned_to name="Mark Lam">mark.lam</assigned_to>
          <cc>mark.lam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>897858</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2013-06-06 11:17:51 -0700</bug_when>
    <thetext>ASSERT(hasLocationAsBytecodeOffset()) is called in CallFrame::locationAsBytecodeOffset() and CallFrame::setLocationAsBytecodeOffset() for JSVALUE32_64 builds. The 32 bit value stored in ArgumentCount tag for the JSVALUE32_64 builds is a pointer which may have the high bit set.  This high bit is used to determine whether hasLocationAsBytecodeOffset() or hasLocationAsCodeOriginIndex() is true.  Therefore these checks are meaningless to 32 bit builds.

I believe that some of the work in https://bugs.webkit.org/show_bug.cgi?id=117262 needs to be changed for 32 bit builds.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>897873</commentid>
    <comment_count>1</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2013-06-06 12:19:03 -0700</bug_when>
    <thetext>(In reply to comment #0)
&gt; ASSERT(hasLocationAsBytecodeOffset()) is called in CallFrame::locationAsBytecodeOffset() and CallFrame::setLocationAsBytecodeOffset() for JSVALUE32_64 builds. The 32 bit value stored in ArgumentCount tag for the JSVALUE32_64 builds is a pointer which may have the high bit set.  This high bit is used to determine whether hasLocationAsBytecodeOffset() or hasLocationAsCodeOriginIndex() is true.  Therefore these checks are meaningless to 32 bit builds.
&gt; 
&gt; I believe that some of the work in https://bugs.webkit.org/show_bug.cgi?id=117262 needs to be changed for 32 bit builds.

Yes, ideally, we should fix the 64 bit port so that its offset is in units of bytes instead of int64_t&apos;s.  That will allow us to use the low 2 bits for flags.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>897888</commentid>
    <comment_count>2</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2013-06-06 13:05:37 -0700</bug_when>
    <thetext>Actually, I can implement a quick fix for this using the patch I&apos;ll land for https://bugs.webkit.org/show_bug.cgi?id=117209.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>897919</commentid>
    <comment_count>3</comment_count>
      <attachid>203966</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2013-06-06 14:18:32 -0700</bug_when>
    <thetext>Created attachment 203966
the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>897922</commentid>
    <comment_count>4</comment_count>
      <attachid>203966</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2013-06-06 14:26:26 -0700</bug_when>
    <thetext>Comment on attachment 203966
the patch.

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

r=me

&gt; Source/JavaScriptCore/ChangeLog:7
&gt; +

Add some text saying that we are using the low 2 bits and the reason is that the upper bits are needed for addresses.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>897930</commentid>
    <comment_count>5</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2013-06-06 14:35:50 -0700</bug_when>
    <thetext>Thanks for the review.  Landed in r151291: &lt;http://trac.webkit.org/changeset/151291&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>203966</attachid>
            <date>2013-06-06 14:18:32 -0700</date>
            <delta_ts>2013-06-06 14:26:25 -0700</delta_ts>
            <desc>the patch.</desc>
            <filename>bug-117312.patch</filename>
            <type>text/plain</type>
            <size>3794</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTUxMjg5KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5IEBA
CisyMDEzLTA2LTA2ICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBF
bmNvZGUgQ2FsbEZyYW1lOjpMb2NhdGlvbiBmbGFncyBpbiB0aGUgbG93IGJpdHMgd2hlbiBVU0Uo
SlNWQUxVRTMyXzY0KS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTExNzMxMi4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIGludGVycHJldGVyL0NhbGxGcmFtZS5jcHA6CisgICAgICAgIChKU0M6OkNhbGxG
cmFtZTo6c2V0TG9jYXRpb25Bc0J5dGVjb2RlT2Zmc2V0KToKKyAgICAgICAgKiBpbnRlcnByZXRl
ci9DYWxsRnJhbWUuaDoKKyAgICAgICAgKiBpbnRlcnByZXRlci9DYWxsRnJhbWVJbmxpbmVzLmg6
CisgICAgICAgIChKU0M6OkNhbGxGcmFtZTo6TG9jYXRpb246OmVuY29kZSk6CisgICAgICAgIChK
U0M6OkNhbGxGcmFtZTo6TG9jYXRpb246OmRlY29kZSk6CisgICAgICAgIChKU0M6OkNhbGxGcmFt
ZTo6TG9jYXRpb246OmlzQ29kZU9yaWdpbkluZGV4KToKKyAgICAgICAgKEpTQzo6Q2FsbEZyYW1l
OjpMb2NhdGlvbjo6aXNJbmxpbmVkQ29kZSk6CisKIDIwMTMtMDYtMDYgIE1hcmsgTGFtICA8bWFy
ay5sYW1AYXBwbGUuY29tPgogCiAgICAgICAgIENhbGxGcmFtZTo6dHJ1ZUNhbGxGcmFtZSgpIHNo
b3VsZCBwb3B1bGF0ZSB0aGUgYnl0ZWNvZGVPZmZzZXQgZmllbGQKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9pbnRlcnByZXRlci9DYWxsRnJhbWUuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9DYWxsRnJhbWUuY3BwCShyZXZpc2lvbiAxNTEy
ODkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvQ2FsbEZyYW1lLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNTIsNyArNTIsNyBAQCB1bnNpZ25lZCBDYWxsRnJhbWU6OmxvY2F0
aW9uQXNCeXRlY29kZU9mCiB2b2lkIENhbGxGcmFtZTo6c2V0TG9jYXRpb25Bc0J5dGVjb2RlT2Zm
c2V0KHVuc2lnbmVkIG9mZnNldCkKIHsKICAgICBBU1NFUlQoY29kZUJsb2NrKCkpOwotICAgIEFT
U0VSVCghQ29kZU9yaWdpbjo6aXNIYW5kbGUob2Zmc2V0KSk7CisgICAgQVNTRVJUKExvY2F0aW9u
Ojppc0J5dGVjb2RlT2Zmc2V0KG9mZnNldCkpOwogICAgIHNldEN1cnJlbnRWUEMoY29kZUJsb2Nr
KCktPmluc3RydWN0aW9ucygpLmJlZ2luKCkgKyBvZmZzZXQpOwogICAgIEFTU0VSVChoYXNMb2Nh
dGlvbkFzQnl0ZWNvZGVPZmZzZXQoKSk7CiB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
aW50ZXJwcmV0ZXIvQ2FsbEZyYW1lLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL2ludGVycHJldGVyL0NhbGxGcmFtZS5oCShyZXZpc2lvbiAxNTEyODkpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvQ2FsbEZyYW1lLmgJKHdvcmtpbmcgY29weSkKQEAg
LTEzMCw4ICsxMzAsMTIgQEAgbmFtZXNwYWNlIEpTQyAgewogCiAgICAgICAgIHByaXZhdGU6CiAg
ICAgICAgICAgICBzdGF0aWMgY29uc3QgdWludDMyX3Qgc19tYXNrID0gMHgzOworI2lmIFVTRShK
U1ZBTFVFNjQpCiAgICAgICAgICAgICBzdGF0aWMgY29uc3QgdWludDMyX3Qgc19zaGlmdCA9IDMw
OwogICAgICAgICAgICAgc3RhdGljIGNvbnN0IHVpbnQzMl90IHNfc2hpZnRlZE1hc2sgPSBzX21h
c2sgPDwgc19zaGlmdDsKKyNlbHNlCisgICAgICAgICAgICBzdGF0aWMgY29uc3QgdWludDMyX3Qg
c19zaGlmdCA9IDI7CisjZW5kaWYKICAgICAgICAgfTsKIAogICAgICAgICBib29sIGlzSW5saW5l
ZEZyYW1lKCkgY29uc3Q7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIv
Q2FsbEZyYW1lSW5saW5lcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9p
bnRlcnByZXRlci9DYWxsRnJhbWVJbmxpbmVzLmgJKHJldmlzaW9uIDE1MTI4OSkKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9DYWxsRnJhbWVJbmxpbmVzLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTMyLDE0ICszMiwyOSBAQCBuYW1lc3BhY2UgSlNDICB7CiAKIGlubGluZSB1aW50
MzJfdCBDYWxsRnJhbWU6OkxvY2F0aW9uOjplbmNvZGUoQ2FsbEZyYW1lOjpMb2NhdGlvbjo6VHlw
ZSB0eXBlLCB1aW50MzJfdCBiaXRzKQogeworI2lmIFVTRShKU1ZBTFVFNjQpCiAgICAgQVNTRVJU
KCEoYml0cyAmIHNfc2hpZnRlZE1hc2spKTsKICAgICBBU1NFUlQoISh0eXBlICYgfnNfbWFzaykp
OwogICAgIHJldHVybiBiaXRzIHwgKHR5cGUgPDwgc19zaGlmdCk7CisjZWxzZQorICAgIEFTU0VS
VCghKHR5cGUgJiB+c19tYXNrKSk7CisgICAgaWYgKHR5cGUgJiBDb2RlT3JpZ2luSW5kZXgpCisg
ICAgICAgIGJpdHMgPSAoYml0cyA8PCBzX3NoaWZ0KTsKKyAgICBBU1NFUlQoIShiaXRzICYgc19t
YXNrKSk7CisgICAgYml0cyB8PSB0eXBlOworICAgIHJldHVybiBiaXRzOworI2VuZGlmCiB9CiAK
IGlubGluZSB1aW50MzJfdCBDYWxsRnJhbWU6OkxvY2F0aW9uOjpkZWNvZGUodWludDMyX3QgYml0
cykKIHsKKyNpZiBVU0UoSlNWQUxVRTY0KQogICAgIHJldHVybiBiaXRzICYgfnNfc2hpZnRlZE1h
c2s7CisjZWxzZQorICAgIGlmIChpc0NvZGVPcmlnaW5JbmRleChiaXRzKSkKKyAgICAgICAgcmV0
dXJuIGJpdHMgPj4gc19zaGlmdDsKKyAgICByZXR1cm4gYml0cyAmIH5zX21hc2s7CisjZW5kaWYK
IH0KIAogaW5saW5lIGJvb2wgQ2FsbEZyYW1lOjpMb2NhdGlvbjo6aXNCeXRlY29kZU9mZnNldCh1
aW50MzJfdCBiaXRzKQpAQCAtNDksMTQgKzY0LDIyIEBAIGlubGluZSBib29sIENhbGxGcmFtZTo6
TG9jYXRpb246OmlzQnl0ZWMKIAogaW5saW5lIGJvb2wgQ2FsbEZyYW1lOjpMb2NhdGlvbjo6aXND
b2RlT3JpZ2luSW5kZXgodWludDMyX3QgYml0cykKIHsKKyNpZiBVU0UoSlNWQUxVRTY0KQogICAg
IFR5cGUgdHlwZSA9IHN0YXRpY19jYXN0PFR5cGU+KGJpdHMgPj4gc19zaGlmdCk7CiAgICAgcmV0
dXJuICEhKHR5cGUgJiBDb2RlT3JpZ2luSW5kZXgpOworI2Vsc2UKKyAgICByZXR1cm4gISEoYml0
cyAmIENvZGVPcmlnaW5JbmRleCk7CisjZW5kaWYKIH0KIAogaW5saW5lIGJvb2wgQ2FsbEZyYW1l
OjpMb2NhdGlvbjo6aXNJbmxpbmVkQ29kZSh1aW50MzJfdCBiaXRzKQogeworI2lmIFVTRShKU1ZB
TFVFNjQpCiAgICAgVHlwZSB0eXBlID0gc3RhdGljX2Nhc3Q8VHlwZT4oYml0cyA+PiBzX3NoaWZ0
KTsKICAgICByZXR1cm4gISEodHlwZSAmIElzSW5saW5lZENvZGUpOworI2Vsc2UKKyAgICByZXR1
cm4gISEoYml0cyAmIElzSW5saW5lZENvZGUpOworI2VuZGlmCiB9CiAKIGlubGluZSBib29sIENh
bGxGcmFtZTo6aXNJbmxpbmVkRnJhbWUoKSBjb25zdAo=
</data>
<flag name="review"
          id="225460"
          type_id="1"
          status="+"
          setter="msaboff"
    />
          </attachment>
      

    </bug>

</bugzilla>