- 28 Nov, 2016 15 commits
-
-
jochen authored
They're supposed to be stable across several parse passes, so we'll also store them in the associated SharedFunctionInfos To achieve this, the PreParser and Parser need to generated the same number of FunctionLiterals. To achieve this, we teach the PreParser about desuggaring of class literals. For regular functions, the function IDs are assigned in the order they occur in the source. For arrow functions, however, we only know that it's an arrow function after parsing the parameter list, and so the ID assigned to the arrow function is larger than the IDs assigned to functions defined in the parameter list. This implies that we have to reset the function ID counter to before the parameter list when re-parsing an arrow function. To be able to do this, we store the number of function literals found in the parameter list of arrow functions as well. BUG=v8:5589 Review-Url: https://codereview.chromium.org/2481163002 Cr-Commit-Position: refs/heads/master@{#41309}
-
yangguo authored
R=jgruber@chromium.org BUG=v8:5510 Review-Url: https://codereview.chromium.org/2532893002 Cr-Commit-Position: refs/heads/master@{#41308}
-
marja authored
ThreadedList is more memory-efficient than ZoneList. This also enables us to use ThreadedList when making Preparser track parameters (upcoming work). BUG=v8:5501 Review-Url: https://codereview.chromium.org/2531593002 Cr-Commit-Position: refs/heads/master@{#41307}
-
jkummerow authored
Reducing visual clutter. No changes since previous attempt; this was only reverted because it blocked another revert. Original review: https://codereview.chromium.org/2519093002/ TBR=ishell@chromium.org Review-Url: https://codereview.chromium.org/2532063002 Cr-Commit-Position: refs/heads/master@{#41306}
-
cbruni authored
R=machenbach@chromium.org BUG=v8:5677 NOTRY=true Review-Url: https://codereview.chromium.org/2528363002 Cr-Commit-Position: refs/heads/master@{#41305}
-
machenbach authored
BUG=v8:5435 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_chromium_compile_dbg_ng;master.tryserver.chromium.android:android_clang_dbg_recipe Review-Url: https://codereview.chromium.org/2373783002 Cr-Commit-Position: refs/heads/master@{#41304}
-
rmcilroy authored
The BytecodeGraphBuilder assumes that deoptimization is always enabled, so always enable it when compiling from bytecode. BUG=chromium:668654 Review-Url: https://codereview.chromium.org/2531683004 Cr-Commit-Position: refs/heads/master@{#41303}
-
ahaas authored
Up until now assertThrows allows to check the type field of an exception, which is, however, a custom field introduced in a single regression test. With the change assertThrows allows to check the message field of an exception, which is set for standard V8 exceptions by default. I use the new assertThrows to refactor test/mjsunit/wasm/divrem-trap.js R=titzer@chromium.org Review-Url: https://codereview.chromium.org/2525313003 Cr-Commit-Position: refs/heads/master@{#41302}
-
cbruni authored
A missing @@IsConcatSpreadable check caused the fast path inside the slow path to be incorrect and follow the default concat strategy when the arguments arrays contain only doubles. BUG=chromium:668414 Review-Url: https://codereview.chromium.org/2527173002 Cr-Commit-Position: refs/heads/master@{#41301}
-
jochen authored
R=yangguo@chromium.org,machenbach@chromium.org BUG= Review-Url: https://codereview.chromium.org/2529333002 Cr-Commit-Position: refs/heads/master@{#41300}
-
jgruber authored
AsyncTaskEvents are not exposed through the inspector interface. BUG=v8:5530 Review-Url: https://codereview.chromium.org/2532693002 Cr-Commit-Position: refs/heads/master@{#41299}
-
bmeurer authored
This code is no longer used by full-codegen since all functions which use new.target, rest parameters or the internal this function binding now grow through Ignition first, and never tier up to fullcodegen. BUG=v8:5657 R=rmcilroy@chromium.org Review-Url: https://codereview.chromium.org/2528293002 Cr-Commit-Position: refs/heads/master@{#41298}
-
machenbach authored
BUG=v8:5603 NOTRY=true Review-Url: https://codereview.chromium.org/2534813002 Cr-Commit-Position: refs/heads/master@{#41297}
-
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 9 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}
-