Handlify BasicJsonStringifier.

R=ishell@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@20768 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Use a wrapper for copying object.

R=mvstanton@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@20769 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Fix MUST_USE_RESULT warning.

R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@20770 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
ARM64: Access has_pending_message_ correctly.

This fixes accesses in ARM and ARM64; the field is a bool, with size 1,
but we were accessing it with pointer-sized loads and stores.

BUG=
R=ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@20771 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Handlifying clients of StringTable, step 1.

R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@20772 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Refactoring: HashMap: provide a pointer match function, so users don't need to.

R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@20773 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
MIPS: Reland "Track field types.".

Port r20746 (09f9176)

Original commit message:
This is an initial step towards tracking the exact types instead of just
the representations of fields. It adds support to track up to one map of
heap object field values, eliminating various map checks on values
loaded from such fields, at the cost of making stores to such fields
slightly more expensive.

Issues with transitioning stores and fast object literals in Crankshaft
fixed.

TEST=mjsunit/field-type-tracking
BUG=
R=bmeurer@chromium.org

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

Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@20774 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Revert "Handlifying clients of StringTable, step 1."

This reverts commit r20772.

TBR=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@20775 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
JumpPatchSites can/should easily deal with uint8 sized offsets.

Motivation is that x64 nosnapshot builds need a 129 byte delta at the moment.

R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@20776 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Remove assertion scopes from V8_Fatal

V8_Fatal no longer tries to print a js stack, so we don't need those
scopes

BUG=none
R=yangguo@chromium.org
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@20777 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
MIPS: Add big-endian support for MIPS.

Important notices:

- The snapshot cannot be created for big-endian target in cross-compilation
  environment on little-endian host using simulator.

- In order to have i18n support working on big-endian target, the icudt46b.dat and
  icudt46b_dat.S files should be generated and upstreamed to ICU repo.

- The mjsunit 'nans' test is endian dependent, it is skipped for mips target.

- The zlib and Mandreel from Octane 2.0 benchmark are endian dependent due to
  use of typed arrays.

TEST=
BUG=
R=jkummerow@chromium.org, plind44@gmail.com

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

Patch from Dusan Milosavljevic <Dusan.Milosavljevic@rt-rk.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@20778 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
ES6: Add support for Map/Set forEach

This implements MapIterator and SetIterator which matches
the same constructs in the ES6 spec. However, these 2
iterators are not exposed to user code yet. They are only
used internally to implement Map.prototype.forEach and
Set.prototype.forEach.

Each iterator has a reference to the OrderedHashTable where
it directly accesses the hash table's entries.

The OrderedHashTable has a reference to the newest iterator
and each iterator has a reference to the next and previous
iterator, effectively creating a double linked list.

When the OrderedHashTable is mutated (or replaced) all the
iterators are updated.

When the iterator iterates passed the end of the data table
it closes itself. Closed iterators no longer have a
reference to the OrderedHashTable and they are removed from
the double linked list. In the case of Map/Set forEach, we
manually call Close on the iterator in case an exception was
thrown so that the iterator never reached the end.

At this point the OrderedHashTable keeps all the non finished
iterators alive but since the only thing we currently expose
is forEach there are no unfinished iterators outside a forEach
call. Once we expose the iterators to user code we will need
to make the references from the OrderedHashTable to the
iterators weak and have some mechanism to close an iterator
when it is garbage collected.

BUG=1793,2323
LOG=Y
R=adamk@chromium.org, mstarzinger@chromium.org

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

Patch from Erik Arvidsson <arv@chromium.org>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@20781 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Revert "ES6: Add support for Map/Set forEach"

This reverts commit https://code.google.com/p/v8/source/detail?r=20781.

It broke the Win32 builders.

TBR=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@20782 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
MIPS: Reland r20692 "Check stack limit in ArgumentAdaptorTrampoline."

Port r20751 (18578019)

BUG=
R=plind44@gmail.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@20783 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Introduce DontEmitDebugCodeScope to fix the x64 nosnapshot build.

R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@20784 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Remove further unhandlified call sites of number allocations.

R=dslomov@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@20785 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Remove some uses of MaybeObject methods.

R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@20786 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Protect against API abuse.

This makes Chrome's --single-process work again, but the real solution
is to pass an Isolate explicitly and fixing things on the Chrome side
=> follow-up CLs.

R=ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@20787 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Clear invalid field maps in PropertyAccessInfo.

BUG=363956
TEST=mjsunit/regress/regress-363956
LOG=y
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@20788 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Move property addition code from JSObject to Map

BUG=
R=ishell@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@20791 ce2b1a6d-e550-0410-aec6-3dcde31c8c00