WebKit Bugzilla
New
Browse
Search+
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
[patch]
the patch
blah.patch (text/plain), 4.08 KB, created by
Filip Pizlo
on 2014-09-21 21:20:34 PDT
(
hide
)
Description:
the patch
Filename:
MIME Type:
Creator:
Filip Pizlo
Created:
2014-09-21 21:20:34 PDT
Size:
4.08 KB
patch
obsolete
>Index: Source/JavaScriptCore/ftl/FTLAbstractHeap.h >=================================================================== >--- Source/JavaScriptCore/ftl/FTLAbstractHeap.h (revision 173798) >+++ Source/JavaScriptCore/ftl/FTLAbstractHeap.h (working copy) >@@ -72,6 +72,11 @@ public: > m_parent = parent; > m_heapName = heapName; > } >+ >+ void changeParent(AbstractHeap* parent) >+ { >+ m_parent = parent; >+ } > > AbstractHeap* parent() const > { >Index: Source/JavaScriptCore/ftl/FTLAbstractHeapRepository.cpp >=================================================================== >--- Source/JavaScriptCore/ftl/FTLAbstractHeapRepository.cpp (revision 173798) >+++ Source/JavaScriptCore/ftl/FTLAbstractHeapRepository.cpp (working copy) >@@ -61,6 +61,17 @@ AbstractHeapRepository::AbstractHeapRepo > , m_context(context) > , m_tbaaKind(mdKindID(m_context, "tbaa")) > { >+ // Make sure that our explicit assumptions about the StructureIDBlob match reality. >+ RELEASE_ASSERT(!(JSCell_indexingType.offset() & (sizeof(int32_t) - 1))); >+ RELEASE_ASSERT(JSCell_indexingType.offset() + 1 == JSCell_typeInfoType.offset()); >+ RELEASE_ASSERT(JSCell_indexingType.offset() + 2 == JSCell_typeInfoFlags.offset()); >+ RELEASE_ASSERT(JSCell_indexingType.offset() + 3 == JSCell_gcData.offset()); >+ >+ JSCell_indexingType.changeParent(&JSCell_usefulBytes); >+ JSCell_typeInfoType.changeParent(&JSCell_usefulBytes); >+ JSCell_typeInfoFlags.changeParent(&JSCell_usefulBytes); >+ JSCell_gcData.changeParent(&JSCell_usefulBytes); >+ > root.m_tbaaMetadata = mdNode(m_context, mdString(m_context, root.m_heapName)); > > RELEASE_ASSERT(m_tbaaKind); >Index: Source/JavaScriptCore/ftl/FTLAbstractHeapRepository.h >=================================================================== >--- Source/JavaScriptCore/ftl/FTLAbstractHeapRepository.h (revision 173798) >+++ Source/JavaScriptCore/ftl/FTLAbstractHeapRepository.h (working copy) >@@ -52,6 +52,7 @@ namespace JSC { namespace FTL { > macro(JSArrayBufferView_mode, JSArrayBufferView::offsetOfMode()) \ > macro(JSArrayBufferView_vector, JSArrayBufferView::offsetOfVector()) \ > macro(JSCell_structureID, JSCell::structureIDOffset()) \ >+ macro(JSCell_usefulBytes, JSCell::indexingTypeOffset()) \ > macro(JSCell_typeInfoFlags, JSCell::typeInfoFlagsOffset()) \ > macro(JSCell_typeInfoType, JSCell::typeInfoTypeOffset()) \ > macro(JSCell_indexingType, JSCell::indexingTypeOffset()) \ >Index: Source/JavaScriptCore/ftl/FTLLowerDFGToLLVM.cpp >=================================================================== >--- Source/JavaScriptCore/ftl/FTLLowerDFGToLLVM.cpp (revision 173798) >+++ Source/JavaScriptCore/ftl/FTLLowerDFGToLLVM.cpp (working copy) >@@ -4857,14 +4857,14 @@ private: > allocator, m_heaps.MarkedAllocator_freeListHead); > > m_out.store32(m_out.constInt32(structure->id()), result, m_heaps.JSCell_structureID); >- m_out.store8(m_out.constInt8(structure->indexingType()), result, m_heaps.JSCell_indexingType); >- m_out.store8(m_out.constInt8(structure->typeInfo().type()), result, m_heaps.JSCell_typeInfoType); >- m_out.store8(m_out.constInt8(structure->typeInfo().inlineTypeFlags()), result, m_heaps.JSCell_typeInfoFlags); >- m_out.store8(m_out.constInt8(JSCell::NotMarked), result, m_heaps.JSCell_gcData); >+ >+ m_out.store32( >+ m_out.constInt32(structure->objectInitializationBlob()), >+ result, m_heaps.JSCell_usefulBytes); > > return result; > } >- >+ > LValue allocateObject( > LValue allocator, Structure* structure, LValue butterfly, LBasicBlock slowPath) > { >Index: Source/JavaScriptCore/runtime/Structure.h >=================================================================== >--- Source/JavaScriptCore/runtime/Structure.h (revision 173799) >+++ Source/JavaScriptCore/runtime/Structure.h (working copy) >@@ -339,7 +339,7 @@ public: > allocateRareData(vm); > rareData()->setObjectToStringValue(vm, value); > } >- >+ > const ClassInfo* classInfo() const { return m_classInfo; } > > static ptrdiff_t structureIDOffset()
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 136992
:
238448
|
238449
|
238452