Ignore:
Timestamp:
Aug 15, 2013, 12:44:16 PM (12 years ago)
Author:
[email protected]
Message:

<https://webkit.org/b/119830> Assigning to a readonly global results in DFG byte code parse failure

Reviewed by Filip Pizlo.

Source/JavaScriptCore:

Make sure dfgCapabilities doesn't report a Dynamic put as
being compilable when we don't actually support it.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::dumpBytecode):

  • dfg/DFGCapabilities.cpp:

(JSC::DFG::capabilityLevel):

LayoutTests:

Add a test

  • fast/js/dfg-put-to-readonly-property-expected.txt: Added.
  • fast/js/dfg-put-to-readonly-property.html: Added.
  • fast/js/script-tests/dfg-put-to-readonly-property.js: Added.

(foo):
(bar):

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/bytecode/CodeBlock.cpp

    r153962 r154120  
    12921292            int r0 = (++it)->u.operand;
    12931293            int id0 = (++it)->u.operand;
    1294             ++it; // ResolveType
     1294            int resolveModeAndType = (++it)->u.operand;
    12951295            ++it; // depth
    1296             out.printf("[%4d] resolve_scope\t %s, %s", location, registerName(r0).data(), idName(id0, identifier(id0)).data());
     1296            out.printf("[%4d] resolve_scope\t %s, %s, %d", location, registerName(r0).data(), idName(id0, identifier(id0)).data(), resolveModeAndType);
    12971297            break;
    12981298        }
Note: See TracChangeset for help on using the changeset viewer.