Commit Graph

33633 Commits

Author SHA1 Message Date
adamk
6dd2bc20b4 Remove unnessary includes of parser.h
This makes for slightly faster rebuilds when touching parser-base.h
(which changes frequently!). Also takes care of an old TODO,
moving CompileTimeValue into its own file under ast/, where it
properly belongs.

BUG=v8:5294

Review-Url: https://codereview.chromium.org/2305883002
Cr-Commit-Position: refs/heads/master@{#39141}
2016-09-02 17:48:46 +00:00
jbroman
f72351f540 Throw exceptions for errors in v8::ValueSerializer.
BUG=chromium:148757,chromium:641964

Review-Url: https://codereview.chromium.org/2307603002
Cr-Commit-Position: refs/heads/master@{#39140}
2016-09-02 15:17:07 +00:00
jgruber
300f4413eb Do not call into JS from WasmDebugInfo::GetFunctionScript
This disables notification of wasm script 'compilation' since
OnAfterCompile actually triggers a JS call (which is disallowed during
stack trace collection).

BUG=641065

Review-Url: https://codereview.chromium.org/2304943002
Cr-Commit-Position: refs/heads/master@{#39139}
2016-09-02 14:56:56 +00:00
bjaideep
1d2ab6e0bd PPC/s390: [Interpreter] Collect type feedback for 'new' in the bytecode handler
Port 7e5b8feed3

Original commit message:

    Collect type feedback in the bytecode handler for 'new' bytecode. The
    earlier cl (https://codereview.chromium.org/2153433002/) was reverted
    because that implementation did not collect allocation site feedback.
    This regressed delta blue by an order of magnitude. This implementation
    includes collection of allocation site feedback.

    Reland of https://codereview.chromium.org/2190293003/ with a bug fix.

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

BUG=v8:4280, v8:4780
LOG=N

Review-Url: https://codereview.chromium.org/2302343002
Cr-Commit-Position: refs/heads/master@{#39138}
2016-09-02 14:55:26 +00:00
franzih
d9a026e628 [api] Minor improvement to documentation for kNonMasking.
BUG=

Review-Url: https://codereview.chromium.org/2302133003
Cr-Commit-Position: refs/heads/master@{#39137}
2016-09-02 13:16:10 +00:00
machenbach
6c51c7d3a1 [gn] Add generic subcommands and provide list command
This prepares using mb as a library and not as a sub
process. It is used like that in the new list command that
shows available configurations.

Also added more robust checks of user inputs, better hints
and better docu.

BUG=chromium:625791
NOTRY=true

Review-Url: https://codereview.chromium.org/2300333002
Cr-Commit-Position: refs/heads/master@{#39136}
2016-09-02 13:07:30 +00:00
mvstanton
17e9e2f4c8 Forking the type system between Crankshaft & Turbofan.
Our Type class has a semantic and representational dimension.
Much code in src/ast, Crankshaft and Turbofan is based on it.
Going forward in Turbofan we'd like to remove representational information
entirely. To that end, new type AstType has been created to preserve
existing behavior for the benefit of Crankshaft and the AST.

BUG=

Review-Url: https://codereview.chromium.org/2302283002
Cr-Commit-Position: refs/heads/master@{#39135}
2016-09-02 13:04:39 +00:00
neis
6ef6d90265 Improve the explanation of a context's extension slot.
R=jochen
BUG=
NOTRY=true
NOTREECHECKS=true

Review-Url: https://codereview.chromium.org/2303113004
Cr-Commit-Position: refs/heads/master@{#39134}
2016-09-02 12:43:07 +00:00
mlippautz
ce66eec800 [heap] Introduce hard limit for external memory
We introduce, similar to regular heap, a hard and a soft limit for external memory.
- Upon reaching the hard limit we do a full GC. The hard limit is a a delta from
  the size of external memory at last GC.
- Upon reaching the soft limit we start incremental marking. Each further
  AdjustAmountOfExternalMemory will trigger a marking step. The step size depends
  on how far we are away from the hard limit. Further away means we have still
  some wiggle room and the step will be small. Being closer to the hard limit
  makes it more likely to trigger a full GC, so we increase the step size.

BUG=chromium:621829

Review-Url: https://codereview.chromium.org/2256853003
Cr-Commit-Position: refs/heads/master@{#39133}
2016-09-02 12:13:14 +00:00
hlopko
883e0e7036 Turn off incremental wrapper tracing by default
With the flag on the blink tests fail because blink is not prepared for v8
behaving incrementally.

In order to land and enable incremental wrapper tracing both in v8 smoothly and
blink we need to:

1. Land ScriptWrappableVisitorTest (http://crrev.com/2301213003)
2. Land write barriers implementation with more tests
3. Land write barriers installations
4. Enable incremental wrapper tracing on v8 side
5. Canary the heck out of this :)

This way the tests should be passing and chrome shouldn't crash at any given
moment.

LOG=no
BUG=468240
NOTRY=true

Review-Url: https://codereview.chromium.org/2299193003
Cr-Commit-Position: refs/heads/master@{#39132}
2016-09-02 12:06:33 +00:00
ahaas
6a892bb451 [wasm] Validate the alignment of load and store instructions.
According to the WebAssembly specification the alignment of load and
store instructions has to be less or equal to natural alignment.

R=titzer@chromium.org

Review-Url: https://codereview.chromium.org/2285643002
Cr-Commit-Position: refs/heads/master@{#39131}
2016-09-02 11:59:49 +00:00
marja
a804e9b018 ParserBase: Simplify FuncNameInferrer handling.
BUG=

Review-Url: https://codereview.chromium.org/2301923002
Cr-Commit-Position: refs/heads/master@{#39130}
2016-09-02 11:45:24 +00:00
neis
19039efa2e [interpreter] Clarify some names and comments.
Also remove an unused declaration.

R=bmeurer@chromium.org
BUG=

Review-Url: https://codereview.chromium.org/2302163003
Cr-Commit-Position: refs/heads/master@{#39129}
2016-09-02 11:33:01 +00:00
machenbach
25603e0b26 [gn] Switch windows to gn
BUG=chromium:474921

Review-Url: https://codereview.chromium.org/2303233002
Cr-Commit-Position: refs/heads/master@{#39128}
2016-09-02 11:02:25 +00:00
bmeurer
20bc88dc4f [turbofan] Make field indices explicit for LoadElimination.
This makes it easier to read and maintain this code.

R=epertoso@chromium.org

Review-Url: https://codereview.chromium.org/2304093002
Cr-Commit-Position: refs/heads/master@{#39127}
2016-09-02 10:56:57 +00:00
ahaas
e809937eb3 [wasm] Refactor BuildWasmToJSWrapper to clearly separate direct calls from Call-codestub calls
Looking at the code with Toon showed me that the code is not really
readable at the moment. This refactoring should make the different kinds
of calls and their parameters more apparent.

R=titzer@chromium.org

Review-Url: https://codereview.chromium.org/2295743002
Cr-Commit-Position: refs/heads/master@{#39126}
2016-09-02 10:55:29 +00:00
machenbach
9521a5d609 [swarming] Remove unnecessary dynamic libraries from isolate
The isolate driver finds dlls automatically. Hardcoding them
blocks gn as the locations change.

Prepares for https://codereview.chromium.org/2303233002/

BUG=chromium:474921
NOTRY=true
TBR=jochen,vogelheim

Review-Url: https://codereview.chromium.org/2304723003
Cr-Commit-Position: refs/heads/master@{#39125}
2016-09-02 10:35:09 +00:00
jgruber
64c518d06d Do not include Error.captureStackTrace in the trace
BUG=v8:5342

Review-Url: https://codereview.chromium.org/2307783002
Cr-Commit-Position: refs/heads/master@{#39124}
2016-09-02 09:51:42 +00:00
mvstanton
3d617c1661 [Turbofan] Remove more Type representation dimension data.
Happily, we can/should include semantic information such as Internal(), NonInternal() even as we remove representation data.

BUG=

Review-Url: https://codereview.chromium.org/2305573003
Cr-Commit-Position: refs/heads/master@{#39123}
2016-09-02 09:32:41 +00:00
franzih
7c401bd84c [api] Add interceptor for defineProperty().
With the Indexed/GenericNamedPropertyDefinerCallback it is possible to intercept Object.defineProperty() calls.

Requests that call JSReceiver::OrdinaryDefineOwnProperty() internally, also trigger the interceptor. This includes Object.freeze(), Object.preventExtensions(), and Object.seal().

As without this patch, the query interceptor triggers on
defineProperty, unless the definer callback
intercepts the request.

As without this patch, the query interceptor triggers on defineProperty, unless the definer callback intercepts the request.

BUG=

Committed: https://crrev.com/b9d985975cf3bab0ded0cec9fafd3799f9bde29a
Review-Url: https://codereview.chromium.org/2272383002
Cr-Original-Commit-Position: refs/heads/master@{#39094}
Cr-Commit-Position: refs/heads/master@{#39122}
2016-09-02 09:09:08 +00:00
jgruber
1cb2a70cb5 [regexp] Remove dead code
Remove dead code, and drop the legacy RegExp.prototype.exec implementation (the
only differences are TO_BOOLEAN on global and sticky).

BUG=v8:5339

Review-Url: https://codereview.chromium.org/2301803003
Cr-Commit-Position: refs/heads/master@{#39121}
2016-09-02 08:37:22 +00:00
mythria
7e5b8feed3 [Interpreter] Collect type feedback for 'new' in the bytecode handler
Collect type feedback in the bytecode handler for 'new' bytecode. The
earlier cl (https://codereview.chromium.org/2153433002/) was reverted
because that implementation did not collect allocation site feedback.
This regressed delta blue by an order of magnitude. This implementation
includes collection of allocation site feedback.

Reland of https://codereview.chromium.org/2190293003/ with a bug fix.

BUG=v8:4280, v8:4780
LOG=N

Review-Url: https://codereview.chromium.org/2225923003
Cr-Commit-Position: refs/heads/master@{#39120}
2016-09-02 08:26:57 +00:00
jgruber
836299aa9c [regexp] Port RegExpCompile and RegExpToString
BUG=v8:5339

Review-Url: https://codereview.chromium.org/2295273003
Cr-Commit-Position: refs/heads/master@{#39119}
2016-09-02 08:10:43 +00:00
nikolaos
628e9e3eb8 Fix bug with nested spreads as patterns
R=adamk@chromium.org, littledan@chromium.org
BUG=v8:5337
LOG=N

Review-Url: https://codereview.chromium.org/2297303003
Cr-Commit-Position: refs/heads/master@{#39118}
2016-09-02 07:53:00 +00:00
bmeurer
86af343749 [test] Add regression test for http://crbug.com/642056.
The bug itself was already fixed in ToT as part of
http://crrev.com/2263273003.

R=machenbach@chromium.org
BUG=chromium:642056

Review-Url: https://codereview.chromium.org/2306913002
Cr-Commit-Position: refs/heads/master@{#39117}
2016-09-02 07:08:29 +00:00
bmeurer
699ba63cc0 [turbofan] Check index type for potential element aliasing.
When deciding whether to nuke an element entry from the state table,
base the decision for the index only on the type information, and
don't even try to run it through the alias analyzer.

R=jarin@chromium.org

Review-Url: https://codereview.chromium.org/2301943002
Cr-Commit-Position: refs/heads/master@{#39116}
2016-09-02 07:06:26 +00:00
machenbach
d67fedb12c Revert of Allow lexically declared "arguments" in function scope in sloppy mode. (patchset #5 id:100001 of https://codereview.chromium.org/2290753003/ )
Reason for revert:
Breaks layout tests:
https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/9470

Original issue's description:
> Allow lexically declared "arguments" in function scope in sloppy mode.
>
> Lexically declared "arguments" in sloppy mode will throw redeclaration error
> currently, this patch fixes it by delaying the declaration of arguments until we
> fully parse parameter list and function body.
>
> BUG=v8:4577
> LOG=N
>
> Committed: https://crrev.com/70a613dd0a5f5d205b46559b55702764464851fa
> Cr-Commit-Position: refs/heads/master@{#39109}

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

Review-Url: https://codereview.chromium.org/2304853002
Cr-Commit-Position: refs/heads/master@{#39115}
2016-09-02 06:23:57 +00:00
bmeurer
f1c891c071 [turbofan] Fix typing rule for CheckBounds.
So far we used the minimum of the length instead of the maximum to
compute the output type of the CheckBounds, but at the same time
we never really used the output type yet.

R=jarin@chromium.org

Review-Url: https://codereview.chromium.org/2306443003
Cr-Commit-Position: refs/heads/master@{#39114}
2016-09-02 06:05:01 +00:00
v8-autoroll
4849a20380 Update V8 DEPS.
Rolling v8/build to 407cc11c28aef092dc961ff15e5530f50d235000

Rolling v8/tools/swarming_client to 380e32662312eb107f06fcba6409b0409f8fef72

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

Review-Url: https://codereview.chromium.org/2304793002
Cr-Commit-Position: refs/heads/master@{#39113}
2016-09-02 03:24:19 +00:00
gdeepti
53cb7e5ffc Populate relocation information correctly for RelocatableInt32Constants.
BUG=v8:5304
R=ahaas@chromium.org, titzer@chromium.org

Review-Url: https://codereview.chromium.org/2277443009
Cr-Commit-Position: refs/heads/master@{#39112}
2016-09-02 01:39:21 +00:00
ofrobots
ce8fab7649 trace-turbo should respect --redirect-code-traces
On larger workloads, lots of output on stdout becomes unwieldy.

R=bmeurer@chromium.org
BUG=

Review-Url: https://codereview.chromium.org/2293413004
Cr-Commit-Position: refs/heads/master@{#39111}
2016-09-01 23:28:12 +00:00
jbroman
bcbbfa7dda Add another LookupIterator constructor, and switch to delegating constructors.
This allows the constructors which simply fill in a missing parameter to do
so without duplicating the constructor body.

Review-Url: https://codereview.chromium.org/2294093008
Cr-Commit-Position: refs/heads/master@{#39110}
2016-09-01 22:24:16 +00:00
lpy
70a613dd0a Allow lexically declared "arguments" in function scope in sloppy mode.
Lexically declared "arguments" in sloppy mode will throw redeclaration error
currently, this patch fixes it by delaying the declaration of arguments until we
fully parse parameter list and function body.

BUG=v8:4577
LOG=N

Review-Url: https://codereview.chromium.org/2290753003
Cr-Commit-Position: refs/heads/master@{#39109}
2016-09-01 22:10:34 +00:00
Adam Klein
50b7a9ca24 Mark one more failing test262 test on the noi18n build
TBR=littledan@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#39108}
2016-09-01 20:59:02 +00:00
dgozman
130d0486c0 [inspector] Initial import of v8_inspector.
Attempt #2, formatted and disabled lint for src/inspector.

BUG=chromium:635948
NOPRESUBMIT=true (for grammar check in license code)

Review-Url: https://codereview.chromium.org/2292573002
Cr-Commit-Position: refs/heads/master@{#39107}
2016-09-01 20:28:33 +00:00
mlippautz
3b8ad45e0f [heap] Change LO space limit to 512k - page header
BUG=chromium:636331
R=ulan@chromium.org

Review-Url: https://codereview.chromium.org/2289683002
Cr-Commit-Position: refs/heads/master@{#39106}
2016-09-01 20:10:57 +00:00
mvstanton
d27f7f7ceb CallInterfaceDescriptor should use MachineType.
We really just need representation information from the CallInterfaceDescriptor. This change allows us to keep that, get away from Type, and it's Zone-based allocation as well.

BUG=

Review-Url: https://codereview.chromium.org/2301883002
Cr-Commit-Position: refs/heads/master@{#39105}
2016-09-01 20:09:46 +00:00
lpy
7a7c0ec5af [Tracing] Re-add trace-events used by metrics accidentally removed.
We removed some TRACE_EVENT0 instrumentation when we landed runtime call stats
tracing, however some of them are used in metrics, this patch adds these
TRACE_EVENT0 back.

BUG=642373
LOG=N

Review-Url: https://codereview.chromium.org/2301743002
Cr-Commit-Position: refs/heads/master@{#39104}
2016-09-01 20:08:38 +00:00
jarin
25504a220f [turbofan] Fix typing rule for Math.sign.
Review-Url: https://codereview.chromium.org/2306583002
Cr-Commit-Position: refs/heads/master@{#39103}
2016-09-01 20:06:27 +00:00
Adam Klein
3ecff04778 Skip new test262 toLocaleLowerCase test under noi18n build
TBR=littledan@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#39102}
2016-09-01 20:05:13 +00:00
bakkot
5c8c6fa160 [parser] Clean up ParserBase typedefs
The ParserTypes class has typedefs provided by the preparser or the
parser (e.g. PreParserExpression vs Expression*). Some of those typedefs
had gotten stale and were getting in the way, especially on gcc. We
also were making inconsistent use of aliases in parser-base.h; now their
use is much more consistent.

Review-Url: https://codereview.chromium.org/2305523002
Cr-Commit-Position: refs/heads/master@{#39101}
2016-09-01 18:26:40 +00:00
machenbach
903172e4fc [mb] Add more developer defaults to mb config.
BUG=chromium:625791

Review-Url: https://codereview.chromium.org/2304623002
Cr-Commit-Position: refs/heads/master@{#39100}
2016-09-01 18:06:24 +00:00
littledan
af1d06a9bc This patch updates to the latest test262 version
A number of known failures are marked. To support test262's
new tests which simulate multiple script tags, this patch
calls out to the d8 realm API from the harness adaptation code.

Review-Url: https://codereview.chromium.org/2290023002
Cr-Commit-Position: refs/heads/master@{#39099}
2016-09-01 17:43:31 +00:00
ulan
d09e026a9e Revert of [heap] Simplify heuristics for incremental step size. (patchset #5 id:180001 of https://codereview.chromium.org/2290333002/ )
Reason for revert:
Regressed GC times in v8.infinite_scroll_tbmv2 benchmarks.

Original issue's description:
> [heap] Simplify heuristics for incremental step size.
>
> This patch removes the code for speeding up marking.
>
> Now the step size depends on allocated bytes and
> invoked write barriers.
>
> We also ensure that the step size is large enough to
> justify the overhead of interrupting the generated code.
>
> BUG=chromium:616434
> LOG=NO
>
> Committed: https://crrev.com/71a793e4b1026e69d4009df0a419fe260fe1a235
> Cr-Commit-Position: refs/heads/master@{#39067}

TBR=mlippautz@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:616434

Review-Url: https://codereview.chromium.org/2304613002
Cr-Commit-Position: refs/heads/master@{#39098}
2016-09-01 17:29:39 +00:00
mtrofin
5f8a6ec4b1 [wasm] consolidate wasm and asm.js module compilation sequence
This unblocks avoiding the separate code template.
In the upcoming CL doing away with code templates, We need to track instances
through the module object, which needs to be separate from the compiled module
data, which is then shared with the first instance.

This CL ensures we have the object available in the asm.js scenario, too.

Note that this CL also unifies the error messaging when module
decoding fails.

BUG=v8:5316

Review-Url: https://codereview.chromium.org/2299873002
Cr-Commit-Position: refs/heads/master@{#39097}
2016-09-01 16:47:39 +00:00
jkummerow
f93ee70c88 Revert of [stubs] Port KeyedLoadIC_Generic stub to TurboFan (patchset #4 id:60001 of https://codereview.chromium.org/2245683002/ )
Reason for revert:
Suspected to cause webgl_conformance_tests failures:

WebglConformance_conformance_textures_misc_tex_image_with_format_and_type (gpu_tests.webgl_conformance_integration_test.WebGLConformanceIntegrationTest) ... [21956:1299:0901/082859:INFO:CONSOLE(11)] "Uncaught TypeError: Cannot read property 'charCodeAt' of undefined", source:  (11)
[21956:1299:0901/082859:INFO:CONSOLE(174)] "Uncaught TypeError: Cannot read property 'charCodeAt' of undefined", source: http://127.0.0.1:56892/js/pnglib.js (174)

Original issue's description:
> [stubs] Port KeyedLoadIC_Generic stub to TurboFan
>
> And also handle dictionary elements loads in the dispatcher.
>
> Committed: https://crrev.com/fd5fe3b2a40cc7a9b044416798c3c2aa734469ff
> Cr-Commit-Position: refs/heads/master@{#39070}

TBR=verwaest@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/2303793002
Cr-Commit-Position: refs/heads/master@{#39096}
2016-09-01 16:08:00 +00:00
jkummerow
9fe4efe5b8 Revert of [api] Add interceptor for defineProperty(). (patchset #9 id:160001 of https://codereview.chromium.org/2272383002/ )
Reason for revert:
Breaks cctest/test-api-interceptors/QueryInterceptor on the waterfall

Original issue's description:
> [api] Add interceptor for defineProperty().
>
> With the Indexed/GenericNamedPropertyDefinerCallback it is possible to intercept Object.defineProperty() calls.
>
> Requests that call JSReceiver::OrdinaryDefineOwnProperty() internally, also trigger the interceptor. This includes Object.freeze(), Object.preventExtensions(), and Object.seal().
>
> BUG=
>
> Committed: https://crrev.com/b9d985975cf3bab0ded0cec9fafd3799f9bde29a
> Cr-Commit-Position: refs/heads/master@{#39094}

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

Review-Url: https://codereview.chromium.org/2303533004
Cr-Commit-Position: refs/heads/master@{#39095}
2016-09-01 16:04:00 +00:00
franzih
b9d985975c [api] Add interceptor for defineProperty().
With the Indexed/GenericNamedPropertyDefinerCallback it is possible to intercept Object.defineProperty() calls.

Requests that call JSReceiver::OrdinaryDefineOwnProperty() internally, also trigger the interceptor. This includes Object.freeze(), Object.preventExtensions(), and Object.seal().

BUG=

Review-Url: https://codereview.chromium.org/2272383002
Cr-Commit-Position: refs/heads/master@{#39094}
2016-09-01 15:18:30 +00:00
franzih
8acb7ab9f1 [api] Add PropertyDescriptor and DefineProperty().
BUG=

Review-Url: https://codereview.chromium.org/2244123005
Cr-Commit-Position: refs/heads/master@{#39093}
2016-09-01 15:09:59 +00:00
jochen
50d54ee2e3 Rename SloppyBlockWithEvalContextExtension to ContextExtension
The plan is to also use it for With and Catch scopes, so all kinds of
contexts have a pointer back to their ScopeInfo

R=neis@chromium.org,marja@chromium.org
BUG=v8:5215

Review-Url: https://codereview.chromium.org/2301913002
Cr-Commit-Position: refs/heads/master@{#39092}
2016-09-01 15:04:01 +00:00