platform/upstream/v8.git
9 years agoPromise.all and race should work with iterables
arv [Mon, 23 Feb 2015 18:10:07 +0000 (10:10 -0800)]
Promise.all and race should work with iterables

BUG=v8:3705
LOG=N
R=rossberg@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26801}

9 years agoMerge LookupResult into PropertyAccessInfo
verwaest [Mon, 23 Feb 2015 18:05:08 +0000 (10:05 -0800)]
Merge LookupResult into PropertyAccessInfo

BUG=

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

Cr-Commit-Position: refs/heads/master@{#26800}

9 years agoRevert "The expected key is a valid identifier, which is already free of \\, <0x20...
verwaest [Mon, 23 Feb 2015 17:57:04 +0000 (09:57 -0800)]
Revert "The expected key is a valid identifier, which is already free of \\, <0x20, "."
The optimization is invalid as indicated by the test.

BUG=
TBR=yangguo@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26799}

9 years agoBump up version for 4.3 candidate.
machenbach [Mon, 23 Feb 2015 14:44:24 +0000 (06:44 -0800)]
Bump up version for 4.3 candidate.

NOTRY=true
TBR=jkummerow@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26798}

9 years agoMIPS: [turbofan] Fix several int vs size_t issues.
balazs.kilvady [Mon, 23 Feb 2015 13:59:14 +0000 (05:59 -0800)]
MIPS: [turbofan] Fix several int vs size_t issues.

Port 9c1407da781b38d66b6465118d41f61c66cba12b

BUG=

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

Cr-Commit-Position: refs/heads/master@{#26797}

9 years agoemit premonomorphic ics for loads/stores in optimized code
dcarney [Mon, 23 Feb 2015 12:34:07 +0000 (04:34 -0800)]
emit premonomorphic ics for loads/stores in optimized code

R=verwaest@chromium.org

BUG=

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

Cr-Commit-Position: refs/heads/master@{#26796}

9 years agoMore tests added to cctest/tests/test-migrations.cc.
ishell [Mon, 23 Feb 2015 11:59:44 +0000 (03:59 -0800)]
More tests added to cctest/tests/test-migrations.cc.

This also includes a regression test for crbug/459512.

BUG=chromium:459512
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#26795}

9 years agodisable some harmony scoping tests
dcarney [Mon, 23 Feb 2015 11:58:45 +0000 (03:58 -0800)]
disable some harmony scoping tests

R=verwaest@chromium.org

BUG=v8:3914
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#26794}

9 years agoMIPS64: Implement optimization utilizing signaling NaN for holes in double arrays.
dusan.milosavljevic [Mon, 23 Feb 2015 10:27:17 +0000 (02:27 -0800)]
MIPS64: Implement optimization utilizing signaling NaN for holes in double arrays.

TEST=
BUG=

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

Cr-Commit-Position: refs/heads/master@{#26793}

9 years agoRevert of Correctly propagate terminate exception in TryCall. (patchset #2 id:20001...
machenbach [Mon, 23 Feb 2015 07:17:16 +0000 (23:17 -0800)]
Revert of Correctly propagate terminate exception in TryCall. (patchset #2 id:20001 of https://codereview.chromium.org/928193002/)

Reason for revert:
See crbug.com/460412 and crbug.com/460356. Reverting on master in order to roll from master again soon.

Original issue's description:
> Correctly propagate terminate exception in TryCall.
>
> BUG=v8:3892
> LOG=Y
>
> Committed: https://crrev.com/a49b55b78844557b65a98e7a77dd26078157ed7f
> Cr-Commit-Position: refs/heads/master@{#26685}

TBR=ishell@chromium.org,yangguo@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:3892

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

Cr-Commit-Position: refs/heads/master@{#26792}

9 years agoRevert of [x64] Improve instruction selection for TruncateInt64ToInt32. (patchset...
bmeurer [Mon, 23 Feb 2015 07:09:13 +0000 (23:09 -0800)]
Revert of [x64] Improve instruction selection for TruncateInt64ToInt32. (patchset #1 id:1 of https://codereview.chromium.org/936323004/)

Reason for revert:
Breaks SQLite

Original issue's description:
> [x64] Improve instruction selection for TruncateInt64ToInt32.
>
> R=svenpanne@chromium.org
>
> Committed: https://crrev.com/64a2717529e2197f3a789adabf86ca36f5eb764c
> Cr-Commit-Position: refs/heads/master@{#26739}

TBR=svenpanne@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#26791}

9 years ago[linux] Use _GLIBCXX_DEBUG in Debug builds by default for better checking.
bmeurer [Mon, 23 Feb 2015 06:13:43 +0000 (22:13 -0800)]
[linux] Use _GLIBCXX_DEBUG in Debug builds by default for better checking.

The _GLIBCXX_DEBUG macro is now set by default for Linux Debug builds
and can be disabled using the disable_glibcxx_debug=1 setting
(compatible with Chrome).  This will help us catch problems earlier.

BUG=v8:3638
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#26790}

9 years ago[turbofan] Fix several int vs size_t issues.
bmeurer [Mon, 23 Feb 2015 05:42:57 +0000 (21:42 -0800)]
[turbofan] Fix several int vs size_t issues.

R=svenpanne@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26789}

9 years agoReplace is_reference_error bool argument with ParseErrorType enum
adamk [Fri, 20 Feb 2015 21:19:43 +0000 (13:19 -0800)]
Replace is_reference_error bool argument with ParseErrorType enum

This avoids accidental coercion-to-bool when calling ReportMessage()
in the parser (e.g., from pointer types), and as a bonus makes callsites
easier to read.

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

Cr-Commit-Position: refs/heads/master@{#26788}

9 years agoFix issue with -0 in Maps
arv [Fri, 20 Feb 2015 21:02:40 +0000 (13:02 -0800)]
Fix issue with -0 in Maps

Because we generated a different hash code for 0 and -0 we ended up
not even getting to the SameValueZero check.

BUG=v8:3906
LOG=N
R=adamk

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

Cr-Commit-Position: refs/heads/master@{#26787}

9 years agoES6: Fix GetIterator
arv [Fri, 20 Feb 2015 20:07:08 +0000 (12:07 -0800)]
ES6: Fix GetIterator

After further spec reading it turns out that we should not do ToObject
on the iterable.

BUG=None
LOG=N
R=adamk

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

Cr-Commit-Position: refs/heads/master@{#26786}

9 years agoMIPS: Fix label position types in binding code.
balazs.kilvady [Fri, 20 Feb 2015 19:29:28 +0000 (11:29 -0800)]
MIPS: Fix label position types in binding code.

Also some target_at and target_at_put uniformed on mips and mips64.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#26785}

9 years agoChange bit pattern of hole nan to reflect different sNan encoding on mips HW.
dusan.milosavljevic [Fri, 20 Feb 2015 19:09:18 +0000 (11:09 -0800)]
Change bit pattern of hole nan to reflect different sNan encoding on mips HW.

TEST=
BUG=

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

Cr-Commit-Position: refs/heads/master@{#26784}

9 years agoEmit exception handler table in TurboFan.
mstarzinger [Fri, 20 Feb 2015 16:22:41 +0000 (08:22 -0800)]
Emit exception handler table in TurboFan.

R=bmeurer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26783}

9 years agoConstant-fold strings in HGraphBuilder::BuildBinaryOperation.
yangguo [Fri, 20 Feb 2015 16:16:58 +0000 (08:16 -0800)]
Constant-fold strings in HGraphBuilder::BuildBinaryOperation.

R=vegorov@chromium.org
BUG=v8:3325
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#26782}

9 years agoOnly normalize prototypes in OptimizeAsPrototype if it would benefit.
verwaest [Fri, 20 Feb 2015 15:29:49 +0000 (07:29 -0800)]
Only normalize prototypes in OptimizeAsPrototype if it would benefit.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#26781}

9 years agoCpuProfiler: move StringsStorage class to separate source and header files.
loislo [Fri, 20 Feb 2015 15:15:49 +0000 (07:15 -0800)]
CpuProfiler: move StringsStorage class to separate source and header files.

Mechanical change.

This will break dependency between profiler-generator and heap-profiler-generator.
Later this will help us to reuse SourcePosition in cpu-profiler.

BUG=452067
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#26780}

9 years agoFix GC-unsafe use of BreakLocationIterator.
yangguo [Fri, 20 Feb 2015 14:47:20 +0000 (06:47 -0800)]
Fix GC-unsafe use of BreakLocationIterator.

R=svenpanne@chromium.org
BUG=v8:3776
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#26779}

9 years agoCleanup scheduler unit test a bit.
mstarzinger [Fri, 20 Feb 2015 14:20:09 +0000 (06:20 -0800)]
Cleanup scheduler unit test a bit.

R=bmeurer@chromium.org
TEST=unittests/SchedulerTest,unittests/SchedulerRPOTest

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

Cr-Commit-Position: refs/heads/master@{#26778}

9 years agoAdd missing test for CollectControlProjections on calls.
mstarzinger [Fri, 20 Feb 2015 14:05:10 +0000 (06:05 -0800)]
Add missing test for CollectControlProjections on calls.

R=bmeurer@chromium.org
TEST=unittests/NodePropertiesTest.CollectControlProjections_Call

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

Cr-Commit-Position: refs/heads/master@{#26777}

9 years agoWhitespace change to test new CQ config.
machenbach [Fri, 20 Feb 2015 13:47:31 +0000 (05:47 -0800)]
Whitespace change to test new CQ config.

TBR=tandrii@chromium.org,

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

Cr-Commit-Position: refs/heads/master@{#26776}

9 years agoCpuProfiler: eliminate cpu-profiler dependency from heap-inl.h
loislo [Fri, 20 Feb 2015 13:28:42 +0000 (05:28 -0800)]
CpuProfiler: eliminate cpu-profiler dependency from heap-inl.h

We accessed to cpu_profiler for tracking SharedFunctionInfo objects movements and used their addresses for generating function_id. Actually we could replace the manually generated shared_id by the pair script_id + position. In this case we can drop SharedFunctionInfo events support from cpu_profiler and remove the dependency.

BTW GetCallUid was used as an unique identifier of the function on the front-end side. Actually it is a hash which might not be unique. So I renamed GetCallUid with GetHash and implemented GetFunctionId method.

BUG=452067
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#26775}

9 years agoFix CQ config.
Michael Achenbach [Fri, 20 Feb 2015 12:57:22 +0000 (13:57 +0100)]
Fix CQ config.

R=tandrii@chromium.org
TBR=tandrii@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26774}

9 years ago[turbofan] Don't compute unneeded gray set in AllNodes.
bmeurer [Fri, 20 Feb 2015 12:30:23 +0000 (04:30 -0800)]
[turbofan] Don't compute unneeded gray set in AllNodes.

R=titzer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26773}

9 years agoImmediately "optimize as prototype" when setting as prototype of a function.
verwaest [Fri, 20 Feb 2015 12:23:54 +0000 (04:23 -0800)]
Immediately "optimize as prototype" when setting as prototype of a function.

This saves space since OptimizeAsPrototype detaches from the transition tree, reclaiming intermediate maps. On gmail this corresponds to roughly 20% of all maps.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#26772}

9 years agoMigrate CQ trybot config to v8 repo.
machenbach [Fri, 20 Feb 2015 12:12:35 +0000 (04:12 -0800)]
Migrate CQ trybot config to v8 repo.

TBR=tandrii@chromium.org
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#26771}

9 years agoThere are no evacuation candidates and slot buffers when marking is started.
hpayer [Fri, 20 Feb 2015 11:35:36 +0000 (03:35 -0800)]
There are no evacuation candidates and slot buffers when marking is started.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#26770}

9 years agoDisable failing debug tests in gc-stress.
Yang Guo [Fri, 20 Feb 2015 11:15:17 +0000 (12:15 +0100)]
Disable failing debug tests in gc-stress.

TBR=machenbach@chromium.org
BUG=v8:3776
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#26769}

9 years agoSimplify computation of environment stack delta.
mstarzinger [Fri, 20 Feb 2015 10:48:05 +0000 (02:48 -0800)]
Simplify computation of environment stack delta.

R=titzer@chromium.org
TEST=cctest/test-run-jsexceptions/CatchCall

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

Cr-Commit-Position: refs/heads/master@{#26768}

9 years ago[turbofan] Finally get rid of the generic algorithm.
Benedikt Meurer [Fri, 20 Feb 2015 10:11:45 +0000 (11:11 +0100)]
[turbofan] Finally get rid of the generic algorithm.

R=svenpanne@chromium.org

Committed: https://crrev.com/5bbe693e4817011b6a496c638c9f09026fd3dac9
Cr-Commit-Position: refs/heads/master@{#26760}

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

Cr-Commit-Position: refs/heads/master@{#26767}

9 years agoModel exceptional edges from call nodes in TurboFan.
mstarzinger [Fri, 20 Feb 2015 09:54:49 +0000 (01:54 -0800)]
Model exceptional edges from call nodes in TurboFan.

R=titzer@chromium.org,bmeurer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26766}

9 years agoPass Isolate* more explicitly in Parser, with less reliance on info->isolate().
titzer [Fri, 20 Feb 2015 09:39:32 +0000 (01:39 -0800)]
Pass Isolate* more explicitly in Parser, with less reliance on info->isolate().

R=marja@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#26765}

9 years agoLimit size of first page based on serialized data.
yangguo [Fri, 20 Feb 2015 09:34:00 +0000 (01:34 -0800)]
Limit size of first page based on serialized data.

R=hpayer@chromium.org
BUG=chromium:453111
LOG=Y

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

Cr-Commit-Position: refs/heads/master@{#26764}

9 years agoRevert of [turbofan] Finally get rid of the generic algorithm. (patchset #2 id:20001...
machenbach [Fri, 20 Feb 2015 09:14:37 +0000 (01:14 -0800)]
Revert of [turbofan] Finally get rid of the generic algorithm. (patchset #2 id:20001 of https://codereview.chromium.org/944803002/)

Reason for revert:
Breaks dbg builds.

Original issue's description:
> [turbofan] Finally get rid of the generic algorithm.
>
> R=svenpanne@chromium.org
>
> Committed: https://crrev.com/5bbe693e4817011b6a496c638c9f09026fd3dac9
> Cr-Commit-Position: refs/heads/master@{#26760}

TBR=svenpanne@chromium.org,bmeurer@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#26763}

9 years agoContribution of PowerPC port (continuation of 422063005) - PPC dir update 2 - mark2
michael_dawson [Fri, 20 Feb 2015 09:00:36 +0000 (01:00 -0800)]
Contribution of PowerPC port (continuation of 422063005) - PPC dir update 2 - mark2

Rebase to latest and use branch created by git new-branch to get a patch that
only has the required changes.  Created new branch, reset to HEAD and then
cherry picked across the changes

modified:   src/compiler/ppc/code-generator-ppc.cc
modified:   src/compiler/ppc/instruction-selector-ppc.cc
modified:   src/disassembler.cc
modified:   src/ic/ppc/handler-compiler-ppc.cc
modified:   src/ic/ppc/ic-compiler-ppc.cc
modified:   src/ppc/assembler-ppc-inl.h
modified:   src/ppc/assembler-ppc.cc
modified:   src/ppc/assembler-ppc.h
modified:   src/ppc/builtins-ppc.cc
modified:   src/ppc/code-stubs-ppc.cc
modified:   src/ppc/deoptimizer-ppc.cc
modified:   src/ppc/disasm-ppc.cc
modified:   src/ppc/full-codegen-ppc.cc
modified:   src/ppc/macro-assembler-ppc.cc
modified:   src/serialize.cc

R=danno@chromium.org, svenpanne@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26762}

9 years agoAdd sheriff details to roll commit message.
machenbach [Fri, 20 Feb 2015 08:50:39 +0000 (00:50 -0800)]
Add sheriff details to roll commit message.

Add a link with instructions about how to assign v8
issues to the chromium roll commit message.

Remove googler mapping feature as it doesn't apply anymore
to any generalist sheriff.

NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#26761}

9 years ago[turbofan] Finally get rid of the generic algorithm.
Benedikt Meurer [Fri, 20 Feb 2015 08:42:29 +0000 (09:42 +0100)]
[turbofan] Finally get rid of the generic algorithm.

R=svenpanne@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26760}

9 years agoAlign GetIterator with ES6 spec
arv [Thu, 19 Feb 2015 21:38:04 +0000 (13:38 -0800)]
Align GetIterator with ES6 spec

BUG=None
LOG=N
R=adamk

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

Cr-Commit-Position: refs/heads/master@{#26759}

9 years agoTeach ModuleDescriptor about basic local exports
adamk [Thu, 19 Feb 2015 20:14:55 +0000 (12:14 -0800)]
Teach ModuleDescriptor about basic local exports

Add() becomes AddLocalExport, which takes an export_name and a local_name.
New parsing tests exercise this.

Also start generating exports for default exports (though this doesn't yet
handle anonymous default exports).

BUG=v8:1569
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#26758}

9 years agoPut more information to the stack when crbug/454297 happens.
ishell [Thu, 19 Feb 2015 18:51:12 +0000 (10:51 -0800)]
Put more information to the stack when crbug/454297 happens.

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

Cr-Commit-Position: refs/heads/master@{#26757}

9 years agoMIPS: Silence warnings and unbreak optdebug build for target.
svetozar.janjic [Thu, 19 Feb 2015 18:25:41 +0000 (10:25 -0800)]
MIPS: Silence warnings and unbreak optdebug build for target.

This is a temporary workaround for bogus array-bounds warning, due to bug in MIPS toolchain versions 4.8.2 and 4.9.2.

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56273

TEST=
BUG=

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

Cr-Commit-Position: refs/heads/master@{#26756}

9 years ago[strong] make function and class declarations lexical & immutable
rossberg [Thu, 19 Feb 2015 16:49:11 +0000 (08:49 -0800)]
[strong] make function and class declarations lexical & immutable

R=arv@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#26755}

9 years agoSuper store
arv [Thu, 19 Feb 2015 16:15:25 +0000 (08:15 -0800)]
Super store

When the property is not found on the [[HomeObject]] prototype chain
then we should do a [[DefineOwnProperty]] on the instance.

BUG=v8:3330
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#26754}

9 years ago[strong] Deprecate arguments
rossberg [Thu, 19 Feb 2015 14:58:32 +0000 (06:58 -0800)]
[strong] Deprecate arguments

R=marja@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#26753}

9 years agoMinor tools/grokdump improvements: avoid some None dereferences and add some line...
ishell [Thu, 19 Feb 2015 14:36:12 +0000 (06:36 -0800)]
Minor tools/grokdump improvements: avoid some None dereferences and add some line breaks to generated html pages.

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

Cr-Commit-Position: refs/heads/master@{#26752}

9 years ago[strong] Deprecate for-in
rossberg [Thu, 19 Feb 2015 13:50:33 +0000 (05:50 -0800)]
[strong] Deprecate for-in

R=marja@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#26751}

9 years agoKeep cl trybots in sync with cq.
machenbach [Thu, 19 Feb 2015 13:48:21 +0000 (05:48 -0800)]
Keep cl trybots in sync with cq.

TBR=bmeurer@chromium.org
BUG=chromium:353487
LOG=n
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#26750}

9 years agoReflect debug mode build in flags hash.
yangguo [Thu, 19 Feb 2015 13:11:23 +0000 (05:11 -0800)]
Reflect debug mode build in flags hash.

R=vogelheim@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26749}

9 years agoEmbed store callback in handler via weak cell.
ulan [Thu, 19 Feb 2015 13:10:06 +0000 (05:10 -0800)]
Embed store callback in handler via weak cell.

BUG=chromium:454619
LOG=NO

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

Cr-Commit-Position: refs/heads/master@{#26748}

9 years agoClear Map::constructor to object_function from the same context for prototype maps...
verwaest [Thu, 19 Feb 2015 13:01:52 +0000 (05:01 -0800)]
Clear Map::constructor to object_function from the same context for prototype maps. This avoids keeping small pockets of memory alive for the common pattern where prototypes are used to emulate classes:

function inherit(parent, child) {
  function p() {}
  p.prototype = parent.prototype;
  child.prototype = new p();
}

Otherwise child.prototype[constructor] keeps alive p, p's context, the
initial map attached to p, and the (now empty) transition array of the
initial map.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#26747}

9 years ago[turbofan] Transfer types from loop phis to OSR values.
titzer [Thu, 19 Feb 2015 12:38:44 +0000 (04:38 -0800)]
[turbofan] Transfer types from loop phis to OSR values.

R=jarin@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#26746}

9 years ago[turbofan] Simplify context specialization and fix for OSR.
titzer [Thu, 19 Feb 2015 11:36:38 +0000 (03:36 -0800)]
[turbofan] Simplify context specialization and fix for OSR.

AstGraphBuilder puts a constant context in from the beginning.
Also fix bug in merging contexts in environment.

R=mstarzinger@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#26745}

9 years agoMake generator constructors configurable
rossberg [Thu, 19 Feb 2015 11:30:25 +0000 (03:30 -0800)]
Make generator constructors configurable

R=mstarzinger@chromium.org
BUG=v8:3902
LOG=Y

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

Cr-Commit-Position: refs/heads/master@{#26744}

9 years ago[turbofan] Fix typing of comparisons.
jarin [Thu, 19 Feb 2015 10:56:18 +0000 (02:56 -0800)]
[turbofan] Fix typing of comparisons.

BUG=chromium:459955
LOG=n
R=bmeurer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26743}

9 years agoRevert of [x64] Generate test reg,reg instead of cmp reg,0. (patchset #2 id:20001...
bmeurer [Thu, 19 Feb 2015 10:38:24 +0000 (02:38 -0800)]
Revert of [x64] Generate test reg,reg instead of cmp reg,0. (patchset #2 id:20001 of https://codereview.chromium.org/916543004/)

Reason for revert:
Tanks some benchmarks (for no obvious reason)

Original issue's description:
> [x64] Generate test reg,reg instead of cmp reg,0.
>
> The instruction sequence is shorter and saves decoding bandwidth.
>
> R=svenpanne@chromium.org
>
> Committed: https://crrev.com/a7fb5ed400701b22c455d0ad410bc98b211e5730
> Cr-Commit-Position: refs/heads/master@{#26734}

TBR=svenpanne@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#26742}

9 years agoA few tests fails when I run them with --hydrogen-track-positions
loislo [Thu, 19 Feb 2015 10:07:46 +0000 (02:07 -0800)]
A few tests fails when I run them with --hydrogen-track-positions

The root of problem is the fact that we don't track the position of 'this' statement but use them when visit compare statement.
As a result we have -1 as the position of left expression and the resulting relative position is negative and doesn't fit into BitField.

BUG=452067
TEST=test-cpu-profiler/SourceLocation
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#26741}

9 years agoRevert "Remove IC age from Code."
ulan [Thu, 19 Feb 2015 09:56:06 +0000 (01:56 -0800)]
Revert "Remove IC age from Code."

This reverts commit 3cd889 for regressing Kraken benchmark

BUG=chromium:457174
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#26740}

9 years ago[x64] Improve instruction selection for TruncateInt64ToInt32.
Benedikt Meurer [Thu, 19 Feb 2015 09:41:39 +0000 (10:41 +0100)]
[x64] Improve instruction selection for TruncateInt64ToInt32.

R=svenpanne@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26739}

9 years agoUnlink pages from the space page list after evacuation.
hpayer [Thu, 19 Feb 2015 09:28:44 +0000 (01:28 -0800)]
Unlink pages from the space page list after evacuation.

BUG=430201
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#26738}

9 years agoRevert of Remove handle wrappers from basic elements accessors (patchset #2 id:20001...
verwaest [Thu, 19 Feb 2015 09:04:49 +0000 (01:04 -0800)]
Revert of Remove handle wrappers from basic elements accessors (patchset #2 id:20001 of https://codereview.chromium.org/934173004/)

Reason for revert:
Breakage

Original issue's description:
> Remove handle wrappers from basic elements accessors
>
> BUG=
> R=yangguo@chromium.org
>
> Committed: https://crrev.com/40b7c513c696f405af0ae3e74e844d3c341bc3f2
> Cr-Commit-Position: refs/heads/master@{#26736}

TBR=yangguo@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=

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

Cr-Commit-Position: refs/heads/master@{#26737}

9 years agoRemove handle wrappers from basic elements accessors
Toon Verwaest [Thu, 19 Feb 2015 08:17:55 +0000 (09:17 +0100)]
Remove handle wrappers from basic elements accessors

BUG=
R=yangguo@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26736}

9 years agoRemove receiver as parameter to Get/Has Element in the accessors.
Toon Verwaest [Thu, 19 Feb 2015 08:13:33 +0000 (09:13 +0100)]
Remove receiver as parameter to Get/Has Element in the accessors.

BUG=
R=bmeurer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26735}

9 years ago[x64] Generate test reg,reg instead of cmp reg,0.
Benedikt Meurer [Thu, 19 Feb 2015 07:45:35 +0000 (08:45 +0100)]
[x64] Generate test reg,reg instead of cmp reg,0.

The instruction sequence is shorter and saves decoding bandwidth.

R=svenpanne@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26734}

9 years agoCleanup: Remove DCHECK_RESULT macro.
tfarina [Thu, 19 Feb 2015 05:47:31 +0000 (21:47 -0800)]
Cleanup: Remove DCHECK_RESULT macro.

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

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

Cr-Commit-Position: refs/heads/master@{#26733}

9 years agoUpdate V8 DEPS.
v8-autoroll [Thu, 19 Feb 2015 04:48:24 +0000 (20:48 -0800)]
Update V8 DEPS.

Rolling v8/build/gyp to 34640080d08ab2a37665512e52142947def3056d

Rolling v8/tools/clang to f6daa55d03995e82201a3278203e7c0421a59546

TBR=machenbach@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26732}

9 years agoFixed incorrect generalization of types in Map::ReconfigureProperty() introduced...
ishell@chromium.org [Wed, 18 Feb 2015 22:58:00 +0000 (23:58 +0100)]
Fixed incorrect generalization of types in Map::ReconfigureProperty() introduced in r26667.

BUG=chromium:459512
LOG=N
TBR=verwaest@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26731}

9 years agoKeep cl trybots in sync with cq.
machenbach [Wed, 18 Feb 2015 19:31:26 +0000 (11:31 -0800)]
Keep cl trybots in sync with cq.

NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#26730}

9 years agoMIPS: Fix 'MIPS: [turbofan] Optimize certain chains of Branch into a Switch.'
balazs.kilvady [Wed, 18 Feb 2015 18:41:46 +0000 (10:41 -0800)]
MIPS: Fix 'MIPS: [turbofan] Optimize certain chains of Branch into a Switch.'

Space and time constants fixed. Delay slot optimisations added.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#26729}

9 years agoRename Interface to ModuleDescriptor
adamk [Wed, 18 Feb 2015 18:25:00 +0000 (10:25 -0800)]
Rename Interface to ModuleDescriptor

ModuleDescriptor will end up holding the set of data described in the
spec as a "Module record". This introduces a little bit of confusion
with ModuleInfo, but I hope that'll become clearer over time.

Also removed the interface-printing flags. We probably want
Module-printing flags, but that can wait until we have more
Module-related structures.

BUG=v8:1569
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#26728}

9 years agoTemporarily disable double fields unboxing.
ishell [Wed, 18 Feb 2015 16:44:53 +0000 (08:44 -0800)]
Temporarily disable double fields unboxing.

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

Cr-Commit-Position: refs/heads/master@{#26727}

9 years ago[strong] Remove a regression test for "use before var".
marja [Wed, 18 Feb 2015 16:12:46 +0000 (08:12 -0800)]
[strong] Remove a regression test for "use before var".

This case should break in strong mode (unlike previously thought).

R=rossberg@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#26726}

9 years agoThe expected key is a valid identifier, which is already free of \\, <0x20, ".
verwaest [Wed, 18 Feb 2015 15:48:30 +0000 (07:48 -0800)]
The expected key is a valid identifier, which is already free of \\, <0x20, ".

BUG=

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

Cr-Commit-Position: refs/heads/master@{#26725}

9 years agoMake gcmole execute in parallel.
machenbach [Wed, 18 Feb 2015 15:35:22 +0000 (07:35 -0800)]
Make gcmole execute in parallel.

TBR=tandrii@chromium.org
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#26724}

9 years agoMake gcmole correctly handle 32 bit architectures.
machenbach [Wed, 18 Feb 2015 14:50:58 +0000 (06:50 -0800)]
Make gcmole correctly handle 32 bit architectures.

NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#26723}

9 years ago[ARM64] removed unused variable.
rodolph.perfetta [Wed, 18 Feb 2015 14:42:01 +0000 (06:42 -0800)]
[ARM64] removed unused variable.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#26722}

9 years agoFix for cctest/test-api/SetJitCodeEventHandler: generate less objects during executio...
ishell [Wed, 18 Feb 2015 14:02:53 +0000 (06:02 -0800)]
Fix for cctest/test-api/SetJitCodeEventHandler: generate less objects during execution to avoid unwanted GCs.

BUG=v8:3899
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#26721}

9 years agoIntroduce and test NodeProperties::CollectControlProjections.
mstarzinger [Wed, 18 Feb 2015 13:55:24 +0000 (05:55 -0800)]
Introduce and test NodeProperties::CollectControlProjections.

R=bmeurer@chromium.org
TEST=unittests/NodePropertiesTest.CollectControlProjections

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

Cr-Commit-Position: refs/heads/master@{#26720}

9 years agoFix sampling of V8.DetachedContextAgeInGC histogram.
ulan [Wed, 18 Feb 2015 13:50:41 +0000 (05:50 -0800)]
Fix sampling of V8.DetachedContextAgeInGC histogram.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#26719}

9 years agoMove LookupResult into crankshaft as that's now the only place where it's still used
verwaest [Wed, 18 Feb 2015 13:21:34 +0000 (05:21 -0800)]
Move LookupResult into crankshaft as that's now the only place where it's still used
Additionally handlify the "transition" field so that GC can stop caring about it.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#26718}

9 years agoRemove the holder_ field from LookupResult
verwaest [Wed, 18 Feb 2015 11:21:09 +0000 (03:21 -0800)]
Remove the holder_ field from LookupResult

BUG=

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

Cr-Commit-Position: refs/heads/master@{#26717}

9 years agoFix JSObjectFieldAccessor support in crankshaft
verwaest [Wed, 18 Feb 2015 11:17:59 +0000 (03:17 -0800)]
Fix JSObjectFieldAccessor support in crankshaft

BUG=459459
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#26716}

9 years agoAlways shrink initial old generation size based on survival rate.
hpayer [Wed, 18 Feb 2015 10:50:19 +0000 (02:50 -0800)]
Always shrink initial old generation size based on survival rate.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#26715}

9 years agoSimplify handling of stack overflows in AstGraphBuilder.
mstarzinger [Wed, 18 Feb 2015 09:37:40 +0000 (01:37 -0800)]
Simplify handling of stack overflows in AstGraphBuilder.

R=titzer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26714}

9 years agoAdjust types in SourcePosition. int -> uint32_t
loislo [Wed, 18 Feb 2015 07:33:20 +0000 (23:33 -0800)]
Adjust types in SourcePosition. int -> uint32_t

BUG=
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#26713}

9 years ago[x64] Recognize zero extension of 8-bit and 16-bit values.
bmeurer [Wed, 18 Feb 2015 07:06:03 +0000 (23:06 -0800)]
[x64] Recognize zero extension of 8-bit and 16-bit values.

R=svenpanne@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26712}

9 years agoMIPS: Stop using HeapType in IC and Crankshaft
akos.palfi [Wed, 18 Feb 2015 07:00:52 +0000 (23:00 -0800)]
MIPS: Stop using HeapType in IC and Crankshaft

Port 119cb5661724006b736fcb6484258c752125e372

BUG=

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

Cr-Commit-Position: refs/heads/master@{#26711}

9 years ago[tests]: fix exponentiation in harmony array-concat tests
caitpotter88 [Tue, 17 Feb 2015 22:27:59 +0000 (14:27 -0800)]
[tests]: fix exponentiation in harmony array-concat tests

BUG=
LOG=N
R=adamk@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26710}

9 years agoReship classes & object literal extensions
rossberg [Tue, 17 Feb 2015 21:06:19 +0000 (13:06 -0800)]
Reship classes & object literal extensions

R=arv@chromium.org,marja@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#26709}

9 years agoStrip Interface class of most of its logic, make it all about Module exports
adamk [Tue, 17 Feb 2015 20:51:24 +0000 (12:51 -0800)]
Strip Interface class of most of its logic, make it all about Module exports

This gets Variable and VariableProxy out of the business of worrying about
Interfaces.

At the same time, get rid of the notion of "module variables". In ES6, variables
that refer to modules will be simply be CONST bindings to module namespace
objects.

The only change in logic here is one more early error:
duplicate export names are now rejected.

BUG=v8:1569
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#26708}

9 years agoMIPS: [turbofan] Optimize certain chains of Branch into a Switch.
balazs.kilvady [Tue, 17 Feb 2015 20:44:00 +0000 (12:44 -0800)]
MIPS: [turbofan] Optimize certain chains of Branch into a Switch.

Port acd9c46ca7a0ada723d717f2545fd484c824eaa2

Original commit message:
This adds a new ControlFlowOptimizer that - for now - recognizes chains
of Branches generated by the SwitchBuilder for a subset of javascript
switches into Switch nodes. Those Switch nodes are then lowered to
either table or lookup switches.

Also rename Case to IfValue (and introduce IfDefault) for consistency.

BUG=v8:3872
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#26707}

9 years agoRemove redundant helpers from JSGenericLowering.
mstarzinger [Tue, 17 Feb 2015 18:38:46 +0000 (10:38 -0800)]
Remove redundant helpers from JSGenericLowering.

R=bmeurer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26706}

9 years ago[turbofan] Rename context stack as part of the environment for OSR.
titzer [Tue, 17 Feb 2015 18:10:02 +0000 (10:10 -0800)]
[turbofan] Rename context stack as part of the environment for OSR.

R=mstarzinger@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#26705}

9 years agoConvert to immutable heap number when materializing arguments object.
jarin [Tue, 17 Feb 2015 18:08:54 +0000 (10:08 -0800)]
Convert to immutable heap number when materializing arguments object.

BUG=chromium:457935
LOG=n
R=ishell@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26704}

9 years agoFix compilation in release mode.
Michael Starzinger [Tue, 17 Feb 2015 17:03:02 +0000 (18:03 +0100)]
Fix compilation in release mode.

R=ishell@chromium.org
TBR=ishell@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26703}

9 years agoFix representation for CompareIC in JSGenericLowering.
mstarzinger [Tue, 17 Feb 2015 16:37:24 +0000 (08:37 -0800)]
Fix representation for CompareIC in JSGenericLowering.

R=jarin@chromium.org
TEST=mjsunit/regress/regress-3884
BUG=v8:3884
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#26702}