WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
201513
[JSC] Generalize Get/PutPromiseInternalField for InternalFieldObjectImpl
https://bugs.webkit.org/show_bug.cgi?id=201513
Summary
[JSC] Generalize Get/PutPromiseInternalField for InternalFieldObjectImpl
Yusuke Suzuki
Reported
2019-09-05 13:01:02 PDT
To reuse it for generators.
Attachments
Patch
(64.15 KB, patch)
2019-09-05 13:38 PDT
,
Yusuke Suzuki
no flags
Details
Formatted Diff
Diff
Patch
(64.17 KB, patch)
2019-09-05 13:45 PDT
,
Yusuke Suzuki
no flags
Details
Formatted Diff
Diff
Patch
(64.16 KB, patch)
2019-09-05 13:57 PDT
,
Yusuke Suzuki
ross.kirsling
: review+
Details
Formatted Diff
Diff
Show Obsolete
(2)
View All
Add attachment
proposed patch, testcase, etc.
Radar WebKit Bug Importer
Comment 1
2019-09-05 13:09:56 PDT
<
rdar://problem/55080640
>
Yusuke Suzuki
Comment 2
2019-09-05 13:13:13 PDT
The goal of making Generator internal-field-object is avoiding op_get_by_id_direct for generators. Each generator has different structure since [[Prototype]] of them are different (defined in the spec). As a result, Generator.prototype.next's internal field accesses are getting super generic get_by_id.
Yusuke Suzuki
Comment 3
2019-09-05 13:13:49 PDT
(In reply to Yusuke Suzuki from
comment #2
)
> The goal of making Generator internal-field-object is avoiding > op_get_by_id_direct for generators. > Each generator has different structure since [[Prototype]] of them are > different (defined in the spec). As a result, Generator.prototype.next's > internal field accesses are getting super generic get_by_id.
If multiple generators exist in one app, we hits this slow-case. And JetStream2/Basic is the one I think.
Yusuke Suzuki
Comment 4
2019-09-05 13:38:45 PDT
Created
attachment 378113
[details]
Patch
Yusuke Suzuki
Comment 5
2019-09-05 13:45:50 PDT
Created
attachment 378114
[details]
Patch
Yusuke Suzuki
Comment 6
2019-09-05 13:57:19 PDT
Created
attachment 378116
[details]
Patch
Ross Kirsling
Comment 7
2019-09-05 14:01:52 PDT
Comment on
attachment 378116
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=378116&action=review
Looks nice and simple to me.
> Source/JavaScriptCore/llint/LowLevelInterpreter.asm:168 > +const JSInternalFieldObjectImpl_internalFields = JSInternalFieldObjectImpl::m_internalFields
Is this constant just a stylistic matter? Just curious since we weren't using one before.
Yusuke Suzuki
Comment 8
2019-09-05 14:39:09 PDT
Comment on
attachment 378116
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=378116&action=review
>> Source/JavaScriptCore/llint/LowLevelInterpreter.asm:168 >> +const JSInternalFieldObjectImpl_internalFields = JSInternalFieldObjectImpl::m_internalFields > > Is this constant just a stylistic matter? Just curious since we weren't using one before.
I used it since `<>` syntax is not available in LLInt right now.
Yusuke Suzuki
Comment 9
2019-09-05 14:48:50 PDT
Committed
r249547
: <
https://trac.webkit.org/changeset/249547
>
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