Changeset 160665 in webkit


Ignore:
Timestamp:
Dec 16, 2013 2:52:36 PM (10 years ago)
Author:
mark.lam@apple.com
Message:

Change slow path result to take a void* instead of a ExecState*.
https://bugs.webkit.org/show_bug.cgi?id=125802.

Reviewed by Filip Pizlo.

This is in preparation for C Stack OSR entry work that is coming soon.
In the OSR entry case, we'll be returning a topOfFrame pointer value
instead of the ExecState*.

  • offlineasm/cloop.rb:
  • runtime/CommonSlowPaths.h:

(JSC::encodeResult):
(JSC::decodeResult):

Location:
trunk/Source/JavaScriptCore
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/ChangeLog

    r160655 r160665  
     12013-12-16  Mark Lam  <mark.lam@apple.com>
     2
     3        Change slow path result to take a void* instead of a ExecState*.
     4        https://bugs.webkit.org/show_bug.cgi?id=125802.
     5
     6        Reviewed by Filip Pizlo.
     7
     8        This is in preparation for C Stack OSR entry work that is coming soon.
     9        In the OSR entry case, we'll be returning a topOfFrame pointer value
     10        instead of the ExecState*.
     11
     12        * offlineasm/cloop.rb:
     13        * runtime/CommonSlowPaths.h:
     14        (JSC::encodeResult):
     15        (JSC::decodeResult):
     16
    1172013-12-16  Alex Christensen  <achristensen@webkit.org>
    218
  • trunk/Source/JavaScriptCore/offlineasm/cloop.rb

    r160091 r160665  
    559559    $asm.putc "    Instruction* pc = CAST<Instruction*>(#{operands[2].clValue(:voidPtr)});"
    560560    $asm.putc "    SlowPathReturnType result = #{operands[0].cLabel}(exec, pc);"
    561     $asm.putc "    decodeResult(result, t0.instruction, t1.execState);"
     561    $asm.putc "    decodeResult(result, t0.instruction, t1.vp);"
    562562    $asm.putc "}"
    563563end
  • trunk/Source/JavaScriptCore/runtime/CommonSlowPaths.h

    r160587 r160665  
    106106struct SlowPathReturnType {
    107107    void* a;
    108     ExecState* b;
     108    void* b;
    109109};
    110110
    111 inline SlowPathReturnType encodeResult(void* a, ExecState* b)
     111inline SlowPathReturnType encodeResult(void* a, void* b)
    112112{
    113113    SlowPathReturnType result;
     
    117117}
    118118
    119 inline void decodeResult(SlowPathReturnType result, void*& a, ExecState*& b)
     119inline void decodeResult(SlowPathReturnType result, void*& a, void*& b)
    120120{
    121121    a = result.a;
     
    129129    struct {
    130130        void* a;
    131         ExecState* b;
     131        void* b;
    132132    } pair;
    133133    int64_t i;
    134134} SlowPathReturnTypeEncoding;
    135135
    136 inline SlowPathReturnType encodeResult(void* a, ExecState* b)
     136inline SlowPathReturnType encodeResult(void* a, void* b)
    137137{
    138138    SlowPathReturnTypeEncoding u;
     
    142142}
    143143
    144 inline void decodeResult(SlowPathReturnType result, void*& a, ExecState*& b)
     144inline void decodeResult(SlowPathReturnType result, void*& a, void*& b)
    145145{
    146146    SlowPathReturnTypeEncoding u;
Note: See TracChangeset for help on using the changeset viewer.