Changeset 39738 in webkit for trunk/JavaScriptCore/jit/JITPropertyAccess.cpp
- Timestamp:
- Jan 9, 2009, 12:11:00 AM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/jit/JITPropertyAccess.cpp
r39670 r39738 183 183 } 184 184 185 static JS ValueEncodedAsPointer* resizePropertyStorage(JSObject* baseObject, int32_t oldSize, int32_t newSize)185 static JSObject* resizePropertyStorage(JSObject* baseObject, int32_t oldSize, int32_t newSize) 186 186 { 187 187 baseObject->allocatePropertyStorage(oldSize, newSize); 188 return JSValuePtr::encode(baseObject);188 return baseObject; 189 189 } 190 190 … … 198 198 JumpList failureCases; 199 199 // Check eax is an object of the right Structure. 200 failureCases.append( jnz32(X86::eax, Imm32(JSImmediate::TagMask)));200 failureCases.append(emitJumpIfNotJSCell(X86::eax)); 201 201 failureCases.append(jnePtr(Address(X86::eax, FIELD_OFFSET(JSCell, m_structure)), ImmPtr(oldStructure))); 202 202 JumpList successCases; … … 318 318 // Checks out okay! - get the length from the storage 319 319 loadPtr(Address(X86::eax, FIELD_OFFSET(JSArray, m_storage)), X86::ecx); 320 load Ptr(Address(X86::ecx, FIELD_OFFSET(ArrayStorage, m_length)), X86::ecx);320 load32(Address(X86::ecx, FIELD_OFFSET(ArrayStorage, m_length)), X86::ecx); 321 321 322 322 Jump failureCases2 = ja32(X86::ecx, Imm32(JSImmediate::maxImmediateInt)); 323 323 324 add32(X86::ecx, X86::ecx); 325 add32(Imm32(1), X86::ecx); 326 signExtend32ToPtr(X86::ecx, X86::eax); 324 emitFastArithIntToImmNoCheck(X86::ecx, X86::eax); 327 325 Jump success = jump(); 328 326 … … 350 348 { 351 349 // Check eax is an object of the right Structure. 352 Jump failureCases1 = jnz32(X86::eax, Imm32(JSImmediate::TagMask));350 Jump failureCases1 = emitJumpIfNotJSCell(X86::eax); 353 351 Jump failureCases2 = checkStructure(X86::eax, structure); 354 352 … … 424 422 425 423 // Check eax is an object of the right Structure. 426 Jump failureCases1 = jne32(X86::eax, Imm32(JSImmediate::TagMask));424 Jump failureCases1 = emitJumpIfNotJSCell(X86::eax); 427 425 Jump failureCases2 = checkStructure(X86::eax, structure); 428 426 … … 642 640 643 641 // Check eax is an object of the right Structure. 644 bucketsOfFail.append( jne32(X86::eax, Imm32(JSImmediate::TagMask)));642 bucketsOfFail.append(emitJumpIfNotJSCell(X86::eax)); 645 643 bucketsOfFail.append(checkStructure(X86::eax, structure)); 646 644 … … 681 679 { 682 680 // Check eax is an object of the right Structure. 683 Jump failureCases1 = jne32(X86::eax, Imm32(JSImmediate::TagMask));681 Jump failureCases1 = emitJumpIfNotJSCell(X86::eax); 684 682 Jump failureCases2 = checkStructure(X86::eax, structure); 685 683
Note:
See TracChangeset
for help on using the changeset viewer.