MIPS: Replace tagged keys for fast access by smi, and use smi in boundscheck.

Port r14794 (05b08564)

BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@14810 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
MIPS: DummyUse if Representation::Tagged()+Type::Smi() to Representation::Smi()

Port r14802 (d4a53e02)

BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@14811 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
MIPS: Fix hole handling, and ensure smi representation is handled properly

Port r14807 (c26f44d6)

BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@14812 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
MIPS: Fix DIRECT_API_CALL_NEW and DIRECT_GETTER_CALL_NEW call.

This commit fixes the register usage of DIRECT_API_CALL_NEW
and DIRECT_GETTER_CALL_NEW:

* These functions expect arguments in a0-a1 and not in a1-a2
  as the and DIRECT_API_CALL and DIRECT_GETTER_CALL do.
* Fixes the simulator to expect *_NEW arguments in a0-a1.
* Adds more comment to simulator to better explain the
  register usage.

TEST=cctest/test-api/LoadICFastApi_DirectCall_GCMoveStub,cctest/test-api/SimpleCallback

BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@14813 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Tag smi-constants as smi. This also fixes code that copies holes into arrays.

BUG=
R=jkummerow@chromium.org

Review URL: https://chromiumcodereview.appspot.com/15861009

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

R=jkummerow@chromium.org

Review URL: https://chromiumcodereview.appspot.com/15881004

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@14815 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Remove HCheckSmi, LCheckSmi and rename LCheckSmiAndReturn to LCheckSmi.

R=jkummerow@chromium.org

Review URL: https://chromiumcodereview.appspot.com/15841007

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@14816 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Regexp parser: reset flag after scanning ahead for capture groups.

When the regexp pattern parser encounters an unbound reference to a
capturing group, it needs to scan ahead to decide whether it really
is a reference.  The scan advances to the end of the pattern string
and sets has_more_ to false, but fails to reset it to true so that
later on, parsing a character class wrongly fails.

R=ulan@chromium.org
BUG=v8:2690

Review URL: https://chromiumcodereview.appspot.com/15712006

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@14817 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Fix Object.freeze for objects with mixed accessors and data properties

The bug in the existing code was that it modified the |attributes|
local variable on its way through the loop in CopyUpToAddAttributes.
But that affected any properties updated after an accessor property.
The code now sets up a mask each time and applies that instead of
mutating |attributes|.

R=verwaest@chromium.org

Review URL: https://chromiumcodereview.appspot.com/16051002

Patch from Adam Klein <adamk@chromium.org>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@14818 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
make isolate accessible from returnvalue

R=svenpanne@chromium.org
BUG=

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

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

R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@14820 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
MIPS: Remove HCheckSmi, LCheckSmi and rename LCheckSmiAndReturn to LCheckSmi.

Port r14816 (0485153d)

BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@14823 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Extract GlobalValueNumberer and helper classes from hydrogen.cc and move to hydrogen-gvn.cc.

BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@14824 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Collect type feedback in separate pass and store it in AST

Notes:

- For now, just adds the missing type info fields to the AST nodes directly.
  I'd like to factor that out more nicely in a follow-up CL.

- All type feedback now is uniformly collected through AST nodes'
  RecordTypeFeedback functions. At some point, this logic should be moved
  out of ast.cc.

- The typing pass currently simulates the exact same conditions under
  which feedback was collected in Hydrogen before. That also should be
  made more generic in the future.

- Type information itself is unchanged. Making it more regular is
  yet more future work.

Some additional cleanups:

- Lifted out nested class ObjectLiteral::Property, to enable forward declaration.
- Moved around some auxiliary enums.

R=svenpanne@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@14825 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Add template parameter to ReturnValue::Set.

E.g., v8-i18n wants to set the return value with a different type of a Persistent.

BUG=NONE
R=dcarney@chromium.org, svenpanne@chromium.org

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

Patch from Marja Hölttä <marja@chromium.org>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@14826 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
MIPS: make isolate accessible from returnvalue

Port r14819 (1ee1db14)

BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@14827 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
MIPS: Fix unaligned address of double.

TEST=mjsunit/debug-evaluate-locals-optimized-double

BUG=

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

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