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