- 10 Aug, 2016 2 commits
-
-
epertoso authored
Introduces code stubs to collect type feedback for the Add, Mul, Div and Mod operations in the interpreter, and modifies the BytecodeGraphBuilder to make use of it. BUG=v8:5273 LOG=N Review-Url: https://codereview.chromium.org/2224343002 Cr-Commit-Position: refs/heads/master@{#38543}
-
rmcilroy authored
Updates a number of AST operations to avoid dereferencing handles such that they can safely be called off-thread. Also adds a HandleDereferenceMode argument to some operations where handles are compared. If handle dereferencing is allowed, the handles are compared directly, if not then their locations are compared (which relies on the handles being created in a CanonicalHandleScope). BUG=v8:5203 TBR=adamk@chromium.org Review-Url: https://codereview.chromium.org/2223523002 Cr-Commit-Position: refs/heads/master@{#38526}
-
- 09 Aug, 2016 1 commit
-
-
mythria authored
Collect type feedback for subtract operation in interpreter. Also use it in bytecode-graph-bulder to set the correct Hint for subtract operation. BUG=v8:5273 LOG=N Review-Url: https://codereview.chromium.org/2221833002 Cr-Commit-Position: refs/heads/master@{#38467}
-
- 08 Aug, 2016 1 commit
-
-
neis authored
Introduces a new VariableLocation MODULE for variables that live in a module's export table. Scope analysis sets this for the approriate variables. Not yet supported by any backend. Also, treats all imports as CONST bindings (including namespace imports), rather than having new special variable modes. BUG= Review-Url: https://codereview.chromium.org/2199283002 Cr-Commit-Position: refs/heads/master@{#38426}
-
- 05 Aug, 2016 3 commits
-
-
verwaest authored
This reduces peak zone memory usage by ~10% on codeload and ~5% on mandreel. BUG=v8:5209 Committed: https://crrev.com/2648162dcfff622f8587cea2faa8c3af56456968 Review-Url: https://codereview.chromium.org/2209573002 Cr-Original-Commit-Position: refs/heads/master@{#38367} Cr-Commit-Position: refs/heads/master@{#38390}
-
machenbach authored
Revert of Separate Scope into DeclarationScope and Scope (patchset #13 id:240001 of https://codereview.chromium.org/2209573002/ ) Reason for revert: [Sheriff] Make leak checker unhappy: https://build.chromium.org/p/client.v8/builders/V8%20Linux64%20-%20debug/builds/10959 Original issue's description: > Separate Scope into DeclarationScope and Scope > > This reduces peak zone memory usage by ~10% on codeload and ~5% on mandreel. > > BUG=v8:5209 > > Committed: https://crrev.com/2648162dcfff622f8587cea2faa8c3af56456968 > Cr-Commit-Position: refs/heads/master@{#38367} TBR=marja@chromium.org,mstarzinger@chromium.org,ahaas@chromium.org,adamk@chromium.org,verwaest@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:5209 Review-Url: https://codereview.chromium.org/2212383003 Cr-Commit-Position: refs/heads/master@{#38380}
-
verwaest authored
This reduces peak zone memory usage by ~10% on codeload and ~5% on mandreel. BUG=v8:5209 Review-Url: https://codereview.chromium.org/2209573002 Cr-Commit-Position: refs/heads/master@{#38367}
-
- 01 Aug, 2016 1 commit
-
-
verwaest authored
This makes the debug-only scope-name actually debug-only-allocated, replaces num_vars_ usages by variables_.occupancy, and shuffles fields around in the scope class for better packing. This reduces sizeof(i::Scope) from 360 to 328 bytes on x64. BUG=v8:5209 Review-Url: https://codereview.chromium.org/2201763004 Cr-Commit-Position: refs/heads/master@{#38210}
-
- 29 Jul, 2016 1 commit
-
-
bjaideep authored
The OS page size for PPC linux is 64KB. The page size for paged spaces on PPC linux is set to 4MB. kCodeRangeAreaAlignment is set to OS page size(64KB) and kMinimumCodeRangeSize is set to the size of 3 pages (12MB). This issue was exposed with testcase test-spaces/Regress3540 which used kMinimumCodeRangeSize. R=jochen@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/2187833002 Cr-Commit-Position: refs/heads/master@{#38180}
-
- 27 Jul, 2016 2 commits
-
-
jacob.bramley authored
All supported ARM targets support unaligned accesses for integer accesses. This patch removes the remnants of support for older targets. BUG=v8:5077 Review-Url: https://codereview.chromium.org/2184823002 Cr-Commit-Position: refs/heads/master@{#38099}
-
balazs.kilvady authored
Port 52f2ceb0 Original commit message: On MIPS different signaling NaN values must be used for hardware and simulator targets, even at snapshot generation when always simulator is used. This introduces SilenceNaN operator, which makes sure that we only store quiet NaNs into holey arrays. We omit the NaN silencing code at instruction selection time if the input is an operation that cannot possibly produce signalling NaNs. BUG= TEST=mjsunit/compiler/regress-store-holey-double-array Review-Url: https://codereview.chromium.org/2188433002 Cr-Commit-Position: refs/heads/master@{#38090}
-
- 26 Jul, 2016 1 commit
-
-
benwells authored
Revert of MIPS: Fix '[turbofan] Prevent storing signalling NaNs into holey double arrays.' (patchset #2 id:20001 of https://codereview.chromium.org/2171303002/ ) Reason for revert: This bug has an error in the toolchain.gypi file, the conditions clause is repeated. This has broken the DrMemory builder - see first failing chromium build https://build.chromium.org/p/chromium.memory.fyi/builders/Chromium%20Windows%20Builder%20%28DrMemory%29/builds/17857 which included a v8 roll. For reference the errors are: gyp: Key 'conditions' repeated at level 11 with key path 'target_defaults.conditions.6.1.target_conditions.0.1.conditions.0.1' while reading C:\b\build\slave\drm-cr\build\src\v8\gypfiles\toolchain.gypi while reading includes of C:\b\build\slave\drm-cr\build\src\v8\src\d8.gyp gyp: Key 'conditions' repeated at level 11 with key path 'target_defaults.conditions.6.1.target_conditions.0.1.conditions.0.1' while reading C:\b\build\slave\drm-cr\build\src\v8\gypfiles\toolchain.gypi while reading includes of C:\b\build\slave\drm-cr\build\src\v8\src\v8.gyp gyp: Key 'conditions' repeated at level 11 with key path 'target_defaults.conditions.6.1.target_conditions.0.1.conditions.0.1' while reading C:\b\build\slave\drm-cr\build\src\v8\gypfiles\toolchain.gypi while reading includes of C:\b\build\slave\drm-cr\build\src\v8\samples\samples.gyp Original issue's description: > MIPS: Fix '[turbofan] Prevent storing signalling NaNs into holey double arrays.' > > Port 6470ddad > > On MIPS different signaling NaN values must be used for hardware and simulator targets, even at snapshot generation when always simulator is used. > > Original commit message: > This introduces SilenceNaN operator, which makes sure that we only > store quiet NaNs into holey arrays. We omit the NaN silencing code > at instruction selection time if the input is an operation that > cannot possibly produce signalling NaNs. > > BUG= > > Committed: https://crrev.com/52f2ceb052f63324050c7a098e4398f510b54763 > Cr-Commit-Position: refs/heads/master@{#38030} TBR=jarin@chromium.org,machenbach@google.com,akos.palfi@mattakis.com,ivica.bogosavljevic@imgtec.com,marija.antic@imgtec.com,ilija.pavlovic.imgtec@gmail.com,akos.palfi@imgtec.com,machenbach@chromium.org,balazs.kilvady@imgtec.com # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= TBR=machenbach Review-Url: https://codereview.chromium.org/2184573002 Cr-Commit-Position: refs/heads/master@{#38037}
-
- 25 Jul, 2016 1 commit
-
-
balazs.kilvady authored
Port 6470ddad On MIPS different signaling NaN values must be used for hardware and simulator targets, even at snapshot generation when always simulator is used. Original commit message: This introduces SilenceNaN operator, which makes sure that we only store quiet NaNs into holey arrays. We omit the NaN silencing code at instruction selection time if the input is an operation that cannot possibly produce signalling NaNs. BUG= Review-Url: https://codereview.chromium.org/2171303002 Cr-Commit-Position: refs/heads/master@{#38030}
-
- 19 Jul, 2016 1 commit
-
-
mstarzinger authored
This allows to pass deoptimization reasons to the profiler without the requirement of always providing a source position. The absence of deopt reasons is now communicated via a sentinel as the deopt id value. The deoptimization reasons recently added to TurboFan are now passed to the profiler. R=bmeurer@chromium.org TEST=cctest/test-cpu-profiler Review-Url: https://codereview.chromium.org/2159793002 Cr-Commit-Position: refs/heads/master@{#37852}
-
- 18 Jul, 2016 1 commit
-
-
neis authored
Highlights: - Record all imports and exports in the ModuleDescriptor. - Remove ImportDeclaration; instead, introduce a new variable kind for imports. - Set name on default exported anonymous functions. Still to do: declaration of namespace imports. BUG=v8:1569 Review-Url: https://codereview.chromium.org/2108193003 Cr-Commit-Position: refs/heads/master@{#37815}
-
- 14 Jul, 2016 1 commit
-
-
bmeurer authored
This adds initial support for ToPrimitive in JavaScript w/o having to call out to C++. This uses the newly introduced GetPropertyStub. R=ishell@chromium.org Review-Url: https://codereview.chromium.org/2152693002 Cr-Commit-Position: refs/heads/master@{#37753}
-
- 13 Jul, 2016 1 commit
-
-
mythria authored
Collect type feedback in the call bytecode handler. The current implementation only collects feedback for JS function objects. The other objects and Array functions do not collect any feedback. They will be marked Megamorphic. BUG=v8:4280, v8:4780 LOG=N Review-Url: https://codereview.chromium.org/2122183002 Cr-Commit-Position: refs/heads/master@{#37700}
-
- 30 Jun, 2016 1 commit
-
-
yangguo authored
R=mstarzinger@chromium.org BUG=v8:5117 Review-Url: https://codereview.chromium.org/2109773004 Cr-Commit-Position: refs/heads/master@{#37426}
-
- 29 Jun, 2016 1 commit
-
-
ahaas authored
The implementation of DoubleRepresentation was based on undefined behavior, and it can be replaced by bit_casts. BUG=chromium:623168 R=titzer@chromium.org Review-Url: https://codereview.chromium.org/2105683006 Cr-Commit-Position: refs/heads/master@{#37390}
-
- 27 Jun, 2016 1 commit
-
-
ssanfilippo authored
the .eh_frame format as part of the jitdump generated when FLAG_perf_prof is enabled. The final goal is allowing precise unwinding of callchains that include JITted code when profiling V8 using perf. Unwinding information is stored in the body of code objects after the code itself, prefixed with its length and aligned to a 8-byte boundary. A boolean flag in the header signals its presence, resulting in zero memory overhead when the generation of unwinding info is disabled or no such information was attached to the code object. A new jitdump record type (with id 4) is introduced for specifying optional unwinding information for code load records. The EhFrameHdr struct is also introduced, together with a constructor to initialise it from the associated code object. At this stage no unwinding information is written to the jitdump, but the infrastructure for doing so is ready in place. BUG=v8:4899 LOG=N Review-Url: https://codereview.chromium.org/1993653003 Cr-Commit-Position: refs/heads/master@{#37296}
-
- 22 Jun, 2016 1 commit
-
-
bmeurer authored
Let the SimplifiedOperatorReducer perform some strength reduction for certain CheckTaggedSigned and CheckTaggedPointer inputs (reusing the existing logic for ObjectIsSmi). R=jarin@chromium.org BUG=v8:5141 Review-Url: https://codereview.chromium.org/2080703006 Cr-Commit-Position: refs/heads/master@{#37167}
-
- 21 Jun, 2016 1 commit
-
-
mlippautz authored
Base the fast-path in AdjustAmountOfExternalMemory on a value + limit. To preserve the behavior the limit is just set using kExternalAllocationLimit. Redo naming of related members. R=jochen@chromium.org BUG=chromium:621829 LOG=N Review-Url: https://codereview.chromium.org/2085893002 Cr-Commit-Position: refs/heads/master@{#37131}
-
- 13 Jun, 2016 1 commit
-
-
caitpotter88 authored
BUG=v8:4483, v8:4907, 618603 LOG=N R=neis@chromium.org, yangguo@chromium.org, littledan@chromium.org Review-Url: https://codereview.chromium.org/2051423003 Cr-Commit-Position: refs/heads/master@{#36938}
-
- 09 Jun, 2016 1 commit
-
-
ishell authored
There are no ICs left that store their state in this field: vector based ICs use feedback vector and the rest three (BinaryOpIC, CompareIC and ToBooleanIC) reconstruct their state from the ExtraICState field. This CL also removes unused InlineCacheState::DEBUG_STUB which was used mostly in Code::is_debug_stub(). The latter now checks if the code is one of the debug builtins instead. BUG=chromium:618701 LOG=Y Review-Url: https://codereview.chromium.org/2052763003 Cr-Commit-Position: refs/heads/master@{#36871}
-
- 08 Jun, 2016 1 commit
-
-
jkummerow authored
Adding properties to prototypes is faster when we don't force their maps into fast mode yet. Once a prototype shows up in the IC system, its setup phase is likely over, and it makes sense to transition it to fast properties. This patch speeds up the microbenchmark in the bug by 20x. Octane-Typescript sees a 3% improvement. BUG=chromium:607010 Review-Url: https://codereview.chromium.org/2036493006 Cr-Commit-Position: refs/heads/master@{#36828}
-
- 06 Jun, 2016 2 commits
-
-
epertoso authored
Revert of Provide a tagged allocation top pointer. (patchset #5 id:80001 of https://codereview.chromium.org/2028633002/ ) Reason for revert: d8 segfaults on some benchmarks on ia32. Investigating. Original issue's description: > Provide a tagged allocation top pointer. > > Taking over http://crrev.com/1924223002. > > BUG=chromium:606711 > LOG=N > > Committed: https://crrev.com/f42c9e93c80fdf57e8f92bb87f6ed927d0ae4028 > Committed: https://crrev.com/c99caf307ba3bb1b1cf08bf4172f503754c41341 > Cr-Original-Commit-Position: refs/heads/master@{#36633} > Cr-Commit-Position: refs/heads/master@{#36742} TBR=bmeurer@chromium.org,hpayer@chromium.org,machenbach@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:606711 Review-Url: https://codereview.chromium.org/2035413003 Cr-Commit-Position: refs/heads/master@{#36758}
-
epertoso authored
Taking over http://crrev.com/1924223002. BUG=chromium:606711 LOG=N Committed: https://crrev.com/f42c9e93c80fdf57e8f92bb87f6ed927d0ae4028 Review-Url: https://codereview.chromium.org/2028633002 Cr-Original-Commit-Position: refs/heads/master@{#36633} Cr-Commit-Position: refs/heads/master@{#36742}
-
- 03 Jun, 2016 1 commit
-
-
zhengxing.li authored
x87 FPU converts the SNaN to QNaN automatically when loading SNaN from memmory. This function caused v8 x87 port can't distinguish the Hole NaN (V8 used SNaN for it) from Javascript visible NaNs (V8 used QNaN for it). Many test cases failed in this function for v8 x87 port. It's a big effort to refactor all code of x87 FPU loads value from memmory to fix this issue. So here's a temporary workaround for it, what's this CL does are: 1. Removed all previous x87 workaround of this issue. 2. Used SNaN of MIPS which is a not used QNaN in v8 x87 port as the Hole NaN for v8 x87 port. 3. This CL is only local to x87 port. BUG= Review-Url: https://codereview.chromium.org/2033133004 Cr-Commit-Position: refs/heads/master@{#36697}
-
- 02 Jun, 2016 1 commit
-
-
ishell authored
[stubs] Extend HasProperty stub with dictionary-mode, string wrapper and double-elements objects support. This CL also replaces some Branch() usages with GotoIf/GotoUnless. (This is a reland after fixing issues that prevented this CL from landing in other CLs). BUG=v8:2743 LOG=Y Committed: https://crrev.com/24066b6df4259b302edfa1db884c479008776a7e Cr-Commit-Position: refs/heads/master@{#36657} Review-Url: https://codereview.chromium.org/1995453002 Cr-Commit-Position: refs/heads/master@{#36686}
-
- 01 Jun, 2016 4 commits
-
-
ishell authored
Revert of Extend HasProperty stub with dictionary-mode and double-elements objects support. (patchset #8 id:280001 of https://codereview.chromium.org/1995453002/ ) Reason for revert: There are crashes on Win32 and Win64 bots. Original issue's description: > Extend HasProperty stub with dictionary-mode, string wrapper and double-elements objects support. > > This CL also replaces some Branch() usages with GotoIf/GotoUnless. > > BUG=v8:2743 > LOG=Y > > Committed: https://crrev.com/24066b6df4259b302edfa1db884c479008776a7e > Cr-Commit-Position: refs/heads/master@{#36657} TBR=verwaest@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:2743 Review-Url: https://codereview.chromium.org/2028333002 Cr-Commit-Position: refs/heads/master@{#36659}
-
ishell authored
This CL also replaces some Branch() usages with GotoIf/GotoUnless. BUG=v8:2743 LOG=Y Review-Url: https://codereview.chromium.org/1995453002 Cr-Commit-Position: refs/heads/master@{#36657}
-
epertoso authored
Revert of Provide a tagged allocation top pointer. (patchset #4 id:60001 of https://codereview.chromium.org/2028633002/ ) Reason for revert: Seems to be causing flakiness in some wasm tests: https://build.chromium.org/p/client.v8/builders/V8%20Linux/builds/10598 https://build.chromium.org/p/client.v8/builders/V8%20Win32%20-%20debug/builds/2528 Original issue's description: > Provide a tagged allocation top pointer. > > Taking over http://crrev.com/1924223002. > > BUG=chromium:606711 > LOG=N > > Committed: https://crrev.com/f42c9e93c80fdf57e8f92bb87f6ed927d0ae4028 > Cr-Commit-Position: refs/heads/master@{#36633} TBR=bmeurer@chromium.org,hpayer@chromium.org,machenbach@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:606711 Review-Url: https://codereview.chromium.org/2031493002 Cr-Commit-Position: refs/heads/master@{#36640}
-
epertoso authored
Taking over http://crrev.com/1924223002. BUG=chromium:606711 LOG=N Review-Url: https://codereview.chromium.org/2028633002 Cr-Commit-Position: refs/heads/master@{#36633}
-
- 19 May, 2016 2 commits
-
-
jacob.bramley authored
The MLS instruction is available in all ARMv7 devices, and in no ARMv6 devices, aside from the usual ARMv6T2 caveat. We don't need a separate feature flag for it. BUG= Review-Url: https://codereview.chromium.org/1988133004 Cr-Commit-Position: refs/heads/master@{#36378}
-
mlippautz authored
- Removing null checks as we always have the CodeRange object (it might be invalid, but it's there) - Account for reserved area (Win64) in SetUp so we the caller doesn't need to be aware of it R=ulan@chromium.org Review-Url: https://codereview.chromium.org/1991253002 Cr-Commit-Position: refs/heads/master@{#36377}
-
- 18 May, 2016 1 commit
-
-
jkummerow authored
We have evidence (see r34896) that this avoids crashes. BUG=chromium:524337 Review-Url: https://codereview.chromium.org/1995483002 Cr-Commit-Position: refs/heads/master@{#36317}
-
- 17 May, 2016 1 commit
-
-
caitpotter88 authored
BUG=v8:4483 LOG=N R=littledan@chromium.org, adamk@chromium.org Review-Url: https://codereview.chromium.org/1895603002 Cr-Commit-Position: refs/heads/master@{#36263}
-
- 16 May, 2016 1 commit
-
-
caitpotter88 authored
BUG=v8:4483 LOG=Y R=littledan@chromium.org, adamk@chromium.org Review-Url: https://codereview.chromium.org/1841543003 Cr-Commit-Position: refs/heads/master@{#36261}
-
- 03 May, 2016 2 commits
-
-
mlippautz authored
Reland of [turbofan] Restore basic write barrier elimination. (patchset #1 id:1 of https://codereview.chromium.org/1943743003/ ) Reason for revert: Jakob found the actual issue with the CL and is going to land the fix after relanding the WB elimination. Original issue's description: > Revert of [turbofan] Restore basic write barrier elimination. (patchset #2 id:20001 of https://codereview.chromium.org/1938993002/ ) > > Reason for revert: > Breaks WBs that should be there ;) > > https://uberchromegw.corp.google.com/i/client.v8/builders/V8%20Linux%20-%20gc%20stress/builds/3305 > > Will open repro bug asap. > > Original issue's description: > > [turbofan] Restore basic write barrier elimination. > > > > Restore the basic write barrier elimination that we used to run as part > > of the simplified lowering phase (in ChangeLowering actually) before, by > > moving the write barrier computation to SimplifiedLowering where we can > > still look at types and consider the heap/isolate, and just update the > > WriteBarrierKind in the FieldAccess/ElementAccess that we later use when > > lowering to a machine Load/Store. > > > > CQ_INCLUDE_TRYBOTS=tryserver.v8:v8_linux64_tsan_rel > > R=mstarzinger@chromium.org > > BUG=v8:4969,chromium:608636 > > LOG=n > > > > Committed: https://crrev.com/7dcb6ad379fbacbc8bdc8e11a6e50d680ffa3f62 > > Cr-Commit-Position: refs/heads/master@{#35969} > > 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 > BUG=v8:4969,chromium:608636 > > Committed: https://crrev.com/a782e93c617e728cded5ad878de11137a67891b7 > Cr-Commit-Position: refs/heads/master@{#35983} 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 BUG=v8:4969,chromium:608636 Review-Url: https://codereview.chromium.org/1943323002 Cr-Commit-Position: refs/heads/master@{#35984}
-
mlippautz authored
Revert of [turbofan] Restore basic write barrier elimination. (patchset #2 id:20001 of https://codereview.chromium.org/1938993002/ ) Reason for revert: Breaks WBs that should be there ;) https://uberchromegw.corp.google.com/i/client.v8/builders/V8%20Linux%20-%20gc%20stress/builds/3305 Will open repro bug asap. Original issue's description: > [turbofan] Restore basic write barrier elimination. > > Restore the basic write barrier elimination that we used to run as part > of the simplified lowering phase (in ChangeLowering actually) before, by > moving the write barrier computation to SimplifiedLowering where we can > still look at types and consider the heap/isolate, and just update the > WriteBarrierKind in the FieldAccess/ElementAccess that we later use when > lowering to a machine Load/Store. > > CQ_INCLUDE_TRYBOTS=tryserver.v8:v8_linux64_tsan_rel > R=mstarzinger@chromium.org > BUG=v8:4969,chromium:608636 > LOG=n > > Committed: https://crrev.com/7dcb6ad379fbacbc8bdc8e11a6e50d680ffa3f62 > Cr-Commit-Position: refs/heads/master@{#35969} 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 BUG=v8:4969,chromium:608636 Review-Url: https://codereview.chromium.org/1943743003 Cr-Commit-Position: refs/heads/master@{#35983}
-