platform/upstream/v8.git
9 years agoNewError no longer returns a MaybeObject.
yangguo [Tue, 24 Feb 2015 09:01:33 +0000 (01:01 -0800)]
NewError no longer returns a MaybeObject.

We no longer expect NewError to return an empty handle to signal termination
exception, since TryCall simply requests a new terminate exception interrupt.

BUG=chromium:403509
LOG=N

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

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

9 years agoReland "Correctly propagate terminate exception in TryCall."
yangguo [Tue, 24 Feb 2015 08:30:22 +0000 (00:30 -0800)]
Reland "Correctly propagate terminate exception in TryCall."

BUG=v8:3892
LOG=Y

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

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

9 years ago[turbofan] encode instruction operand as uint64_t
dcarney [Tue, 24 Feb 2015 08:06:43 +0000 (00:06 -0800)]
[turbofan] encode instruction operand as uint64_t

R=bmeurer@chromium.org

BUG=

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

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

9 years ago[turbofan] Initial version of branch cloning.
bmeurer [Tue, 24 Feb 2015 07:41:25 +0000 (23:41 -0800)]
[turbofan] Initial version of branch cloning.

This implements a special case of block cloning to recognize constructs like

 if (a ? b : c) { ... }

that happen to be generated by Emscripten quite often.

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

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

9 years agoRevert extra commit
Erik Arvidsson [Tue, 24 Feb 2015 00:20:52 +0000 (19:20 -0500)]
Revert extra commit

"for-of should throw if result object is not an object"

The CQ committed the CL twice

This reverts commit ab2591ed9332086581ee25ef735cd1b3bbd7e2f0.

BUG=None
TBR=adamk

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

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

9 years agofor-of should throw if result object is not an object
arv [Mon, 23 Feb 2015 23:34:34 +0000 (15:34 -0800)]
for-of should throw if result object is not an object

This is done using desugaring. Before this we had:

  result = iterator.next()

with this we instead do:

  !%_IsSpecObject(result = iterator.next()) &&
      %ThrowIteratorResultNotAnObject(result)

BUG=v8:3916
LOG=N

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

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

9 years agofor-of should throw if result object is not an object
arv [Mon, 23 Feb 2015 23:34:26 +0000 (15:34 -0800)]
for-of should throw if result object is not an object

This is done using desugaring. Before this we had:

  result = iterator.next()

with this we instead do:

  !%_IsSpecObject(result = iterator.next()) &&
      %ThrowIteratorResultNotAnObject(result)

BUG=v8:3916
LOG=N

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

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

9 years agoUpdate GN build files with the cpu_arch -> current_cpu change.
dpranke [Mon, 23 Feb 2015 21:01:30 +0000 (13:01 -0800)]
Update GN build files with the cpu_arch -> current_cpu change.

R=machenbach@chromium.org, jochen@chromium.org
BUG=crbug.com/344767
LOG=Y

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

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

9 years agoES6 collections: Fix order of constructor logic
arv [Mon, 23 Feb 2015 18:55:38 +0000 (10:55 -0800)]
ES6 collections: Fix order of constructor logic

The adder should be gotten before the iterator.

Motivation: Once this is done we should be able to use a for-of loop
instead which leads to cleaner code and correct behavior once the
for-of loop correctly supports abrupt completion.

BUG=None
LOG=N
R=adamk

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

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

9 years agoPrototype objects never share their map, and hence cannot be in deprecated state.
verwaest [Mon, 23 Feb 2015 18:25:38 +0000 (10:25 -0800)]
Prototype objects never share their map, and hence cannot be in deprecated state.

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

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

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}