<?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>96466</bug_id>
          
          <creation_ts>2012-09-11 21:52:28 -0700</creation_ts>
          <short_desc>JSC: Refactor Opcodes to distinguish between core and extension opcodes</short_desc>
          <delta_ts>2012-09-12 15:20:19 -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="Mark Lam">mark.lam</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>ossy</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>717910</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2012-09-11 21:52:28 -0700</bug_when>
    <thetext>Previously, in the llint C++ interpreter (in LowLevelInterpreter.h), I declared a handful of llint opcode aliases for opcode that look like this:

const OpcodeID llint_op_call = op_call;
const OpcodeID llint_op_call_eval = op_call_eval;
...

When r128219 landed, it added a reference to llint_op_get_array_length, and this broke the C++ llint.  This demonstrates that the above approach is too fragile in practice.  So, I will refactor the FOR_EACH_OPCODE_ID() macro to create a separate FOR_EACH_CORE_OPCODE_ID() macro.  This FOR_EACH_CORE_OPCODE_ID() macro will be used to automatically declare the llint opcode aliases that the C++ llint needs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>717925</commentid>
    <comment_count>1</comment_count>
      <attachid>163520</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2012-09-11 22:24:04 -0700</bug_when>
    <thetext>Created attachment 163520
Fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>717926</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-11 22:25:41 -0700</bug_when>
    <thetext>Attachment 163520 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/JavaScriptCore/ChangeLog&apos;, u&apos;Source...&quot; exit_code: 1
Source/JavaScriptCore/bytecode/Opcode.h:42:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
Total errors found: 1 in 3 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>717928</commentid>
    <comment_count>3</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2012-09-11 22:27:24 -0700</bug_when>
    <thetext>The style checker will complain about indented code in the namespace.  This is needed to stay consistent with existing code in Opcode.h.  To resolve this complaint would mean making the changed code inconsistent with the rest, or go on an unindent spree that will make the diff hard to read.  It&apos;s better off the way it is right now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>718347</commentid>
    <comment_count>4</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2012-09-12 07:44:05 -0700</bug_when>
    <thetext>*** Bug 96509 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>718793</commentid>
    <comment_count>5</comment_count>
      <attachid>163520</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-12 15:20:15 -0700</bug_when>
    <thetext>Comment on attachment 163520
Fix.

Clearing flags on attachment: 163520

Committed r128369: &lt;http://trac.webkit.org/changeset/128369&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>718794</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-12 15:20:19 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>163520</attachid>
            <date>2012-09-11 22:24:04 -0700</date>
            <delta_ts>2012-09-12 15:20:15 -0700</delta_ts>
            <desc>Fix.</desc>
            <filename>bug-96466.patch</filename>
            <type>text/plain</type>
            <size>4304</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTI4MjYzKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBA
CisyMDEyLTA5LTExICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBS
ZWZhY3RvciBPcGNvZGVzIHRvIGRpc3Rpbmd1aXNoIGJldHdlZW4gY29yZSBhbmQgZXh0ZW5zaW9u
IG9wY29kZXMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD05NjQ2Ni4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIGJ5dGVjb2RlL09wY29kZS5oOgorICAgICAgICAoSlNDKTogQWRkZWQgRk9SX0VBQ0hfQ09S
RV9PUENPREVfSUQoKSBtYWNyby4KKyAgICAgICAgKiBsbGludC9Mb3dMZXZlbEludGVycHJldGVy
Lmg6CisgICAgICAgIChKU0MpOiBBdXRvLWdlbmVyYXRlIGxsaW50IG9wY29kZSBhbGlhc2VzIHVz
aW5nIHRoZQorICAgICAgICAgICAgRk9SX0VBQ0hfQ09SRV9PUENPREVfSUQoKSBtYWNyby4KKwog
MjAxMi0wOS0xMSAgTWFyayBIYWhuZW5iZXJnICA8bWhhaG5lbmJlcmdAYXBwbGUuY29tPgogCiAg
ICAgICAgIEluY3JlbWVudGFsU3dlZXBlciBzaG91bGQgbm90IHN3ZWVwL2ZyZWUgWmFwcGVkIGJs
b2NrcwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL09wY29kZS5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9PcGNvZGUuaAkocmV2aXNp
b24gMTI4MjYyKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL09wY29kZS5oCSh3
b3JraW5nIGNvcHkpCkBAIC0zOSw3ICszOSw3IEBACiAKIG5hbWVzcGFjZSBKU0MgewogCi0gICAg
I2RlZmluZSBGT1JfRUFDSF9PUENPREVfSUQobWFjcm8pIFwKKyAgICAjZGVmaW5lIEZPUl9FQUNI
X0NPUkVfT1BDT0RFX0lEX1dJVEhfRVhURU5TSU9OKG1hY3JvLCBleHRlbnNpb25fXykgXAogICAg
ICAgICBtYWNybyhvcF9lbnRlciwgMSkgXAogICAgICAgICBtYWNybyhvcF9jcmVhdGVfYWN0aXZh
dGlvbiwgMikgXAogICAgICAgICBtYWNybyhvcF9pbml0X2xhenlfcmVnLCAyKSBcCkBAIC0yMDAs
MTAgKzIwMCwyMCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgbWFjcm8ob3BfcHJvZmlsZV93
aWxsX2NhbGwsIDIpIFwKICAgICAgICAgbWFjcm8ob3BfcHJvZmlsZV9kaWRfY2FsbCwgMikgXAog
ICAgICAgICBcCi0gICAgICAgIEZPUl9FQUNIX0xMSU5UX09QQ09ERV9FWFRFTlNJT04obWFjcm8p
IFwKKyAgICAgICAgZXh0ZW5zaW9uX18gXAogICAgICAgICBcCiAgICAgICAgIG1hY3JvKG9wX2Vu
ZCwgMikgLy8gZW5kIG11c3QgYmUgdGhlIGxhc3Qgb3Bjb2RlIGluIHRoZSBsaXN0CiAKKyAgICAj
ZGVmaW5lIEZPUl9FQUNIX0NPUkVfT1BDT0RFX0lEKG1hY3JvKSBcCisgICAgICAgIEZPUl9FQUNI
X0NPUkVfT1BDT0RFX0lEX1dJVEhfRVhURU5TSU9OKG1hY3JvLCAvKiBObyBleHRlbnNpb24gKi8g
KQorCisgICAgI2RlZmluZSBGT1JfRUFDSF9PUENPREVfSUQobWFjcm8pIFwKKyAgICAgICAgRk9S
X0VBQ0hfQ09SRV9PUENPREVfSURfV0lUSF9FWFRFTlNJT04oIFwKKyAgICAgICAgICAgIG1hY3Jv
LCBcCisgICAgICAgICAgICBGT1JfRUFDSF9MTElOVF9PUENPREVfRVhURU5TSU9OKG1hY3JvKSBc
CisgICAgICAgICkKKworCiAgICAgI2RlZmluZSBPUENPREVfSURfRU5VTShvcGNvZGUsIGxlbmd0
aCkgb3Bjb2RlLAogICAgICAgICB0eXBlZGVmIGVudW0geyBGT1JfRUFDSF9PUENPREVfSUQoT1BD
T0RFX0lEX0VOVU0pIH0gT3Bjb2RlSUQ7CiAgICAgI3VuZGVmIE9QQ09ERV9JRF9FTlVNCkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmgJKHJldmlzaW9uIDEyODI2MikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTM2LDM5ICszNiwxNiBAQAogCiBu
YW1lc3BhY2UgSlNDIHsKIAotLy8gVGhlIGZvbGxvd2luZyBpcyBhIG1pbmltYWwgc2V0IG9mIGFs
aWFzIGZvciB0aGUgb3Bjb2RlIG5hbWVzLiBUaGlzIGlzIG5lZWRlZAorLy8gVGhlIGZvbGxvd2lu
ZyBpcyBhIHNldCBvZiBhbGlhcyBmb3IgdGhlIG9wY29kZSBuYW1lcy4gVGhpcyBpcyBuZWVkZWQK
IC8vIGJlY2F1c2UgdGhlcmUgaXMgY29kZSAoZS5nLiBpbiBHZXRCeUlkU3RhdHVzLmNwcCBhbmQg
UHV0QnlJZFN0YXR1cy5jcHApCiAvLyB3aGljaCByZWZlcnMgdG8gdGhlIG9wY29kZXMgZXhwZWN0
aW5nIHRoZW0gdG8gYmUgcHJlZml4ZWQgd2l0aCAibGxpbnRfIi4KIC8vIEluIHRoZSBDTG9vcCBp
bXBsZW1lbnRhdGlvbiwgdGhlIDIgYXJlIGVxdWl2YWxlbnQuIEhlbmNlLCB3ZSBzZXQgdXAgdGhp
cwogLy8gYWxpYXMgaGVyZS4KLS8vCi0vLyBOb3RlOiB3ZSBkb24ndCBqdXN0IGRvIHRoaXMgZm9y
IGFsbCBvcGNvZGVzIGJlY2F1c2Ugd2Ugb25seSBuZWVkIGEgZmV3LAotLy8gYW5kIGN1cnJlbnRs
eSwgRk9SX0VBQ0hfT1BDT0RFX0lEKCkgaW5jbHVkZXMgdGhlIGxsaW50IGFuZCBKSVQgb3Bjb2Rl
Ci0vLyBleHRlbnNpb25zIHdoaWNoIHdlIGRlZmluaXRlbHkgZG9uJ3Qgd2FudCB0byBhZGQgYW4g
YWxpYXMgZm9yLiBXaXRoIHNvbWUKLS8vIG1pbm9yIHJlZmFjdG9yaW5nLCB3ZSBjYW4gdXNlIEZP
Ul9FQUNIX09QQ09ERV9JRCgpIHRvIGF1dG9tYXRpY2FsbHkKLS8vIGdlbmVyYXRlIGEgbGxpbnRf
IGFsaWFzIGZvciBhbGwgb3Bjb2RlcywgYnV0IHRoYXQgaXMgbm90IG5lZWRlZCBhdCB0aGlzCi0v
LyB0aW1lLgotCi1jb25zdCBPcGNvZGVJRCBsbGludF9vcF9jYWxsID0gb3BfY2FsbDsKLWNvbnN0
IE9wY29kZUlEIGxsaW50X29wX2NhbGxfZXZhbCA9IG9wX2NhbGxfZXZhbDsKLWNvbnN0IE9wY29k
ZUlEIGxsaW50X29wX2NhbGxfdmFyYXJncyA9IG9wX2NhbGxfdmFyYXJnczsKLWNvbnN0IE9wY29k
ZUlEIGxsaW50X29wX2NvbnN0cnVjdCA9IG9wX2NvbnN0cnVjdDsKLWNvbnN0IE9wY29kZUlEIGxs
aW50X29wX2NhdGNoID0gb3BfY2F0Y2g7Ci1jb25zdCBPcGNvZGVJRCBsbGludF9vcF9nZXRfYnlf
aWQgPSBvcF9nZXRfYnlfaWQ7Ci1jb25zdCBPcGNvZGVJRCBsbGludF9vcF9nZXRfYnlfaWRfb3V0
X29mX2xpbmUgPSBvcF9nZXRfYnlfaWRfb3V0X29mX2xpbmU7Ci1jb25zdCBPcGNvZGVJRCBsbGlu
dF9vcF9wdXRfYnlfaWQgPSBvcF9wdXRfYnlfaWQ7Ci1jb25zdCBPcGNvZGVJRCBsbGludF9vcF9w
dXRfYnlfaWRfb3V0X29mX2xpbmUgPSBvcF9wdXRfYnlfaWRfb3V0X29mX2xpbmU7Ci0KLWNvbnN0
IE9wY29kZUlEIGxsaW50X29wX3B1dF9ieV9pZF90cmFuc2l0aW9uX2RpcmVjdCA9Ci0gICAgb3Bf
cHV0X2J5X2lkX3RyYW5zaXRpb25fZGlyZWN0OwotY29uc3QgT3Bjb2RlSUQgbGxpbnRfb3BfcHV0
X2J5X2lkX3RyYW5zaXRpb25fZGlyZWN0X291dF9vZl9saW5lID0KLSAgICBvcF9wdXRfYnlfaWRf
dHJhbnNpdGlvbl9kaXJlY3Rfb3V0X29mX2xpbmU7Ci1jb25zdCBPcGNvZGVJRCBsbGludF9vcF9w
dXRfYnlfaWRfdHJhbnNpdGlvbl9ub3JtYWwgPQotICAgIG9wX3B1dF9ieV9pZF90cmFuc2l0aW9u
X25vcm1hbDsKLWNvbnN0IE9wY29kZUlEIGxsaW50X29wX3B1dF9ieV9pZF90cmFuc2l0aW9uX25v
cm1hbF9vdXRfb2ZfbGluZSA9Ci0gICAgb3BfcHV0X2J5X2lkX3RyYW5zaXRpb25fbm9ybWFsX291
dF9vZl9saW5lOwogCi1jb25zdCBPcGNvZGVJRCBsbGludF9vcF9tZXRob2RfY2hlY2sgPSBvcF9t
ZXRob2RfY2hlY2s7CisjZGVmaW5lIExMSU5UX09QQ09ERV9BTElBUyhvcGNvZGUsIGxlbmd0aCkg
XAorICAgIGNvbnN0IE9wY29kZUlEIGxsaW50XyMjb3Bjb2RlID0gb3Bjb2RlOworRk9SX0VBQ0hf
Q09SRV9PUENPREVfSUQoTExJTlRfT1BDT0RFX0FMSUFTKQorI3VuZGVmIExMSU5UX09QQ09ERV9B
TElBUwogCiB9IC8vIG5hbWVzcGFjZSBKU0MKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>