Version 3.26.30 (based on bleeding_edge revision r21129)

Introduce a microtask suppression scope and move microtask methods to isolate (Chromium issue 369503).

Re-enable Object.observe and add enforcement for security invariants.

Move cache line size calculation directly into CPU::FlushICache (Chromium issue 359977).

Generation of our home-grown memmove doesn't depend on serializer state anymore (Chromium issue 359977).

Fix |RunMicrotasks()| leaking reference to the last context being run on.

Object.defineProperty shouldn't be a hint that we're constructing a dictionary (Chromium issue 362870).

Performance and stability improvements on all platforms.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21130 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Various cleanups in check elimination.

- Move IsMapAccess() to HObjectAccess.
- Collect the actual objects instead of HStoreNamedFields in
  effects, and also consider HTransitionElementsKind.
- Fix ownership of HCheckMaps::maps() and HLoadNamedField::maps().
- Avoid heavy copying of the same map sets all the time during
  check elimination, and do something useful with the memory
  instead by slightly bumping the maximum number of tracked
  objects.
- Slightly optimize UniqueSet::Contains().

R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21133 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Revert "Version 3.26.30 (based on bleeding_edge revision r21129)"

This reverts commit r21130, a faulty automated commit.

BUG=
TBR=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21134 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Always initialize the debugger eagerly.

There is no point doing it lazily, since compiling and executing the tiniest piece of code triggers lazy init.
Also removed some dead code.

R=ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21135 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Remove Message::GetScriptData declaration

This is a left-over after r20683

BUG=None
LOG=N
R=svenpanne@chromium.org

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

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

It is only used internally at a single place.

R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21137 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Map::TransitionElementsTo() extracted from JSObject::GetElementsTransitionMap().

R=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21138 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Don't add code dependencies eagerly for HCheckMaps.

Instead of adding code dependencies on stable during
graph creation, we now add them during code generation
for those HCheckMaps that survived dead code elimination.

R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21139 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Add a basic gn file for V8

Currently, the gn support is incomplete and only works from within a
chromium checkout.

See https://code.google.com/p/chromium/wiki/gn for details

We move the BUILD.gn file to v8 nevertheless to make renaming files
easier, as the chromium CQ already now checks the gn build.

BUG=none
R=brettw@chromium.org, machenbach@chromium.org
LOG=y

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21140 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Relocate suspended generator activations when enabling debug mode

R=yangguo@chromium.org
BUG=v8:3289
LOG=N

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

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

Relocate suspended generator activations when enabling debug mode

BUG=v8:3289
LOG=N
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21142 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Mark test-cpu-profiler/JsNativeJsRuntimeJsSample as flaky

BUG=v8:3308
LOG=n
TBR=yurys@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21143 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Fix cctest.status typo

TBR=ishell@chromium.org
BUG=none
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21144 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Relocate suspended generator activations when enabling debug mode

R=yangguo@chromium.org
BUG=v8:3289
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21145 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Remove symbol preparse data altogether.

Removing it seems to be a clear win on mobile: producing symbol data makes cold
parsing 20-30% slower, and having symbol data doesn't make warm parsing any
faster.

Notes:
- V8 used to produce symbol data, but because of a bug, it was never used until
recently. (See fix https://codereview.chromium.org/172753002 which takes the
symbol data into use again.)
- On desktop, warm parsing is faster if we have symbol data, and producing it
during cold parsing doesn't make parsing substantially slower. However, this
doesn't seem to be the case on mobile.
- The preparse data (cached data) will now contain only the positions of the
lazy functions.

BUG=
R=dcarney@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21146 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Remove old branch logic from push scripts.

The old temporary branch is not needed anymore. All scripts create a different branch after creating the temporary branch.

This also fixes logging subprocesses and logs a warning to track down script failures due to wrong branches.

BUG=
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21147 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
FLAG_max_new_space_size is in MB.

Plus, cleanup of the space - generation mess. More to do there...

BUG=
R=mvstanton@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21148 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Set max new space size in tests to proper MB value.

Revert "Limit old space size in test which require a large new space."

This reverts commit r21103.

Revert "Remove max space limits in tests."

This reverts commit r21104.

BUG=
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21149 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Store JSGlobalProxy's identity hash directly on the proxy itself

Previously, the hash was stored on the underlying global object, since
it was stored in the hidden property table. This patch moves to an
implementation modeled on JSProxy, adding a new 'hash' field to JSGlobalProxy.

This allows storing the global proxy in a Map, Set, WeakMap, or WeakSet and
accessing it even after the proxy has been attached to a new global, which
is Firefox's current behavior and was the consensus of a recent thread on public-script-coord:
http://lists.w3.org/Archives/Public/public-script-coord/2014AprJun/0012.html

R=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21150 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Tighten up Object.observe code to ASSERT that it never deals with globals

After r21126, Object.observe no longer allows observing the global proxy
object. This patch replaces codepaths that used to handle that case with
asserts showing that no such observation happens.

R=verwaest@chromium.org

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

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