Fix for buildbot failure after r19102.

R=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@19105 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Merge polymorphic load/store handling

R=dcarney@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@19106 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Better tests for the Parser / Preparser unification.

We need a way to assert that for a given source code snippet, an error *is*
produced or *is not* produced. Otherwise we might accidentally create new
errors or start accepting code which was previously not accepted. Just checking
that Parser and PreParser produce the same result doesn't cut it.

BUG=3126
LOG=N
R=ulan@chromium.org

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

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

R=dcarney@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@19108 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Merge named part of BuildLoad and BuildStore

BUG=
R=dcarney@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@19109 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
inline api getters in crankshaft

R=verwaest@chromium.org

BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@19110 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Make strict more error messages about "eval" and "arguments" less specific.

We used to have error messages which provide context, like "Variable name may
not be eval or arguments in strict mode", but for other illegal words we only
have non-context specific error messages like "Unexpected reserved word".

Providing the context makes the code unnecessarily complex, since every
individual place must remember to check for eval or arguments. This CL produces
a unified error message ("Unexpected eval or arguments in strict mode"), and puts
the error reporting to (Pre)Parser::ParseIdentifier.

Notes:

- The module feature is so experimental, that I decided to not allow "eval" or
"arguments" as module-related identifiers in the strict mode (even though this
check wasn't there before).

- Unfortunately, there were some inconsistencies, since it was the
responsibility of the caller of ParseIdentifier to check "eval" and "arguments"
and some places didn't have the check for no good reason. This CL is supposed to
keep backward compatibility and *not* introduce any new errors.

- ECMA allows "eval" and "arguments" as labels even in strict mode. (Syntax:
"LabelledStatement: Identifier : Statement", and no strict mode restrictions on
Identifier are listed.)

- Tests which compare error message strings will fail, and need to be updated.

BUG=3126
LOG=N
R=ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@19112 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Perform a fix point iteration for GVN.

BUG=
R=danno@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@19115 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
MIPS: Avoid embedding x86 NaN constant in code when snapshot is created.

Due to a different NaN representation on MIPS, the canonical nan
constant embedded in generated code that comes from snapshot will differ from
the one used on MIPS hardware.

TEST=mozilla/ecma/Array/15.4.4.2.js
BUG=
R=plind44@gmail.com

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@19118 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
MIPS: Fix crashes after profile entry hook calls.

The call to C++ function has to be done through t9 register for
the position independent code.

The crashes occur only for shared library build.

TEST=cctest/test-api/SetFunctionEntryHook
BUG=
R=plind44@gmail.com

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@19121 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
MIPS: Move failing ASSERT to a more sane place.

Port r19095 (caf48ad)

Original commit message:
Objects can actually be stored into themselves. This fails when no write
barrier is needed (eg, the object was just allocated).

BUG=
R=plind44@gmail.com

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@19122 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Prepare push to trunk.  Now working on version 3.24.34.

R=jkummerow@chromium.org
TBR=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@19123 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
MIPS: Fixes for patch sites if long branches are emitted.

This resolves many mjsunit failures if long branches are forced to be emitted.

TEST=
BUG=
R=plind44@gmail.com

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@19126 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Fix allocation tracker leaks.

R=yangguo@chromium.org, yurys@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@19127 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Make LeakSanitizer happy, part 1.

Bumped an assembler buffer on the way, it is necessary for some combinations of debugging flags.

Note that the allocation profiler still leaks, this is handled in a separate CL.

R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@19128 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
inline api setters in crankshaft

R=verwaest@chromium.org

BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@19129 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Binary operation deoptimization fix.

R=jkummerow@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@19132 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Reduce memory usage due to fixpoint iteration of GVN.

R=hpayer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@19135 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Follow-up to r19112.

There's only one error message for "eval" and "arguments", so no need to pass it
to PreParser::StrictModeIdentifierViolation.

BUG=3126
LOG=N
R=ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@19137 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Fixed space leak in Interface class.

The exports_ hash map itself should live in the zone, too, not only
its entries.

R=rossberg@chromium.org

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

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