ben [Wed, 6 May 2015 14:10:38 +0000 (07:10 -0700)]
Add ObjectTemplate::New() taking FunctionTemplate.
I know the bug has been closed but this seems like a simple addition that may
be useful in other ways as well.
BUG=v8:2180
LOG=N
Review URL: https://codereview.chromium.org/
1128553002
Cr-Commit-Position: refs/heads/master@{#28261}
mvstanton [Wed, 6 May 2015 13:31:00 +0000 (06:31 -0700)]
Optimize the typeof operator.
typeof was implemented as a runtime function. Calling it in
optimized code with a non-constant input becomes burdensome.
BUG=
Review URL: https://codereview.chromium.org/
1114563003
Cr-Commit-Position: refs/heads/master@{#28260}
bmeurer [Wed, 6 May 2015 12:51:41 +0000 (05:51 -0700)]
[turbofan] Connect non-terminating loops via Terminate.
This revives the Terminate operator and removes the weird Always
operator. As a first step we let the ControlReducer connect non
terminating loops via Terminate. The next step will be to change the
graph builder to insert Terminate nodes into every loop.
Review URL: https://codereview.chromium.org/
1123213002
Cr-Commit-Position: refs/heads/master@{#28259}
jochen [Wed, 6 May 2015 12:43:24 +0000 (05:43 -0700)]
Manage size of lists used in global handles
Make sure all lists are either regularly cleared or trimmed
R=hpayer@chromium.org
BUG=none
LOG=n
Review URL: https://codereview.chromium.org/
1123213003
Cr-Commit-Position: refs/heads/master@{#28258}
titzer [Wed, 6 May 2015 12:40:21 +0000 (05:40 -0700)]
Implement IdentityMap<V>, a robust, GC-safe object-identity HashMap.
R=hpayer@chromium.org, erikcorry@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
1105693002
Cr-Commit-Position: refs/heads/master@{#28257}
rossberg [Wed, 6 May 2015 12:07:50 +0000 (05:07 -0700)]
Ship string unicode escapes
R=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
1130723002
Cr-Commit-Position: refs/heads/master@{#28256}
verwaest [Wed, 6 May 2015 11:58:28 +0000 (04:58 -0700)]
Remove GetDefaultReceiver, pass in undefined to sloppy-mode functions instead.
Review URL: https://codereview.chromium.org/
1116003005
Cr-Commit-Position: refs/heads/master@{#28255}
ben [Wed, 6 May 2015 10:57:00 +0000 (03:57 -0700)]
Fix FreeBSD build.
Fix the following build error:
../deps/v8/src/compiler/graph-visualizer.h:23:1:
error: 'FILE' does not name a type
See https://github.com/iojs/io.js/issues/1637 for background.
BUG=v8:4079
LOG=N
Review URL: https://codereview.chromium.org/
1128053002
Cr-Commit-Position: refs/heads/master@{#28254}
conradw [Wed, 6 May 2015 10:40:27 +0000 (03:40 -0700)]
[strong] Fix inlining issue
The Hydrogen representation for binops was never changed to care about the
language mode. We thought this was ok, but it turns out we need to keep track
of it to make sure inlining doesn't mess with the "strongness" of binops.
Also added more rigorous inlining testing.
BUG=v8:3956
LOG=N
Review URL: https://codereview.chromium.org/
1123043002
Cr-Commit-Position: refs/heads/master@{#28253}
vogelheim [Wed, 6 May 2015 10:21:20 +0000 (03:21 -0700)]
Implement a 'trial parse' step, that will abort pre-parsing excessively
long and trivial functions, so that they can be eagerly compiled after all.
This essentially allows the parser to renege on its earlier decision to
lazy-parse, if additional information suggests it was a bad decision.
BUG=chromium:470930
LOG=Y
Review URL: https://codereview.chromium.org/
1102523003
Cr-Commit-Position: refs/heads/master@{#28252}
bmeurer [Wed, 6 May 2015 10:12:47 +0000 (03:12 -0700)]
[turbofan] Add support for advanced reducers.
An AdvancedReducer is basically a regular Reducer with an editor
that can perform graph editing operations beyond changing or
replacing the node that is currently being reduced. The GraphReducer
is the default implementation of the AdvancedReducer::Editor interface.
The ControlReducerImpl is now just an AdvancedReducer, which
temporarily requires a Finish method in the reducer to implement
the dead node trimming until we move that to the GraphReducer
(which in turn requires that all loops are connected to End).
Review URL: https://codereview.chromium.org/
1122423003
Cr-Commit-Position: refs/heads/master@{#28251}
yangguo [Wed, 6 May 2015 07:51:56 +0000 (00:51 -0700)]
Migrate error messages, part 8.
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
1118273004
Cr-Commit-Position: refs/heads/master@{#28250}
machenbach [Wed, 6 May 2015 07:33:55 +0000 (00:33 -0700)]
[test] Mark test as flaky.
TBR=yangguo@chromium.org
NOTRY=true
Review URL: https://codereview.chromium.org/
1125123002
Cr-Commit-Position: refs/heads/master@{#28249}
yangguo [Wed, 6 May 2015 07:20:50 +0000 (00:20 -0700)]
Mark mjsunit/allocation-site-info.js as NO_VARIANTS.
NOTRY=true
TBR=machenbach@chromium.org
BUG=4078
LOG=N
Review URL: https://codereview.chromium.org/
1123183003
Cr-Commit-Position: refs/heads/master@{#28248}
machenbach [Wed, 6 May 2015 06:59:33 +0000 (23:59 -0700)]
Revert of [V8] Reland https://codereview.chromium.org/
1100993003/ (patchset #1 id:1 of https://codereview.chromium.org/
1121833003/)
Reason for revert:
[Sheriff] Speculative revert for breaking layout tests - will reland if it doesn't help:
http://build.chromium.org/p/client.v8/builders/V8-Blink%20Linux%2064/builds/3178
Original issue's description:
> [V8] Reland https://codereview.chromium.org/
1100993003/
>
> Chromium tests were prepared in https://codereview.chromium.org/
1118743003/
> Blink tests in https://codereview.chromium.org/
1115193002/
>
> LOG=Y
> BUG=chromium:480652
> R=yangguo@chromium.org
>
> Committed: https://crrev.com/
19b62e211d1829108e5c85c5043dd755afa17178
> Cr-Commit-Position: refs/heads/master@{#28229}
TBR=yangguo@chromium.org,kozyatinskiy@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:480652
Review URL: https://codereview.chromium.org/
1125113003
Cr-Commit-Position: refs/heads/master@{#28247}
chunyang.dai [Wed, 6 May 2015 03:46:49 +0000 (20:46 -0700)]
X87: Handle the case when derived constructor is [[Call]]ed with 0 args.
port
cf53fed972896bf23c037ce7ac9f8e1512463c62 (r28242).
original commit message:
ArgumentsAdaptorStub for derived constructor (the one that needs
new.target) works in this way:
- If the constructor is invoked via the Construct stub, we know that
actual arguments always include new.target. ``arguments`` object
however should not include a new.target, therefore we remove it.
We achieve this by decrementing the argument count.
- If the constructor is invoked as a call, we do not care for a correct
``arguments`` array since the constructor will immediately throw on
entrance.
The bug is that the call could actually pass 0 actual arguments, but I
decrement unconditionally :(. The fix is to detect this case and avoid
decrementing. ``arguments`` is bogus, but it is ok as constructor
throws.
Long-term we should just remove mucking about with arguments for
new.target and just get it from the stack.
BUG=
Review URL: https://codereview.chromium.org/
1124063002
Cr-Commit-Position: refs/heads/master@{#28246}
v8-autoroll [Wed, 6 May 2015 03:30:10 +0000 (20:30 -0700)]
Update V8 DEPS.
Rolling v8/tools/clang to
8ed88fc35e20182d6ecc3dde107606f609c46b23
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
1130663002
Cr-Commit-Position: refs/heads/master@{#28245}
chunyang.dai [Wed, 6 May 2015 02:04:49 +0000 (19:04 -0700)]
Disable RunAllocate test case for turbofan unsupported platform.
"RunAllocate" test case is added in
d6945db7. it invokes Linkage::GetStubCallDescriptor
which is unimplemented for turbofan unsupported platform.
BUG=
Review URL: https://codereview.chromium.org/
1129483003
Cr-Commit-Position: refs/heads/master@{#28244}
dpranke [Tue, 5 May 2015 21:16:12 +0000 (14:16 -0700)]
Adjust the visibility of the standalone targets in the GN build.
As part of the migration from GYP->GN, we want to make sure that we
can track when new targets are added to either the GYP or GN builds
and that we are building everything we expect to build.
In GN, unlike GYP, if a build file gets referenced from other files,
building 'all' will cause every target to be built in it. This means in
particular, that we can end up trying to build targets that are not
necessarily intended to be visible to the rest of the build. To get
around this, any target that is defined but hidden (like 'v8_snapshot',
in V8's case) should still be visible to a top-level target called
"//:gn_visibility".
R=brettw@chromium.org, machenbach@chromium.org
BUG=461019
LOG=N
Review URL: https://codereview.chromium.org/
1120093005
Cr-Commit-Position: refs/heads/master@{#28243}
dslomov [Tue, 5 May 2015 19:56:56 +0000 (12:56 -0700)]
Handle the case when derived constructor is [[Call]]ed with 0 args.
ArgumentsAdaptorStub for derived constructor (the one that needs
new.target) works in this way:
- If the constructor is invoked via the Construct stub, we know that
actual arguments always include new.target. ``arguments`` object
however should not include a new.target, therefore we remove it.
We achieve this by decrementing the argument count.
- If the constructor is invoked as a call, we do not care for a correct
``arguments`` array since the constructor will immediately throw on
entrance.
The bug is that the call could actually pass 0 actual arguments, but I
decrement unconditionally :(. The fix is to detect this case and avoid
decrementing. ``arguments`` is bogus, but it is ok as constructor
throws.
Long-term we should just remove mucking about with arguments for
new.target and just get it from the stack.
R=arv@chromium.org,rossberg@chromium.org
BUG=chromium:474783
LOG=Y
Review URL: https://codereview.chromium.org/
1126783003
Cr-Commit-Position: refs/heads/master@{#28242}
dusan.milosavljevic [Tue, 5 May 2015 19:20:40 +0000 (12:20 -0700)]
MIPS: Fix long branch mode and FPU branches.
- Add long branche mode for FPU branches.
- Fix FPU branches for unordered conditions.
- Provide FPU [un]ordered condition negation schema.
TEST=mjsunit/miror-objects, constant-folding-2, external-array
BUG=
Review URL: https://codereview.chromium.org/
1120753010
Cr-Commit-Position: refs/heads/master@{#28241}
balazs.kilvady [Tue, 5 May 2015 18:50:52 +0000 (11:50 -0700)]
MIPS: Improve '[es6] When comparing two symbols we may need to throw a TypeError'.
Improve
d26f5d392317dcf1eef3693eadfa1b95a8850df8
Original commit message:
When comparing a symbol to istself using <, <=, > or >= we need to
throw a TypeError. This is correctly handled in the runtime function
so if we are comparing a symbol fall back to use the runtime.
BUG=
Review URL: https://codereview.chromium.org/
1124863004
Cr-Commit-Position: refs/heads/master@{#28240}
mbrandy [Tue, 5 May 2015 18:07:06 +0000 (11:07 -0700)]
PPC: [turbofan] Fix tail call optimization.
Port
d21de2a48bc63823876d3f9bf52753f9da0aea6b
Original commit message:
Tail calls are matched on the graph, with a dedicated tail call
optimization that is actually testable. The instruction selection can
still fall back to a regular if the platform constraints don't allow to
emit a tail call (i.e. the return locations of caller and callee differ
or the callee takes non-register parameters, which is a restriction that
will be removed in the future).
Also explicitly limit tail call optimization to stubs for now and drop
the global flag.
R=dstence@us.ibm.com, michael_dawson@ca.ibm.com
BUG=
Review URL: https://codereview.chromium.org/
1114193003
Cr-Commit-Position: refs/heads/master@{#28239}
wingo [Tue, 5 May 2015 17:24:16 +0000 (10:24 -0700)]
Revert of Resolve references to "this" the same way as normal variables (patchset #11 id:240001 of https://codereview.chromium.org/
1097283003/)
Reason for revert:
nosnap failures
Original issue's description:
> Resolve references to "this" the same way as normal variables
>
> Make the parser handle references to "this" as unresolved variables, so the
> same logic as for the rest of function parameters is used for the receiver.
> Minor additions to the code generation handle copying the receiver to the
> context, along with the rest of the function parameters.
>
> Based on work by Adrian Perez de Castro <aperez@igalia.com>.
>
> BUG=
> LOG=N
>
> Committed: https://crrev.com/
18619d355192e2699203d12d9ebb9caea107b693
> Cr-Commit-Position: refs/heads/master@{#28236}
TBR=rossberg@chromium.org,mstarzinger@chromium.org,dslomov@chromium.org,adamk@chromium.org,arv@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=
Review URL: https://codereview.chromium.org/
1113133006
Cr-Commit-Position: refs/heads/master@{#28238}
danno [Tue, 5 May 2015 16:42:03 +0000 (09:42 -0700)]
Revert of Collect type feedback on result of Math.[round|ceil|floor] (patchset #13 id:230001 of https://codereview.chromium.org/
1053143005/)
Reason for revert:
All sorts of performance regressions
Original issue's description:
> Collect type feedback on result of Math.[round|ceil|floor]
>
> By recording invocations of these builtins that can return -0, we now learn to not emit Crankshaft code that only handles integer results, avoiding deopt loops.
>
> Committed: https://crrev.com/
f36ecaf3a4d61568ca50a20718acce7dd5da9a5f
> Cr-Commit-Position: refs/heads/master@{#28215}
TBR=mvstanton@chromium.org,bmeurer@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/
1115973005
Cr-Commit-Position: refs/heads/master@{#28237}
wingo [Tue, 5 May 2015 16:38:12 +0000 (09:38 -0700)]
Resolve references to "this" the same way as normal variables
Make the parser handle references to "this" as unresolved variables, so the
same logic as for the rest of function parameters is used for the receiver.
Minor additions to the code generation handle copying the receiver to the
context, along with the rest of the function parameters.
Based on work by Adrian Perez de Castro <aperez@igalia.com>.
BUG=
LOG=N
Review URL: https://codereview.chromium.org/
1097283003
Cr-Commit-Position: refs/heads/master@{#28236}
machenbach [Tue, 5 May 2015 15:44:55 +0000 (08:44 -0700)]
Revert of [handles] Sanitize Handle and friends. (patchset #4 id:50001 of https://codereview.chromium.org/
1128533002/)
Reason for revert:
[Sheriff] Breaks mac asan:
http://build.chromium.org/p/client.v8/builders/V8%20Mac64%20ASAN/builds/1198
Original issue's description:
> [handles] Sanitize Handle and friends.
>
> This almost allows us to get rid of handles-inl.h, once we fix the
> cyclic dependencies (follow up CL).
>
> R=yangguo@chromium.org
>
> Committed: https://crrev.com/
3283195d0408333cce552cf4087577e6f41054e5
> Cr-Commit-Position: refs/heads/master@{#28222}
TBR=yangguo@chromium.org,bmeurer@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/
1128543004
Cr-Commit-Position: refs/heads/master@{#28235}
jochen [Tue, 5 May 2015 15:37:30 +0000 (08:37 -0700)]
freed_nodes in global-handles should be addititive
otherwise phantom nodes won't ever be taken into account
BUG=chromium:484671,chromium:479796
R=hpayer@chromium.org
LOG=y
Review URL: https://codereview.chromium.org/
1125673010
Cr-Commit-Position: refs/heads/master@{#28234}
erikcorry [Tue, 5 May 2015 14:57:18 +0000 (07:57 -0700)]
Be sure to abort incremental GC when trying to reserve space
R=hpayer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
1124553007
Cr-Commit-Position: refs/heads/master@{#28233}
mvstanton [Tue, 5 May 2015 14:44:02 +0000 (07:44 -0700)]
GrowArrayElementsStub must save caller doubles for double ElementsKind.
BUG=
R=danno@chromium.org
Review URL: https://codereview.chromium.org/
1124653004
Cr-Commit-Position: refs/heads/master@{#28232}
jkummerow [Tue, 5 May 2015 14:26:25 +0000 (07:26 -0700)]
[grokdump] Update v8heapconst.py
Review URL: https://codereview.chromium.org/
1125543004
Cr-Commit-Position: refs/heads/master@{#28231}
jkummerow [Tue, 5 May 2015 14:25:20 +0000 (07:25 -0700)]
[d8] Make Realm.dispose() trigger a ContextDisposedNotification
Review URL: https://codereview.chromium.org/
1129543002
Cr-Commit-Position: refs/heads/master@{#28230}
kozyatinskiy [Tue, 5 May 2015 14:21:07 +0000 (07:21 -0700)]
[V8] Reland https://codereview.chromium.org/
1100993003/
Chromium tests were prepared in https://codereview.chromium.org/
1118743003/
Blink tests in https://codereview.chromium.org/
1115193002/
LOG=Y
BUG=chromium:480652
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
1121833003
Cr-Commit-Position: refs/heads/master@{#28229}
jkummerow [Tue, 5 May 2015 14:15:07 +0000 (07:15 -0700)]
[tick processor] Introduce --pairwise-timed-range processing mode
Review URL: https://codereview.chromium.org/
1123883002
Cr-Commit-Position: refs/heads/master@{#28228}
machenbach [Tue, 5 May 2015 14:13:59 +0000 (07:13 -0700)]
[test] Add arm perf trybot to runner script.
BUG=chromium:484589
LOG=n
NOTRY=true
TBR=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
1123473007
Cr-Commit-Position: refs/heads/master@{#28227}
arv [Tue, 5 May 2015 14:11:49 +0000 (07:11 -0700)]
[es6] When comparing two symbols we may need to throw a TypeError
When comparing a symbol to istself using <, <=, > or >= we need to
throw a TypeError. This is correctly handled in the runtime function
so if we are comparing a symbol fall back to use the runtime.
BUG=v8:4073
LOG=Y
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/
1125783002
Cr-Commit-Position: refs/heads/master@{#28226}
ulan [Tue, 5 May 2015 14:10:38 +0000 (07:10 -0700)]
Reduce the size of initial JSON string buffer.
BUG=v8:3925
LOG=NO
Review URL: https://codereview.chromium.org/
1123013002
Cr-Commit-Position: refs/heads/master@{#28225}
yangguo [Tue, 5 May 2015 13:59:08 +0000 (06:59 -0700)]
Do not cache object literal maps during bootstrapping.
We do not expect to share maps for object literals created by builtin
Javascript code.
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/
1127693009
Cr-Commit-Position: refs/heads/master@{#28224}
yangguo [Tue, 5 May 2015 13:55:28 +0000 (06:55 -0700)]
Move more parts of stack trace formatting to runtime.
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/
1122973002
Cr-Commit-Position: refs/heads/master@{#28223}
bmeurer [Tue, 5 May 2015 12:48:14 +0000 (05:48 -0700)]
[handles] Sanitize Handle and friends.
This almost allows us to get rid of handles-inl.h, once we fix the
cyclic dependencies (follow up CL).
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
1128533002
Cr-Commit-Position: refs/heads/master@{#28222}
ishell [Tue, 5 May 2015 12:47:04 +0000 (05:47 -0700)]
When adding constant string with something unknown, assume it's a string.
Review URL: https://codereview.chromium.org/
1122823002
Cr-Commit-Position: refs/heads/master@{#28221}
yangguo [Tue, 5 May 2015 10:25:55 +0000 (03:25 -0700)]
Fix bug in "Migrate error messages, part 7".
TBR=mvstanton@chromium.org
NOTRY=true
Review URL: https://codereview.chromium.org/
1124583006
Cr-Commit-Position: refs/heads/master@{#28220}
bmeurer [Tue, 5 May 2015 09:42:59 +0000 (02:42 -0700)]
[turbofan] Fix tail call optimization.
Tail calls are matched on the graph, with a dedicated tail call
optimization that is actually testable. The instruction selection can
still fall back to a regular if the platform constraints don't allow to
emit a tail call (i.e. the return locations of caller and callee differ
or the callee takes non-register parameters, which is a restriction that
will be removed in the future).
Also explicitly limit tail call optimization to stubs for now and drop
the global flag.
BUG=v8:4076
LOG=n
Review URL: https://codereview.chromium.org/
1114163005
Cr-Commit-Position: refs/heads/master@{#28219}
hpayer [Tue, 5 May 2015 09:25:29 +0000 (02:25 -0700)]
Add heap growing strategy details to --trace-gc-verbose.
BUG=
Review URL: https://codereview.chromium.org/
1128483003
Cr-Commit-Position: refs/heads/master@{#28218}
yangguo [Tue, 5 May 2015 09:15:56 +0000 (02:15 -0700)]
Reland #2 "Wrap v8natives.js into a function."
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
1127693006
Cr-Commit-Position: refs/heads/master@{#28217}
yangguo [Tue, 5 May 2015 07:57:37 +0000 (00:57 -0700)]
Migrate error messages, part 7.
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
1122033002
Cr-Commit-Position: refs/heads/master@{#28216}
danno [Tue, 5 May 2015 07:55:51 +0000 (00:55 -0700)]
Collect type feedback on result of Math.[round|ceil|floor]
By recording invocations of these builtins that can return -0, we now learn to not emit Crankshaft code that only handles integer results, avoiding deopt loops.
Review URL: https://codereview.chromium.org/
1053143005
Cr-Commit-Position: refs/heads/master@{#28215}
bmeurer [Tue, 5 May 2015 07:44:30 +0000 (00:44 -0700)]
[c++11] Remove remnants of pre-C++11 delete, final and override.
These macros are not needed anymore, so there's no point in supporting
them.
Review URL: https://codereview.chromium.org/
1123723003
Cr-Commit-Position: refs/heads/master@{#28214}
yangguo [Tue, 5 May 2015 07:28:54 +0000 (00:28 -0700)]
Correctly accept already preprocessed stack traces.
When we preprocess stack traces, we turn code pointer and offset to
source position, and store it in place of code pointer as smi.
Preprocessing stack traces is currently disabled due to issue 4065.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
1125723002
Cr-Commit-Position: refs/heads/master@{#28213}
michael_dawson [Tue, 5 May 2015 07:17:46 +0000 (00:17 -0700)]
Fix another may not be init compile error on AIX
AIX compiler is complaining that variable may not be initialized
modified: src/heap/heap.cc
R=danno@chromium.org, svenpanne@chromium.org, mbrandy@us.ibm.com
BUG=
Review URL: https://codereview.chromium.org/
1123743002
Cr-Commit-Position: refs/heads/master@{#28212}
alph [Mon, 4 May 2015 22:53:22 +0000 (15:53 -0700)]
Make CPU profiler do not hog 100% of CPU.
Tick event processor should not stay in a tight loop
when there's nothing to do. It can go sleep until next sample event.
LOG=N
BUG=v8:3967
Review URL: https://codereview.chromium.org/
1118533003
Cr-Commit-Position: refs/heads/master@{#28211}
dehrenberg [Mon, 4 May 2015 19:45:13 +0000 (12:45 -0700)]
comment typo fix
Review URL: https://codereview.chromium.org/
1120373003
Cr-Commit-Position: refs/heads/master@{#28210}
mbrandy [Mon, 4 May 2015 19:30:00 +0000 (12:30 -0700)]
PPC: Fix 'Remove materialized objects on stack unwind.'
R=mstarzinger@chromium.org, jarin@chromium.org, dstence@us.ibm.com, michael_dawson@ca.ibm.com
BUG=
Review URL: https://codereview.chromium.org/
1123793002
Cr-Commit-Position: refs/heads/master@{#28209}
machenbach [Mon, 4 May 2015 16:49:53 +0000 (09:49 -0700)]
Revert of Reland "Wrap v8natives.js into a function." (patchset #2 id:20001 of https://codereview.chromium.org/
1123703002/)
Reason for revert:
[Sheriff] Speculative revert for braking arm64 nosnap:
http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20arm64%20-%20sim%20-%20nosnap%20-%20debug%20-%202/builds/2314
(reverted already titzer's CL which didn't help)
Original issue's description:
> Reland "Wrap v8natives.js into a function."
>
> Committed: https://crrev.com/
72ab42172979b60a1b784ea0c6a495d7ee2bba67
> Cr-Commit-Position: refs/heads/master@{#28193}
TBR=jkummerow@chromium.org,yangguo@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/
1127543003
Cr-Commit-Position: refs/heads/master@{#28208}
machenbach [Mon, 4 May 2015 16:47:51 +0000 (09:47 -0700)]
Revert of Revert of [turbofan] Small fixes to PipelineStatistics. Collect statistics in tests. (patchset #1 id:1 of https://codereview.chromium.org/
1119963003/)
Reason for revert:
Revert didn't fix the problem. Maybe it was another CL.
Original issue's description:
> Revert of [turbofan] Small fixes to PipelineStatistics. Collect statistics in tests. (patchset #1 id:1 of https://codereview.chromium.org/
1122753002/)
>
> Reason for revert:
> [Sheriff] Speculative revert for breaking arm64 nosnap:
> http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20arm64%20-%20sim%20-%20nosnap%20-%20debug%20-%202/builds/2314
>
> Original issue's description:
> > [turbofan] Small fixes to PipelineStatistics. Collect statistics in tests.
> >
> > R=bmeurer@chromium.org
> > BUG=
> >
> > Committed: https://crrev.com/
9833844268357590243732a53e2a7fc0dc5fcc9e
> > Cr-Commit-Position: refs/heads/master@{#28192}
>
> TBR=bmeurer@chromium.org,titzer@chromium.org
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=
>
> Committed: https://crrev.com/
d0ed8940fc6c995eba57149b8e8cb214001e8381
> Cr-Commit-Position: refs/heads/master@{#28205}
TBR=bmeurer@chromium.org,titzer@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=
Review URL: https://codereview.chromium.org/
1126603002
Cr-Commit-Position: refs/heads/master@{#28207}
jarin [Mon, 4 May 2015 16:43:56 +0000 (09:43 -0700)]
Remove materialized objects on stack unwind.
BUG=v8:3985
LOG=n
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
1122083002
Cr-Commit-Position: refs/heads/master@{#28206}
machenbach [Mon, 4 May 2015 15:39:44 +0000 (08:39 -0700)]
Revert of [turbofan] Small fixes to PipelineStatistics. Collect statistics in tests. (patchset #1 id:1 of https://codereview.chromium.org/
1122753002/)
Reason for revert:
[Sheriff] Speculative revert for breaking arm64 nosnap:
http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20arm64%20-%20sim%20-%20nosnap%20-%20debug%20-%202/builds/2314
Original issue's description:
> [turbofan] Small fixes to PipelineStatistics. Collect statistics in tests.
>
> R=bmeurer@chromium.org
> BUG=
>
> Committed: https://crrev.com/
9833844268357590243732a53e2a7fc0dc5fcc9e
> Cr-Commit-Position: refs/heads/master@{#28192}
TBR=bmeurer@chromium.org,titzer@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=
Review URL: https://codereview.chromium.org/
1119963003
Cr-Commit-Position: refs/heads/master@{#28205}
machenbach [Mon, 4 May 2015 15:38:36 +0000 (08:38 -0700)]
[test] Skip some flaky layout tests.
NOTRY=true
TBR=jochen@chromium.org
Review URL: https://codereview.chromium.org/
1126433004
Cr-Commit-Position: refs/heads/master@{#28204}
mbrandy [Mon, 4 May 2015 15:33:50 +0000 (08:33 -0700)]
PPC: Only swap undefined for the global object if necessary in the prologue
Port
fab3508062396c2768b5dcfa0fd7d40eba527d62
R=verwaest@chromium.org, dstence@us.ibm.com, michael_dawson@ca.ibm.com
BUG=
Review URL: https://codereview.chromium.org/
1122773002
Cr-Commit-Position: refs/heads/master@{#28203}
verwaest [Mon, 4 May 2015 15:02:24 +0000 (08:02 -0700)]
Fix smi scanning
BUG=chromium:483176
LOG=n
Review URL: https://codereview.chromium.org/
1114073003
Cr-Commit-Position: refs/heads/master@{#28202}
akos.palfi [Mon, 4 May 2015 14:14:35 +0000 (07:14 -0700)]
MIPS: Skip test-simplified-lowering/RunNumberDivide_2_TruncatingToUint32.
This test fails on board, temporarily skip failing test until we resolve this issue.
NOTRY=true
Review URL: https://codereview.chromium.org/
1127573002
Cr-Commit-Position: refs/heads/master@{#28201}
verwaest [Mon, 4 May 2015 13:38:50 +0000 (06:38 -0700)]
Only swap undefined for the global object if necessary in the prologue
BUG=
Review URL: https://codereview.chromium.org/
1120093002
Cr-Commit-Position: refs/heads/master@{#28200}
hpayer [Mon, 4 May 2015 13:12:25 +0000 (06:12 -0700)]
New insertion write barrier.
BUG=
Review URL: https://codereview.chromium.org/
1073953006
Cr-Commit-Position: refs/heads/master@{#28199}
mstarzinger [Mon, 4 May 2015 12:54:08 +0000 (05:54 -0700)]
[turbofan] Free TurboFan from the claws of ZoneList.
This removes the last occurence of the hand-written ZoneList from the
compiler directory and uses ZoneVector everywhere instead.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
1120083004
Cr-Commit-Position: refs/heads/master@{#28198}
hablich [Mon, 4 May 2015 12:20:10 +0000 (05:20 -0700)]
[release-tools] Tool to find related commits
usage: This tool analyzes the commit range between <of> and <until>. It finds commits which belong together e.g. Implement/Revert pairs and Implement/Port/Revert triples. All supplied hashes need to be from the same branch e.g. master.
Example for M42: ./search_related_commits.py --prettyprint --separator
e0110920d6f98f0ba2ac0d680f635ae3f094a04e b856e8785933a2a9cd884ab8966fee0e7098927e b1c2a3495624a9776c7df865d972886f2d078c10
BUG=
NOTRY=true
Review URL: https://codereview.chromium.org/
1098123002
Cr-Commit-Position: refs/heads/master@{#28197}
hpayer [Mon, 4 May 2015 12:15:38 +0000 (05:15 -0700)]
Don't perform marking barrier for weak cell values.
BUG=
Review URL: https://codereview.chromium.org/
1124583003
Cr-Commit-Position: refs/heads/master@{#28196}
mstarzinger [Mon, 4 May 2015 12:07:12 +0000 (05:07 -0700)]
[turbofan] Add SimplifiedOperator::Allocate operator.
This introduces a simplified allocation operator which can be used to
model inline allocations in TurboFan. It is currently used for context
allocations, but still disabled because change lowering introduces
floating allocations outside the effect chain that interfere.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
1109773002
Cr-Commit-Position: refs/heads/master@{#28195}
akos.palfi [Mon, 4 May 2015 12:05:58 +0000 (05:05 -0700)]
MIPS: Do not use the 64-bit floor and truncate instructions in fp32 mode.
These instructions have unpredictable result when the processor is in fp32 mode.
BUG=
TEST=mjsunit/math-floor-global,math-floor-local,math-floor-part1
Review URL: https://codereview.chromium.org/
1116073002
Cr-Commit-Position: refs/heads/master@{#28194}
yangguo [Mon, 4 May 2015 11:17:00 +0000 (04:17 -0700)]
Reland "Wrap v8natives.js into a function."
Review URL: https://codereview.chromium.org/
1123703002
Cr-Commit-Position: refs/heads/master@{#28193}
titzer [Mon, 4 May 2015 11:05:45 +0000 (04:05 -0700)]
[turbofan] Small fixes to PipelineStatistics. Collect statistics in tests.
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
1122753002
Cr-Commit-Position: refs/heads/master@{#28192}
titzer [Mon, 4 May 2015 10:11:50 +0000 (03:11 -0700)]
Extract Signature from src/compiler/machine-type.h to src/signature.h
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
1118823003
Cr-Commit-Position: refs/heads/master@{#28191}
yangguo [Mon, 4 May 2015 09:55:41 +0000 (02:55 -0700)]
Set inferred name of bound function to empty string.
Otherwise it's whatever the js minifier assigns it to.
R=jkummerow@chromium.org
BUG=chromium:484077
LOG=N
Review URL: https://codereview.chromium.org/
1122733002
Cr-Commit-Position: refs/heads/master@{#28190}
chunyang.dai [Mon, 4 May 2015 03:40:23 +0000 (20:40 -0700)]
X87: VectorICs: built-in function apply should use an IC.
port
83a0af55009548238a2ff6ef71c3387a49da0a88 (r28165).
original commit message:
VectorICs: built-in function apply should use an IC.
Handled a TODO that sent builtin function apply to the runtime on property get.
BUG=
Review URL: https://codereview.chromium.org/
1119263002
Cr-Commit-Position: refs/heads/master@{#28189}
chunyang.dai [Mon, 4 May 2015 03:39:14 +0000 (20:39 -0700)]
X87: Use a stub in crankshaft for grow store arrays.
port
fb8e6136387339e8089bbf61d4ffee50e4cd957e (r28163).
original commit message:
We were deopting without learning anything.
This is a rebase/reland of https://codereview.chromium.org/
368263003
BUG=
Review URL: https://codereview.chromium.org/
1125623002
Cr-Commit-Position: refs/heads/master@{#28188}
machenbach [Sun, 3 May 2015 12:47:45 +0000 (05:47 -0700)]
Revert of [V8] Use previous token location as EOS token location (patchset #2 id:20001 of https://codereview.chromium.org/
1100993003/)
Reason for revert:
[Sheriff] Speculative revert. This seems to block the current roll:
https://codereview.chromium.org/
1124463003/
This bisect also points at this CL:
https://codereview.chromium.org/
1124523002/
Please prepare the chromium side tests before a reland.
Original issue's description:
> [V8] Use previous token location as EOS token location
>
> EOS token location is useless for users and messages.js are not ready for its location.
> With this CL we use location of token before EOS for it.
>
> LOG=Y
> BUG=chromium:480652
> R=yurys@chromium.org,yangguo@chromium.org
>
> Committed: https://crrev.com/
81afc9313ce84350bcba9f84b255a77e97cd3726
> Cr-Commit-Position: refs/heads/master@{#28164}
TBR=yangguo@chromium.org,yurys@chromium.org,kozyatinskiy@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:480652
Review URL: https://codereview.chromium.org/
1116233004
Cr-Commit-Position: refs/heads/master@{#28187}
v8-autoroll [Sat, 2 May 2015 03:28:31 +0000 (20:28 -0700)]
Update V8 DEPS.
Rolling v8/tools/clang to
a8549b6dd82c3b35a06f9894fa7abdcbbf0bd6f5
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
1120243002
Cr-Commit-Position: refs/heads/master@{#28186}
mtrofin [Fri, 1 May 2015 15:31:29 +0000 (08:31 -0700)]
Most of the issues so far encountered with the greedy allocator rest with the splitting mechanism. This change has:
- all RegisterAllocatorTest unit tests passing, when unittest has the flags: --turbo-filter=* --always-opt --turbo-deoptimization --turbo-verify-allocation --turbo_greedy_regalloc
./tools/run-tests.py passing when providing --turbo_greedy_regalloc, but still having some failing (more than the "normal" 43) when passing all the flags. I realize just passing --turbo_greedy_regalloc does not provide full coverage, but it did uncover some bugs, still
The CL centralizes the computing of split points (for "losing" intervals) with the determination of whether an interval is irreducible, and, therefore, of infinite spill weight (if an interval can't be split or spilled, it can't lose in weight comparison because there's nothing we can do to it and make progress).
There are allocator efficiency opportunities I haven't yet taken (this refers to the code itself, not the generated code). For example, the above split/spill computation can be cached. My plan is to defer this to at least after we see numbers showing the value of the algorithm, and potentially do at the same time we remove the linear algorithm, if that is still the plan. At that time, we can look where some APIs best belong (e.g. weight computation may fully live and cache itself on LiveRange)
In addition, the CL adds a few debug-time-only Print APIs I found very useful: on demand (while in GDB) dump of the code, live range info (use positions & operand description, and intervals), etc.
BUG=
Review URL: https://codereview.chromium.org/
1105793002
Cr-Commit-Position: refs/heads/master@{#28185}
v8-autoroll [Fri, 1 May 2015 03:29:13 +0000 (20:29 -0700)]
Update V8 DEPS.
Rolling v8/third_party/icu to
f8c0e585b0a046d83d72b5d37356cb50d5b2031a
Rolling v8/tools/clang to
15ea3e6cc23fd6ff5545bd939ee153b97807668d
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
1117163003
Cr-Commit-Position: refs/heads/master@{#28184}
balazs.kilvady [Thu, 30 Apr 2015 18:52:45 +0000 (11:52 -0700)]
MIPS: Fix 'Detect simple tail calls'.
4b122b7504ab458faa4132c338809b40147751bf
BUG=
Review URL: https://codereview.chromium.org/
1116913002
Cr-Commit-Position: refs/heads/master@{#28183}
machenbach [Thu, 30 Apr 2015 17:33:13 +0000 (10:33 -0700)]
Revert of Wrap v8natives.js into a function. (patchset #2 id:20001 of https://codereview.chromium.org/
1109343004/)
Reason for revert:
[Sheriff] Speculative revert for breaking layout tests, e.g.:
http://build.chromium.org/p/client.v8/builders/V8-Blink%20Linux%2064%20%28dbg%29/builds/2682
See. e.g.:
https://storage.googleapis.com/chromium-layout-test-archives/V8-Blink_Win/3130/layout-test-results/http/tests/websocket/workers/worker-reload-diff.txt
Original issue's description:
> Wrap v8natives.js into a function.
>
> R=jkummerow@chromium.org
>
> Committed: https://crrev.com/
ee1b39b4303829e6c6805fe8b2f2602b13f6463a
> Cr-Commit-Position: refs/heads/master@{#28174}
TBR=jkummerow@chromium.org,yangguo@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/
1121453003
Cr-Commit-Position: refs/heads/master@{#28182}
dusan.milosavljevic [Thu, 30 Apr 2015 16:43:00 +0000 (09:43 -0700)]
MIPS: Add min/max suffixed variants.
TEST=
BUG=
Review URL: https://codereview.chromium.org/
1118693002
Cr-Commit-Position: refs/heads/master@{#28181}
yangguo [Thu, 30 Apr 2015 16:22:00 +0000 (09:22 -0700)]
Migrate error messages, part 6. (string.js and date.js)
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
1116953002
Cr-Commit-Position: refs/heads/master@{#28180}
adamk [Thu, 30 Apr 2015 16:20:51 +0000 (09:20 -0700)]
Remove unused Module-related AST nodes and associated codegen
BUG=v8:1569
LOG=n
Review URL: https://codereview.chromium.org/
1106383008
Cr-Commit-Position: refs/heads/master@{#28179}
mbrandy [Thu, 30 Apr 2015 16:18:09 +0000 (09:18 -0700)]
PPC: VectorICs: built-in function apply should use an IC.
Port
83a0af55009548238a2ff6ef71c3387a49da0a88
Original commit message:
Handled a TODO that sent builtin function apply to the runtime on property get.
R=mvstanton@chromium.org, dstence@us.ibm.com, michael_dawson@ca.ibm.com
BUG=
Review URL: https://codereview.chromium.org/
1118713002
Cr-Commit-Position: refs/heads/master@{#28178}
mbrandy [Thu, 30 Apr 2015 15:43:00 +0000 (08:43 -0700)]
PPC: Use a stub in crankshaft for grow store arrays.
Port
fb8e6136387339e8089bbf61d4ffee50e4cd957e
Original commit message:
We were deopting without learning anything.
This is a rebase/reland of https://codereview.chromium.org/
368263003
BUG=
R=mvstanton@chromium.org, dstence@us.ibm.com, michael_dawson@ca.ibm.com
Review URL: https://codereview.chromium.org/
1113063002
Cr-Commit-Position: refs/heads/master@{#28177}
yangguo [Thu, 30 Apr 2015 15:10:43 +0000 (08:10 -0700)]
Cache experimental natives sources as external strings.
R=ulan@chromium.org
BUG=v8:4054
LOG=N
Review URL: https://codereview.chromium.org/
1114043002
Cr-Commit-Position: refs/heads/master@{#28176}
yangguo [Thu, 30 Apr 2015 15:04:17 +0000 (08:04 -0700)]
Disable stack trace preprocessing.
This has to wait until issue 4065 has been fixed.
R=ulan@chromium.org
BUG=v8:2340, v8:4065, chromium:482312
LOG=N
Review URL: https://codereview.chromium.org/
1110393002
Cr-Commit-Position: refs/heads/master@{#28175}
yangguo [Thu, 30 Apr 2015 14:59:01 +0000 (07:59 -0700)]
Wrap v8natives.js into a function.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
1109343004
Cr-Commit-Position: refs/heads/master@{#28174}
mstarzinger [Thu, 30 Apr 2015 14:51:50 +0000 (07:51 -0700)]
[test] Remove pesky MachineCallHelper from inheritance chain.
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/
1109853003
Cr-Commit-Position: refs/heads/master@{#28173}
titzer [Thu, 30 Apr 2015 14:50:41 +0000 (07:50 -0700)]
Allow TurboFan to compile more methods.
Reorganize some bailout conditions to be after the decision to use TurboFan.
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
1110573002
Cr-Commit-Position: refs/heads/master@{#28172}
svenpanne [Thu, 30 Apr 2015 14:49:32 +0000 (07:49 -0700)]
Mark instruction blocks with spills (for frame elision).
Review URL: https://codereview.chromium.org/
1119683002
Cr-Commit-Position: refs/heads/master@{#28171}
yangguo [Thu, 30 Apr 2015 14:32:24 +0000 (07:32 -0700)]
Initialize typed array content for rempio2result during bootstrapping.
This is to pacify MSAN.
R=mvstanton@chromium.org
BUG=465759
LOG=N
Review URL: https://codereview.chromium.org/
1119693004
Cr-Commit-Position: refs/heads/master@{#28170}
vogelheim [Thu, 30 Apr 2015 14:24:39 +0000 (07:24 -0700)]
Fix typo in builtins-x87, introduced in crrev.com/
1107233004.
BUG=470930
LOG=N
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/
1116933002
Cr-Commit-Position: refs/heads/master@{#28169}
jochen [Thu, 30 Apr 2015 13:46:27 +0000 (06:46 -0700)]
Unify internal and external typed arrays a bit
Just give internal ones an ArrayBuffer with a NULL backing store. This
simplifies the access checks a lot.
BUG=v8:3996
R=hpayer@chromium.org,verwaest@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
1109353003
Cr-Commit-Position: refs/heads/master@{#28168}
dcarney [Thu, 30 Apr 2015 13:39:11 +0000 (06:39 -0700)]
[test] make instruction sequence test emit cfgs more like the scheduler
BUG=
Review URL: https://codereview.chromium.org/
1116923002
Cr-Commit-Position: refs/heads/master@{#28167}
machenbach [Thu, 30 Apr 2015 13:25:01 +0000 (06:25 -0700)]
[test] Mark test as flaky.
BUG=v8:3803
LOG=n
TBR=mstarzinger@chromium.org
NOTRY=true
Review URL: https://codereview.chromium.org/
1112373002
Cr-Commit-Position: refs/heads/master@{#28166}
mvstanton [Thu, 30 Apr 2015 13:08:43 +0000 (06:08 -0700)]
VectorICs: built-in function apply should use an IC.
Handled a TODO that sent builtin function apply to the runtime on property get.
R=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
1120613002
Cr-Commit-Position: refs/heads/master@{#28165}
kozyatinskiy [Thu, 30 Apr 2015 12:44:52 +0000 (05:44 -0700)]
[V8] Use previous token location as EOS token location
EOS token location is useless for users and messages.js are not ready for its location.
With this CL we use location of token before EOS for it.
LOG=Y
BUG=chromium:480652
R=yurys@chromium.org,yangguo@chromium.org
Review URL: https://codereview.chromium.org/
1100993003
Cr-Commit-Position: refs/heads/master@{#28164}
mvstanton [Thu, 30 Apr 2015 12:34:02 +0000 (05:34 -0700)]
Use a stub in crankshaft for grow store arrays.
We were deopting without learning anything.
This is a rebase/reland of https://codereview.chromium.org/
368263003
BUG=v8:3417
LOG=N
Review URL: https://codereview.chromium.org/
1109333003
Cr-Commit-Position: refs/heads/master@{#28163}
vogelheim [Thu, 30 Apr 2015 12:31:38 +0000 (05:31 -0700)]
Implement kToBeExecutedOnceCodeAge.
An initial 'code age' state that will turn into a 'pre-aging' code age only after it was executed the first time.
BUG=470930
LOG=Y
Review URL: https://codereview.chromium.org/
1107233004
Cr-Commit-Position: refs/heads/master@{#28162}