- 28 Nov, 2016 2 commits
-
-
machenbach authored
BUG=chromium:668958 TBR=jochen@chromium.org Review-Url: https://codereview.chromium.org/2531183002 Cr-Commit-Position: refs/heads/master@{#41296}
-
bmeurer authored
For a couple of those Array builtins we can specify a useful type that will help us to eliminate a couple of checks on their outputs. R=yangguo@chromium.org BUG=v8:5267 Review-Url: https://codereview.chromium.org/2529233002 Cr-Commit-Position: refs/heads/master@{#41295}
-
- 27 Nov, 2016 1 commit
-
-
bmeurer authored
Assign types to the remaining builtins on the String.prototype where we know a meaningful type, i.e. where the type is not dependent on some callable function that is pass or loaded. BUG=v8:5267 R=yangguo@chromium.org Review-Url: https://codereview.chromium.org/2532463002 Cr-Commit-Position: refs/heads/master@{#41294}
-
- 26 Nov, 2016 1 commit
-
-
rmcilroy authored
If code has AsmWasm data we shouldn't try to optimize the JS as well, since it will instead be optimized using the WASM data. BUG= Review-Url: https://codereview.chromium.org/2534463003 Cr-Commit-Position: refs/heads/master@{#41293}
-
- 25 Nov, 2016 14 commits
-
-
ziyang authored
Since the page size of PPC 64 bit machines is 64K, memory smaller than 64K cannot be freed causing the committed memory of code space to be exactly 2M. Changing the test case to accomodate this. R=mlippautz@chromium.org, ulan@chromium.org, vogelheim@chromium.org BUG= Review-Url: https://codereview.chromium.org/2523293002 Cr-Commit-Position: refs/heads/master@{#41292}
-
bbudge authored
- Adds vmov, vswp instructions for QwNeonRegisters. - Refactors existing vswp implementation, moves non-Neon adaption to MacroAssembler. - Adds simd128 support to CodeGenerator AssembleMove, AssembleSwap. LOG=N BUG=v8:4124 Review-Url: https://codereview.chromium.org/2523933002 Cr-Commit-Position: refs/heads/master@{#41291}
-
hpayer authored
Review-Url: https://codereview.chromium.org/2531873003 Cr-Commit-Position: refs/heads/master@{#41290}
-
mlippautz authored
BUG= Review-Url: https://codereview.chromium.org/2529113002 Cr-Commit-Position: refs/heads/master@{#41289}
-
mlippautz authored
Trivial parts of the reverted CL: https://codereview.chromium.org/2516303006/ BUG= Review-Url: https://codereview.chromium.org/2531093002 Cr-Commit-Position: refs/heads/master@{#41288}
-
hpayer authored
Review-Url: https://codereview.chromium.org/2531073002 Cr-Commit-Position: refs/heads/master@{#41287}
-
yangguo authored
TBR=machenbach@chromium.org Review-Url: https://codereview.chromium.org/2533583002 Cr-Commit-Position: refs/heads/master@{#41286}
-
jgruber authored
This adds microbenchmarks for: * the RegExp constructor, * flag accessors, * and RegExp functions: exec, @@match, @@search, test, @@split, @@replace. Each benchmark is further split to measure fast and slow paths. BUG=v8:5339 Review-Url: https://codereview.chromium.org/2521263003 Cr-Commit-Position: refs/heads/master@{#41285}
-
marija.antic authored
Port 961a45da BUG= Review-Url: https://codereview.chromium.org/2505923002 Cr-Commit-Position: refs/heads/master@{#41284}
-
yangguo authored
R=jgruber@chromium.org BUG=v8:5510 Review-Url: https://codereview.chromium.org/2531543002 Cr-Commit-Position: refs/heads/master@{#41283}
-
rmcilroy authored
This code is no longer used in full-codegen or ast-graph-builder since all functions which have class literals go through Ignition first. BUG=v8:5657 Review-Url: https://codereview.chromium.org/2534463002 Cr-Commit-Position: refs/heads/master@{#41282}
-
jgruber authored
This removes lots of boilerplate typedefs, with the caveat of renaming CSA::Label and Variable to CLabel and CVariable within builtins-regexp. BUG=v8:5339 Review-Url: https://codereview.chromium.org/2524363002 Cr-Commit-Position: refs/heads/master@{#41281}
-
yangguo authored
TBR=tebbi@chromium.org BUG=chromium:668510 Review-Url: https://codereview.chromium.org/2526223003 Cr-Commit-Position: refs/heads/master@{#41280}
-
mstarzinger authored
This removes support for try-catch as well as try-finally constructs from the {FullCodeGenerator}. Consequently optimized code containing such constructs must use the {BytecodeGraphBuilder} and can no longer use the {AstGraphBuilder} for graph building. R=jarin@chromium.org BUG=v8:5657 Review-Url: https://codereview.chromium.org/2521233002 Cr-Commit-Position: refs/heads/master@{#41279}
-
- 24 Nov, 2016 22 commits
-
-
clemensh authored
Revert of [base] Pass scalar arguments by value in CHECK/DCHECK (patchset #3 id:40001 of https://codereview.chromium.org/2524093002/ ) Reason for revert: Seems to cause compile errors on Android. Will investigate on Monday. Original issue's description: > [base] Pass scalar arguments by value in CHECK/DCHECK > > This not only potentially improves performance, but also avoids weird > linker errors, like the one below, where I used Smi::kMinValue in a > DCHECK_EQ. > > > [421/649] LINK ./mksnapshot > > FAILED: mksnapshot > > src/base/logging.h|178| error: undefined reference to > 'v8::internal::Smi::kMinValue' > > R=bmeurer@chromium.org, ishell@chromium.org > > Committed: https://crrev.com/76723502528c5af003fdffc3520632ea2a13fef3 > Cr-Commit-Position: refs/heads/master@{#41273} TBR=bmeurer@chromium.org,ishell@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/2527883004 Cr-Commit-Position: refs/heads/master@{#41278}
-
clemensh authored
Revert of [base] Define CHECK comparison for signed vs. unsigned (patchset #5 id:80001 of https://codereview.chromium.org/2526783002/ ) Reason for revert: Need to revert previous CL because of Android compile error, and this one depends in it. Original issue's description: > [base] Define CHECK comparison for signed vs. unsigned > > The current CHECK/DCHECK implementation fails statically if a signed > value is compared against an unsigned value. The common solution is to > cast on each caller, which is tedious and error-prone (might hide bugs). > This CL implements signed vs. unsigned comparisons by executing up to > two comparisons. For example, if i is int32_t and u is uint_32_t, a > DCHECK_LE(i, u) would create the check > i <= 0 || static_cast<uint32_t>(i) <= u. > For checks against constants, at least one of the checks can be removed > by compiler optimizations. > > The tradeoff we have to make is to sometimes silently execute an > additional comparison. And we increase code complexity of course, even > though the usage is just as easy (or even easier) as before. > > The compile time impact seems to be minimal: > I ran 3 full compilations for Optdebug on my local machine, one time on > the current ToT, one time with this CL plus http://crrev.com/2524093002. > Before: 143.72 +- 1.21 seconds > Now: 144.18 +- 0.67 seconds > > In order to check that the new comparisons are working, I refactored > some DCHECKs in wasm to use the new magic. > > R=bmeurer@chromium.org, titzer@chromium.org > > Committed: https://crrev.com/5925074a9dab5a8577766545b91b62f2c531d3dc > Cr-Commit-Position: refs/heads/master@{#41275} TBR=ishell@chromium.org,titzer@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/2531533003 Cr-Commit-Position: refs/heads/master@{#41277}
-
rmcilroy authored
This code is no longer used by full-codegen since all functions which use with statments, call eval or have lookup variable access now go through Ignition first. BUG=v8:5657 Review-Url: https://codereview.chromium.org/2514393002 Cr-Commit-Position: refs/heads/master@{#41276}
-
clemensh authored
The current CHECK/DCHECK implementation fails statically if a signed value is compared against an unsigned value. The common solution is to cast on each caller, which is tedious and error-prone (might hide bugs). This CL implements signed vs. unsigned comparisons by executing up to two comparisons. For example, if i is int32_t and u is uint_32_t, a DCHECK_LE(i, u) would create the check i <= 0 || static_cast<uint32_t>(i) <= u. For checks against constants, at least one of the checks can be removed by compiler optimizations. The tradeoff we have to make is to sometimes silently execute an additional comparison. And we increase code complexity of course, even though the usage is just as easy (or even easier) as before. The compile time impact seems to be minimal: I ran 3 full compilations for Optdebug on my local machine, one time on the current ToT, one time with this CL plus http://crrev.com/2524093002. Before: 143.72 +- 1.21 seconds Now: 144.18 +- 0.67 seconds In order to check that the new comparisons are working, I refactored some DCHECKs in wasm to use the new magic. R=bmeurer@chromium.org, titzer@chromium.org Review-Url: https://codereview.chromium.org/2526783002 Cr-Commit-Position: refs/heads/master@{#41275}
-
rmcilroy authored
If code is flushed on a SFI, we can still use the bytecode if it was compiled, since this never gets flushed. This fixes a DCHECK where we were trying to compile the bytecode multiple times after the baseline code was flushed. BUG=chromium:668133 Review-Url: https://codereview.chromium.org/2526243002 Cr-Commit-Position: refs/heads/master@{#41274}
-
clemensh authored
This not only potentially improves performance, but also avoids weird linker errors, like the one below, where I used Smi::kMinValue in a DCHECK_EQ. > [421/649] LINK ./mksnapshot > FAILED: mksnapshot > src/base/logging.h|178| error: undefined reference to 'v8::internal::Smi::kMinValue' R=bmeurer@chromium.org, ishell@chromium.org Review-Url: https://codereview.chromium.org/2524093002 Cr-Commit-Position: refs/heads/master@{#41273}
-
jkummerow authored
For dictionary-mode receivers, the KeyedStoreGeneric stub can store properties directly in most cases. Doing so avoids the need to have an entry in the stub cache for every map/property combination. Original review: https://codereview.chromium.org/2504403005/ Review-Url: https://codereview.chromium.org/2528883003 Cr-Commit-Position: refs/heads/master@{#41272}
-
verwaest authored
BUG=chromium:417697 Review-Url: https://codereview.chromium.org/2522223002 Cr-Commit-Position: refs/heads/master@{#41271}
-
jing.bao authored
BUG= Review-Url: https://codereview.chromium.org/2523263003 Cr-Commit-Position: refs/heads/master@{#41270}
-
bjaideep authored
The conversion instr was being called twice and the src register was not restored after the shift. R=joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Review-Url: https://codereview.chromium.org/2527873003 Cr-Commit-Position: refs/heads/master@{#41269}
-
cbruni authored
Make apply calls with double array arguments such as Math.min.apply(Math, [1.1, 2.2]) 1.6x faster. Drive-by-fix: pass in the isolate to ElementsAccessor::GetImpl. BUG=v8:4826 Review-Url: https://codereview.chromium.org/2521043005 Cr-Commit-Position: refs/heads/master@{#41268}
-
vogelheim authored
R=verwaest@chromium.org BUG=v8:5643 Review-Url: https://codereview.chromium.org/2524263003 Cr-Commit-Position: refs/heads/master@{#41267}
-
vogelheim authored
BUG=chromium:662388 Review-Url: https://codereview.chromium.org/2495533003 Cr-Commit-Position: refs/heads/master@{#41266}
-
machenbach authored
Revert of [heap] Use store buffer for writes coming from mutator. (patchset #6 id:100001 of https://codereview.chromium.org/2528563003/ ) Reason for revert: tsan problems: https://build.chromium.org/p/client.v8/builders/V8%20Linux64%20TSAN/builds/12860 Original issue's description: > Store buffer is used for writes that are coming from the mutator. Writes coming from the GC are directly added to the remembered set. > > BUG=chromium:648568 > > Committed: https://crrev.com/c63c34e12e60ac0a19e1338b647882ac61d08741 > Cr-Commit-Position: refs/heads/master@{#41263} TBR=ulan@chromium.org,hpayer@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:648568 Review-Url: https://codereview.chromium.org/2528943002 Cr-Commit-Position: refs/heads/master@{#41265}
-
mstarzinger authored
This makes sure call-site rendering for certain {TypeError} messages is based on the correct underlying {JSFunction}, even when inlined frames are present. Only the {FrameSummary} knows the exact function. R=verwaest@chromium.org TEST=message/regress/regress-crbug-661579 BUG=chromium:661579 Review-Url: https://codereview.chromium.org/2521103005 Cr-Commit-Position: refs/heads/master@{#41264}
-
hpayer authored
Store buffer is used for writes that are coming from the mutator. Writes coming from the GC are directly added to the remembered set. BUG=chromium:648568 Review-Url: https://codereview.chromium.org/2528563003 Cr-Commit-Position: refs/heads/master@{#41263}
-
neis authored
Because they sometimes are. R=rossberg@chromium.org BUG=v8:5648 Review-Url: https://codereview.chromium.org/2524333002 Cr-Commit-Position: refs/heads/master@{#41262}
-
machenbach authored
Revert of [test] Add performance test for closures. (patchset #1 id:1 of https://codereview.chromium.org/2525053002/ ) Reason for revert: Fails on perf. Original issue's description: > [test] Add performance test for closures. > > Short living closures are very common in Node.js. This benchmark tracks progress > as we move the optimizations that are currently only behind > --mark_shared_functions_for_tier_up to the default settings. > > BUG=v8:5512 > > Committed: https://crrev.com/f277da2a00cfd27d44a33a70213a65bd82d0bc95 > Cr-Commit-Position: refs/heads/master@{#41246} TBR=bmeurer@chromium.org,leszeks@chromium.org,franzih@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:5512 Review-Url: https://codereview.chromium.org/2526163003 Cr-Commit-Position: refs/heads/master@{#41261}
-
jarin authored
This has two parts: - in redundancy elimination, if we see addition with left hand side that was bounds-checked, we reconnect the lhs to the bounds check if it has better type. - in representation inference, eliminate overflow checks if the input types guarantee no overflow. Review-Url: https://codereview.chromium.org/2527083002 Cr-Commit-Position: refs/heads/master@{#41260}
-
yangguo authored
R=jgruber@chromium.org BUG=v8:5510 Review-Url: https://codereview.chromium.org/2524323002 Cr-Commit-Position: refs/heads/master@{#41259}
-
bmeurer authored
BUG=v8:4586,v8:5633 R=jarin@chromium.org Review-Url: https://codereview.chromium.org/2512733003 Cr-Commit-Position: refs/heads/master@{#41258}
-
neis authored
In the ParseInfo constructor that takes a SharedFunctionInfo, we must set the module flag when the function represents a module. BUG=v8:1569 Review-Url: https://codereview.chromium.org/2525013002 Cr-Commit-Position: refs/heads/master@{#41257}
-