Fix handling of this in Array.prototype.concat method.

R=jkummerow@chromium.org
BUG=v8:2080
TEST=test262/15.4.4.4-5-c-i-1

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@11323 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Fix test262 harness to purge old data directory.

R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@11324 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Fix fast API call for MinGW-w64

MinGW-w64 uses the rcx register for the first argument. Unlike MSVC, it does not require preparing a slot for the result handle on the stack and putting a pointer to it in the rcx register.

BUGS=v8:2026
TEST=cctest/test-api

Review URL: https://chromiumcodereview.appspot.com/9959050
Patch from Jonathan Liu <net147@gmail.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@11325 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Fix lineprocessor sample and include it in the gyp build.

Based on a patch by Peter Rybin <peter.rybin@gmail.com> https://chromiumcodereview.appspot.com/10081030/

BUG=
TEST=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@11326 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Add size metric into Heap Stats.
The stats data have only count field at the moment.
A constantly growing array of integers also can be a reason of a leak.
Ans we have to have a way to detect such kind of leaks.

Drive by fix:
FindObject and AddEntry were replaced with FindEntry/FindOrAddEntry pair.

BUG=none
TEST=HeapSnapshotObjectsStats

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@11327 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Provide structures from <ucontext.h> for Android.

Patch from Ben Murdoch <benm@chromium.org>.

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@11328 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Add PushAddress(ExternalReference) for X64.

R=erik.corry@gmail.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@11329 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Improved printing of HBitwise instructions.

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@11330 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Refactoring of code generation for declarations, in preparation for modules.

Do proper dispatch on declaration type instead of mingling together
different code generation paths. Once we add more declaration forms,
this is more scalable.

In separate steps, I'd like to (1) clean up the logic for DeclareGlobal,
and (2) try to reduce the special handling of the name function var if
possible.

R=fschneider@chromium.org
BUG=
TEST=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@11331 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Refactor code generation for global declarations.

(Baseline is http://codereview.chromium.org/9704054/)

R=fschneider@chromium.org
BUG=
TEST=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@11332 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Implement ES5 erratum: global declarations shadow inherited properties.

I also discovered that our treatment of const declarations is inconsistent
when inside a global eval under 'with' (i.e., when created by
DeclareContextSlots). That is,

  var x;
  eval("const x = 9")

and

  var x;
  eval("with({}) const x = 9")

differ (the former assigns 9, the latter throws). This appears to be an
oversight from earlier changes to our const semantics (the latter shouldn't
throw either). Fixing this is a separate issue, though (and one that doesn't
seem quite worthwhile).

R=mstarzinger@chromium.org
BUG=v8:1991,80591
TEST=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@11333 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
fix unused variables in test-heap-profiler.cc to fix compilation with GCC-4.6

TEST=GCC-4.6's face gleaming with happiness

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@11334 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
External references should not affect dominance relation.

Separate objects into two groups: reachable from a window (user),
and unreachable (system). Then do not take into account links
that come from system group to the user group when calculating
dominance relation.

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@11335 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Implement rudimentary module linking.

Constructs the (generally cyclic) graph of module instance objects
and populates their exports. Any exports other than nested modules
are currently set to 'undefined' (but already present as properties).

Details:
- Added new type JSModule for instance objects: a JSObject carrying a context.
- Statically allocate instance objects for all module literals (in parser 8-}).
- Extend interfaces to record and unify concrete instance objects,
  and to support iteration over members.
- Introduce new runtime function for pushing module contexts.
- Generate code for allocating, initializing, and setting module contexts,
  and for populating instance objects from module literals.
  Currently, all non-module exports are still initialized with 'undefined'.
- Module aliases are resolved statically, so no special code is required.
- Make sure that code containing module constructs is never optimized
  (macrofy AST node construction flag setting while we're at it).
- Add test case checking linkage.

Baseline: http://codereview.chromium.org/9722043/

R=svenpanne@chromium.org,mstarzinger@chromium.org
BUG=
TEST=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@11336 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Add method for resolving SnapshotObjectId by given object
Review URL: https://chromiumcodereview.appspot.com/10094011

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@11339 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Fix illegal escape-sequences to throw syntax errors.

R=erik.corry@gmail.com
TEST=test262/S7.8.4_A6.*,test262/S7.8.4_A7.*

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@11340 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Mark test262 failure for known issue.

R=rossberg@chromium.org
BUG=v8:1982
TEST=test262/15.10.4.1-5

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@11341 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Fix malformed test262 status file in r11341.

TBR=rossberg@chromium.org
TEST=test262

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

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

Removed 2 useless functions, nuked a simple helper function with a single caller, and simplified things by changing a signature.

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@11343 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Try aligning unboxed double array backing store in allocation or scavenge promotion.

This CL does not align them during compaction or mark-sweep promotion because we are not using specialized evacuation visitors.

R=erik.corry@gmail.com

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

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