Changeset 218641 in webkit for trunk/Source/JavaScriptCore/jit/Repatch.cpp
- Timestamp:
- Jun 21, 2017, 11:42:44 AM (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/jit/Repatch.cpp
r218552 r218641 158 158 } 159 159 160 static InlineCacheAction tryCacheGetByID( ExecState* exec, JSValue baseValue, const Identifier& propertyName, const PropertySlot& slot, StructureStubInfo& stubInfo, GetByIDKind kind)160 static InlineCacheAction tryCacheGetByID(const GCSafeConcurrentJSLocker& locker, ExecState* exec, JSValue baseValue, const Identifier& propertyName, const PropertySlot& slot, StructureStubInfo& stubInfo, GetByIDKind kind) 161 161 { 162 162 if (forceICFailure(exec)) … … 324 324 LOG_IC((ICEvent::GetByIdAddAccessCase, baseValue.classInfoOrNull(vm), propertyName)); 325 325 326 AccessGenerationResult result = stubInfo.addAccessCase( codeBlock, propertyName, WTFMove(newCase));326 AccessGenerationResult result = stubInfo.addAccessCase(locker, codeBlock, propertyName, WTFMove(newCase)); 327 327 328 328 if (result.generatedSomeCode()) { … … 341 341 GCSafeConcurrentJSLocker locker(exec->codeBlock()->m_lock, exec->vm().heap); 342 342 343 if (tryCacheGetByID( exec, baseValue, propertyName, slot, stubInfo, kind) == GiveUpOnCache)343 if (tryCacheGetByID(locker, exec, baseValue, propertyName, slot, stubInfo, kind) == GiveUpOnCache) 344 344 ftlThunkAwareRepatchCall(exec->codeBlock(), stubInfo.slowPathCallLocation(), appropriateGenericGetByIdFunction(kind)); 345 345 } … … 369 369 } 370 370 371 static InlineCacheAction tryCachePutByID( ExecState* exec, JSValue baseValue, Structure* structure, const Identifier& ident, const PutPropertySlot& slot, StructureStubInfo& stubInfo, PutKind putKind)371 static InlineCacheAction tryCachePutByID(const GCSafeConcurrentJSLocker& locker, ExecState* exec, JSValue baseValue, Structure* structure, const Identifier& ident, const PutPropertySlot& slot, StructureStubInfo& stubInfo, PutKind putKind) 372 372 { 373 373 if (forceICFailure(exec)) … … 477 477 LOG_IC((ICEvent::PutByIdAddAccessCase, structure->classInfo(), ident)); 478 478 479 AccessGenerationResult result = stubInfo.addAccessCase( codeBlock, ident, WTFMove(newCase));479 AccessGenerationResult result = stubInfo.addAccessCase(locker, codeBlock, ident, WTFMove(newCase)); 480 480 481 481 if (result.generatedSomeCode()) { … … 495 495 GCSafeConcurrentJSLocker locker(exec->codeBlock()->m_lock, exec->vm().heap); 496 496 497 if (tryCachePutByID( exec, baseValue, structure, propertyName, slot, stubInfo, putKind) == GiveUpOnCache)497 if (tryCachePutByID(locker, exec, baseValue, structure, propertyName, slot, stubInfo, putKind) == GiveUpOnCache) 498 498 ftlThunkAwareRepatchCall(exec->codeBlock(), stubInfo.slowPathCallLocation(), appropriateGenericPutByIdFunction(slot, putKind)); 499 499 } 500 500 501 501 static InlineCacheAction tryRepatchIn( 502 ExecState* exec, JSCell* base, const Identifier& ident, bool wasFound,503 const PropertySlot& slot, StructureStubInfo& stubInfo)502 const GCSafeConcurrentJSLocker& locker, ExecState* exec, JSCell* base, const Identifier& ident, 503 bool wasFound, const PropertySlot& slot, StructureStubInfo& stubInfo) 504 504 { 505 505 if (forceICFailure(exec)) … … 536 536 vm, codeBlock, wasFound ? AccessCase::InHit : AccessCase::InMiss, invalidOffset, structure, conditionSet); 537 537 538 AccessGenerationResult result = stubInfo.addAccessCase( codeBlock, ident, WTFMove(newCase));538 AccessGenerationResult result = stubInfo.addAccessCase(locker, codeBlock, ident, WTFMove(newCase)); 539 539 540 540 if (result.generatedSomeCode()) { … … 557 557 SuperSamplerScope superSamplerScope(false); 558 558 GCSafeConcurrentJSLocker locker(exec->codeBlock()->m_lock, exec->vm().heap); 559 if (tryRepatchIn( exec, base, ident, wasFound, slot, stubInfo) == GiveUpOnCache)559 if (tryRepatchIn(locker, exec, base, ident, wasFound, slot, stubInfo) == GiveUpOnCache) 560 560 ftlThunkAwareRepatchCall(exec->codeBlock(), stubInfo.slowPathCallLocation(), operationIn); 561 561 }
Note:
See TracChangeset
for help on using the changeset viewer.