Changeset 255416 in webkit
- Timestamp:
- Jan 29, 2020, 9:51:43 PM (5 years ago)
- Location:
- trunk
- Files:
-
- 1 added
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JSTests/ChangeLog
r255390 r255416 1 2020-01-29 Mark Lam <mark.lam@apple.com> 2 3 Fix bad assertion in InternalFunctionAllocationProfile::createAllocationStructureFromBase(). 4 https://bugs.webkit.org/show_bug.cgi?id=206981 5 <rdar://problem/58985736> 6 7 Reviewed by Keith Miller. 8 9 * stress/InternalFunctionAllocationProfile-createAllocationStructureFromBase-should-allow-for-same-classInfo-from-different-globals.js: Added. 10 1 11 2020-01-29 Yusuke Suzuki <ysuzuki@apple.com> 2 12 -
trunk/Source/JavaScriptCore/ChangeLog
r255406 r255416 1 2020-01-29 Mark Lam <mark.lam@apple.com> 2 3 Fix bad assertion in InternalFunctionAllocationProfile::createAllocationStructureFromBase(). 4 https://bugs.webkit.org/show_bug.cgi?id=206981 5 <rdar://problem/58985736> 6 7 Reviewed by Keith Miller. 8 9 InternalFunctionAllocationProfile::createAllocationStructureFromBase() is only 10 called from FunctionRareData::createInternalFunctionAllocationStructureFromBase(), 11 which in turn is only called from InternalFunction::createSubclassStructureSlow(). 12 13 InternalFunction::createSubclassStructureSlow() only allows a call to 14 FunctionRareData::createInternalFunctionAllocationStructureFromBase() under 15 certain conditions. One of these conditions is that the baseGlobalObject is 16 different than the newTarget's globalObject. 17 18 InternalFunctionAllocationProfile::createAllocationStructureFromBase() has an 19 ASSERT on the same set of conditions, with one ommission: the one above. This 20 patch fixes the ASSERT by adding the missing condition to match the check in 21 InternalFunction::createSubclassStructureSlow(). 22 23 * bytecode/InternalFunctionAllocationProfile.h: 24 (JSC::InternalFunctionAllocationProfile::createAllocationStructureFromBase): 25 1 26 2020-01-29 Robin Morisset <rmorisset@apple.com> 2 27 -
trunk/Source/JavaScriptCore/bytecode/InternalFunctionAllocationProfile.h
r251425 r255416 48 48 inline Structure* InternalFunctionAllocationProfile::createAllocationStructureFromBase(VM& vm, JSGlobalObject* baseGlobalObject, JSCell* owner, JSObject* prototype, Structure* baseStructure) 49 49 { 50 ASSERT(!m_structure || m_structure.get()->classInfo() != baseStructure->classInfo() );50 ASSERT(!m_structure || m_structure.get()->classInfo() != baseStructure->classInfo() || m_structure->globalObject() != baseGlobalObject); 51 51 ASSERT(baseStructure->hasMonoProto()); 52 52
Note:
See TracChangeset
for help on using the changeset viewer.