- 26 Sep, 2016 1 commit
-
-
jgruber authored
V8 is collecting a growing amount of fuzzers, all of which take substantial space on the bots and in chromium build archives. This CL improves that situation by allowing component (shared library) builds for almost all fuzzers. The parser fuzzer is handled as an exception since it would require exporting a large number of additional functions. A component build results in about a 50-100x improvement in file size for each fuzzer (~50M-100M to around 1.1M). BUG=chromium:648864 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/2360983002 Cr-Commit-Position: refs/heads/master@{#39709}
-
- 24 Sep, 2016 1 commit
-
-
littledan authored
The file formerly known as src/js/harmony-async-await.js does not expose anything directly to JavaScript code; it just makes a few functions available on the native context for the parser desugaring to expand into. Experimental natives have various issues with larger amounts of code, so this patch moves the JS builtins to support async functions out of experimental natives and into the core snapshot. The change would be done eventually anyway, but this patch does it before removing the flag to support shipping the feature while avoiding the pitfalls of experimental natives. Drive by cleanup: remove more unused functions from the whitelist for experimental natives. BUG=v8:5427,v8:4483 Review-Url: https://codereview.chromium.org/2365123002 Cr-Commit-Position: refs/heads/master@{#39706}
-
- 23 Sep, 2016 2 commits
-
-
hablich authored
Revert of Pool implementation for zone segments (patchset #9 id:420001 of https://codereview.chromium.org/2335343007/ ) Reason for revert: Blocks Roll https://codereview.chromium.org/2366733002/ Original issue's description: > Pool implementation for zone segments > > BUG=v8:5409 > > Committed: https://crrev.com/37c688a24578e787d3d8941093563ed049c3497e > Cr-Commit-Position: refs/heads/master@{#39631} TBR=jkummerow@chromium.org,jochen@chromium.org,verwaest@chromium.org,heimbuef@google.com # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:5409 Review-Url: https://codereview.chromium.org/2365843002 Cr-Commit-Position: refs/heads/master@{#39652}
-
hablich authored
Revert of Replaced different means of zone pooling/reusing by one zone segment pool (patchset #3 id:120001 of https://codereview.chromium.org/2348303002/ ) Reason for revert: Blocks Roll https://codereview.chromium.org/2366733002/ Original issue's description: > Replaced different means of zone pooling/reusing by one zone segment pool > > BUG=v8:5409 > > Committed: https://crrev.com/a124feb0760896c8be61de08004a08c3bc9b4b3f > Cr-Commit-Position: refs/heads/master@{#39633} TBR=mstarzinger@chromium.org,verwaest@chromium.org,heimbuef@google.com # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:5409 Review-Url: https://codereview.chromium.org/2360403003 Cr-Commit-Position: refs/heads/master@{#39651}
-
- 22 Sep, 2016 4 commits
-
-
rmcilroy authored
This CL optimizes the code in BytecodeArrayBuilder and BytecodeArrayWriter by making the following main changes: - Move operand scale calculation out of BytecodeArrayWriter to the BytecodeNode constructor, where the decision on which operands are scalable can generally be statically decided by the compiler. - Move the maximum register calculation out of BytecodeArrayWriter and into BytecodeRegisterOptimizer (which is the only place outside BytecodeGenerator which updates which registers are used). This avoids the BytecodeArrayWriter needing to know the operand types of a node as it writes it. - Modify EmitBytecodes to use individual push_backs rather than building a buffer and calling insert, since this turns out to be faster. - Initialize BytecodeArrayWriter's bytecode vector by reserving 512 bytes, - Make common functions in Bytecodes constexpr so that they can be statically calculated by the compiler. - Move common functions and constructors in Bytecodes and BytecodeNode to the header so that they can be inlined. - Change large static switch statements in Bytecodes to const array lookups, and move to the header to allow inlining. I also took the opportunity to remove a number of unused helper functions, and rework some others for consistency. This reduces the percentage of time spent in making BytecodeArrays in CodeLoad from ~15% to ~11% according to perf. The CoadLoad score increase by around 2%. BUG=v8:4280 Committed: https://crrev.com/b11a8b4d41bf09d6b3d6cf214fe3fb61faf01a64 Review-Url: https://codereview.chromium.org/2351763002 Cr-Original-Commit-Position: refs/heads/master@{#39599} Cr-Commit-Position: refs/heads/master@{#39637}
-
heimbuef authored
BUG=v8:5409 Review-Url: https://codereview.chromium.org/2348303002 Cr-Commit-Position: refs/heads/master@{#39633}
-
heimbuef authored
BUG=v8:5409 Review-Url: https://codereview.chromium.org/2335343007 Cr-Commit-Position: refs/heads/master@{#39631}
-
hablich authored
Revert of [Interpreter] Optimize BytecodeArrayBuilder and BytecodeArrayWriter. (patchset #6 id:200001 of https://codereview.chromium.org/2351763002/ ) Reason for revert: Prime suspect for roll blocker: https://codereview.chromium.org/2362503002/ Original issue's description: > [Interpreter] Optimize BytecodeArrayBuilder and BytecodeArrayWriter. > > This CL optimizes the code in BytecodeArrayBuilder and > BytecodeArrayWriter by making the following main changes: > > - Move operand scale calculation out of BytecodeArrayWriter to the > BytecodeNode constructor, where the decision on which operands are > scalable can generally be statically decided by the compiler. > - Move the maximum register calculation out of BytecodeArrayWriter > and into BytecodeRegisterOptimizer (which is the only place outside > BytecodeGenerator which updates which registers are used). This > avoids the BytecodeArrayWriter needing to know the operand types > of a node as it writes it. > - Modify EmitBytecodes to use individual push_backs rather than > building a buffer and calling insert, since this turns out to be faster. > - Initialize BytecodeArrayWriter's bytecode vector by reserving 512 > bytes, > - Make common functions in Bytecodes constexpr so that they > can be statically calculated by the compiler. > - Move common functions and constructors in Bytecodes and > BytecodeNode to the header so that they can be inlined. > - Change large static switch statements in Bytecodes to const array > lookups, and move to the header to allow inlining. > > I also took the opportunity to remove a number of unused helper > functions, and rework some others for consistency. > > This reduces the percentage of time spent in making BytecodeArrays > in CodeLoad from ~15% to ~11% according to perf. The > CoadLoad score increase by around 2%. > > BUG=v8:4280 > > Committed: https://crrev.com/b11a8b4d41bf09d6b3d6cf214fe3fb61faf01a64 > Cr-Commit-Position: refs/heads/master@{#39599} TBR=mythria@chromium.org,leszeks@chromium.org,rmcilroy@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:4280 Review-Url: https://codereview.chromium.org/2360193003 Cr-Commit-Position: refs/heads/master@{#39612}
-
- 21 Sep, 2016 3 commits
-
-
rmcilroy authored
This CL optimizes the code in BytecodeArrayBuilder and BytecodeArrayWriter by making the following main changes: - Move operand scale calculation out of BytecodeArrayWriter to the BytecodeNode constructor, where the decision on which operands are scalable can generally be statically decided by the compiler. - Move the maximum register calculation out of BytecodeArrayWriter and into BytecodeRegisterOptimizer (which is the only place outside BytecodeGenerator which updates which registers are used). This avoids the BytecodeArrayWriter needing to know the operand types of a node as it writes it. - Modify EmitBytecodes to use individual push_backs rather than building a buffer and calling insert, since this turns out to be faster. - Initialize BytecodeArrayWriter's bytecode vector by reserving 512 bytes, - Make common functions in Bytecodes constexpr so that they can be statically calculated by the compiler. - Move common functions and constructors in Bytecodes and BytecodeNode to the header so that they can be inlined. - Change large static switch statements in Bytecodes to const array lookups, and move to the header to allow inlining. I also took the opportunity to remove a number of unused helper functions, and rework some others for consistency. This reduces the percentage of time spent in making BytecodeArrays in CodeLoad from ~15% to ~11% according to perf. The CoadLoad score increase by around 2%. BUG=v8:4280 Review-Url: https://codereview.chromium.org/2351763002 Cr-Commit-Position: refs/heads/master@{#39599}
-
caitp authored
BUG=v8:5388 R=bmeurer@chromium.org, adamk@chromium.org TBR=hpayer@chromium.org Review-Url: https://codereview.chromium.org/2348493003 Cr-Commit-Position: refs/heads/master@{#39598}
-
machenbach authored
This also adds sources missing for PPC and x87, fixes a few missing files in gyp due to wrong quotation and a few that were simply not included. The gn files are now authoritative, but the gcmole gyp and gn source lists are enforced to match exactly. This additional enforcement helped finding the bugs above and will be removed when we deprecate the gyp files. BUG=614645 NOTRY=true Review-Url: https://codereview.chromium.org/2352103002 Cr-Commit-Position: refs/heads/master@{#39592}
-
- 20 Sep, 2016 5 commits
-
-
heimbuef authored
This is some initial cleanup to keep /src clean. The AccountingAllocator is actually exclusively used by zones and this common subfolder makes that more clear. BUG=v8:5409 Review-Url: https://codereview.chromium.org/2344143003 Cr-Commit-Position: refs/heads/master@{#39558}
-
mvstanton authored
Full code uses patching ICs for this feedback, and the interpreter uses the type feedback vector. It's a good idea to code the vector slots appropriately as ICs so that the runtime profiler can better gauge if the function is ready for tiering up from Ignition to TurboFan. As is, the feedback is stored in "general" slots which can't be characterized by the runtime profiler into feedback states. This CL addresses that problem. Note that it's also important to carefully exclude these slots from the profiler's consideration when determining if you want to optimize from Full code. BUG= Review-Url: https://codereview.chromium.org/2342853002 Cr-Commit-Position: refs/heads/master@{#39555}
-
jgruber authored
This commit ensures that the d8 shared library build uses the same logic as the standard static build by exporting relevant functions and classes. BUG=chromium:646337 Committed: https://crrev.com/2c10ca8086a4d595ecf9aa843d2031b068470d65 Review-Url: https://codereview.chromium.org/2342563002 Cr-Original-Commit-Position: refs/heads/master@{#39503} Cr-Commit-Position: refs/heads/master@{#39547}
-
leszeks authored
Adds template parameters for the TemplateHashMapImpl for the key and value type, to allow them to be something other than pointers. To keep the impact of this patch low, uses of TemplateHashMapImpl set these types to void* to emulate the previous behaviour. This is part of a wider set of changes discussed in: https://groups.google.com/forum/#!topic/v8-dev/QLsC0XPYLeM Review-Url: https://codereview.chromium.org/2343123002 Cr-Commit-Position: refs/heads/master@{#39530}
-
machenbach authored
Revert of [d8] Fix the shared-library build (patchset #12 id:20002 of https://codereview.chromium.org/2342563002/ ) Reason for revert: Unblocking roll Original issue's description: > [d8] Fix the shared-library build > > This commit ensures that the d8 shared library build uses the same logic as > the standard static build by exporting relevant functions and classes. > > BUG=chromium:646337 > > Committed: https://crrev.com/2c10ca8086a4d595ecf9aa843d2031b068470d65 > Cr-Commit-Position: refs/heads/master@{#39503} TBR=jochen@chromium.org,vogelheim@chromium.org,bmeurer@chromium.org,titzer@chromium.org,jgruber@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:646337 Review-Url: https://codereview.chromium.org/2356703003 Cr-Commit-Position: refs/heads/master@{#39526}
-
- 19 Sep, 2016 2 commits
-
-
jgruber authored
This commit ensures that the d8 shared library build uses the same logic as the standard static build by exporting relevant functions and classes. BUG=chromium:646337 Review-Url: https://codereview.chromium.org/2342563002 Cr-Commit-Position: refs/heads/master@{#39503}
-
jochen authored
Remove files that were removed from the build files but never deleted. R=machenbach@chromium.org BUG= Review-Url: https://codereview.chromium.org/2346103002 Cr-Commit-Position: refs/heads/master@{#39499}
-
- 15 Sep, 2016 2 commits
-
-
jochen authored
R=machenbach@chromium.org BUG= Review-Url: https://codereview.chromium.org/2342663004 Cr-Commit-Position: refs/heads/master@{#39447}
-
littledan authored
This flag has been flipped off since 52, so it is due for removal. R=adamk@chromium.org,caitp@igalia.com BUG=v8:3785 CQ_INCLUDE_TRYBOTS=master.tryserver.v8:v8_linux_noi18n_rel_ng Review-Url: https://codereview.chromium.org/2268633002 Cr-Commit-Position: refs/heads/master@{#39435}
-
- 14 Sep, 2016 3 commits
-
-
machenbach authored
This restores the original gyp behavior. Blocks: https://codereview.chromium.org/2334003005 BUG=chromium:474921 NOTRY=true Review-Url: https://codereview.chromium.org/2344493002 Cr-Commit-Position: refs/heads/master@{#39414}
-
ahaas authored
This CL adds fuzzers for the wasm module sections 'types', 'names', 'globals', 'imports', 'function signatures', 'memory', and 'data', one fuzzer per section. No fuzzers are added for the other sections because either there already exists a fuzzer (e.g. wasm-code), or there exist inter-section dependencies. To avoid introducing a bunch executables which would make compilation with make slow, I introduce a single executable 'v8_simple_wasm_section_fuzzer' which calls the fuzzers mentioned above. This executable is run by the trybots and ensures that the fuzzers actually compile. For debugging I introduce commandline parameters which allow to execute the specific fuzzers from 'v8_simple_wasm_section_fuzzer'. R=titzer@chromium.org, jochen@chromium.org, mstarzinger@chromium.org Review-Url: https://codereview.chromium.org/2336603002 Cr-Commit-Position: refs/heads/master@{#39413}
-
ahaas authored
The wasm-module-runner is used both in cctests and in fuzzers. As discussed offline, it is weird to include cctest header files in fuzzers, so I introduce a new test/common directory which contains the common files. R=titzer@chromium.org, jochen@chromium.org Review-Url: https://codereview.chromium.org/2335193002 Cr-Commit-Position: refs/heads/master@{#39411}
-
- 13 Sep, 2016 1 commit
-
-
machenbach authored
BUG=chromium:474921 NOTRY=true Review-Url: https://codereview.chromium.org/2322163003 Cr-Commit-Position: refs/heads/master@{#39369}
-
- 12 Sep, 2016 2 commits
-
-
ahaas authored
With this CL the wasm-code-fuzzer first decodes and interprets the test case generated by the fuzzer. It then compiles the test case, but only executes the compiled instance if the interpretation of the test case was successful. If the compiled instance is executed, then the result of the execution is compared with the result of the interpretation. Additionally this CL refactors the CompileAndRunWasmModule function in wasm-module.cc to resuse code in the call to the interpreter. R=titzer@chromium.org Review-Url: https://codereview.chromium.org/2321443002 Cr-Commit-Position: refs/heads/master@{#39351}
-
weiliang.lin authored
Both legacy and AVX versions BUG= Review-Url: https://codereview.chromium.org/2328843003 Cr-Commit-Position: refs/heads/master@{#39327}
-
- 08 Sep, 2016 2 commits
-
-
ofrobots authored
Revert of Use -fno-delete-null-pointer-checks with gcc builds (patchset #2 id:20001 of https://codereview.chromium.org/2310513002/ ) Reason for revert: Fails on MIPS: https://build.chromium.org/p/client.v8.ports/builders/V8%20Mips%20-%20builder/builds/3653 Original issue's description: > Use -fno-delete-null-pointer-checks with gcc builds > > R=bmeurer@chromium.org, jochen@chromium.org, machenbach@chromium.org > BUG=v8:3782 > > Committed: https://crrev.com/dbefc8ee2e9ee6e41b83f3d09c788c34bc923b43 > Cr-Commit-Position: refs/heads/master@{#39286} TBR=jochen@chromium.org,bmeurer@chromium.org,machenbach@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:3782 Review-Url: https://codereview.chromium.org/2328563002 Cr-Commit-Position: refs/heads/master@{#39287}
-
ofrobots authored
R=bmeurer@chromium.org, jochen@chromium.org, machenbach@chromium.org BUG=v8:3782 Review-Url: https://codereview.chromium.org/2310513002 Cr-Commit-Position: refs/heads/master@{#39286}
-
- 06 Sep, 2016 3 commits
-
-
dgozman authored
- inspector becomes a dependency of v8_base; - generated public protocol files are placed to gen/v8/include/inspector/<Domain.h>; - added v8_enable_inspector_override to be used in embedders (gn only); - combined public headers into v8-inspector.h and v8-inspector-protocol.h. BUG=chromium:635948 Review-Url: https://codereview.chromium.org/2292053003 Cr-Commit-Position: refs/heads/master@{#39226}
-
jshin authored
Spec discussion: https://github.com/tc39/ecma402/issues/30 It's in stage 4 and Firefox has already implemented it. For now, it's added to HARMONY_IN_PROGRESS bucket behind '--datetime-format-to-parts' flag. BUG=v8:5244 TEST=intl/date-format/date-format-to-parts.js TEST=test262/intl402/DateTimeFormat/prototype/formatToParts/* Review-Url: https://codereview.chromium.org/2273953003 Cr-Commit-Position: refs/heads/master@{#39225}
-
mlippautz authored
R=verwaest@chromium.org BUG= Review-Url: https://codereview.chromium.org/2316503004 Cr-Commit-Position: refs/heads/master@{#39212}
-
- 05 Sep, 2016 3 commits
-
-
mlippautz authored
R=ulan@chromium.org Review-Url: https://codereview.chromium.org/2311003002 Cr-Commit-Position: refs/heads/master@{#39185}
-
mvstanton authored
BUG= Review-Url: https://codereview.chromium.org/2309823002 Cr-Commit-Position: refs/heads/master@{#39181}
-
jgruber authored
Revert of [regexp] Port RegExpConstructor (patchset #2 id:20001 of https://codereview.chromium.org/2302773002/ ) Reason for revert: Performance regressions: crbug.com/644087 Clusterfuzz: crbug.com/644074 We'll reland all regexp changes at once when the port is complete and at least performance-neutral, since the partial port requires slow workarounds. Original issue's description: > [regexp] Port RegExpConstructor > > BUG=v8:5339 > > Committed: https://crrev.com/0aa80be16b8d876999066545c2922e1291e09610 > Cr-Commit-Position: refs/heads/master@{#39074} TBR=bmeurer@chromium.org # Not skipping CQ checks because original CL landed more than 1 days ago. BUG=v8:5339 Review-Url: https://codereview.chromium.org/2312743002 Cr-Commit-Position: refs/heads/master@{#39177}
-
- 02 Sep, 2016 2 commits
-
-
adamk authored
This makes for slightly faster rebuilds when touching parser-base.h (which changes frequently!). Also takes care of an old TODO, moving CompileTimeValue into its own file under ast/, where it properly belongs. BUG=v8:5294 Review-Url: https://codereview.chromium.org/2305883002 Cr-Commit-Position: refs/heads/master@{#39141}
-
mvstanton authored
Our Type class has a semantic and representational dimension. Much code in src/ast, Crankshaft and Turbofan is based on it. Going forward in Turbofan we'd like to remove representational information entirely. To that end, new type AstType has been created to preserve existing behavior for the benefit of Crankshaft and the AST. BUG= Review-Url: https://codereview.chromium.org/2302283002 Cr-Commit-Position: refs/heads/master@{#39135}
-
- 01 Sep, 2016 2 commits
-
-
slan authored
Correct a small bug which throws a compile-time assertion for ARMv8 builds since this change: https://codereview.chromium.org/2223433002 This does not add full support for ARMv8 instructions; it simply sets the CAN_USE_ARMV7_INSTRUCTIONS define on ARMv8 builds. BUG= Review-Url: https://codereview.chromium.org/2293253004 Cr-Commit-Position: refs/heads/master@{#39087}
-
jgruber authored
BUG=v8:5339 Review-Url: https://codereview.chromium.org/2302773002 Cr-Commit-Position: refs/heads/master@{#39074}
-
- 31 Aug, 2016 1 commit
-
-
marja authored
This way, many files which only need CompilationInfo but not compiler.h and its dependencies can include just compilation-info.h. BUG= Review-Url: https://codereview.chromium.org/2284313003 Cr-Commit-Position: refs/heads/master@{#39038}
-
- 29 Aug, 2016 1 commit
-
-
ahaas authored
The new fuzzer constructs a dummy module header and uses the fuzzer data only as function code. R=titzer@chromium.org, jochen@chromium.org Review-Url: https://codereview.chromium.org/2280623002 Cr-Commit-Position: refs/heads/master@{#38983}
-