RESOLVED FIXED 181350
Add ability to disable indexed property masking for testing
https://bugs.webkit.org/show_bug.cgi?id=181350
Summary Add ability to disable indexed property masking for testing
Michael Saboff
Reported 2018-01-05 15:24:50 PST
Add the ability to disable indexed property access to simplify testing.
Attachments
Patch (14.30 KB, patch)
2018-01-05 15:41 PST, Michael Saboff
keith_miller: review+
Radar WebKit Bug Importer
Comment 1 2018-01-05 15:26:01 PST
Michael Saboff
Comment 2 2018-01-05 15:41:11 PST
Keith Miller
Comment 3 2018-01-05 15:56:06 PST
Comment on attachment 330599 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=330599&action=review r=me with a nit. > Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp:13159 > + if (m_indexMaskingMode == IndexMaskingEnabled) { > + LValue mask = m_out.load32(base, m_heaps.JSObject_butterflyMask); > + offset = m_out.shl(m_out.zeroExtPtr(m_out.bitAnd(mask, index)), m_out.constIntPtr(logElementSize(type))); > + } else > + offset = m_out.shl(m_out.zeroExtPtr(index), m_out.constIntPtr(logElementSize(type))); I think you can just make this. if (m_indexMaskingMode == IndexMaskingEnabled) index = m_out.bitAnd(index, m_out.load32(base, m_heaps.JSObject_butterflyMask)); LValue offset = m_out.shl(m_out.zeroExtPtr(index), m_out.constIntPtr(logElementSize(type)));
Michael Saboff
Comment 4 2018-01-05 16:02:16 PST
(In reply to Keith Miller from comment #3) > Comment on attachment 330599 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=330599&action=review > > r=me with a nit. > > > Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp:13159 > > + if (m_indexMaskingMode == IndexMaskingEnabled) { > > + LValue mask = m_out.load32(base, m_heaps.JSObject_butterflyMask); > > + offset = m_out.shl(m_out.zeroExtPtr(m_out.bitAnd(mask, index)), m_out.constIntPtr(logElementSize(type))); > > + } else > > + offset = m_out.shl(m_out.zeroExtPtr(index), m_out.constIntPtr(logElementSize(type))); > > I think you can just make this. > > if (m_indexMaskingMode == IndexMaskingEnabled) > index = m_out.bitAnd(index, m_out.load32(base, > m_heaps.JSObject_butterflyMask)); > LValue offset = m_out.shl(m_out.zeroExtPtr(index), > m_out.constIntPtr(logElementSize(type))); Sure. Done locally.
Michael Saboff
Comment 5 2018-01-05 16:37:10 PST
Note You need to log in before you can comment on or make changes to this bug.