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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}