platform/upstream/v8.git
9 years agoMinor test fix to block binding
arv [Wed, 25 Feb 2015 23:27:05 +0000 (15:27 -0800)]
Minor test fix to block binding

The test did not invoke the function

BUG=v8:3921
LOG=N
R=adamk

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

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

9 years agoRename ParseModule to ParseModuleItemList
adamk [Wed, 25 Feb 2015 23:00:10 +0000 (15:00 -0800)]
Rename ParseModule to ParseModuleItemList

TBR=rossberg@chromium.org

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

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

9 years agoRemove NativeContext from Literal array, since we always create the literals in the...
verwaest [Wed, 25 Feb 2015 22:41:40 +0000 (14:41 -0800)]
Remove NativeContext from Literal array, since we always create the literals in the native context of the current closure.

BUG=

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

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

9 years ago[turbofan] change tracing in scheduler so block_id is id: instead of B and rpo_number...
dcarney [Wed, 25 Feb 2015 21:51:15 +0000 (13:51 -0800)]
[turbofan] change tracing in scheduler so block_id is id: instead of B and rpo_number is now B

R=mstarzinger@chromium.org

BUG=

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

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

9 years agoNo need for special treatment of super in PreParserExpression
arv [Wed, 25 Feb 2015 21:47:44 +0000 (13:47 -0800)]
No need for special treatment of super in PreParserExpression

It turned out that we didn't need to treat super in a special way
in the pre parser expressions.

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

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

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

9 years agoRemove ValidateSuperCall
arv [Wed, 25 Feb 2015 21:46:30 +0000 (13:46 -0800)]
Remove ValidateSuperCall

We don't need this since this case is now a SyntaxError.

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

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

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

9 years agoSimplify error message logic in ParseImportNames
adamk [Wed, 25 Feb 2015 19:40:39 +0000 (11:40 -0800)]
Simplify error message logic in ParseImportNames

The new logic ensures that the error messages are the same in the
"import { <reserved word> }" and "import { foo as <reserved ord> }"
cases.

Also prepares ParseImportNames for returning both the import and local
names to ParseImportClause.

BUG=v8:1569
LOG=n

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

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

9 years agoemit premonomorphic ics for keyed loads/stores in optimized code
dcarney [Wed, 25 Feb 2015 19:32:36 +0000 (11:32 -0800)]
emit premonomorphic ics for keyed loads/stores in optimized code

R=verwaest@chromium.org

BUG=

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

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

9 years agoMIPS64: Improve and fix hole nan checks and canonicalization.
dusan.milosavljevic [Wed, 25 Feb 2015 17:09:27 +0000 (09:09 -0800)]
MIPS64: Improve and fix hole nan checks and canonicalization.

TEST=kraken-1.1 benchmark
BUG=

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

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

9 years agoMIPS: Fix 'MIPS: Move Maps' back pointers from "transitions" to "constructor" field'.
balazs.kilvady [Wed, 25 Feb 2015 16:41:48 +0000 (08:41 -0800)]
MIPS: Fix 'MIPS: Move Maps' back pointers from "transitions" to "constructor" field'.

BUG=

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

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

9 years ago[turbofan] remove dependence of InstructionBlock on BasicBlock
dcarney [Wed, 25 Feb 2015 16:37:49 +0000 (08:37 -0800)]
[turbofan] remove dependence of InstructionBlock on BasicBlock

BUG=

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

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

9 years agoRebase GDBJIT interface solely on JITCodeEvent
wingo [Wed, 25 Feb 2015 15:40:39 +0000 (07:40 -0800)]
Rebase GDBJIT interface solely on JITCodeEvent

R=mstarzinger@chromium.org
BUG=

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

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

9 years agoRemove effectful assertion
rossberg [Wed, 25 Feb 2015 15:34:07 +0000 (07:34 -0800)]
Remove effectful assertion

R=mstarzinger@chromium.org
BUG=461520
LOG=N

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

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

9 years agoMake ComputeReceiverForNonGlobal faster
jkummerow [Wed, 25 Feb 2015 15:24:29 +0000 (07:24 -0800)]
Make ComputeReceiverForNonGlobal faster

by checking instance type rather than constructor.

BUG=chromium:461734
LOG=n
R=verwaest@chromium.org

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

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

9 years agoAdd v8::Object::GetRealNamedPropertyAttributes()
ben [Wed, 25 Feb 2015 15:09:11 +0000 (07:09 -0800)]
Add v8::Object::GetRealNamedPropertyAttributes()

Add v8::Object::GetRealNamedPropertyAttributes() and
v8::Object::GetRealNamedPropertyAttributesInPrototypeChain().

See https://github.com/iojs/io.js/issues/864 for background.

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

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

9 years ago[strong] Make functions and generators non-extensible non-constructors
rossberg [Wed, 25 Feb 2015 14:52:36 +0000 (06:52 -0800)]
[strong] Make functions and generators non-extensible non-constructors

R=dslomov@chromium.org
BUG=

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

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

9 years agoMove compilation error handling into a separate class.
marja [Wed, 25 Feb 2015 14:17:39 +0000 (06:17 -0800)]
Move compilation error handling into a separate class.

In addition to Parser, other phases (such as scope analysis) need to handle
compilation errors in the future. PendingCompilationErrorHandled takes care of
error handling in a unified way.

Split from https://codereview.chromium.org/943543002/ .

R=rossberg@chromium.org
BUG=

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

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

9 years agoClobber output directory on linux and mac after landmine.
machenbach [Wed, 25 Feb 2015 14:16:30 +0000 (06:16 -0800)]
Clobber output directory on linux and mac after landmine.

Xcode uses a different naming scheme for directories within
the xcodebuild directory. But it is safe to just delete
everything withing xcodebuild or out. Keep the soft clobber
for windows' build directory only, where subdirectories
follow the *release* and *debug* naming scheme.

BUG=chromium:403263
LOG=n
TBR=jochen@chromium.org

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

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

9 years agoUse easier method to determine allocation space when serializing.
yangguo [Wed, 25 Feb 2015 14:05:39 +0000 (06:05 -0800)]
Use easier method to determine allocation space when serializing.

R=hpayer@chromium.org

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

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

9 years agoFix assertion when creating custom startup snapshots.
yangguo [Wed, 25 Feb 2015 13:56:01 +0000 (05:56 -0800)]
Fix assertion when creating custom startup snapshots.

R=vogelheim@chromium.org

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

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

9 years ago[x86] Use better left operand heuristic for Float64Add and Float64Mul.
bmeurer [Wed, 25 Feb 2015 12:09:58 +0000 (04:09 -0800)]
[x86] Use better left operand heuristic for Float64Add and Float64Mul.

R=dcarney@chromium.org

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

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

9 years agoRevert of Rebase GDBJIT interface solely on JITCodeEvent (patchset #2 id:20001 of...
bmeurer [Wed, 25 Feb 2015 12:02:50 +0000 (04:02 -0800)]
Revert of Rebase GDBJIT interface solely on JITCodeEvent (patchset #2 id:20001 of https://codereview.chromium.org/957673004/)

Reason for revert:
Doesn't compile

Original issue's description:
> Rebase GDBJIT interface solely on JITCodeEvent
>
> R=mstarzinger@chromium.org
> BUG=
>
> Committed: https://chromium.googlesource.com/v8/v8/+/8989d828e86bc7edae5e25687bcb60c0e301dffb

TBR=mstarzinger@chromium.org,wingo@igalia.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=

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

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

9 years agoRebase GDBJIT interface solely on JITCodeEvent
Andy Wingo [Wed, 25 Feb 2015 11:49:28 +0000 (12:49 +0100)]
Rebase GDBJIT interface solely on JITCodeEvent

R=mstarzinger@chromium.org
BUG=

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

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

9 years ago[x64] Improve materialization of certain double constants (i.e. -0.0).
bmeurer [Wed, 25 Feb 2015 11:28:39 +0000 (03:28 -0800)]
[x64] Improve materialization of certain double constants (i.e. -0.0).

R=dcarney@chromium.org

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

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

9 years agoAttach snapshot data blob to the isolate.
yangguo [Wed, 25 Feb 2015 11:14:40 +0000 (03:14 -0800)]
Attach snapshot data blob to the isolate.

R=vogelheim@chromium.org
BUG=chromium:461259
LOG=N

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

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

9 years agoJust add slots that point to to-space objects back to the store buffer.
hpayer [Wed, 25 Feb 2015 10:29:37 +0000 (02:29 -0800)]
Just add slots that point to to-space objects back to the store buffer.

BUG=

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

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

9 years ago[turbofan] Fix simplified lowering of Int32Div.
bmeurer [Wed, 25 Feb 2015 09:45:58 +0000 (01:45 -0800)]
[turbofan] Fix simplified lowering of Int32Div.

Optimize for the common case and get rid of the unreadable Diamond
helper code there.

R=dcarney@chromium.org

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

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

9 years agoTrigger a landmine on first-time landmine deployment.
machenbach [Wed, 25 Feb 2015 09:19:55 +0000 (01:19 -0800)]
Trigger a landmine on first-time landmine deployment.

Without this change, it is non-trivial to know during
runhooks, if a landmine was just triggered in a checkout
that doesn't have the initial landmines script CL yet, i.e.
that didn't create a .landmines file yet.

BUG=chromium:403263
LOG=n

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

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

9 years ago[turbofan] Don't introduce additional computation when hoisting out of loops.
bmeurer [Wed, 25 Feb 2015 08:11:39 +0000 (00:11 -0800)]
[turbofan] Don't introduce additional computation when hoisting out of loops.

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

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

9 years ago[turbofan] Don't switchify branches with hints.
bmeurer [Wed, 25 Feb 2015 07:53:01 +0000 (23:53 -0800)]
[turbofan] Don't switchify branches with hints.

R=svenpanne@chromium.org

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

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

9 years agoUse a hashmap to lookup items in the partial snapshot cache when serializing.
yangguo [Wed, 25 Feb 2015 07:49:18 +0000 (23:49 -0800)]
Use a hashmap to lookup items in the partial snapshot cache when serializing.

R=vogelheim@chromium.org

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

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

9 years agoUse iostream formatting when printing code.
mstarzinger [Wed, 25 Feb 2015 07:35:32 +0000 (23:35 -0800)]
Use iostream formatting when printing code.

R=svenpanne@chromium.org
TEST=manual

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

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

9 years agoMIPS: Move Maps' back pointers from "transitions" to "constructor" field
akos.palfi [Wed, 25 Feb 2015 03:24:48 +0000 (19:24 -0800)]
MIPS: Move Maps' back pointers from "transitions" to "constructor" field

Port affcfaf42801414d25b3e57271a9803a026f40ed

BUG=

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

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

9 years agoFix up ParseProgram and ParseModule to do something sane with module scopes
adamk [Tue, 24 Feb 2015 22:39:26 +0000 (14:39 -0800)]
Fix up ParseProgram and ParseModule to do something sane with module scopes

The FunctionLiteral returned from the parser for modules now has a MODULE_SCOPE,
instead of associating the module scope with a Block inside it. This makes
it easy to get at the ModuleDescriptor from the caller of Parse(), so I've added
a basic test that pokes at the scope and the descriptor. Expect more tests
in this vein.

BUG=v8:1569
LOG=n

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

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

9 years agoMove Maps' back pointers from "transitions" to "constructor" field
jkummerow [Tue, 24 Feb 2015 20:50:06 +0000 (12:50 -0800)]
Move Maps' back pointers from "transitions" to "constructor" field

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

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

9 years agoUse for-of loops in collection constructors
arv [Tue, 24 Feb 2015 19:12:35 +0000 (11:12 -0800)]
Use for-of loops in collection constructors

This is to reduce code duplication but also to get the correct
behavior when we make for-of handle abrupt completion correctly.

BUG=None
LOG=N
R=adamk

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

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

9 years agoContribution of PowerPC port (continuation of 422063005) - PPC opt 2
michael_dawson [Tue, 24 Feb 2015 19:05:21 +0000 (11:05 -0800)]
Contribution of PowerPC port (continuation of 422063005) - PPC opt 2

Contribution of PowerPC port (continuation of 422063005817143002,
866843003, and 901083004. The bulk of the changes are to remove some
hard coded assumptions about heap page size within existing tests.
The remaining change is to use a larger heap page size for PPC linux
as this provides a performance benefit due to the larger memory page size.

modified:   src/base/build_config.h
modified:   src/heap/heap.cc
modified:   test/cctest/test-alloc.cc
modified:   test/cctest/test-constantpool.cc
modified:   test/cctest/test-heap.cc
modified:   test/cctest/test-spaces.cc
modified:   test/cctest/test-weakmaps.cc
modified:   test/cctest/test-weaksets.cc

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

BUG=

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

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

9 years ago[turbofan] Only compile hot asm functions with TurboFan if --turbo-osr flag is turned on.
titzer [Tue, 24 Feb 2015 18:25:47 +0000 (10:25 -0800)]
[turbofan] Only compile hot asm functions with TurboFan if --turbo-osr flag is turned on.

R=bmeurer@chromium.org

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

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

9 years agoPort chromium landmines script.
machenbach [Tue, 24 Feb 2015 16:57:37 +0000 (08:57 -0800)]
Port chromium landmines script.

This runs the landmines script as a gclient hook. It can
as such be used to clobber local checkouts when hooks are
run locally.

It is a softer version than chromium's landmines script, as
it only deletes directories in the output directory due
to compatibility with MSVS which has "build" hardcoded as
output directory in several places.

BUG=chromium:403263
LOG=n

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

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

9 years agoAdd linux dbg coverage to CQ.
machenbach [Tue, 24 Feb 2015 16:39:07 +0000 (08:39 -0800)]
Add linux dbg coverage to CQ.

NOTRY=true

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

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

9 years agoRevert of Revert of Turn on job based recompilation (patchset #1 id:1 of https:/...
jochen [Tue, 24 Feb 2015 16:37:18 +0000 (08:37 -0800)]
Revert of Revert of Turn on job based recompilation (patchset #1 id:1 of https://codereview.chromium.org/937263004/)

Reason for revert:
reland

Original issue's description:
> Revert of Turn on job based recompilation (patchset #1 id:1 of https://codereview.chromium.org/935243003/)
>
> Reason for revert:
> waterfall disagrees
>
> Original issue's description:
> > Turn on job based recompilation
> >
> > BUG=v8:3608
> > R=yangguo@chromium.org
> > LOG=y
> >
> > Committed: https://crrev.com/4ae82f64b09cdc0182cee3a5cc619a9117ac5fbc
> > Cr-Commit-Position: refs/heads/master@{#26826}
>
> TBR=yangguo@chromium.org
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=v8:3608
>
> Committed: https://crrev.com/35cc692aecdea54fb07479b8d7b71059851e07e8
> Cr-Commit-Position: refs/heads/master@{#26827}

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

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

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

9 years agoAdd back missing allow handle deref scope
jochen [Tue, 24 Feb 2015 16:32:05 +0000 (08:32 -0800)]
Add back missing allow handle deref scope

BUG=v8:3608
R=svenpanne@chromium.org
LOG=n

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

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

9 years agoRevert of Turn on job based recompilation (patchset #1 id:1 of https://codereview...
jochen [Tue, 24 Feb 2015 15:50:06 +0000 (07:50 -0800)]
Revert of Turn on job based recompilation (patchset #1 id:1 of https://codereview.chromium.org/935243003/)

Reason for revert:
waterfall disagrees

Original issue's description:
> Turn on job based recompilation
>
> BUG=v8:3608
> R=yangguo@chromium.org
> LOG=y
>
> Committed: https://crrev.com/4ae82f64b09cdc0182cee3a5cc619a9117ac5fbc
> Cr-Commit-Position: refs/heads/master@{#26826}

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

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

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

9 years agoTurn on job based recompilation
jochen [Tue, 24 Feb 2015 15:20:16 +0000 (07:20 -0800)]
Turn on job based recompilation

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

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

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

9 years agoPrepare v8 android perf runner for external startup data.
machenbach [Tue, 24 Feb 2015 14:07:15 +0000 (06:07 -0800)]
Prepare v8 android perf runner for external startup data.

NOTRY=true

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

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

9 years agoWe don't need a lock for the output queue on the main thread
jochen [Tue, 24 Feb 2015 13:42:05 +0000 (05:42 -0800)]
We don't need a lock for the output queue on the main thread

The output queue is supposed to be a lock-free anyways, we're just
temporarily abusing it by having multiple producers. For those, we need
the lock when enqueuing jobs.

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

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

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

9 years agoUse mutex/condition variables to synchronize threads
jochen [Tue, 24 Feb 2015 13:35:13 +0000 (05:35 -0800)]
Use mutex/condition variables to synchronize threads

Instead of semaphore and atomics

BUG=v8:3608
R=yangguo@chromium.org
LOG=n

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

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

9 years agoInvalidate property cells for non-existent properties properly.
dslomov [Tue, 24 Feb 2015 13:04:59 +0000 (05:04 -0800)]
Invalidate property cells for non-existent properties properly.

R=verwaest@chromium.org
BUG=v8:3914
LOG=N

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

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

9 years agoSwitch to new branching model in auto-push script.
machenbach [Tue, 24 Feb 2015 13:03:53 +0000 (05:03 -0800)]
Switch to new branching model in auto-push script.

BUG=chromium:391261
LOG=n
TBR=tandrii@chromium.org
NOTRY=true

TEST=./script_test.py

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

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

9 years ago[strong] Deprecate ellisions
rossberg [Tue, 24 Feb 2015 12:50:56 +0000 (04:50 -0800)]
[strong] Deprecate ellisions

R=marja@chromium.org
BUG=

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

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

9 years ago[turbofan] optimize moves into merges
dcarney [Tue, 24 Feb 2015 12:49:28 +0000 (04:49 -0800)]
[turbofan] optimize moves into merges

BUG=

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

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

9 years agoFix bogus assertion in Debug::PrepareStep.
yangguo [Tue, 24 Feb 2015 12:30:34 +0000 (04:30 -0800)]
Fix bogus assertion in Debug::PrepareStep.

R=svenpanne@chromium.org
BUG=chromium:461042
LOG=N

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

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

9 years ago[turbofan] Strength reduction for inline comparisons.
bmeurer [Tue, 24 Feb 2015 12:26:16 +0000 (04:26 -0800)]
[turbofan] Strength reduction for inline comparisons.

Perform strength reduction on machine operators with inline comparisons:

  CMP & 1 => CMP
  1 & CMP => CMP
  CMP << 31 >> 31 => CMP

Also strength reduce the following constructs:

  x + (0 - y) => x - y
  (0 - y) + x => x - y

R=dcarney@chromium.org

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

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

9 years agoMake sure exception handlers are deferred.
mstarzinger [Tue, 24 Feb 2015 11:44:45 +0000 (03:44 -0800)]
Make sure exception handlers are deferred.

R=bmeurer@chromium.org
TEST=unittests/SchedulerTest.CallException

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

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

9 years agoRemove reinvented wheel for partial snapshot cache.
yangguo [Tue, 24 Feb 2015 11:31:12 +0000 (03:31 -0800)]
Remove reinvented wheel for partial snapshot cache.

R=jkummerow@chromium.org

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

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

9 years ago[turbofan] only use two gaps
dcarney [Tue, 24 Feb 2015 11:09:03 +0000 (03:09 -0800)]
[turbofan] only use two gaps

BUG=

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

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

9 years agoDrop Intrusive*TransitionIterators, use recursion instead.
jkummerow [Tue, 24 Feb 2015 10:50:23 +0000 (02:50 -0800)]
Drop Intrusive*TransitionIterators, use recursion instead.

We already use recursion to iterate over transition trees elsewhere, so this should be safe wrt. call stack height.

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

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

9 years agoGet rid of recursive locks for job based recompilation
jochen [Tue, 24 Feb 2015 10:41:24 +0000 (02:41 -0800)]
Get rid of recursive locks for job based recompilation

For flushing the input queue, use the input queue lock. Introduce an
explicit refcount to make sure we don't delete the thread object before
all jobs are finished.

BUG=v8:3608
R=yangguo@chromium.org
LOG=n

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

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

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}