platform/upstream/v8.git
10 years agoFixed flooring division by a power of 2, once again...
svenpanne@chromium.org [Wed, 11 Jun 2014 13:29:25 +0000 (13:29 +0000)]
Fixed flooring division by a power of 2, once again...

Avoid right shifts by zero bits: On ARM it actually means shifting by
32 bits (correctness issue) and on other platforms they are useless
(performance issue). This is fix for the fix in r20544.

BUG=v8:3259
LOG=y
R=yangguo@chromium.org

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

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

10 years agoWhitespace change to trigger bots.
machenbach@chromium.org [Wed, 11 Jun 2014 12:16:14 +0000 (12:16 +0000)]
Whitespace change to trigger bots.

BUG=
TBR=jkummerow@chromium.org

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

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

10 years agoImplement LookupIterator designed to replace LookupResult
verwaest@chromium.org [Wed, 11 Jun 2014 09:59:14 +0000 (09:59 +0000)]
Implement LookupIterator designed to replace LookupResult

BUG=
R=ishell@chromium.org

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

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

10 years agoSet SAHF flag correctly for ia32
svenpanne@chromium.org [Wed, 11 Jun 2014 09:44:14 +0000 (09:44 +0000)]
Set SAHF flag correctly for ia32

sahf flag will not be set for ia32 on some old platform because some old processors does not support CPUID's extended features.
This also avoids redundant cpuid check in ia32 for sahf.

BUG=
R=danno@chromium.org

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

Patch from Weiliang Lin <weiliang.lin@intel.com>.

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

10 years agoFix typos in BUILD.gn source lists
mstarzinger@chromium.org [Wed, 11 Jun 2014 09:42:48 +0000 (09:42 +0000)]
Fix typos in BUILD.gn source lists

"foo,cc" is not the same as "foo.cc"

R=mstarzinger@chromium.org

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

Patch from James Robinson <jamesr@chromium.org>.

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

10 years agoUnbreak build.
svenpanne@chromium.org [Wed, 11 Jun 2014 09:34:25 +0000 (09:34 +0000)]
Unbreak build.

TBR=ulan@chromium.org

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

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

10 years agoRemoved dead API entries.
svenpanne@chromium.org [Wed, 11 Jun 2014 09:12:35 +0000 (09:12 +0000)]
Removed dead API entries.

R=ulan@chromium.org

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

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

10 years agoFix unsigned comparisons.
svenpanne@chromium.org [Wed, 11 Jun 2014 09:09:15 +0000 (09:09 +0000)]
Fix unsigned comparisons.

Instead of marking the comparison instruction itself as Uint32, we
look at its arguments. This is more consistent what HChange does.

BUG=v8:3380
TEST=mjsunit/regress/regress-3380
LOG=y
R=jkummerow@chromium.org

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

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

10 years agoFix GN build.
mstarzinger@chromium.org [Wed, 11 Jun 2014 08:31:13 +0000 (08:31 +0000)]
Fix GN build.

R=machenbach@chromium.org

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

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

10 years agoSimplify string copy in SubStringStub.
yangguo@chromium.org [Wed, 11 Jun 2014 06:59:25 +0000 (06:59 +0000)]
Simplify string copy in SubStringStub.

The optimizations are unnecessary since the maximum
string length they operate on is currently 12.

R=bmeurer@chromium.org
BUG=352155
LOG=N

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

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

10 years agoV8 can clear exception pending message, when should not do this.
yurys@chromium.org [Wed, 11 Jun 2014 05:48:33 +0000 (05:48 +0000)]
V8 can clear exception pending message, when should not do this.

The case:
v8::TryCatch try_catch;
CompileRun(try { CEvaluate('throw 1;'); } finally {});
CHECK(try_catch.HasCaught());
CHECK(!try_catch.Message().IsEmpty());

CEvaluate is native call. Last check is not passed without patch. Patch contains test TryCatchFinallyStoresMessageUsingTryCatchHandler with more details.

R=yangguo@chromium.org, mstarzinger@chromium.org, vsevik@chromium.org

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

Patch from Alexey Kozyatinskiy <kozyatinskiy@google.com>.

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

10 years agoTemporarily disable uint32 mode for comparisons
jkummerow@chromium.org [Tue, 10 Jun 2014 18:54:28 +0000 (18:54 +0000)]
Temporarily disable uint32 mode for comparisons

BUG=v8:3380
LOG=n
R=mstarzinger@chromium.org

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

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

10 years agoRevert "Fix gn build".
mstarzinger@chromium.org [Tue, 10 Jun 2014 15:34:49 +0000 (15:34 +0000)]
Revert "Fix gn build".

This was reverted due to GN build failures while rolling V8 into
Chromium. Locally reproducing it verified that this makes the GN
build pass again.

R=jkummerow@chromium.org, machenbach@chromium.org

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

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

10 years agoAdd arity checks to mjsunit's assertEquals and assertSame
mstarzinger@chromium.org [Tue, 10 Jun 2014 15:19:27 +0000 (15:19 +0000)]
Add arity checks to mjsunit's assertEquals and assertSame

BUG=None
LOG=n
R=mstarzinger@chromium.org

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

Patch from Erik Arvidsson <arv@chromium.org>.

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

10 years agoDo not merge adjourning ranges when calculating percentages in plot.
yangguo@chromium.org [Tue, 10 Jun 2014 14:46:30 +0000 (14:46 +0000)]
Do not merge adjourning ranges when calculating percentages in plot.

R=jkummerow@chromium.org

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

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

10 years agoReland 21720: Introduce FieldIndex to unify and abstract property/field offset
danno@chromium.org [Tue, 10 Jun 2014 14:01:08 +0000 (14:01 +0000)]
Reland 21720: Introduce FieldIndex to unify and abstract property/field offset

R=verwaest@chromium.org

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

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

10 years agoTemporary disabled failing tests on ARM64 no-snap.
mstarzinger@chromium.org [Tue, 10 Jun 2014 13:23:05 +0000 (13:23 +0000)]
Temporary disabled failing tests on ARM64 no-snap.

R=machenbach@chromium.org
TEST=cctest/test-serialize
BUG=v8:3385
LOG=N

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

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

10 years agoRelax assertion in StoreBuffer::FindPointersToNewSpaceInMapsRegion
hpayer@chromium.org [Tue, 10 Jun 2014 12:49:04 +0000 (12:49 +0000)]
Relax assertion in StoreBuffer::FindPointersToNewSpaceInMapsRegion

Since r21232, maps are now a non-power-of-two size and thus don't fit
evenly into a page.  No test case, as it is somewhat difficult to get
this condition to trigger.  It is possible with this case, however:

    var result;

    (function() {
        for (var i = 0; i < 1e7; i++) {
            result = (function*() { yield 1; })();
            result.foo = 1;
        }
    })();

R=hpayer@chromium.org
BUG=

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

Patch from Andy Wingo <wingo@igalia.com>.

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

10 years agoFix invalid attributes when generalizing because of incompatible map change.
bmeurer@chromium.org [Tue, 10 Jun 2014 12:24:54 +0000 (12:24 +0000)]
Fix invalid attributes when generalizing because of incompatible map change.

BUG=382143
LOG=y
TEST=mjsunit/regress/regress-382143
R=verwaest@chromium.org

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

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

10 years agoRevert "Support external startup data in V8."
machenbach@chromium.org [Tue, 10 Jun 2014 10:51:33 +0000 (10:51 +0000)]
Revert "Support external startup data in V8."

This reverts commit r21696 for breaking chromium windows compilation in the chromium cq.

Conflicts:
src/d8.cc

BUG=
R=mstarzinger@chromium.org

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

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

10 years agoRevert "Port 'external startup data' flag from gyp to gn."
mstarzinger@chromium.org [Tue, 10 Jun 2014 10:06:14 +0000 (10:06 +0000)]
Revert "Port 'external startup data' flag from gyp to gn."

This cause compile failures on the GN buildbot about 'gen/v8/libraries.bin'
missing and no known rule to make it.

TBR=vogelheim@chromium.org

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

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

10 years agoUpdate DecodeFieldToSmi to support x32 port.
haitao.feng@intel.com [Tue, 10 Jun 2014 09:52:44 +0000 (09:52 +0000)]
Update DecodeFieldToSmi to support x32 port.

R=verwaest@chromium.org

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

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

10 years agoDo not clear mirror cache when fetching loaded scripts.
yangguo@chromium.org [Tue, 10 Jun 2014 09:42:41 +0000 (09:42 +0000)]
Do not clear mirror cache when fetching loaded scripts.

R=yurys@chromium.org
BUG=376534
LOG=N

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

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

10 years agoLog IC misses as timer events.
yangguo@chromium.org [Tue, 10 Jun 2014 09:34:18 +0000 (09:34 +0000)]
Log IC misses as timer events.

R=jkummerow@chromium.org

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

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

10 years agoMake presubmit script happy again.
svenpanne@chromium.org [Tue, 10 Jun 2014 09:24:00 +0000 (09:24 +0000)]
Make presubmit script happy again.

No clue why this seems to be an issue only for me, though...

R=bmeurer@chromium.org

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

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

10 years agoReuse RelocInfo's IsPatchedDebugBreakSlotSequence() implementation.
yangguo@chromium.org [Tue, 10 Jun 2014 09:16:29 +0000 (09:16 +0000)]
Reuse RelocInfo's IsPatchedDebugBreakSlotSequence() implementation.

RelocInfo::IsPatchedDebugBreakSlotSequence() already does this assembly
check, so just reuse it in BreakLocationIterator::IsDebugBreakAtSlot(),
like the other debug ports do.

R=yangguo@chromium.org

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

Patch from Thiago Farina <tfarina@chromium.org>.

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

10 years agoBugfix in inlined versions of Array.indexOf() and Array.lastIndexOf() with a regressi...
ishell@chromium.org [Tue, 10 Jun 2014 09:01:45 +0000 (09:01 +0000)]
Bugfix in inlined versions of Array.indexOf() and Array.lastIndexOf() with a regression test.

BUG=chromium:381534
LOG=N
R=bmeurer@chromium.org

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

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

10 years agoRevert 21720: "Introduce FieldIndex to unify and abstract property/field offset"
danno@chromium.org [Tue, 10 Jun 2014 09:00:10 +0000 (09:00 +0000)]
Revert 21720: "Introduce FieldIndex to unify and abstract property/field offset"

Due to assorted failures

R=mstarzinger@chromium.org
TBR=mstarzginer@chromium.org

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

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

10 years agoWhitespace change to trigger bots.
machenbach@chromium.org [Tue, 10 Jun 2014 08:51:12 +0000 (08:51 +0000)]
Whitespace change to trigger bots.

BUG=
TBR=jkummerow@chromium.org

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

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

10 years agoX87: Preliminary support for block contexts in hydrogen.
weiliang.lin@intel.com [Tue, 10 Jun 2014 08:09:56 +0000 (08:09 +0000)]
X87: Preliminary support for block contexts in hydrogen.

Port r21684.

Origin message:
   Preliminary support for block contexts in hydrogen.

   Patch from Steven Keuchel <keuchel@chromium.org>;

   BUG=v8:2198
   LOG=N
   TEST=mjsunit/harmony/block-let-crankshaft.js
R=ulan@chromium.org

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

Patch from Chunyang Dai <chunyang.dai@intel.com>.

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

10 years agoAdd whitespace file to allow no-op changelists for bot maintenance.
machenbach@chromium.org [Tue, 10 Jun 2014 07:13:36 +0000 (07:13 +0000)]
Add whitespace file to allow no-op changelists for bot maintenance.

BUG=
TBR=jkummerow@chromium.org

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

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

10 years agoEnsure that constant-capacity elements are initialized on copy
danno@chromium.org [Tue, 10 Jun 2014 04:47:06 +0000 (04:47 +0000)]
Ensure that constant-capacity elements are initialized on copy

R=ishell@chromium.org

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

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

10 years agoFix missing smi check in inlined indexOf/lastIndexOf.
bmeurer@chromium.org [Tue, 10 Jun 2014 04:26:15 +0000 (04:26 +0000)]
Fix missing smi check in inlined indexOf/lastIndexOf.

BUG=382513
LOG=y
R=danno@chromium.org

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

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

10 years agoUpdate DoNumberTagI to support x32 port.
haitao.feng@intel.com [Tue, 10 Jun 2014 04:08:48 +0000 (04:08 +0000)]
Update DoNumberTagI to support x32 port.

R=verwaest@chromium.org

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

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

10 years agoUpdate SmiShiftLeft, SmiShiftLogicalRight, SmiShiftArithmeticRight and SmiDiv to...
haitao.feng@intel.com [Tue, 10 Jun 2014 04:03:51 +0000 (04:03 +0000)]
Update SmiShiftLeft, SmiShiftLogicalRight, SmiShiftArithmeticRight and SmiDiv to support x32 port.

R=verwaest@chromium.org

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

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

10 years agoX87: Introduce FieldIndex to unify and abstract property/field offset
weiliang.lin@intel.com [Tue, 10 Jun 2014 03:43:48 +0000 (03:43 +0000)]
X87: Introduce FieldIndex to unify and abstract property/field offset

port r21720.

Original commit message:
   Introduce FieldIndex to unify and abstract property/field offset.

R=danno@chromium.org

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

Patch from Chunyang Dai <chunyang.dai@intel.com>.

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

10 years agoARM64: Clean up support for explicit literal load.
rodolph.perfetta@arm.com [Mon, 9 Jun 2014 14:23:46 +0000 (14:23 +0000)]
ARM64: Clean up support for explicit literal load.

This is the first patch to improve literal pool handling in arm64. Cleans up
assembler/macro-assembler access to literal pools.

BUG=
R=rmcilroy@chromium.org

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

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

10 years agoMIPS: Introduce FieldIndex to unify and abstract property/field offset.
plind44@gmail.com [Fri, 6 Jun 2014 15:43:19 +0000 (15:43 +0000)]
MIPS: Introduce FieldIndex to unify and abstract property/field offset.

Port r21720 (aeb7bef)

BUG=
R=plind44@gmail.com

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

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

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

10 years agoPort 'external startup data' flag from gyp to gn.
vogelheim@chromium.org [Fri, 6 Jun 2014 14:30:33 +0000 (14:30 +0000)]
Port 'external startup data' flag from gyp to gn.

R=jochen@chromium.org
BUG=

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

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

10 years agoIntroduce FieldIndex to unify and abstract property/field offset
danno@chromium.org [Fri, 6 Jun 2014 14:05:10 +0000 (14:05 +0000)]
Introduce FieldIndex to unify and abstract property/field offset

R=verwaest@chromium.org

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

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

10 years agoDrop unused Object::GetMarkerMap method
jochen@chromium.org [Fri, 6 Jun 2014 13:54:08 +0000 (13:54 +0000)]
Drop unused Object::GetMarkerMap method

R=verwaest@chromium.org
BUG=none
LOG=n

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

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

10 years agoSimplify prototype chain walk in hydrogen
jochen@chromium.org [Fri, 6 Jun 2014 13:33:27 +0000 (13:33 +0000)]
Simplify prototype chain walk in hydrogen

Since we know that we're only encountering JSObjects, we can use the
faster GetPrototype() method to walk up the chain

BUG=none
R=verwaest@chromium.org
LOG=n

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

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

10 years agoRevert "Re-land Clusterfuzz identified overflow check needed in dehoisting."
mvstanton@chromium.org [Fri, 6 Jun 2014 13:16:24 +0000 (13:16 +0000)]
Revert "Re-land Clusterfuzz identified overflow check needed in dehoisting."

This reverts commit r21712

TBR=danno@chromium.org

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

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

10 years agoRe-land Clusterfuzz identified overflow check needed in dehoisting.
mvstanton@chromium.org [Fri, 6 Jun 2014 13:00:07 +0000 (13:00 +0000)]
Re-land Clusterfuzz identified overflow check needed in dehoisting.

Overflow check needs to be smarter.

BUG=380092
R=danno@google.com, danno@chromium.org
LOG=N

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

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

10 years agoField layout in class Arguments is incompatible w\ 64-bit archs.
danno@chromium.org [Fri, 6 Jun 2014 09:57:08 +0000 (09:57 +0000)]
Field layout in class Arguments is incompatible w\ 64-bit archs.

The length_ field must be defined as intptr_t rather than int.  This is
due to the fact that we place native argc/argv values into stack slots
(via SetFrameSlot) and then interpret the slots as a an instance of
Arguments class.

Little endian architectures get 'lucky' that the layout happens to work
with implicit padding.  Big endian is not as lucky.

See Runtime_ArrayConstructor for an example.

Based on
https://github.com/andrewlow/v8/commit/d8c3570f71c0be9914e79139740124bd1ca711a7

BUG=v8:3366
LOG=N
R=danno@chromium.org

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

Patch from Andrew Low <andrew_low@ca.ibm.com>.

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

10 years agoDo not overwrite event logger when we explicitly have --log-timer-events.
yangguo@chromium.org [Fri, 6 Jun 2014 09:50:33 +0000 (09:50 +0000)]
Do not overwrite event logger when we explicitly have --log-timer-events.

R=jkummerow@chromium.org

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

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

10 years agoRevert "Clusterfuzz identified overflow check needed in dehoisting."
mvstanton@chromium.org [Fri, 6 Jun 2014 09:47:14 +0000 (09:47 +0000)]
Revert "Clusterfuzz identified overflow check needed in dehoisting."

This reverts commit r21708, due to ASAN-reported issue.

TBR=danno@chromium.org

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

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

10 years agoClusterfuzz identified overflow check needed in dehoisting.
mvstanton@chromium.org [Fri, 6 Jun 2014 09:12:16 +0000 (09:12 +0000)]
Clusterfuzz identified overflow check needed in dehoisting.

BUG=380092
R=danno@chromium.org
LOG=N

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

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

10 years agoFix bug in tools/plot-timer-events
yangguo@chromium.org [Fri, 6 Jun 2014 08:15:05 +0000 (08:15 +0000)]
Fix bug in tools/plot-timer-events

Bug was introduced in r21338.

R=jkummerow@chromium.org

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

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

10 years agoFix gn build
jochen@chromium.org [Fri, 6 Jun 2014 07:26:23 +0000 (07:26 +0000)]
Fix gn build

BUG=none
TBR=brettw@chromium.org,vogelheim@chromium.org
LOG=n

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

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

10 years agoTurn on harmony_collections for es_staging
adamk@chromium.org [Thu, 5 Jun 2014 18:16:06 +0000 (18:16 +0000)]
Turn on harmony_collections for es_staging

BUG=v8:1622
LOG=Y
R=arv@chromium.org, rossberg@chromium.org

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

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

10 years agoRevert "Grow big old generation slower."
mvstanton@chromium.org [Thu, 5 Jun 2014 17:08:21 +0000 (17:08 +0000)]
Revert "Grow big old generation slower."

This reverts commit r21700 due to Windows compile warnings.

TBR=hpayer@chromium.org

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

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

10 years agoMIPS: Preliminary support for block contexts in hydrogen.
plind44@gmail.com [Thu, 5 Jun 2014 16:47:02 +0000 (16:47 +0000)]
MIPS: Preliminary support for block contexts in hydrogen.

Port r21684 (ea35030)

Original commit message:
Patch from Steven Keuchel <keuchel@chromium.org>

BUG=v8:2198
LOG=N
TEST=mjsunit/harmony/block-let-crankshaft.js
R=plind44@gmail.com

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

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

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

10 years agoGrow big old generation slower.
hpayer@chromium.org [Thu, 5 Jun 2014 15:00:02 +0000 (15:00 +0000)]
Grow big old generation slower.

BUG=
R=ulan@chromium.org

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

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

10 years agoFix presubmit warning.
vogelheim@chromium.org [Thu, 5 Jun 2014 14:04:12 +0000 (14:04 +0000)]
Fix presubmit warning.

(http://build.chromium.org/p/client.v8/builders/V8%20Linux/builds/8147/steps/Presubmit/logs/stdio)

R=mvstanton@chromium.org

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

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

10 years agoRevert "V8 can clear exception pending message, when should not do this."
yurys@chromium.org [Thu, 5 Jun 2014 13:58:57 +0000 (13:58 +0000)]
Revert "V8 can clear exception pending message, when should not do this."

This reverts commit 2c6665a7a21bd38f3dea28eb9b303f913c69be8d. Broke too many tests.

TBR=yangguo@chromium.org
BUG=None
LOG=N

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

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

10 years agoV8 can clear exception pending message, when should not do this.
yurys@chromium.org [Thu, 5 Jun 2014 13:07:53 +0000 (13:07 +0000)]
V8 can clear exception pending message, when should not do this.

The case:
v8::TryCatch try_catch;
CompileRun(try { CEvaluate('throw 1;'); } finally {});
CHECK(try_catch.HasCaught());
CHECK(!try_catch.Message().IsEmpty());

CEvaluate is native call. Last check is not passed without patch. Patch contains test TryCatchFinallyStoresMessageUsingTryCatchHandler with more details.

R=mstarzinger@chromium.org, vsevik@chromium.org, yangguo@chromium.org

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

Patch from Alexey Kozyatinskiy <kozyatinskiy@google.com>.

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

10 years agoSupport external startup data in V8.
vogelheim@chromium.org [Thu, 5 Jun 2014 13:06:21 +0000 (13:06 +0000)]
Support external startup data in V8.

[Retry of crrev.com/293993021, which caused problems with 'ninja all' in Chromium. First patch set if a clean apply
of crrev.com/293993021. Subsequent sets are the actual fix
for that issue.]

If the embedder chooses, the 'natives' (library sources) and the
precompiled startup blob can be written to files during the build
process and handed over to V8 at startup. The main purpose would be
to reduce the size of the compiled binary for space constrained
platforms.

The build-time option is off by default. Nothing should change if
it's not enabled.

BUG=
R=jochen@chromium.org

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

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

10 years agoCompilation API: next step of deprecations.
marja@chromium.org [Thu, 5 Jun 2014 13:02:18 +0000 (13:02 +0000)]
Compilation API: next step of deprecations.

Remove deprecated functions and deprecated Script::GetId (which was supposed to
be deprecated, but Chrome was using it).

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

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

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

10 years agoMark arm div tests as PASS/FAIL.
yangguo@chromium.org [Thu, 5 Jun 2014 12:53:36 +0000 (12:53 +0000)]
Mark arm div tests as PASS/FAIL.

R=machenbach@chromium.org
BUG=v8:3259
LOG=N

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

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

10 years agoMove atomic ops and related files to base library
jochen@chromium.org [Thu, 5 Jun 2014 12:14:47 +0000 (12:14 +0000)]
Move atomic ops and related files to base library

BUG=none
R=jkummerow@chromium.org
LOG=n

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

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

10 years agoEnable concurrent OSR.
yangguo@chromium.org [Thu, 5 Jun 2014 10:26:09 +0000 (10:26 +0000)]
Enable concurrent OSR.

R=jkummerow@chromium.org

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

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

10 years agoDo not make heap iterable eagerly.
yangguo@chromium.org [Thu, 5 Jun 2014 08:56:38 +0000 (08:56 +0000)]
Do not make heap iterable eagerly.

R=jarin@chromium.org
BUG=379740
LOG=Y

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

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

10 years agoARM64: Add and use SmiTagAndPush.
Jacob.Bramley@arm.com [Thu, 5 Jun 2014 08:55:46 +0000 (08:55 +0000)]
ARM64: Add and use SmiTagAndPush.

In some cases, this allows SmiTag and Push to be combined into a single
operation.

BUG=
R=ulan@chromium.org

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

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

10 years agoAddress a few TODOs in the gn config
jochen@chromium.org [Thu, 5 Jun 2014 08:45:24 +0000 (08:45 +0000)]
Address a few TODOs in the gn config

- add direct dependant settings
- only compile mksnapshot on the host toolset

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

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

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

10 years agoMove most of the implementation of AdjustAmountOfExternalMemory to v8.h
jochen@chromium.org [Thu, 5 Jun 2014 08:44:42 +0000 (08:44 +0000)]
Move most of the implementation of AdjustAmountOfExternalMemory to v8.h

This reduces the overhead of reporting allocations to v8 to an
acceptable level.

BUG=none
LOG=n
R=dcarney@chromium.org, hpayer@chromium.org

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

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

10 years agoFix another presubmit error in heap.cc
jochen@chromium.org [Thu, 5 Jun 2014 08:44:00 +0000 (08:44 +0000)]
Fix another presubmit error in heap.cc

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

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

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

10 years agoFix presubmit style error in parser.cc
ulan@chromium.org [Thu, 5 Jun 2014 08:41:29 +0000 (08:41 +0000)]
Fix presubmit style error in parser.cc

BUG=
R=mvstanton@chromium.org

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

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

10 years agoDocumentation: fix comments for CommuteCondition.
titzer@chromium.org [Thu, 5 Jun 2014 08:33:42 +0000 (08:33 +0000)]
Documentation: fix comments for CommuteCondition.

R=jkummerow@google.com, jkummerow@chromium.org
BUG=

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

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

10 years agoPreliminary support for block contexts in hydrogen.
ulan@chromium.org [Thu, 5 Jun 2014 07:33:01 +0000 (07:33 +0000)]
Preliminary support for block contexts in hydrogen.

Patch from Steven Keuchel <keuchel@chromium.org>

BUG=v8:2198
LOG=N
TEST=mjsunit/harmony/block-let-crankshaft.js
R=rossberg@chromium.org

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

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

10 years agoRevert "Folding of bounded dynamic size allocations with const size allocations."
ishell@chromium.org [Wed, 4 Jun 2014 15:21:35 +0000 (15:21 +0000)]
Revert "Folding of bounded dynamic size allocations with const size allocations."

This reverts r21675.

TBR=mvstanton@chromium.org

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

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

10 years agoFix building android gn
jochen@chromium.org [Wed, 4 Jun 2014 15:21:26 +0000 (15:21 +0000)]
Fix building android gn

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

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

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

10 years agoRename ReverseCondition to CommuteCondition, a more standard term.
titzer@chromium.org [Wed, 4 Jun 2014 14:57:51 +0000 (14:57 +0000)]
Rename ReverseCondition to CommuteCondition, a more standard term.

R=dcarney@chromium.org, dcarney
BUG=

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

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

10 years agoRename InvertCondition and ReverseConditionForCmp on arm64 to be consistent with...
titzer@chromium.org [Wed, 4 Jun 2014 13:40:52 +0000 (13:40 +0000)]
Rename InvertCondition and ReverseConditionForCmp on arm64 to be consistent with the other ports.

R=dcarney@chromium.org, dcarney
BUG=

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

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

10 years agoFolding of bounded dynamic size allocations with const size allocations.
ishell@chromium.org [Wed, 4 Jun 2014 13:39:02 +0000 (13:39 +0000)]
Folding of bounded dynamic size allocations with const size allocations.

R=hpayer@chromium.org

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

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

10 years agoFlag --pretenure-call-new broken on MIPS.
mvstanton@chromium.org [Wed, 4 Jun 2014 12:09:10 +0000 (12:09 +0000)]
Flag --pretenure-call-new broken on MIPS.

A label in JSConstructStubHelper was in the wrong place.

R=hpayer@chromium.org

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

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

10 years agoFix regexp=interpreted build.
yangguo@chromium.org [Wed, 4 Jun 2014 11:56:29 +0000 (11:56 +0000)]
Fix regexp=interpreted build.

R=mvstanton@chromium.org

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

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

10 years agoExtend bounds check elimination to constant keys.
yangguo@chromium.org [Wed, 4 Jun 2014 11:52:17 +0000 (11:52 +0000)]
Extend bounds check elimination to constant keys.

R=jkummerow@chromium.org
BUG=v8:3367
LOG=N

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

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

10 years agoImplemented folding of constant size allocation followed by dynamic size allocation.
ishell@chromium.org [Wed, 4 Jun 2014 09:35:41 +0000 (09:35 +0000)]
Implemented folding of constant size allocation followed by dynamic size allocation.
Manually folded allocations (JSArray, JSRegExpResult) are split into two separate allocations.

R=hpayer@chromium.org

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

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

10 years agoX87: Improve write barriers in optimized code.
weiliang.lin@intel.com [Wed, 4 Jun 2014 09:27:16 +0000 (09:27 +0000)]
X87: Improve write barriers in optimized code.

Port r21630 (a21ff10)

Original commit message:
Use a cheaper RecordWriteForMap() to update the
write barrier for maps. And skip the value check
in RecordWriteField() when we statically know that
the value is in new space (and therefore has "pointers
to here are interesting" flag set).

BUG=
R=bmeurer@chromium.org

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

Patch from Chunyang Dai <chunyang.dai@intel.com>.

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

10 years agoRevert "Enable pretenure call new."
mvstanton@chromium.org [Wed, 4 Jun 2014 08:52:00 +0000 (08:52 +0000)]
Revert "Enable pretenure call new."

This reverts commit r21664 due to interesting failures.

TBR=hpayer@chromium.org

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

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

10 years agoRevert "Support external startup data in V8."
mvstanton@chromium.org [Wed, 4 Jun 2014 08:35:42 +0000 (08:35 +0000)]
Revert "Support external startup data in V8."

This reverts commit r21646, as it blocks pushing to chromium.

TBR=vogelheim@chromium.org

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

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

10 years agoFix invalid loop condition for Array.lastIndexOf().
bmeurer@chromium.org [Wed, 4 Jun 2014 08:21:39 +0000 (08:21 +0000)]
Fix invalid loop condition for Array.lastIndexOf().

BUG=380512
LOG=y
R=jarin@chromium.org

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

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

10 years agoEnable pretenure call new.
hpayer@chromium.org [Wed, 4 Jun 2014 07:46:41 +0000 (07:46 +0000)]
Enable pretenure call new.

BUG=
R=mvstanton@chromium.org

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

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

10 years agoIntroduce MakeSureDoubleAlignedHelper for x64 port.
haitao.feng@intel.com [Wed, 4 Jun 2014 06:08:35 +0000 (06:08 +0000)]
Introduce MakeSureDoubleAlignedHelper for x64 port.

R=verwaest@chromium.org

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

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

10 years agoX87: Temporarily skip cctest/test-serialize tests in debug mode
weiliang.lin@intel.com [Wed, 4 Jun 2014 01:40:07 +0000 (01:40 +0000)]
X87: Temporarily skip cctest/test-serialize tests in debug mode

BUG=
R=danno@chromium.org

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

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

10 years agoAdd API support for passing a C++ function as a microtask callback
adamk@chromium.org [Tue, 3 Jun 2014 20:12:19 +0000 (20:12 +0000)]
Add API support for passing a C++ function as a microtask callback

This allows embedders to enqueue microtasks without having any v8::Context
handy, as happens in Blink in some cases (such as DOM mutations due to editing
triggering MutationObservers).

LOG=Y
R=dcarney@chromium.org

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

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

10 years agoMIPS: Improve write barriers in optimized code.
plind44@gmail.com [Tue, 3 Jun 2014 19:23:10 +0000 (19:23 +0000)]
MIPS: Improve write barriers in optimized code.

Port r21630 (a21ff10)

Original commit message:
Use a cheaper RecordWriteForMap() to update the
write barrier for maps. And skip the value check
in RecordWriteField() when we statically know that
the value is in new space (and therefore has "pointers
to here are interesting" flag set).

BUG=
R=plind44@gmail.com

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

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

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

10 years agoRoll buildtools to 5d89977ce55240995d1596fe420b818468f5ec37
jochen@chromium.org [Tue, 3 Jun 2014 18:10:10 +0000 (18:10 +0000)]
Roll buildtools to 5d89977ce55240995d1596fe420b818468f5ec37

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

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

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

10 years agoVisit encountered JSWeakCollection list during scavenging.
mstarzinger@chromium.org [Tue, 3 Jun 2014 17:37:33 +0000 (17:37 +0000)]
Visit encountered JSWeakCollection list during scavenging.

R=hpayer@chromium.org
BUG=chromium:380068
LOG=N

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

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

10 years agoFix Arm release build after r21653
rmcilroy@chromium.org [Tue, 3 Jun 2014 16:41:48 +0000 (16:41 +0000)]
Fix Arm release build after r21653

TBR=ulan@chromium.org

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

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

10 years agoAdd support for extended constant pool arrays.
rmcilroy@chromium.org [Tue, 3 Jun 2014 16:22:10 +0000 (16:22 +0000)]
Add support for extended constant pool arrays.

This CL adds support for ConstantPoolArrays which contain an extended section.
This will be used to enable larger constant pools than can be addressed by a
single ldr with immediate offset instruction (which has a limit of a 4KB range).
Extended constant pools will have a small section, which is addressable via a
single ldr instruction, and an extended section, which will require a multi-
instruction sequence to load from.

Currently, no code uses the extended ConstantPoolArray's - this change will
be made in a followup CL.

A number of changes are made to the ConstantPoolArray object in order to
support this:
  - Small section layout is now entirely defined by the small layout bitmaps.
  - The ConstantPoolArray no longer extends FixedArrayBase since the length
    field is not useful for extended layouts.
  - Enums are used to represent the type of an entry and the layout section.
  - An iterator can be used to iterate through all elements of a given type.
  - A number of tests were added for these features.

R=ulan@chromium.org

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

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

10 years agoMisc cleanup (split from the "delay string / value internalization" CL).
marja@chromium.org [Tue, 3 Jun 2014 16:12:48 +0000 (16:12 +0000)]
Misc cleanup (split from the "delay string / value internalization" CL).

- Missing includes / forward declaration
- Parser: Simplifying calling error reporting funcs.

R=ulan@chromium.org
BUG=

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

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

10 years agoFixed lint errors caused by "runtime/references" rule (Is this a non-const reference...
ishell@chromium.org [Tue, 3 Jun 2014 15:45:38 +0000 (15:45 +0000)]
Fixed lint errors caused by "runtime/references" rule (Is this a non-const reference?) and the rule itself is restored.

BUG=v8:3326
LOG=N
R=jkummerow@chromium.org

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

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

10 years agoFix leaky tests added by r21649.
marja@chromium.org [Tue, 3 Jun 2014 15:39:47 +0000 (15:39 +0000)]
Fix leaky tests added by r21649.

TBR=rossberg@chromium.org
BUG=

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

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

10 years agoAdd tests for FuncNameInferrer.
marja@chromium.org [Tue, 3 Jun 2014 15:02:16 +0000 (15:02 +0000)]
Add tests for FuncNameInferrer.

There were no explicit tests for FuncNameInferrer (though, some tests might
implicitly rely on it working properly in the common cases). Afaics, there were
no tests which would exercise inferring two byte function names or escaped
function names.

R=rossberg@chromium.org
BUG=

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

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

10 years agoLet benchmark runner exit with proper return codes.
machenbach@chromium.org [Tue, 3 Jun 2014 14:58:52 +0000 (14:58 +0000)]
Let benchmark runner exit with proper return codes.

BUG=374740
LOG=n
R=jkummerow@chromium.org

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

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

10 years agoRename EnterDebugger to DebugScope.
yangguo@chromium.org [Tue, 3 Jun 2014 14:39:55 +0000 (14:39 +0000)]
Rename EnterDebugger to DebugScope.

R=ulan@chromium.org

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

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

10 years agoSupport external startup data in V8.
vogelheim@chromium.org [Tue, 3 Jun 2014 14:38:35 +0000 (14:38 +0000)]
Support external startup data in V8.

If the embedder chooses, the 'natives' (library sources) and the
precompiled startup blob can be written to files during the build
process and handed over to V8 at startup. The main purpose would be
to reduce the size of the compiled binary for space constrained
platforms.

The build-time option is off by default. Nothing should change if
it's not enabled.

BUG=
R=bmeurer@chromium.org, jochen@chromium.org

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

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

10 years agoEntering debugger scope should not make debugger active.
yangguo@chromium.org [Tue, 3 Jun 2014 14:33:07 +0000 (14:33 +0000)]
Entering debugger scope should not make debugger active.

The motivation is that by only entering the debugger scope to call into
the debug context should not cause code to be compiled for debugging.

R=ulan@chromium.org

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

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