Changeset 172962 in webkit
- Timestamp:
- Aug 26, 2014 10:34:21 AM (10 years ago)
- Location:
- trunk/Source/JavaScriptCore
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/ChangeLog
r172961 r172962 1 2014-08-26 Michael Saboff <msaboff@apple.com> 2 3 REGRESSION(r172794) + 32Bit build: for-in-base-reassigned-later-and-change-structure.js fail with NaN result 4 https://bugs.webkit.org/show_bug.cgi?id=136187 5 6 Reviewed by Mark Hahnenberg. 7 8 Added two arg version for 32 bit builds of callOperation(J_JITOperation_ECJ, ...) that 9 doesn't require a tag for the second argument, instead it fills in a CellTag. This is 10 used for the slow case of the GetDirectPname case in SpeculativeJIT::compile since we 11 haven't set up a register with a tag and we know that argument 2 is a cell. 12 13 * dfg/DFGSpeculativeJIT.h: 14 (JSC::DFG::SpeculativeJIT::callOperation): New version with implicit CellTag. 15 * dfg/DFGSpeculativeJIT32_64.cpp: 16 (JSC::DFG::SpeculativeJIT::compile): Eliminated extraneous filling of the scratchGPR 17 with CellTag as it wasn't in the control flow for the slow path that needed the tag. 18 Instead changed to calling new version of callOperation with an implicit CellTag. 19 1 20 2014-08-26 Commit Queue <commit-queue@webkit.org> 2 21 -
trunk/Source/JavaScriptCore/dfg/DFGSpeculativeJIT.h
r172176 r172962 1694 1694 { 1695 1695 m_jit.setupArgumentsWithExecState(arg1, arg2Payload, arg2Tag); 1696 return appendCallWithExceptionCheckSetResult(operation, resultPayload, resultTag); 1697 } 1698 JITCompiler::Call callOperation(J_JITOperation_ECJ operation, GPRReg resultTag, GPRReg resultPayload, GPRReg arg1, GPRReg arg2Payload) 1699 { 1700 m_jit.setupArgumentsWithExecState(arg1, arg2Payload, MacroAssembler::TrustedImm32(JSValue::CellTag)); 1696 1701 return appendCallWithExceptionCheckSetResult(operation, resultPayload, resultTag); 1697 1702 } -
trunk/Source/JavaScriptCore/dfg/DFGSpeculativeJIT32_64.cpp
r172961 r172962 4772 4772 done.link(&m_jit); 4773 4773 4774 m_jit.move(MacroAssembler::TrustedImm32(JSValue::CellTag), scratchGPR); 4775 addSlowPathGenerator(slowPathCall(wrongStructure, this, operationGetByValCell, resultTagGPR, resultPayloadGPR, baseGPR, scratchGPR, propertyGPR)); 4774 addSlowPathGenerator(slowPathCall(wrongStructure, this, operationGetByValCell, resultTagGPR, resultPayloadGPR, baseGPR, propertyGPR)); 4776 4775 #endif 4777 4776
Note: See TracChangeset
for help on using the changeset viewer.