Changeset 101298 in webkit for trunk/Source/JavaScriptCore/dfg/DFGOperations.cpp
- Timestamp:
- Nov 28, 2011, 3:51:51 PM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/dfg/DFGOperations.cpp
r101283 r101298 49 49 #define FUNCTION_WRAPPER_WITH_RETURN_ADDRESS_E(function) FUNCTION_WRAPPER_WITH_RETURN_ADDRESS(function, rsi) 50 50 #define FUNCTION_WRAPPER_WITH_RETURN_ADDRESS_ECI(function) FUNCTION_WRAPPER_WITH_RETURN_ADDRESS(function, rcx) 51 #define FUNCTION_WRAPPER_WITH_RETURN_ADDRESS_EJI(function) FUNCTION_WRAPPER_WITH_RETURN_ADDRESS(function, rcx) 51 52 #define FUNCTION_WRAPPER_WITH_RETURN_ADDRESS_EJCI(function) FUNCTION_WRAPPER_WITH_RETURN_ADDRESS(function, r8) 52 53 … … 63 64 #define FUNCTION_WRAPPER_WITH_RETURN_ADDRESS_E(function) FUNCTION_WRAPPER_WITH_RETURN_ADDRESS(function, 8) 64 65 #define FUNCTION_WRAPPER_WITH_RETURN_ADDRESS_ECI(function) FUNCTION_WRAPPER_WITH_RETURN_ADDRESS(function, 16) 66 #define FUNCTION_WRAPPER_WITH_RETURN_ADDRESS_EJI(function) FUNCTION_WRAPPER_WITH_RETURN_ADDRESS(function, 20) 65 67 #define FUNCTION_WRAPPER_WITH_RETURN_ADDRESS_EJCI(function) FUNCTION_WRAPPER_WITH_RETURN_ADDRESS(function, 24) 66 68 … … 93 95 ); 94 96 97 #define FUNCTION_WRAPPER_WITH_RETURN_ADDRESS_EJI(function) \ 98 asm ( \ 99 ".text" "\n" \ 100 ".align 2" "\n" \ 101 ".globl " SYMBOL_STRING(function) "\n" \ 102 HIDE_SYMBOL(function) "\n" \ 103 ".thumb" "\n" \ 104 ".thumb_func " THUMB_FUNC_PARAM(function) "\n" \ 105 SYMBOL_STRING(function) ":" "\n" \ 106 "str lr, [sp, #0]" "\n" \ 107 "b " SYMBOL_STRING_RELOCATION(function) "WithReturnAddress" "\n" \ 108 ); 109 95 110 #define FUNCTION_WRAPPER_WITH_RETURN_ADDRESS_EJCI(function) \ 96 111 asm ( \ … … 116 131 FUNCTION_WRAPPER_WITH_RETURN_ADDRESS_ECI(function) 117 132 133 #define J_FUNCTION_WRAPPER_WITH_RETURN_ADDRESS_EJI(function) \ 134 EncodedJSValue DFG_OPERATION function##WithReturnAddress(ExecState*, EncodedJSValue, Identifier*, ReturnAddressPtr); \ 135 FUNCTION_WRAPPER_WITH_RETURN_ADDRESS_EJI(function) 136 118 137 #define V_FUNCTION_WRAPPER_WITH_RETURN_ADDRESS_EJCI(function) \ 119 138 void DFG_OPERATION function##WithReturnAddress(ExecState*, EncodedJSValue, JSCell*, Identifier*, ReturnAddressPtr); \ … … 313 332 } 314 333 315 EncodedJSValue DFG_OPERATION operationGetById(ExecState* exec, JSCell*base, Identifier* propertyName)316 { 317 JSValue baseValue (base);334 EncodedJSValue DFG_OPERATION operationGetById(ExecState* exec, EncodedJSValue base, Identifier* propertyName) 335 { 336 JSValue baseValue = JSValue::decode(base); 318 337 PropertySlot slot(baseValue); 319 338 return JSValue::encode(baseValue.get(exec, *propertyName, slot)); 320 339 } 321 340 322 J_FUNCTION_WRAPPER_WITH_RETURN_ADDRESS_E CI(operationGetByIdBuildList);323 EncodedJSValue DFG_OPERATION operationGetByIdBuildListWithReturnAddress(ExecState* exec, JSCell*base, Identifier* propertyName, ReturnAddressPtr returnAddress)324 { 325 JSValue baseValue (base);341 J_FUNCTION_WRAPPER_WITH_RETURN_ADDRESS_EJI(operationGetByIdBuildList); 342 EncodedJSValue DFG_OPERATION operationGetByIdBuildListWithReturnAddress(ExecState* exec, EncodedJSValue base, Identifier* propertyName, ReturnAddressPtr returnAddress) 343 { 344 JSValue baseValue = JSValue::decode(base); 326 345 PropertySlot slot(baseValue); 327 346 JSValue result = baseValue.get(exec, *propertyName, slot); … … 333 352 } 334 353 335 J_FUNCTION_WRAPPER_WITH_RETURN_ADDRESS_E CI(operationGetByIdProtoBuildList);336 EncodedJSValue DFG_OPERATION operationGetByIdProtoBuildListWithReturnAddress(ExecState* exec, JSCell*base, Identifier* propertyName, ReturnAddressPtr returnAddress)337 { 338 JSValue baseValue (base);354 J_FUNCTION_WRAPPER_WITH_RETURN_ADDRESS_EJI(operationGetByIdProtoBuildList); 355 EncodedJSValue DFG_OPERATION operationGetByIdProtoBuildListWithReturnAddress(ExecState* exec, EncodedJSValue base, Identifier* propertyName, ReturnAddressPtr returnAddress) 356 { 357 JSValue baseValue = JSValue::decode(base); 339 358 PropertySlot slot(baseValue); 340 359 JSValue result = baseValue.get(exec, *propertyName, slot); … … 346 365 } 347 366 348 J_FUNCTION_WRAPPER_WITH_RETURN_ADDRESS_E CI(operationGetByIdOptimize);349 EncodedJSValue DFG_OPERATION operationGetByIdOptimizeWithReturnAddress(ExecState* exec, JSCell*base, Identifier* propertyName, ReturnAddressPtr returnAddress)350 { 351 JSValue baseValue (base);367 J_FUNCTION_WRAPPER_WITH_RETURN_ADDRESS_EJI(operationGetByIdOptimize); 368 EncodedJSValue DFG_OPERATION operationGetByIdOptimizeWithReturnAddress(ExecState* exec, EncodedJSValue base, Identifier* propertyName, ReturnAddressPtr returnAddress) 369 { 370 JSValue baseValue = JSValue::decode(base); 352 371 PropertySlot slot(baseValue); 353 372 JSValue result = baseValue.get(exec, *propertyName, slot);
Note:
See TracChangeset
for help on using the changeset viewer.