WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
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+
Details
Formatted Diff
Diff
View All
Add attachment
proposed patch, testcase, etc.
Radar WebKit Bug Importer
Comment 1
2018-01-05 15:26:01 PST
<
rdar://problem/36328842
>
Michael Saboff
Comment 2
2018-01-05 15:41:11 PST
Created
attachment 330599
[details]
Patch
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
Committed
r226474
: <
https://trac.webkit.org/changeset/226474
>
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug