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}
The first version of --harmony-for-in avoided throwing PreParser
errors in order to retain use counting. This patch threads
use_counts_ through to the PreParser to allow use counting in
the PreParser while also throwing errors for this case.
Also slightly refactored the Parser code to do a little less
code duplication.
BUG=v8:4942
LOG=y
Review URL: https://codereview.chromium.org/1913203002
Cr-Commit-Position: refs/heads/master@{#35780}
This patch also fixed three misaligned semaphores.
This reverts commit 80c73e2cde.
BUG=chromium:605349
LOG=NO
Review URL: https://codereview.chromium.org/1917923002
Cr-Commit-Position: refs/heads/master@{#35773}
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, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, mbrandy@us.ibm.com
BUG=
LOG=N
Review URL: https://codereview.chromium.org/1921733003
Cr-Commit-Position: refs/heads/master@{#35771}
If the target is deprecated, the object will be updated on first store. If the source for that store equals the target, this will invalidate the cached representation of the source. Preventively upgrade the target.
BUG=chromium:604300
LOG=n
Review URL: https://codereview.chromium.org/1905933002
Cr-Commit-Position: refs/heads/master@{#35770}