Changeset 172959 in webkit
- Timestamp:
- Aug 26, 2014 8:55:01 AM (10 years ago)
- Location:
- trunk/Source/JavaScriptCore
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/ChangeLog
r172950 r172959 1 2014-08-26 Michael Saboff <msaboff@apple.com> 2 3 REGRESSION(r172794) + 32Bit build: ASSERT failures in for-in-tests.js tests. 4 https://bugs.webkit.org/show_bug.cgi?id=136165 5 6 Reviewed by Mark Hahnenberg. 7 8 Changed switch case GetDirectPname: to always use the slow path for X86 since it only has 9 6 registers available, but the code requires 7. 10 11 * dfg/DFGSpeculativeJIT32_64.cpp: 12 (JSC::DFG::SpeculativeJIT::compile): 13 1 14 2014-08-25 Saam Barati <sbarati@apple.com> 2 15 -
trunk/Source/JavaScriptCore/dfg/DFGSpeculativeJIT32_64.cpp
r172940 r172959 4723 4723 Edge& baseEdge = m_jit.graph().varArgChild(node, 0); 4724 4724 Edge& propertyEdge = m_jit.graph().varArgChild(node, 1); 4725 Edge& indexEdge = m_jit.graph().varArgChild(node, 2);4726 Edge& enumeratorEdge = m_jit.graph().varArgChild(node, 3);4727 4725 4728 4726 SpeculateCellOperand base(this, baseEdge); 4729 4727 SpeculateCellOperand property(this, propertyEdge); 4730 SpeculateInt32Operand index(this, indexEdge);4731 SpeculateCellOperand enumerator(this, enumeratorEdge);4732 4728 GPRResult resultPayload(this); 4733 4729 GPRResult2 resultTag(this); … … 4736 4732 GPRReg baseGPR = base.gpr(); 4737 4733 GPRReg propertyGPR = property.gpr(); 4738 GPRReg indexGPR = index.gpr();4739 GPRReg enumeratorGPR = enumerator.gpr();4740 4734 GPRReg resultTagGPR = resultTag.gpr(); 4741 4735 GPRReg resultPayloadGPR = resultPayload.gpr(); 4742 4736 GPRReg scratchGPR = scratch.gpr(); 4737 4738 #if CPU(X86) 4739 // Not enough registers on X86 for this code, so always use the slow path. 4740 flushRegisters(); 4741 m_jit.move(MacroAssembler::TrustedImm32(JSValue::CellTag), scratchGPR); 4742 callOperation(operationGetByValCell, resultTagGPR, resultPayloadGPR, baseGPR, scratchGPR, propertyGPR); 4743 #else 4744 Edge& indexEdge = m_jit.graph().varArgChild(node, 2); 4745 Edge& enumeratorEdge = m_jit.graph().varArgChild(node, 3); 4746 4747 SpeculateInt32Operand index(this, indexEdge); 4748 SpeculateCellOperand enumerator(this, enumeratorEdge); 4749 4750 GPRReg indexGPR = index.gpr(); 4751 GPRReg enumeratorGPR = enumerator.gpr(); 4743 4752 4744 4753 // Check the structure … … 4776 4785 m_jit.move(MacroAssembler::TrustedImm32(JSValue::CellTag), scratchGPR); 4777 4786 addSlowPathGenerator(slowPathCall(wrongStructure, this, operationGetByValCell, resultTagGPR, resultPayloadGPR, baseGPR, scratchGPR, propertyGPR)); 4787 #endif 4778 4788 4779 4789 jsValueResult(resultTagGPR, resultPayloadGPR, node);
Note: See TracChangeset
for help on using the changeset viewer.