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
Merge commit '1ee1db1471cc0723719196d58c6bdaaf60cbe842' into hj-dev-palfia
MIPS: make isolate accessible from returnvalue

Port r14819 (1ee1db14)
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
Fix the hole loading optimization.
- Holes are only ever loaded as double or tagged.
- Change to tagged has to deoptimize on undefined (no implicit
  conversions from double the hole NaN -> tagged undefined).

BUG=
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@14829 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Merge commit '8fba0f345e5f0383dd3b764431ca96c895e1083c' into hj-dev-palfia

Conflicts:
	src/deoptimizer.h
MIPS: Fix the hole loading optimization.

Port r14829 (8fba0f34)

Original commit message:
Fix the hole loading optimization.
- Holes are only ever loaded as double or tagged.
- Change to tagged has to deoptimize on undefined (no implicit   conversions from double the hole NaN -> tagged undefined).
MIPS: Tag smi-constants as smi. This also fixes code that copies holes into arrays.

Port r14814 (8a28ccfb)

BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@14830 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
MIPS: Fix the hole loading optimization.

Port r14829 (8fba0f34)

Original commit message:
Fix the hole loading optimization.
- Holes are only ever loaded as double or tagged.
- Change to tagged has to deoptimize on undefined (no implicit   conversions from double the hole NaN -> tagged undefined).

BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@14831 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Always deoptimize on undefined if a double value implicitly gets converted.

R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@14832 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Deprecate profiler methods that accept security origin

Now that the only known client console.profiles was removed from Blink:
https://src.chromium.org/viewvc/blink?revision=151136&view=revision
https://src.chromium.org/viewvc/blink?revision=151196&view=revision
this method can be deprecated and all the code that supports filtering
CPU profiles based on security origins can be later removed.

Drive-by fix: in line with CpuProfiler changes deprecated HeapProfiler::FindHeapSnapshot to reduce v8 API surface. FindHeapSnapshot may well be implemented based on existing GetSnapshotCount/GetSnapshot and it is only used in the tests.

BUG=None
R=jkummerow@chromium.org, loislo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@14833 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Tag smi-constants as smi.

R=jkummerow@chromium.org

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

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