SM: Eliminate iterator object for non-escaping native enumerators

RESOLVED WORKSFORME

Status

()

Core
JavaScript Engine
RESOLVED WORKSFORME
10 years ago
6 years ago

People

(Reporter: Igor Bukanov, Assigned: Igor Bukanov)

Tracking

({perf})

Trunk
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

(Assignee)

Description

10 years ago
+++ This bug was initially created as a clone of Bug #417131 +++

Currently to implement the for-in loop SM always creates an iterator object for native enumerators. It would be nice to optimize away such object as the script has no access to it and it serves purely as a storage for the enumerator state and extra flags. The idea is to use stack slots to store all the necessary information instead of creating such object, see bug 417131 comment 14 for a prototype of such implementation.
(Assignee)

Updated

6 years ago
Status: NEW → RESOLVED
Last Resolved: 6 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.