Changeset 127333 in webkit for trunk/Source/JavaScriptCore/llint/LLIntSlowPaths.h
- Timestamp:
- Aug 31, 2012, 4:25:28 PM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/llint/LLIntSlowPaths.h
r120244 r127333 45 45 struct SlowPathReturnType { 46 46 void* a; 47 void* b;47 ExecState* b; 48 48 }; 49 49 50 inline SlowPathReturnType encodeResult(void* a, void* b)50 inline SlowPathReturnType encodeResult(void* a, ExecState* b) 51 51 { 52 52 SlowPathReturnType result; … … 55 55 return result; 56 56 } 57 #else 57 58 inline void decodeResult(SlowPathReturnType result, void*& a, ExecState*& b) 59 { 60 a = result.a; 61 b = result.b; 62 } 63 64 #else // USE(JSVALUE32_64) 58 65 typedef int64_t SlowPathReturnType; 59 66 60 inline SlowPathReturnType encodeResult(void* a, void* b) 61 { 62 union { 63 struct { 64 void* a; 65 void* b; 66 } pair; 67 int64_t i; 68 } u; 67 typedef union { 68 struct { 69 void* a; 70 ExecState* b; 71 } pair; 72 int64_t i; 73 } SlowPathReturnTypeEncoding; 74 75 inline SlowPathReturnType encodeResult(void* a, ExecState* b) 76 { 77 SlowPathReturnTypeEncoding u; 69 78 u.pair.a = a; 70 79 u.pair.b = b; 71 80 return u.i; 72 81 } 73 #endif 82 83 inline void decodeResult(SlowPathReturnType result, void*& a, ExecState*& b) 84 { 85 SlowPathReturnTypeEncoding u; 86 u.i = result; 87 a = u.pair.a; 88 b = u.pair.b; 89 } 90 #endif // USE(JSVALUE32_64) 74 91 75 92 extern "C" SlowPathReturnType llint_trace_operand(ExecState*, Instruction*, int fromWhere, int operand);
Note:
See TracChangeset
for help on using the changeset viewer.