MIPS: Refine '[es6] Introduce a dedicated JSIteratorResult type.'
authorbalazs.kilvady <balazs.kilvady@imgtec.com>
Thu, 3 Sep 2015 17:51:15 +0000 (10:51 -0700)
committerCommit bot <commit-bot@chromium.org>
Thu, 3 Sep 2015 17:51:32 +0000 (17:51 +0000)
commit29a2e8f861bdb1be40704205027becac1c4e72e5
tree8444791b728f013090b6a87b6869a58a90e4dbaf
parentd51c588524a2255d7c7b4f7aecab2c5a055f4e1b
MIPS: Refine '[es6] Introduce a dedicated JSIteratorResult type.'

Port 72bc4b5c8a5c4279bcb8b340edbc8aa1c46d75a1

Original commit message:
Use a single JSIteratorResult type for all implementation provided
iterator results (i.e. the String, Array and collection iterators,
and also for generators).  This removes one source of unnecessary
polymorphism in for-of loops.  It is accomplished by a new intrinsic
%_CreateIterResultObject() that should be used to create iterator
result objects from JavaScript builtins (there's a matching factory
method for C++ code).

Also restructure the %StringIteratorPrototype%.next() and
%ArrayIteratorPrototype%.next() functions to be a bit more friendly
to optimizing compilers.

BUG=

Review URL: https://codereview.chromium.org/1315903005

Cr-Commit-Position: refs/heads/master@{#30572}
src/full-codegen/mips/full-codegen-mips.cc
src/full-codegen/mips64/full-codegen-mips64.cc