Commit Graph

30384 Commits

Author SHA1 Message Date
mstarzinger
b06fa13704 [interpreter] Be explicit when to test BytecodeGraphBuilder.
This adds a dedicated flag for enabling the BytecodeGraphBuilder. The
intention is to be explicit when this variant is being tested and to
avoid unnecessary overhead in production code for a configuration that
is not yet shipping.

R=rmcilroy@chromium.org

Review-Url: https://codereview.chromium.org/1925123002
Cr-Commit-Position: refs/heads/master@{#35892}
2016-04-29 08:41:11 +00:00
verwaest
49a4f2d14a Turn Array.isArray into a Turbofan stub
The current stub supports everything except JSProxy

BUG=

Review-Url: https://codereview.chromium.org/1924233002
Cr-Commit-Position: refs/heads/master@{#35891}
2016-04-29 08:19:21 +00:00
adamk
f1a0f054fb Several tiny cleanups in test-parsing.cc
R=littledan@chromium.org

Review-Url: https://codereview.chromium.org/1926133003
Cr-Commit-Position: refs/heads/master@{#35890}
2016-04-29 06:44:18 +00:00
zhengxing.li
1542e46d0d X87: [api] Expose FunctionCallbackInfo::NewTarget.
port 306c412ce0 (r35833)

  original commit message:
  This is needed by Blink to implement the Custom Elements spec.

BUG=

Review-Url: https://codereview.chromium.org/1928213002
Cr-Commit-Position: refs/heads/master@{#35889}
2016-04-29 06:44:17 +00:00
zhengxing.li
ad32faee80 X87: [turbofan] Enable concurrent (re)compilation.
port ff19726d80 (r35818)

  original commit message:
  Refactor the TurboFan pipeline to allow for concurrent recompilation in
  the same way that Crankshaft does it. For now we limit the concurrent
  phases to scheduling, instruction selection, register allocation and
  jump threading.

BUG=

Review-Url: https://codereview.chromium.org/1926383002
Cr-Commit-Position: refs/heads/master@{#35888}
2016-04-29 06:42:03 +00:00
v8-autoroll
fc6469d5df Update V8 DEPS.
Rolling v8/tools/clang to e18fbfd9a57db60c8667acfc60f5296337c7f4ab

TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org

Review-Url: https://codereview.chromium.org/1925193003
Cr-Commit-Position: refs/heads/master@{#35887}
2016-04-29 06:42:02 +00:00
machenbach
819371c628 Revert of Remove more dead code after Object.observe removal (patchset #5 id:80001 of https://codereview.chromium.org/1904313004/ )
Reason for revert:
[Sheriff] Looks like this breaks layout tests:
https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/6442

Original issue's description:
> Remove more dead code after Object.observe removal
>
> This moves __{define,lookup}{Getter,Setter}__ to builtins.cc to free up the JavaScript implementation of DefineOwnProperty for deletion.

TBR=verwaest@chromium.org,jkummerow@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Review-Url: https://codereview.chromium.org/1929293002
Cr-Commit-Position: refs/heads/master@{#35886}
2016-04-29 06:31:02 +00:00
littledan
3d66e5d1d7 Add checks for detached ArrayBuffers to ArrayBuffer.prototype.slice
These checks ensure that a TypeError is thrown, per spec, rather than
a runtime assert failure.

BUG=v8:4964
R=adamk
LOG=Y

Review-Url: https://codereview.chromium.org/1929123002
Cr-Commit-Position: refs/heads/master@{#35885}
2016-04-28 22:50:56 +00:00
alph
a4fa471a33 Sampling heap profiler: remove empty nodes from profile.
Review-Url: https://codereview.chromium.org/1919223003
Cr-Commit-Position: refs/heads/master@{#35884}
2016-04-28 22:39:49 +00:00
alph
7961e2e923 Sampling heap profiler: Fix potential crash on accessing scripts.
Do not hold bare pointers to scripts during sampling heap tree construction,
as string conversions may lead to an allocation that in turn could cause GC
which renders all pointers invalid.

Review-Url: https://codereview.chromium.org/1929813002
Cr-Commit-Position: refs/heads/master@{#35883}
2016-04-28 21:47:20 +00:00
bbudge
3f5d24cc99 V8: Fix OS X build of ARM simulator.
Fixes 4 compile errors on Mac due to specifiers not matching type casts.

LOG=N
BUG=

Review-Url: https://codereview.chromium.org/1921483004
Cr-Commit-Position: refs/heads/master@{#35882}
2016-04-28 21:36:22 +00:00
mlippautz
5dc254f63b Revert "[heap] Optimize NewSpace::AllocatedSinceLastGC"
Also revert "[heap] Force inlining of AllocatedSinceLastGC"

This is a speculative revert to see if it actually impacts the benchmarks in
question.

This reverts commit 723e120bd0.
This reverts commit 08dbdd4037.

BUG=chromium:605524
LOG=N
TBR=ulan@chromium.org

Review-Url: https://codereview.chromium.org/1932883002
Cr-Commit-Position: refs/heads/master@{#35881}
2016-04-28 21:10:24 +00:00
dgozman
9cf856a8ce Allow CpuProfiler::SetIdle to be called while executing JS.
This could be the case when running nested message loop
while paused in debugger.

BUG=none
LOG=N

Review-Url: https://codereview.chromium.org/1922703005
Cr-Commit-Position: refs/heads/master@{#35880}
2016-04-28 19:58:02 +00:00
jyan
3e9924f6dd S390X: [turbofan] Fix checked loads/stores.
This refines 6382a61059 -- as we still
require clean up of the uint index register.

TEST=mjsunit/asm/float32array-negative-offset
R=joransiu@ca.ibm.com, mbrandy@us.ibm.com, michael_dawson@ca.ibm.com, bjaideep@ca.ibm.com
BUG=

Conflicts:
	src/compiler/s390/code-generator-s390.cc

Review-Url: https://codereview.chromium.org/1921073003
Cr-Commit-Position: refs/heads/master@{#35879}
2016-04-28 19:44:29 +00:00
jyan
38e7d1fb1a S390: [api] Expose FunctionCallbackInfo::NewTarget
Port 306c412ce0

Original commit message:

    This is needed by Blink to implement the Custom Elements spec.

R=adamk@chromium.org, joransiu@ca.ibm.com, bjaideep@ca.ibm.com, michael_dawson@ca.ibm.com, mbrandy@us.ibm.com

BUG=v8:4261
LOG=N

Review-Url: https://codereview.chromium.org/1925233002
Cr-Commit-Position: refs/heads/master@{#35878}
2016-04-28 19:37:38 +00:00
jarin
a5c6676b13 Unship try-catch and try-finally optimizations in Turbofan.
Try catch interacts badly with OSR and for-in.

BUG=chromium:607493
LOG=n

Review-Url: https://codereview.chromium.org/1931973002
Cr-Commit-Position: refs/heads/master@{#35877}
2016-04-28 18:59:48 +00:00
jkummerow
15e106382e Remove more dead code after Object.observe removal
This moves __{define,lookup}{Getter,Setter}__ to builtins.cc to free up the JavaScript implementation of DefineOwnProperty for deletion.

Review-Url: https://codereview.chromium.org/1904313004
Cr-Commit-Position: refs/heads/master@{#35876}
2016-04-28 18:35:42 +00:00
ahaas
e51323de5c [wasm] Generated the framework in wasm-module for parallel compilation.
I introduced a new flag, --wasm-parallel-compilation, which turns on
parallel compilation of wasm modules. If parallel compilation is turned
on, then the compilation of wasm functions is split into three phases,
initialization, execution, and finalization. The execution phase is the
phase which is going to contain all the code that can be executed in
parallel. At the moment the execution phase is still empty.

R=titzer@chromium.org

Review-Url: https://codereview.chromium.org/1928933002
Cr-Commit-Position: refs/heads/master@{#35875}
2016-04-28 16:41:41 +00:00
bryleun
2950df96b9 S390: Get rid of AllocationFlags::TAG_OBJECT
Port 9bf7a31a8c

 Original commit message:

        Default (and only way) is now to retrieve a tagged object.

R=joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, bjaideep@ca.ibm.com

BUG=

Review-Url: https://codereview.chromium.org/1929673002
Cr-Commit-Position: refs/heads/master@{#35874}
2016-04-28 16:00:12 +00:00
ivica.bogosavljevic
60497de28c MIPS: Implement unaligned access instruction.
Implement unaligned access instructions, and tests for corresponding
instruction

BUG=

Review-Url: https://codereview.chromium.org/1902743002
Cr-Commit-Position: refs/heads/master@{#35873}
2016-04-28 15:10:12 +00:00
neis
dd47dcb95c [generators] Create the fixed array holding the registers only once.
Instead of replacing the array with an empty one after resuming, overwrite
contents with a new Oddball.

This will simplify the work to be done by the bytecode graphbuilder and
potentially allow for more optimization.

(For full-codegen generators, nothing changes.)

BUG=v8:4907
LOG=n

Review-Url: https://codereview.chromium.org/1923253002
Cr-Commit-Position: refs/heads/master@{#35872}
2016-04-28 14:56:22 +00:00
machenbach
af41997177 Revert of [Ignition] Test ignition on all bots. (patchset #4 id:60001 of https://codereview.chromium.org/1804003002/ )
Reason for revert:
Will resubmit with proper fix and more test skips.

Original issue's description:
> [Ignition] Test ignition on all bots.
>
> This adds ignition to the testing variants that are run on all
> bots.
>
> Failing tests can only be skipped with the NO_IGNITION
> keyword in status files. Existing expectations for the
> ignition_turbofan variant are all duplicated and use the
> NO_IGNITION keyword as well now.
>
> BUG=v8:4280
> LOG=N
> NOTRY=true

TBR=rmcilroy@chromium.org,mstarzinger@chromium.org,yangguo@chromium.org,mythria@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:4280

Review-Url: https://codereview.chromium.org/1930943002
Cr-Commit-Position: refs/heads/master@{#35871}
2016-04-28 14:53:57 +00:00
yangguo
c1c53a7d4c [debugger] account for script source offsets in --print-break-location.
R=vogelheim@chromium.org

Review-Url: https://codereview.chromium.org/1928943002
Cr-Commit-Position: refs/heads/master@{#35870}
2016-04-28 14:24:15 +00:00
mlippautz
08dbdd4037 [heap] Force inlining of AllocatedSinceLastGC
Speculatively forcining inlining as not inlining potentially regresses
performance.

BUG=chromium:605524
LOG=N

Review-Url: https://codereview.chromium.org/1924033003
Cr-Commit-Position: refs/heads/master@{#35869}
2016-04-28 13:52:35 +00:00
rossberg
9e7793eaac Ship for-in initializer deprecation
R=hablich@chromium.org
BUG=v8:4942
LOG=true

Review-Url: https://codereview.chromium.org/1928513004
Cr-Commit-Position: refs/heads/master@{#35868}
2016-04-28 13:39:18 +00:00
balazs.kilvady
683730b1d0 Use third_party clang on Mac.
-Wno-undefined-var-template flag is unknown by Xcode's clang. And it is
better to use the same clang version that is used on linux.

BUG=

Review-Url: https://codereview.chromium.org/1926633004
Cr-Commit-Position: refs/heads/master@{#35867}
2016-04-28 13:34:56 +00:00
mmoroz
6474898082 Add GC request to libFuzzers in attempt to avoid parasitic coverage.
R=aizatsky@chromium.org, jochen@chromium.org, kcc@chromium.org, ochang@chromium.org
BUG=584819
LOG=Y

Review-Url: https://codereview.chromium.org/1927933002
Cr-Commit-Position: refs/heads/master@{#35866}
2016-04-28 13:32:28 +00:00
machenbach
132c09ed61 [Ignition] Test ignition on all bots.
This adds ignition to the testing variants that are run on all
bots.

Failing tests can only be skipped with the NO_IGNITION
keyword in status files. Existing expectations for the
ignition_turbofan variant are all duplicated and use the
NO_IGNITION keyword as well now.

BUG=v8:4280
LOG=N
NOTRY=true

Review-Url: https://codereview.chromium.org/1804003002
Cr-Commit-Position: refs/heads/master@{#35865}
2016-04-28 13:32:27 +00:00
yangguo
5ea8412304 [debugger,interpreter] add source position to stack checks.
DevTools uses the debug interrupt to trap on function entry. Without
source position at the stack check, we would get bogus source positions.

R=mstarzinger@chromium.org
BUG=chromium:595646
LOG=N

Review-Url: https://codereview.chromium.org/1925063002
Cr-Commit-Position: refs/heads/master@{#35864}
2016-04-28 13:16:57 +00:00
machenbach
9212be866d Revert of [turbofan] Run everything after representation selection concurrently. (patchset #2 id:20001 of https://codereview.chromium.org/1926023002/ )
Reason for revert:
[Sheriff] Flaky crashed here and there:
https://build.chromium.org/p/client.v8/builders/V8%20Linux/builds/9867
https://build.chromium.org/p/client.v8/builders/V8%20Linux64/builds/9589
https://build.chromium.org/p/client.v8/builders/V8%20Mac/builds/7679

Original issue's description:
> [turbofan] Run everything after representation selection concurrently.
>
> Further refactor the pipeline to even run the first scheduler (part of
> the effect control linearization) concurrently. This temporarily
> disables most of the write barrier elimination, but we will get back to
> that later.

TBR=mstarzinger@chromium.org,bmeurer@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Review-Url: https://codereview.chromium.org/1925073002
Cr-Commit-Position: refs/heads/master@{#35863}
2016-04-28 13:14:39 +00:00
neis
5595d3579c [ignition] Reactivate check for jumps to unbound targets.
- Move the check from the BytecodeArrayBuilder destructor, which doesn't get
  called, to the ToBytecodeArray function.
- Remove the now empty destructor.
- For generators, bind unused resume point labels somewhere.

R=rmcilroy@chromium.org
BUG=

Review-Url: https://codereview.chromium.org/1924093005
Cr-Commit-Position: refs/heads/master@{#35862}
2016-04-28 13:01:33 +00:00
bmeurer
e045a06625 [turbofan] Run everything after representation selection concurrently.
Further refactor the pipeline to even run the first scheduler (part of
the effect control linearization) concurrently. This temporarily
disables most of the write barrier elimination, but we will get back to
that later.

Review-Url: https://codereview.chromium.org/1926023002
Cr-Commit-Position: refs/heads/master@{#35861}
2016-04-28 12:54:49 +00:00
machenbach
e7e7124c83 [build] Fix empty action inputs for xcode-ninja builds
BUG=chromium:606898
LOG=n

Review-Url: https://codereview.chromium.org/1932703002
Cr-Commit-Position: refs/heads/master@{#35860}
2016-04-28 12:43:44 +00:00
epertoso
914c6c52a5 [compiler] Reduce the code size of the ToBoolean stub.
We effectively have 4 different cases to deal with, including the default, but on some platform where we emit the jump table inline (e.g. arm64) we end up emitting an unconditional jump to the same address 127 times.

BUG=

Review-Url: https://codereview.chromium.org/1765883002
Cr-Commit-Position: refs/heads/master@{#35859}
2016-04-28 12:22:10 +00:00
jochen
9e16f72a63 Remove stale V8_IMMINENT_DEPRECATION_WARNINGS defines
R=machenbach@chromium.org
BUG=

Review-Url: https://codereview.chromium.org/1927083002
Cr-Commit-Position: refs/heads/master@{#35858}
2016-04-28 11:43:22 +00:00
vogelheim
5e9b1eb3b5 Prevent unnecessary memory (de-)allocations in LiteralBuffer::CopyFrom.
BUG=v8:4947
LOG=Y

Review-Url: https://codereview.chromium.org/1919673006
Cr-Commit-Position: refs/heads/master@{#35857}
2016-04-28 11:23:55 +00:00
yangguo
9a93964503 [debugger,interpreter] tentatively unskip gc-stress tests.
R=machenbach@chromium.org
BUG=v8:4690
LOG=N

Review-Url: https://codereview.chromium.org/1925993002
Cr-Commit-Position: refs/heads/master@{#35856}
2016-04-28 11:19:16 +00:00
jarin
5247b2679c [turbofan] Abort compilation when the max deoptimization table size is exceeded.
BUG=chromium:607115
LOG=n

Review-Url: https://codereview.chromium.org/1928903002
Cr-Commit-Position: refs/heads/master@{#35855}
2016-04-28 11:12:38 +00:00
balazs.kilvady
5345727935 MIPS: Fix unbounded label counter.
TEST=mjsunit/asm/embenchen/zlib
BUG=

Review-Url: https://codereview.chromium.org/1925543003
Cr-Commit-Position: refs/heads/master@{#35854}
2016-04-28 11:01:12 +00:00
jochen
686558dcff Fix comment about when we rehash ObjectHashTables before growing them
R=ulan@chromium.org
BUG=

Review-Url: https://codereview.chromium.org/1918403003
Cr-Commit-Position: refs/heads/master@{#35853}
2016-04-28 10:38:24 +00:00
verwaest
b7be3cf551 Turn sliced strings into flat cons-strings upon internalization
Flat cons-strings point directly to the internalized version of the string. This makes reinternalization much faster.

BUG=

Review-Url: https://codereview.chromium.org/1932663002
Cr-Commit-Position: refs/heads/master@{#35852}
2016-04-28 10:10:50 +00:00
epertoso
941f553574 Revert of [ignition] Inline the binary op TurboFan code stubs in the bytecode handlers. (patchset #4 id:60001 of https://codereview.chromium.org/1902823002/ )
Reason for revert:
Caused a performance regression in TurboFan and did not improve in a significant way Ignition's performances.

Original issue's description:
> [ignition] Inline the binary op TurboFan code stubs in the bytecode handlers.
>
> Adds a Generate method to the stubs that can be used to embed the graph directly in the bytecode handlers.
>
> Committed: https://crrev.com/e8caf78ff2a9f7d50ac9b47f6b4c80f92b69914a
> Cr-Commit-Position: refs/heads/master@{#35696}

TBR=bmeurer@chromium.org,rmcilroy@chromium.org,machenbach@chromium.org
# Not skipping CQ checks because original CL landed more than 1 days ago.

Review-Url: https://codereview.chromium.org/1927873002
Cr-Commit-Position: refs/heads/master@{#35851}
2016-04-28 10:04:06 +00:00
neis
622c92b88f Correctly set the closing condition in array patterns.
This fixes a bug where the iterable's .return method gets called when it
shouldn't.

R=littledan@chromium.org
BUG=v8:4952
LOG=n

Review-Url: https://codereview.chromium.org/1927073002
Cr-Commit-Position: refs/heads/master@{#35850}
2016-04-28 10:01:23 +00:00
yangguo
31182fb2aa Skip more tests for ignition and gc-stress.
NOTRY=true
TBR=machenbach@chromium.org
BUG=v8:4961
LOG=N

Review-Url: https://codereview.chromium.org/1928893002
Cr-Commit-Position: refs/heads/master@{#35849}
2016-04-28 09:34:23 +00:00
mstarzinger
0b9b6c51ce [compiler] Avoid using CompilationInfoWithZone.
This is a preparatory change to only use the class in question when
allocating a CompilationInfo on the C-heap for a compilation job. As a
next step we will make CompilationInfoWithZone disappear and make the
CompilationJob be the one C-heap allocated object.

R=bmeurer@chromium.org

Review-Url: https://codereview.chromium.org/1931573003
Cr-Commit-Position: refs/heads/master@{#35848}
2016-04-28 09:16:48 +00:00
jacob.bramley
c55cff52c3 [arm64] Fix GCC build warnings.
Remove a couple of variables that are written but not read.

BUG=

Review-Url: https://codereview.chromium.org/1923913002
Cr-Commit-Position: refs/heads/master@{#35847}
2016-04-28 08:37:20 +00:00
verwaest
adc0215072 Propagate not-found on proxy target to GetRealNamedProperty
BUG=v8:4932
LOG=n

Review-Url: https://codereview.chromium.org/1929853002
Cr-Commit-Position: refs/heads/master@{#35846}
2016-04-28 08:26:17 +00:00
yangguo
47ffcac6d5 Skip es6/block-conflicts for ignition and gc-stress.
TBR=machenbach@chromium.org
BUG=v8:4961
LOG=N
NOTRY=true

Review-Url: https://codereview.chromium.org/1924093004
Cr-Commit-Position: refs/heads/master@{#35845}
2016-04-28 08:13:05 +00:00
mlippautz
4c880dec62 [heap] Bail out to regular evacuation if new->old fails to allocate a page
BUG=chromium:607226, chromium:581412
LOG=N

Review-Url: https://codereview.chromium.org/1928883002
Cr-Commit-Position: refs/heads/master@{#35844}
2016-04-28 08:01:55 +00:00
clemensh
2f1df8a39f Refactoring to use ArrayVector where applicable
It's more readable than the construction
Vector<T>(buffer, arraysize(buffer)).
All those places are now replaced by ArrayVector(buffer).

R=titzer@chromium.org, jarin@chromium.org, rossberg@chromium.org

Review-Url: https://codereview.chromium.org/1916393002
Cr-Commit-Position: refs/heads/master@{#35843}
2016-04-28 08:01:54 +00:00