Ignore:
Timestamp:
Jul 2, 2011, 4:08:23 PM (14 years ago)
Author:
[email protected]
Message:

https://bugs.webkit.org/show_bug.cgi?id=63866
DFG JIT - implement instanceof

Reviewed by Sam Weinig.

Add ops CheckHasInstance & InstanceOf to implement bytecodes
op_check_has_instance & op_instanceof. This is an initial
functional implementation, performance is a wash. We can
follow up with changes to fuse the InstanceOf node with
a subsequant branch, as we do with other comparisons.

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::parseBlock):

  • dfg/DFGJITCompiler.cpp:

(JSC::DFG::JITCompiler::jitAssertIsCell):

  • dfg/DFGJITCompiler.h:

(JSC::DFG::JITCompiler::jitAssertIsCell):

  • dfg/DFGNode.h:
  • dfg/DFGNonSpeculativeJIT.cpp:

(JSC::DFG::NonSpeculativeJIT::compile):

  • dfg/DFGOperations.cpp:
  • dfg/DFGOperations.h:
  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compile):

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/ChangeLog

    r90282 r90324  
     12011-07-02  Gavin Barraclough  <[email protected]>
     2
     3        https://bugs.webkit.org/show_bug.cgi?id=63866
     4        DFG JIT - implement instanceof
     5
     6        Reviewed by Sam Weinig.
     7
     8        Add ops CheckHasInstance & InstanceOf to implement bytecodes
     9        op_check_has_instance & op_instanceof. This is an initial
     10        functional implementation, performance is a wash. We can
     11        follow up with changes to fuse the InstanceOf node with
     12        a subsequant branch, as we do with other comparisons.
     13
     14        * dfg/DFGByteCodeParser.cpp:
     15        (JSC::DFG::ByteCodeParser::parseBlock):
     16        * dfg/DFGJITCompiler.cpp:
     17        (JSC::DFG::JITCompiler::jitAssertIsCell):
     18        * dfg/DFGJITCompiler.h:
     19        (JSC::DFG::JITCompiler::jitAssertIsCell):
     20        * dfg/DFGNode.h:
     21        * dfg/DFGNonSpeculativeJIT.cpp:
     22        (JSC::DFG::NonSpeculativeJIT::compile):
     23        * dfg/DFGOperations.cpp:
     24        * dfg/DFGOperations.h:
     25        * dfg/DFGSpeculativeJIT.cpp:
     26        (JSC::DFG::SpeculativeJIT::compile):
     27
    1282011-07-01  Oliver Hunt  <[email protected]>
    229
Note: See TracChangeset for help on using the changeset viewer.