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}
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}
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}
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}
This is necessary to eventually build a turbofan graph.
BUG=v8:4907
LOG=n
Review URL: https://codereview.chromium.org/1901713003
Cr-Commit-Position: refs/heads/master@{#35820}
Reason for revert:
Creates a spike of OOM(v8) crashers on Win32.
Original issue's description:
> [heap] Uncommit pooled pages concurrently
>
> - Move the concurrent unmapping to MemoryAllocator
> - Hide (private) members where possible
> - MemoryAllocator:Free is now the bottleneck for freeing
> - Pooled pages are either allocated from a set of pooled pages are obtained
> through work stealing from the concurrent unmapper
>
> BUG=chromium:605866, chromium:581412
> LOG=N
>
> Committed: https://crrev.com/2158df87116906160cebc3ad20c97f454822da03
> Cr-Commit-Position: refs/heads/master@{#35797}
TBR=hpayer@chromium.org,mlippautz@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:605866, chromium:581412
Review URL: https://codereview.chromium.org/1925563003
Cr-Commit-Position: refs/heads/master@{#35819}
Uses now the same location chromium uses and which some tools
expect.
BUG=chromium:474921
LOG=n
Review URL: https://codereview.chromium.org/1929473002
Cr-Commit-Position: refs/heads/master@{#35817}
This commit introduces IgnitionStatisticsExtension, which provides
methods for accessing Ignition statistics and counters from JavaScript.
The extension is registered when FLAG_ignition and
FLAG_trace_ignition_dispatches are both enabled.
For the moment, the only exposed function is
getIgnitionDispatchCounters(), which allows to retrieve Ignition
dispatch counters as a JavaScript object.
BUG=v8:4899
LOG=N
Review URL: https://codereview.chromium.org/1899133004
Cr-Commit-Position: refs/heads/master@{#35816}
Between the miss and patching, we run user code. That may already patch the same code. IC refactoring broke this (again), so including a regression test this time around.
BUG=chromium:601392
LOG=n
Review URL: https://codereview.chromium.org/1925583002
Cr-Commit-Position: refs/heads/master@{#35811}
To land and test wrapper tracing incrementally, we will use both, and parts
which are expected to work with the tracing will be removed from
V8GCController's handle visiting.
LOG=no
BUG=468240
Review URL: https://codereview.chromium.org/1925573002
Cr-Commit-Position: refs/heads/master@{#35809}
port ef49c6b11a (r35792)
original commit message:
Default (and only way) is now to retrieve a tagged object.
BUG=
Review URL: https://codereview.chromium.org/1924643004
Cr-Commit-Position: refs/heads/master@{#35808}
Port 0231a7efa2
Original commit message:
This allows us to get rid of the "push TruncateFloat64ToInt32 into Phi"
trick that was used in the MachineOperatorReducer to combine the
ChangeTaggedToFloat64 and TruncateFloat64ToInt32 operations. Instead of
doing that later, we can just introduce the proper operator during the
representation selection directly.
Also separate the TruncateFloat64ToInt32 machine operator, which had two
different meanings depending on a flag (either JavaScript truncation or
C++ style round to zero). Now there's a TruncateFloat64ToWord32 which
represents the JavaScript truncation (implemented via TruncateDoubleToI
macro + code stub) and the RoundFloat64ToInt32, which implements the C++
round towards zero operation (in the same style as the other WebAssembly
driven Round* machine operators).
R=bmeurer@chromium.org, joransiu@ca.ibm.com, bjaideep@ca.ibm.com, michael_dawson@ca.ibm.com, mbrandy@us.ibm.com
BUG=
LOG=N
Review URL: https://codereview.chromium.org/1922183002
Cr-Commit-Position: refs/heads/master@{#35802}
The double register phase will eventually handle single, double, and
SIMD registers. Change enum and class names to reflect this.
LOG=N
BUG=v8:4124
Review URL: https://codereview.chromium.org/1544603002
Cr-Commit-Position: refs/heads/master@{#35801}
This patch ensures that the species protector does not cause
any slow paths to be taken when --harmony-species is off by
refraining from writing to and reading from the protector
when the flag is off.
BUG=chromium:606207
R=adamk
LOG=Y
Review URL: https://codereview.chromium.org/1918383002
Cr-Commit-Position: refs/heads/master@{#35800}
- Move the concurrent unmapping to MemoryAllocator
- Hide (private) members where possible
- MemoryAllocator:Free is now the bottleneck for freeing
- Pooled pages are either allocated from a set of pooled pages are obtained
through work stealing from the concurrent unmapper
BUG=chromium:605866, chromium:581412
LOG=N
Review URL: https://codereview.chromium.org/1913083002
Cr-Commit-Position: refs/heads/master@{#35797}
Default (and only way) is now to retrieve a tagged object.
BUG=chromium:606711
LOG=N
Review URL: https://codereview.chromium.org/1922553002
Cr-Commit-Position: refs/heads/master@{#35792}
This adds a new ignition_turbofan testing variant that'll
allow switching turbofan off in the other ignition variant.
The switch will happen in a follow up after reconfiguring
the bots.
BUG=v8:4280
LOG=N
Review URL: https://codereview.chromium.org/1922623003
Cr-Commit-Position: refs/heads/master@{#35790}
This avoids regenerating baseline code for a closure when such code
already exists for the shared function info. This is also important
because the baseline code might contain deoptimization support.
R=rmcilroy@chromium.org
BUG=chromium:606376
LOG=n
Review URL: https://codereview.chromium.org/1916833002
Cr-Commit-Position: refs/heads/master@{#35785}
This is the first step to implement parallel compilation. The next steps
will be to split the pipeline to separate instruction selection from
code generation, and then to call all that from within a CancelableTask.
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/1900713005
Cr-Commit-Position: refs/heads/master@{#35784}
Rolling v8/build/gyp to 4cf07e8d616739f6484e46c9359b2a35196b2585
Rolling v8/buildtools to 2a9a29fbdc2170c25e5cc0f642213eb7b3e7bc98
TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org
Review URL: https://codereview.chromium.org/1917073004
Cr-Commit-Position: refs/heads/master@{#35783}
port c005029aa4 (r35754)
original commit message:
Use the FastNewSloppyArgumentsStub in the interpreter when function doesn't have
duplicate parameters.
BUG=
Review URL: https://codereview.chromium.org/1922803002
Cr-Commit-Position: refs/heads/master@{#35781}