Commit Graph

30564 Commits

Author SHA1 Message Date
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
yangguo
cd3a5ee951 Skip es6/typedarray-copywithin for ignition
R=machenbach@chromium.org
BUG=v8:4961
NOTRY=true
LOG=N
NOTREECHECKS=true

Review-Url: https://codereview.chromium.org/1915033008
Cr-Commit-Position: refs/heads/master@{#35842}
2016-04-28 07:33:25 +00:00
lpy
aff441937d Dump C++ symbols and merge into v8 log.
Currently we already have tools to extract C++ symbols of d8, and output the
statistics result. This patch creates two scripts, one is to use exsisting tools
to extract C++ symbols and dump to output, the other collects all symbols and
merges them into v8 log. The format of C++ symbols in v8 log is:

cpp,start_address,size,symbol_name

BUG=v8:4906
LOG=n

Review-Url: https://codereview.chromium.org/1884493003
Cr-Commit-Position: refs/heads/master@{#35841}
2016-04-28 06:57:33 +00:00
yangguo
c218683494 [debugger,interpreter] precisely determine execution tier.
R=mstarzinger@chromium.org
BUG=v8:4690
LOG=N

Review-Url: https://codereview.chromium.org/1921853005
Cr-Commit-Position: refs/heads/master@{#35840}
2016-04-28 06:19:48 +00:00
v8-autoroll
7dc18f8539 Update V8 DEPS.
Rolling v8/buildtools to cdbd50759bf2289d2c9d3f1f7d02239b4b4b1209

Rolling v8/tools/clang to 4652e9c8cea11f68101411f5826eca51b4838eda

Rolling v8/tools/gyp to e24c83726b7294179f479a683eeb351568fcc4ee

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

Review-Url: https://codereview.chromium.org/1926883003
Cr-Commit-Position: refs/heads/master@{#35839}
2016-04-28 03:22:54 +00:00
bjaideep
4f75124044 PPC: [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, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, mbrandy@us.ibm.com

BUG=v8:4261
LOG=N

Review-Url: https://codereview.chromium.org/1929703002
Cr-Commit-Position: refs/heads/master@{#35838}
2016-04-27 22:40:00 +00:00
caitpotter88
ff956f4dee [esnext] implement StringPad spec changes from March TC39 meeting
Return the empty string from StringPad if the filler argument is the empty
string, effectively returning the string unchanged in StringPadStart and
StringPadEnd.

```
"foo".padStart(100000, "") -> "foo"
```

BUG=v8:4957, v8:4954
LOG=N
R=littledan@chromium.org

Review-Url: https://codereview.chromium.org/1926773003
Cr-Commit-Position: refs/heads/master@{#35837}
2016-04-27 22:03:27 +00:00
caitpotter88
20360b08e0 [esnext] stage --harmony-string-padding
BUG=v8:4954
LOG=Y
R=littledan@chromium.org

Review-Url: https://codereview.chromium.org/1932453002
Cr-Commit-Position: refs/heads/master@{#35836}
2016-04-27 19:21:03 +00:00
littledan
63b935428c Disallow generator declarations in certain locations
The legacy function declaration locations from Annex B 3.2 and 3.4 do not
apply for generator declarations. This patch cracks down on those usages,
which is tested for by new incoming test262 tests.

BUG=v8:4824
LOG=Y
R=adamk

Review-Url: https://codereview.chromium.org/1900033003
Cr-Commit-Position: refs/heads/master@{#35835}
2016-04-27 19:18:38 +00:00
mstarzinger
a1cd3cc8aa [compiler] Remove deprecated CompilationJob status.
The status FAILED and BAILED_OUT only distinguishes between whether an
exception is pending or not. Such a distinction is obsolete by now as
all callers check for pending exceptions directly. Also it is impossible
for any concurrent part of the job to actually set a pending exception,
hence even the assertion that the concurrent part does not return FAILED
is obsolete.

R=bmeurer@chromium.org

Review-Url: https://codereview.chromium.org/1926693003
Cr-Commit-Position: refs/heads/master@{#35834}
2016-04-27 18:40:47 +00:00
adamk
306c412ce0 [api] Expose FunctionCallbackInfo::NewTarget
This is needed by Blink to implement the Custom Elements spec.

BUG=v8:4261
LOG=y

Review-Url: https://codereview.chromium.org/1910253005
Cr-Commit-Position: refs/heads/master@{#35833}
2016-04-27 18:09:05 +00:00
mstarzinger
5a54000eda [compiler] Rename OptimizingCompileJob to CompilationJob.
R=bmeurer@chromium.org

Review-Url: https://codereview.chromium.org/1925743002
Cr-Commit-Position: refs/heads/master@{#35832}
2016-04-27 17:56:16 +00:00
mstarzinger
82ffd16087 [compiler] Unify common code in GetOptimizedCode.
This moves the common code for allocating a compilation job into one
single place in the compilation pipeline. This will make it easier to
reason about involved lifetimes.

R=bmeurer@chromium.org

Review-Url: https://codereview.chromium.org/1923293002
Cr-Commit-Position: refs/heads/master@{#35831}
2016-04-27 17:47:39 +00:00
danno
757d82eec5 [stubs] Micro optimizations to CodeAssember's allocation path
Now that the GC team has landed the appropriate changes to ensure that the top
page of the address space is never used for allocation, the inlined fast-case
allocation path in the CodeAssembler can be micro-optimized to an add to top
followed by an unsigned compare to limit, eliding a no-longer-needed overflow
check.

Review-Url: https://codereview.chromium.org/1923803003
Cr-Commit-Position: refs/heads/master@{#35830}
2016-04-27 17:45:25 +00:00
bjaideep
9bf7a31a8c PPC: Get rid of AllocationFlags::TAG_OBJECT
Port ef49c6b11a

Original commit message:

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

R=mlippautz@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, mbrandy@us.ibm.com

BUG=chromium:606711
LOG=N

Review-Url: https://codereview.chromium.org/1917353002
Cr-Commit-Position: refs/heads/master@{#35829}
2016-04-27 17:09:19 +00:00
jacob.bramley
fec99c689b [arm64] Use 'dc civac' to work around some errata.
This addresses Cortex-A53 errata 819472, 826319, 827319 and 824069.

Note that using "civac" rather than "cvau" doesn't appear to affect
performance at all.

BUG=

Review-Url: https://codereview.chromium.org/1921173004
Cr-Commit-Position: refs/heads/master@{#35828}
2016-04-27 16:37:27 +00:00
mstarzinger
98ef8a9dac [turbofan] Avoid obsolete steps in FunctionTester.
This makes sure that the testing pipeline withing the FunctionTester
class only performs AST analysis and deoptimization preparation when
graphs are generated from the AST (as opposed to from bytecode).

R=yangguo@chromium.org

Review-Url: https://codereview.chromium.org/1928523002
Cr-Commit-Position: refs/heads/master@{#35827}
2016-04-27 16:31:11 +00:00
fedor
8eda85d54e Postmortem: export DATA_CONSTANT
Useful for inspecting constant fields in objects.

BUG=
R=machenbach

Review-Url: https://codereview.chromium.org/1922903003
Cr-Commit-Position: refs/heads/master@{#35826}
2016-04-27 15:51:11 +00:00
ulan
75f05161d7 Print more debug info on semaphore failure.
BUG=chromium:605349
LOG=NO

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

Cr-Commit-Position: refs/heads/master@{#35825}
2016-04-27 15:09:26 +00:00
mattloring
05e9284943 Include file names in trace-opt/trace-deopt output
Trace-opt/trace-deopt output is ambiguous if multiple functions share
the same name. This change adds file names to this output behind the
--trace-file-names flag to reduce this ambiguity.

R=ofrobots@google.com
BUG=

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

Cr-Commit-Position: refs/heads/master@{#35824}
2016-04-27 14:50:02 +00:00
verwaest
41acd51bc3 Remove now-dead DefineDataPropertyUnchecked
BUG=

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

Cr-Commit-Position: refs/heads/master@{#35823}
2016-04-27 13:22:17 +00:00