Changeset 88092 in webkit


Ignore:
Timestamp:
Jun 3, 2011 10:13:44 PM (13 years ago)
Author:
barraclough@apple.com
Message:

https://bugs.webkit.org/show_bug.cgi?id=62082
DFG JIT - bug passing arguments that need swap

Reviewed by Sam Weinig.

This is really just a typo.
When setting up the arguments for a call out to a C operation, we'll
fail to swap arguments where this is necessary. For example, in the
case of 2 arg calls, where the first argument is in %rdx & the second
is in %rsi we should swap (exec will be passed in %rdi), but we don't.

This can also affect function calls passing three arguments.

  • dfg/DFGJITCodeGenerator.h:

(JSC::DFG::JITCodeGenerator::setupTwoStubArgs):

  • Call swap with the correct arguments.
Location:
trunk/Source/JavaScriptCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/ChangeLog

    r88084 r88092  
     12011-06-03  Gavin Barraclough  <barraclough@apple.com>
     2
     3        Reviewed by Sam Weinig.
     4
     5        https://bugs.webkit.org/show_bug.cgi?id=62082
     6        DFG JIT - bug passing arguments that need swap
     7
     8        This is really just a typo.
     9        When setting up the arguments for a call out to a C operation, we'll
     10        fail to swap arguments where this is necessary. For example, in the
     11        case of 2 arg calls, where the first argument is in %rdx & the second
     12        is in %rsi we should swap (exec will be passed in %rdi), but we don't.
     13
     14        This can also affect function calls passing three arguments.
     15
     16        * dfg/DFGJITCodeGenerator.h:
     17        (JSC::DFG::JITCodeGenerator::setupTwoStubArgs):
     18            - Call swap with the correct arguments.
     19
    1202011-06-03  Oliver Hunt  <oliver@apple.com>
    221
  • trunk/Source/JavaScriptCore/dfg/DFGJITCodeGenerator.h

    r87431 r88092  
    603603            m_jit.move(srcA, destA);
    604604        } else
    605             m_jit.swap(destB, destB);
     605            m_jit.swap(destA, destB);
    606606    }
    607607    template<FPRReg destA, FPRReg destB>
Note: See TracChangeset for help on using the changeset viewer.