Changeset 160666 in webkit
- Timestamp:
- Dec 16, 2013 2:59:59 PM (10 years ago)
- Location:
- branches/jsCStack/Source
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/jsCStack/Source
-
Property
svn:mergeinfo
set to
/trunk/Source merged eligible
-
Property
svn:mergeinfo
set to
-
branches/jsCStack/Source/JavaScriptCore/ChangeLog
r160660 r160666 1 2013-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 1 21 2013-12-16 Michael Saboff <msaboff@apple.com> 2 22 -
branches/jsCStack/Source/JavaScriptCore/offlineasm/cloop.rb
r160497 r160666 561 561 $asm.putc " Instruction* pc = CAST<Instruction*>(#{operands[2].clValue(:voidPtr)});" 562 562 $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);" 564 564 $asm.putc "}" 565 565 end -
branches/jsCStack/Source/JavaScriptCore/runtime/CommonSlowPaths.h
r160591 r160666 106 106 struct SlowPathReturnType { 107 107 void* a; 108 ExecState* b;108 void* b; 109 109 }; 110 110 111 inline SlowPathReturnType encodeResult(void* a, ExecState* b)111 inline SlowPathReturnType encodeResult(void* a, void* b) 112 112 { 113 113 SlowPathReturnType result; … … 117 117 } 118 118 119 inline void decodeResult(SlowPathReturnType result, void*& a, ExecState*& b)119 inline void decodeResult(SlowPathReturnType result, void*& a, void*& b) 120 120 { 121 121 a = result.a; … … 129 129 struct { 130 130 void* a; 131 ExecState* b;131 void* b; 132 132 } pair; 133 133 int64_t i; 134 134 } SlowPathReturnTypeEncoding; 135 135 136 inline SlowPathReturnType encodeResult(void* a, ExecState* b)136 inline SlowPathReturnType encodeResult(void* a, void* b) 137 137 { 138 138 SlowPathReturnTypeEncoding u; … … 142 142 } 143 143 144 inline void decodeResult(SlowPathReturnType result, void*& a, ExecState*& b)144 inline void decodeResult(SlowPathReturnType result, void*& a, void*& b) 145 145 { 146 146 SlowPathReturnTypeEncoding u;
Note: See TracChangeset
for help on using the changeset viewer.