Bug 134140 - Support for-in in the FTL
Summary: Support for-in in the FTL
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Mark Hahnenberg
URL:
Keywords:
Depends on: 134141
Blocks:
  Show dependency treegraph
 
Reported: 2014-06-20 15:53 PDT by Mark Hahnenberg
Modified: 2014-07-29 15:44 PDT (History)
0 users

See Also:


Attachments
Patch (18.98 KB, patch)
2014-07-28 17:16 PDT, Mark Hahnenberg
no flags Details | Formatted Diff | Diff
Patch (19.23 KB, patch)
2014-07-28 17:47 PDT, Mark Hahnenberg
no flags Details | Formatted Diff | Diff
Patch (19.47 KB, patch)
2014-07-28 18:16 PDT, Mark Hahnenberg
fpizlo: review+
Details | Formatted Diff | Diff
benchmark results (44.30 KB, text/plain)
2014-07-29 11:00 PDT, Mark Hahnenberg
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Mark Hahnenberg 2014-06-20 15:53:50 PDT
Currently we only support the for-in construct in the LLInt and baseline JIT. We should add support for for-in to the DFG and FTL.
Comment 1 Mark Hahnenberg 2014-07-28 17:16:26 PDT
Created attachment 235649 [details]
Patch
Comment 2 Mark Hahnenberg 2014-07-28 17:16:50 PDT
(In reply to comment #1)
> Created an attachment (id=235649) [details]
> Patch

Initial cut. Still running perf tests.
Comment 3 Mark Hahnenberg 2014-07-28 17:28:01 PDT
(In reply to comment #2)
> (In reply to comment #1)
> > Created an attachment (id=235649) [details] [details]
> > Patch
> 
> Initial cut. Still running perf tests.

Still a few bugs lurking.
Comment 4 Mark Hahnenberg 2014-07-28 17:47:01 PDT
Created attachment 235653 [details]
Patch
Comment 5 Mark Hahnenberg 2014-07-28 18:16:24 PDT
Created attachment 235655 [details]
Patch
Comment 6 Mark Hahnenberg 2014-07-29 11:00:59 PDT
Created attachment 235696 [details]
benchmark results
Comment 7 Filip Pizlo 2014-07-29 13:32:52 PDT
Comment on attachment 235655 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=235655&action=review

> Source/JavaScriptCore/ftl/FTLAbstractHeapRepository.h:79
> +    macro(Structure_structureID, Structure::structureIDOffset()) \
> +    macro(JSPropertyNameEnumerator_cachedStructureID, JSPropertyNameEnumerator::cachedStructureIDOffset()) \
> +    macro(JSPropertyNameEnumerator_cachedInlineCapacity, JSPropertyNameEnumerator::cachedInlineCapacityOffset()) \
> +    macro(JSPropertyNameEnumerator_cachedPropertyNamesLength, JSPropertyNameEnumerator::cachedPropertyNamesLengthOffset()) \
> +    macro(JSPropertyNameEnumerator_cachedPropertyNamesVector, JSPropertyNameEnumerator::cachedPropertyNamesVectorOffset())

Sort in alphabetical order.
Comment 8 Mark Hahnenberg 2014-07-29 15:44:37 PDT
Landed in http://trac.webkit.org/changeset/171763