Changeset 223715 in webkit for trunk/Source/JavaScriptCore/bytecode/AccessCase.cpp
- Timestamp:
- Oct 19, 2017, 3:23:58 PM (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/bytecode/AccessCase.cpp
r222891 r223715 433 433 // Miss/InMiss need to do this to ensure there isn't a new item at the end of the chain that 434 434 // has the property. 435 PropertyOffset polyProtoOffset = structure->polyProtoOffset();436 RELEASE_ASSERT(isInlineOffset(polyProtoOffset));437 435 #if USE(JSVALUE64) 438 jit.load64(MacroAssembler::Address(baseForAccessGPR, offsetRelativeToBase( polyProtoOffset)), baseForAccessGPR);436 jit.load64(MacroAssembler::Address(baseForAccessGPR, offsetRelativeToBase(knownPolyProtoOffset)), baseForAccessGPR); 439 437 fallThrough.append(jit.branch64(CCallHelpers::NotEqual, baseForAccessGPR, CCallHelpers::TrustedImm64(ValueNull))); 440 438 #else 441 jit.load32(MacroAssembler::Address(baseForAccessGPR, offsetRelativeToBase( polyProtoOffset) + PayloadOffset), baseForAccessGPR);439 jit.load32(MacroAssembler::Address(baseForAccessGPR, offsetRelativeToBase(knownPolyProtoOffset) + PayloadOffset), baseForAccessGPR); 442 440 fallThrough.append(jit.branchTestPtr(CCallHelpers::NonZero, baseForAccessGPR)); 443 441 #endif … … 450 448 } else { 451 449 RELEASE_ASSERT(structure->isObject()); // Primitives must have a stored prototype. We use prototypeForLookup for them. 452 PropertyOffset polyProtoOffset = structure->polyProtoOffset();453 RELEASE_ASSERT(isInlineOffset(polyProtoOffset));454 450 #if USE(JSVALUE64) 455 jit.load64(MacroAssembler::Address(baseForAccessGPR, offsetRelativeToBase( polyProtoOffset)), baseForAccessGPR);451 jit.load64(MacroAssembler::Address(baseForAccessGPR, offsetRelativeToBase(knownPolyProtoOffset)), baseForAccessGPR); 456 452 fallThrough.append(jit.branch64(CCallHelpers::Equal, baseForAccessGPR, CCallHelpers::TrustedImm64(ValueNull))); 457 453 #else 458 jit.load32(MacroAssembler::Address(baseForAccessGPR, offsetRelativeToBase( polyProtoOffset) + PayloadOffset), baseForAccessGPR);454 jit.load32(MacroAssembler::Address(baseForAccessGPR, offsetRelativeToBase(knownPolyProtoOffset) + PayloadOffset), baseForAccessGPR); 459 455 fallThrough.append(jit.branchTestPtr(CCallHelpers::Zero, baseForAccessGPR)); 460 456 #endif
Note:
See TracChangeset
for help on using the changeset viewer.