platform/upstream/v8.git
9 years agoUse CLOCK_REALTIME_COARSE when available.
ben [Thu, 7 May 2015 05:06:00 +0000 (22:06 -0700)]
Use CLOCK_REALTIME_COARSE when available.

On systems that have CLOCK_REALTIME_COARSE with good enough resolution, we can
avoid making a system call to get the current time; it's serviced from the vDSO.

BUG=
LOG=N

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

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

9 years agoX87: Optimize the typeof operator.
chunyang.dai [Thu, 7 May 2015 04:01:39 +0000 (21:01 -0700)]
X87: Optimize the typeof operator.

port 7798548a8f2ef14e8320cc42effa86f0eb8e4294 (r28260)

original commit message:

    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/1124263005

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

9 years agoX87: Resolve references to "this" the same way as normal variables
chunyang.dai [Thu, 7 May 2015 03:59:56 +0000 (20:59 -0700)]
X87: Resolve references to "this" the same way as normal variables

port 06a792b7cc2db33ffce7244c044a9c05afbb6116 (r28263).

original commit message:

    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=

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

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

9 years agoRevert of Wrap runtime.js in a function. (patchset #2 id:20001 of https://codereview...
machenbach [Wed, 6 May 2015 20:03:03 +0000 (13:03 -0700)]
Revert of Wrap runtime.js in a function. (patchset #2 id:20001 of https://codereview.chromium.org/1126213002/)

Reason for revert:
[Sheriff] Breaks nosnap:
http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20nosnap/builds/2872

Original issue's description:
> Wrap runtime.js in a function.
>
> R=jkummerow@chromium.org
>
> Committed: https://crrev.com/65c56d49b2d671ac9e379de726bff3eb03a508c1
> Cr-Commit-Position: refs/heads/master@{#28275}

TBR=jkummerow@chromium.org,yangguo@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

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

9 years agoShard v8_base.lib on Windows to avoid 2G .lib limit
scottmg [Wed, 6 May 2015 19:40:04 +0000 (12:40 -0700)]
Shard v8_base.lib on Windows to avoid 2G .lib limit

R=jochen@chromium.org
BUG=chromium:485155
LOG=y

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

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

9 years agoWrap runtime.js in a function.
yangguo [Wed, 6 May 2015 19:24:52 +0000 (12:24 -0700)]
Wrap runtime.js in a function.

R=jkummerow@chromium.org

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

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

9 years agoRespect double alignment in Mark-compact collector.
hpayer [Wed, 6 May 2015 17:25:57 +0000 (10:25 -0700)]
Respect double alignment in Mark-compact collector.

BUG=chromium:436911
LOG=n

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

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

9 years agoPPC: Optimize the typeof operator.
mbrandy [Wed, 6 May 2015 16:45:49 +0000 (09:45 -0700)]
PPC: Optimize the typeof operator.

Port 7798548a8f2ef14e8320cc42effa86f0eb8e4294

Original commit message:
typeof was implemented as a runtime function. Calling it in
optimized code with a non-constant input becomes burdensome.

R=mvstanton@chromium.org, dstence@us.ibm.com, michael_dawson@ca.ibm.com
BUG=

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

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

9 years agoPPC: Resolve references to "this" the same way as normal variables
mbrandy [Wed, 6 May 2015 16:30:06 +0000 (09:30 -0700)]
PPC: Resolve references to "this" the same way as normal variables

Port 18619d355192e2699203d12d9ebb9caea107b693

Original commit message:
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>.

R=wingo@igalia.com, dstence@us.ibm.com,  michael_dawson@ca.ibm.com
BUG=

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

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

9 years agoRemove Scope::scope_uses_arguments_ flag
wingo [Wed, 6 May 2015 16:25:16 +0000 (09:25 -0700)]
Remove Scope::scope_uses_arguments_ flag

Use of arguments is tracked as a variable, like any other variable.

R=arv@chromium.org
LOG=N
BUG=

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

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

9 years ago[es6] implement Object.assign
caitpotter88 [Wed, 6 May 2015 16:17:40 +0000 (09:17 -0700)]
[es6] implement Object.assign

BUG=v8:4007
LOG=N
R=arv@chromium.org, rossberg@chromium.org

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

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

9 years agoPPC: Handle the case when derived constructor is [[Call]]ed with 0 args.
mbrandy [Wed, 6 May 2015 16:14:02 +0000 (09:14 -0700)]
PPC: Handle the case when derived constructor is [[Call]]ed with 0 args.

Port cf53fed972896bf23c037ce7ac9f8e1512463c62

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.

R=dslomov@chromium.org, dstence@us.ibm.com, michael_dawson@ca.ibm.com
BUG=

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

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

9 years agoRemove Scope::scope_uses_this_ flag
wingo [Wed, 6 May 2015 15:50:02 +0000 (08:50 -0700)]
Remove Scope::scope_uses_this_ flag

Use of the "this" variable is now tracked using scopes, like any other variable.

R=arv@chromium.org
LOG=N
BUG=

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

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

9 years agoOnly double align in scavenger on non-64 bit platforms.
hpayer [Wed, 6 May 2015 15:47:27 +0000 (08:47 -0700)]
Only double align in scavenger on non-64 bit platforms.

BUG=chromium:436911
LOG=n

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

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

9 years ago[es6] Fix symbol comparison on some architectures
conradw [Wed, 6 May 2015 15:04:39 +0000 (08:04 -0700)]
[es6] Fix symbol comparison on some architectures

https://codereview.chromium.org/1125783002 did not handle all cases for some
architectures. These cases are now covered, and tests have been extended to
check them.

BUG=v8:4073
LOG=N

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

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

9 years agoRevert of New insertion write barrier. (patchset #3 id:200001 of https://codereview...
hpayer [Wed, 6 May 2015 14:35:02 +0000 (07:35 -0700)]
Revert of New insertion write barrier. (patchset #3 id:200001 of https://codereview.chromium.org/1073953006/)

Reason for revert:
Various performance regressions.

Original issue's description:
> New insertion write barrier.
>
> BUG=
>
> Committed: https://crrev.com/6e9e2c08292b553602c74b16b8ccff4e4ccac003
> Cr-Commit-Position: refs/heads/master@{#28199}

TBR=ulan@chromium.org,erikcorry@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=

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

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

9 years agoFunction apply(): make all architectures use an IC for performance.
mvstanton [Wed, 6 May 2015 14:32:03 +0000 (07:32 -0700)]
Function apply(): make all architectures use an IC for performance.

BUG=
R=yangguo@chromium.org

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

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

9 years agoResolve references to "this" the same way as normal variables
wingo [Wed, 6 May 2015 14:18:03 +0000 (07:18 -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=v8:2700
LOG=N

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

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

9 years agoMove double alignment logic into memory allocator.
hpayer [Wed, 6 May 2015 14:11:49 +0000 (07:11 -0700)]
Move double alignment logic into memory allocator.

BUG=chromium:436911

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

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

9 years agoAdd ObjectTemplate::New() taking FunctionTemplate.
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}

9 years agoOptimize the typeof operator.
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}

9 years ago[turbofan] Connect non-terminating loops via Terminate.
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}

9 years agoManage size of lists used in global handles
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}

9 years agoImplement IdentityMap<V>, a robust, GC-safe object-identity HashMap.
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}

9 years agoShip string unicode escapes
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}

9 years agoRemove GetDefaultReceiver, pass in undefined to sloppy-mode functions instead.
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}

9 years agoFix FreeBSD build.
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}

9 years ago[strong] Fix inlining issue
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}

9 years agoImplement a 'trial parse' step, that will abort pre-parsing excessively
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}

9 years ago[turbofan] Add support for advanced reducers.
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}

9 years agoMigrate error messages, part 8.
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}

9 years ago[test] Mark test as flaky.
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}

9 years agoMark mjsunit/allocation-site-info.js as NO_VARIANTS.
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}

9 years agoRevert of [V8] Reland https://codereview.chromium.org/1100993003/ (patchset #1 id...
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}

9 years agoX87: Handle the case when derived constructor is [[Call]]ed with 0 args.
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}

9 years agoUpdate V8 DEPS.
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}

9 years agoDisable RunAllocate test case for turbofan unsupported platform.
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}

9 years agoAdjust the visibility of the standalone targets in the GN build.
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}

9 years agoHandle the case when derived constructor is [[Call]]ed with 0 args.
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}

9 years agoMIPS: Fix long branch mode and FPU branches.
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}

9 years agoMIPS: Improve '[es6] When comparing two symbols we may need to throw a TypeError'.
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}

9 years agoPPC: [turbofan] Fix tail call optimization.
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}

9 years agoRevert of Resolve references to "this" the same way as normal variables (patchset...
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}

9 years agoRevert of Collect type feedback on result of Math.[round|ceil|floor] (patchset #13...
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}

9 years agoResolve references to "this" the same way as normal variables
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}

9 years agoRevert of [handles] Sanitize Handle and friends. (patchset #4 id:50001 of https:...
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}

9 years agofreed_nodes in global-handles should be addititive
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}

9 years agoBe sure to abort incremental GC when trying to reserve space
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}

9 years agoGrowArrayElementsStub must save caller doubles for double ElementsKind.
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}

9 years ago[grokdump] Update v8heapconst.py
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}

9 years ago[d8] Make Realm.dispose() trigger a ContextDisposedNotification
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}

9 years ago[V8] Reland https://codereview.chromium.org/1100993003/
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}

9 years ago[tick processor] Introduce --pairwise-timed-range processing mode
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}

9 years ago[test] Add arm perf trybot to runner script.
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}

9 years ago[es6] When comparing two symbols we may need to throw a TypeError
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}

9 years agoReduce the size of initial JSON string buffer.
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}

9 years agoDo not cache object literal maps during bootstrapping.
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}

9 years agoMove more parts of stack trace formatting to runtime.
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}

9 years ago[handles] Sanitize Handle and friends.
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}

9 years agoWhen adding constant string with something unknown, assume it's a string.
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}

9 years agoFix bug in "Migrate error messages, part 7".
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}

9 years ago[turbofan] Fix tail call optimization.
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}

9 years agoAdd heap growing strategy details to --trace-gc-verbose.
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}

9 years agoReland #2 "Wrap v8natives.js into a function."
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}

9 years agoMigrate error messages, part 7.
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}

9 years agoCollect type feedback on result of Math.[round|ceil|floor]
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}

9 years ago[c++11] Remove remnants of pre-C++11 delete, final and override.
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}

9 years agoCorrectly accept already preprocessed stack traces.
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}

9 years agoFix another may not be init compile error on AIX
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}

9 years agoMake CPU profiler do not hog 100% of CPU.
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}

9 years agocomment typo fix
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}

9 years agoPPC: Fix 'Remove materialized objects on stack unwind.'
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}

9 years agoRevert of Reland "Wrap v8natives.js into a function." (patchset #2 id:20001 of https...
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}

9 years agoRevert of Revert of [turbofan] Small fixes to PipelineStatistics. Collect statistics...
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}

9 years agoRemove materialized objects on stack unwind.
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}

9 years agoRevert of [turbofan] Small fixes to PipelineStatistics. Collect statistics in tests...
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}

9 years ago[test] Skip some flaky layout tests.
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}

9 years agoPPC: Only swap undefined for the global object if necessary in the prologue
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}

9 years agoFix smi scanning
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}

9 years agoMIPS: Skip test-simplified-lowering/RunNumberDivide_2_TruncatingToUint32.
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}

9 years agoOnly swap undefined for the global object if necessary in the prologue
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}

9 years agoNew insertion write barrier.
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}

9 years ago[turbofan] Free TurboFan from the claws of ZoneList.
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}

9 years ago[release-tools] Tool to find related commits
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}

9 years agoDon't perform marking barrier for weak cell values.
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}

9 years ago[turbofan] Add SimplifiedOperator::Allocate operator.
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}

9 years agoMIPS: Do not use the 64-bit floor and truncate instructions in fp32 mode.
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}

9 years agoReland "Wrap v8natives.js into a function."
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}

9 years ago[turbofan] Small fixes to PipelineStatistics. Collect statistics in tests.
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}

9 years agoExtract Signature from src/compiler/machine-type.h to src/signature.h
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}

9 years agoSet inferred name of bound function to empty string.
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}

9 years agoX87: VectorICs: built-in function apply should use an IC.
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}

9 years agoX87: Use a stub in crankshaft for grow store arrays.
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}

9 years agoRevert of [V8] Use previous token location as EOS token location (patchset #2 id...
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}

9 years agoUpdate V8 DEPS.
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}

9 years agoMost of the issues so far encountered with the greedy allocator rest with the splitti...
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}

9 years agoUpdate V8 DEPS.
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}

9 years agoMIPS: Fix 'Detect simple tail calls'.
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}

9 years agoRevert of Wrap v8natives.js into a function. (patchset #2 id:20001 of https://coderev...
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}

9 years agoMIPS: Add min/max suffixed variants.
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}