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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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
422063005,
817143002,
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}