Changeset 160666 in webkit


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

Merged r160665 from trunk.

2013-12-16 Mark Lam <mark.lam@apple.com>

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:
branches/jsCStack/Source
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • branches/jsCStack/Source

  • branches/jsCStack/Source/JavaScriptCore/ChangeLog

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

    r160497 r160666  
    561561    $asm.putc "    Instruction* pc = CAST<Instruction*>(#{operands[2].clValue(:voidPtr)});"
    562562    $asm.putc "    SlowPathReturnType result = #{operands[0].cLabel}(exec, pc);"
    563     $asm.putc "    decodeResult(result, t0.instruction, t1.execState);"
     563    $asm.putc "    decodeResult(result, t0.instruction, t1.vp);"
    564564    $asm.putc "}"
    565565end
  • branches/jsCStack/Source/JavaScriptCore/runtime/CommonSlowPaths.h

    r160591 r160666  
    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.