Commit Graph

22885 Commits

Author SHA1 Message Date
wingo
aefba70586 Remove Scope::scope_uses_this_ flag
R=rossberg@chromium.org
LOG=N
BUG=

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

Cr-Commit-Position: refs/heads/master@{#28343}
2015-05-11 15:42:13 +00:00
mbrandy
1ac6e30dd0 PPC: Resolve references to "this" the same way as normal variables
Port bd56d279b6

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

This is a reapplication of https://codereview.chromium.org/1130733003.

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

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

Cr-Commit-Position: refs/heads/master@{#28342}
2015-05-11 14:34:30 +00:00
mbrandy
58c40db255 PPC: Add a MathFloor stub generated with TurboFan
Port abc35080b3

Original commit message:
This stub will be used as the basis of a Math.floor-specific CallIC to
detect and track calls to floor that return -0.

Along the way:
- Create a TurboFanCodeStub super class from which the StringLength and
MathRound TF stubs derive.
- Fix the ugly hack that passes the first stub parameter as the "this"
pointer in the the TF-compiled JS function.
- Fix bugs in the ia32/x64 disassembler.

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

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

Cr-Commit-Position: refs/heads/master@{#28341}
2015-05-11 14:33:28 +00:00
wingo
bd56d279b6 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>.

This is a reapplication of https://codereview.chromium.org/1130733003.

R=rossberg@chromium.org
BUG=v8:2700
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#28340}
2015-05-11 11:49:46 +00:00
danno
abc35080b3 Add a MathFloor stub generated with TurboFan
This stub will be used as the basis of a Math.floor-specific CallIC to
detect and track calls to floor that return -0.

Along the way:
- Create a TurboFanCodeStub super class from which the StringLength and
MathRound TF stubs derive.
- Fix the ugly hack that passes the first stub parameter as the "this"
pointer in the the TF-compiled JS function.
- Fix bugs in the ia32/x64 disassembler.

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

Cr-Commit-Position: refs/heads/master@{#28339}
2015-05-11 11:45:02 +00:00
titzer
f750cc09be Add %GetUndetectable() test intrinsic and add tests for undetectables.
R=verwaest@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#28338}
2015-05-11 11:28:56 +00:00
wingo
004bb77ec5 Fix more -Werror=sign-compare bugs with GCC 4.9.2
R=svenpanne@chromium.org
LOG=N
BUG=

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

Cr-Commit-Position: refs/heads/master@{#28337}
2015-05-11 11:07:15 +00:00
machenbach
10b9a8662b [test] Skip Slimming Paint layout tests.
Also make the expectation lint check happy.

TBR=jochen@chromium.org
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#28336}
2015-05-11 11:03:46 +00:00
erikcorry
5bc51bb454 Postpone counters triggered during GC, and use a HandleScope when calling back.
R=jkummerow@chromium.org,hpayer@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#28335}
2015-05-11 10:57:53 +00:00
machenbach
0b81f67b12 [test-runner] Improve test execution without tmp files for output.
BUG=chromium:485932
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#28334}
2015-05-11 09:26:35 +00:00
yangguo
0208b8e3a1 Fix build after revert at 28332.
TBR=machenbach@chromium.org
NOTRY=true
NOTREECHECKS=true

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

Cr-Commit-Position: refs/heads/master@{#28333}
2015-05-11 08:50:38 +00:00
machenbach
19a28dcefd Revert of Add the concept of a V8 extras exports object (patchset #5 id:80001 of https://codereview.chromium.org/1128113006/)
Reason for revert:
[Sheriff] Causes gc stress failures:
http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20arm64%20-%20sim%20-%20gc%20stress/builds/2167

Original issue's description:
> Add the concept of a V8 extras exports object
>
> Exposed to the extras as extrasExports (on the builtins object), on
> which they can put things that should be accessible from C++. Exposed
> to C++ through the V8 API as v8::Context::GetExtrasExportsObject().
>
> Adding a test (in test-api.cc) required adding a simple extra,
> test-extra.js, which we build into the standalone builds.
>
> R=yangguo@chromium.org, jochen@chromium.org
> BUG=
>
> Committed: https://crrev.com/ad547cea05f3e02c67243b682e933fc53ac763d9
> Cr-Commit-Position: refs/heads/master@{#28317}

TBR=jochen@chromium.org,yangguo@chromium.org,domenic@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=

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

Cr-Commit-Position: refs/heads/master@{#28332}
2015-05-11 08:19:58 +00:00
yangguo
7f4fa3b8f1 Call builtin code wrapped in functions from the bootstrapper.
For the moment, we only pass the global object (the one we are setting up).
A few smaller changes were necessary to avoid failures in
test-object-observe/DontLeakContextOnObserve. Otherwise the global object
would be retained by being context allocated, leading to test failure.

R=jkummerow@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28331}
2015-05-11 08:14:50 +00:00
titzer
256ae73652 [turbofan] Extract frame-states.h from common-operator.h
R=jarin@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#28330}
2015-05-11 08:02:58 +00:00
v8-autoroll
0baf67391e Update V8 DEPS.
Rolling v8/tools/clang to 5bab78c6ced45a71a8e095a09697ca80492e57e1

TBR=machenbach@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28329}
2015-05-11 03:39:29 +00:00
v8-autoroll
0b50d04ba0 Update V8 DEPS.
Rolling v8/tools/clang to 72b418e60c4529a7b160cead01b099de6ea8445f

TBR=machenbach@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28328}
2015-05-10 03:38:03 +00:00
jkummerow
f10b992dab Let Runtime_GrowArrayElements accept non-Smi numbers as |key|.
BUG=chromium:485410
LOG=y
R=mvstanton@chromium.org,danno@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28327}
2015-05-09 10:30:49 +00:00
hpayer
f06534b944 Only double align in PagedSpace::AllocateRawDoubleAligned when allocation succeeded.
BUG=chromium:486003
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#28326}
2015-05-09 10:29:38 +00:00
dehrenberg
ca9d499f75 Make one copy for all TypedArray methods
This is the first step of converting TypedArrays to the proper
proto chain. There is one copy for each of the Harmony TypedArray
methods, rather than a version for each TypedArray type. This
form prevents accidentally baking in knowledge about a particular
array type into the method definition.

R=adamk@chromium.org, arv@chromium.org, caitpotter88@gmail.com, dslomov@chromium.org, jochen@chromium.org
BUG=v8:4085
LOG=Y

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

Cr-Commit-Position: refs/heads/master@{#28325}
2015-05-09 01:20:07 +00:00
Michael Achenbach
53930ea3b8 Whitespace CL to test master split.
Cr-Commit-Position: refs/heads/master@{#28324}
2015-05-08 21:32:12 +00:00
titzer
318c1f770c [turbofan] Fix handling of OsrLoopEntry in ControlReducer::ConnectNTL()
R=jarin@chromium.org
LOG=Y
BUG=chromium:485908

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

Cr-Commit-Position: refs/heads/master@{#28323}
2015-05-08 15:44:27 +00:00
erikcorry
f3219552b6 If marking deque allocation fails, try to make do with a smaller one
R=hpayer@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#28322}
2015-05-08 15:12:50 +00:00
adamk
090c78219f Give ComputeCapacityForSerialization a minimum capacity
This avoids DCHECK failures when passing 0 as the at_least_space_for
argument to HashTableBase::New (allowing converting code from non-serialized
to serialized without changing callsites).

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

Cr-Commit-Position: refs/heads/master@{#28321}
2015-05-08 15:03:34 +00:00
hpayer
250f591c94 Remove explicit double alignment from allocation helper functions.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#28320}
2015-05-08 14:11:51 +00:00
jochen
18beb5009a Add support for on-heap typed arrays to HLoadKeyed::InferRange
BUG=v8:3996
R=bmeurer@chromium.org
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#28319}
2015-05-08 13:30:57 +00:00
martyn.capewell
6e6d956e11 [turbofan] Use sbfx in ARM64 instruction selector
Select sbfx for ((x << k) >> k) in ARM64 instruction selector, and similarly
for ubfx. This is a more generic version of the previous sxtb/h selector.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#28318}
2015-05-08 12:51:43 +00:00
domenic
ad547cea05 Add the concept of a V8 extras exports object
Exposed to the extras as extrasExports (on the builtins object), on
which they can put things that should be accessible from C++. Exposed
to C++ through the V8 API as v8::Context::GetExtrasExportsObject().

Adding a test (in test-api.cc) required adding a simple extra,
test-extra.js, which we build into the standalone builds.

R=yangguo@chromium.org, jochen@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#28317}
2015-05-08 12:06:35 +00:00
bmeurer
297bb0ca8b [clusterfuzz] Length 0 is perfectly fine for BitVector.
BUG=chromium:485952
LOG=n
R=jarin@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28316}
2015-05-08 12:01:51 +00:00
dusan.milosavljevic
1fbe587b0d MIPS [turbofan]: Improve fpu branch assembling for unordered conditions.
TEST=
BUG=

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

Cr-Commit-Position: refs/heads/master@{#28315}
2015-05-08 09:42:47 +00:00
bmeurer
225f9bf214 [turbofan] Don't try to push JSToNumber into phis early.
This should not be done during typed lowering, but should be part of a
dedicated truncation/conversion analysis.

R=jarin@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28314}
2015-05-08 09:34:56 +00:00
hpayer
c80d730c71 Initialize sub-array literals first before pointing to it.
BUG=484544
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#28313}
2015-05-08 09:24:31 +00:00
mvstanton
f9c46ed1bb TurboFan: commit dependencies only on update of the opt. code list.
TurboFan compilation was committing dependencies long before the
optimized function made it's way into the optimized code list for
the native context. The problem is that once the code pointer is out
there in dependency arrays, it is eligible for deopt. But the deopt
logic needs the code to be in the optimized code list to fully do it's
job.

BUG=
R=jarin@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28312}
2015-05-08 09:13:12 +00:00
domenic
570fca61fc Re-land: Make V8 extras a separate type of native
Instead of making them an extra option that gets passed in and compiled
at the end of the natives file for a given run of js2c, we now make them a
separate run of js2c with a separate natives file output.

This natives file output is then compiled in the bootstrapper. It is not part
of the snapshot (yet), but instead is treated similar to the experimental
natives, just without any of the complexity that comes from tieing the
behavior to flags. We also don't need counterparts to
InitializeExperimentalGlobal and InstallExperimentalNativeFunctions (yet?).

This fixes the issue with https://codereview.chromium.org/1129743003 by making
the dummy file that is generated for snapshots with no extras (or no experimental
features) nonempty.

R=yangguo@chromium.org, jochen@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#28311}
2015-05-08 08:44:51 +00:00
bmeurer
189609e197 [turbofan] Float32Abs and Float64Abs are supported by all backends.
The Float32Abs and Float64Abs operators are supported by all TurboFan
backends, so we no longer need the flags for them.

R=jarin@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28310}
2015-05-08 08:25:05 +00:00
verwaest
43d5319143 Revert of Allow loading holes from holey smi arrays (patchset #2 id:20001 of https://codereview.chromium.org/1134483002/)
Reason for revert:
Shouldn't unconditionally load holes since it tanks performance. I'll change it in a follow-up to only do it if the IC ever saw it happen.

Original issue's description:
> Allow loading holes from holey smi arrays
>
> BUG=
>
> Committed: https://crrev.com/eab5bb5390fab79d063f29398377c6d181963dde
> Cr-Commit-Position: refs/heads/master@{#28298}

TBR=mvstanton@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=

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

Cr-Commit-Position: refs/heads/master@{#28309}
2015-05-08 07:28:57 +00:00
bmeurer
7e84fb2679 [turbofan] Don't embed backing store of neutered array buffer.
R=jochen@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28308}
2015-05-08 05:53:46 +00:00
chunyang.dai
93662ec235 Revert of X87: Resolve references to "this" the same way as normal variables
Reason for revert:

   original commit was reverted.

   This reverts commit c3529ce501.

   original issues's description:

   > X87: Resolve references to "this" the same way as normal variables
   >
   > port 06a792b7cc (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/1130913005

Cr-Commit-Position: refs/heads/master@{#28307}
2015-05-08 03:57:26 +00:00
v8-autoroll
1d04047702 Update V8 DEPS.
Rolling v8/buildtools to b0ede9c89f9d5fbe5387d961ad4c0ec665b6c821

Rolling v8/tools/clang to bda3bddc01a91a513ec245ed1079b31cf5d7ded3

TBR=machenbach@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28306}
2015-05-08 03:28:24 +00:00
mbrandy
727e92eced Revert of PPC: Resolve references to "this" the same way as normal variables (patchset #1 id:1 of https://codereview.chromium.org/1129803003/)
Reason for revert:
Original commit was reverted.

Original issue's description:
> PPC: Resolve references to "this" the same way as normal variables
>
> Port 18619d3551
>
> 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=
>
> Committed: https://crrev.com/e0ec097b2f49c4c99a2e9490f4b1a09e02abfd4d
> Cr-Commit-Position: refs/heads/master@{#28272}

TBR=dstence@us.ibm.com,michael_dawson@ca.ibm.com,wingo@igalia.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=

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

Cr-Commit-Position: refs/heads/master@{#28305}
2015-05-07 22:15:43 +00:00
domenic
0d1e35ab43 Fix the build with snapshot=external
R=jochen@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#28304}
2015-05-07 18:18:05 +00:00
balazs.kilvady
3f7b797c1e MIPS: Fix Assembler::dd(Label*) implementation.
BUG=
TEST=mjsunit/asm/embenchen/lua_binarytrees

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

Cr-Commit-Position: refs/heads/master@{#28303}
2015-05-07 17:21:29 +00:00
jochen
e7fcae36d3 Only print elements of a typed array if the buffer wasn't neutered
BUG=chromium:485534
R=yangguo@chromium.org
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#28302}
2015-05-07 15:55:25 +00:00
dehrenberg
60e674c11e TypedArray.prototype.every method
BUG=v8:3578
LOG=Y
R=adamk@chromium.org, dslomov@chromium.org, svenpanne@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28301}
2015-05-07 15:54:19 +00:00
ulan
ae6a0b8075 Add mode to reduce memory usage in idle notification.
While the mutator is active, the idle time handler optimizes for latency by doing only incremental steps and scavenges.

When the mutator becomes inactive, the idle time handler forces few incremental GCs to reclaim memory and then stops until mutator is active again.

BUG=460090
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#28300}
2015-05-07 14:41:54 +00:00
domenic
010c515d0f Revert of Make V8 extras a separate type of native (patchset #4 id:60001 of https://codereview.chromium.org/1129743003/)
Reason for revert:
https://build.chromium.org/p/client.v8/builders/V8-Blink%20Linux%2064%20%28dbg%29/builds/2745

Original issue's description:
> Make V8 extras a separate type of native
>
> Instead of making them an extra option that gets passed in and compiled
> at the end of the natives file for a given run of js2c, we now make them a
> separate run of js2c with a separate natives file output.
>
> This natives file output is then compiled in the bootstrapper. It is not part
> of the snapshot (yet), but instead is treated similar to the experimental
> natives, just without any of the complexity that comes from tieing the
> behavior to flags. We also don't add counterparts to
> InitializeExperimentalGlobal and InstallExperimentalNativeFunctions, yet.
>
> R=yangguo@chromium.org, jochen@chromium.org
> BUG=
>
> Committed: https://crrev.com/c93aff4ac63ad9ffb6318e750335208de32b7902
> Cr-Commit-Position: refs/heads/master@{#28296}

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

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

Cr-Commit-Position: refs/heads/master@{#28299}
2015-05-07 14:26:44 +00:00
verwaest
eab5bb5390 Allow loading holes from holey smi arrays
BUG=

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

Cr-Commit-Position: refs/heads/master@{#28298}
2015-05-07 14:02:00 +00:00
ulan
32c73eae60 Do not sample memory histograms in short idle notifications.
BUG=chromium:485472
LOG=NO
TBR=jochen@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28297}
2015-05-07 12:51:05 +00:00
domenic
c93aff4ac6 Make V8 extras a separate type of native
Instead of making them an extra option that gets passed in and compiled
at the end of the natives file for a given run of js2c, we now make them a
separate run of js2c with a separate natives file output.

This natives file output is then compiled in the bootstrapper. It is not part
of the snapshot (yet), but instead is treated similar to the experimental
natives, just without any of the complexity that comes from tieing the
behavior to flags. We also don't add counterparts to
InitializeExperimentalGlobal and InstallExperimentalNativeFunctions, yet.

R=yangguo@chromium.org, jochen@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#28296}
2015-05-07 12:44:10 +00:00
kozyatinskiy
112f8dc97a [V8] Reland https://codereview.chromium.org/1121833003/
Chromium tests were prepared in https://codereview.chromium.org/1118743003/ and https://codereview.chromium.org/1135493002/.
Blink tests in https://codereview.chromium.org/1115193002/

LOG=Y
BUG=chromium:480652
R=yangguo@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28295}
2015-05-07 11:49:09 +00:00
ishell
0e499bfe4a [grokdump] Annoying line wrapping fixed.
NOTREECHECKS=true
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#28294}
2015-05-07 10:43:41 +00:00