- 11 Jan, 2017 1 commit
-
-
rmcilroy authored
This CL modifies the ast-numbering phase to collect function literals which should be compiled eagerly. This is then used to eagerly compile the inner functions before compiling the outer function. This will be used to queue compilation jobs on the CompilerDispatcher in a later CL. This CL moves the compilation of eager inner functions out of the GetSharedFunctionInfo function and instead compiles them explicitly. This simplifies GetSharedFunctionInfo and also means there is no need to pass a LazyCompilationMode to the function, so this concept has been removed. BUG=v8:5203,v8:5215 Review-Url: https://codereview.chromium.org/2618553004 Cr-Commit-Position: refs/heads/master@{#42221}
-
- 02 Jan, 2017 1 commit
-
-
bmeurer authored
Store maps on the CheckMaps operator instead of burning inputs for the individual maps. Use the same data structure (the ZoneHandleSet) in the LoadElimination to track multiple maps per object. BUG=v8:5267 R=jarin@chromium.org Review-Url: https://codereview.chromium.org/2431563002 Cr-Commit-Position: refs/heads/master@{#42010}
-
- 30 Nov, 2016 1 commit
-
-
clemensh authored
These byte pointers (module_start and module_end) were only valid during decoding. During instantiation or execution, they can get invalidated by garbage collection. This CL removes them from the WasmModule struct, and introduces a new ModuleStorage struct as interface to the wasm wire bytes. Since the storage is often needed together with the ModuleEnv, a new ModuleStorageEnv struct holds both a ModuleEnv and a ModuleStorage. The pointers in the ModuleStorage should never escape the live range of this struct, as they might point into a SeqOneByteString or ArrayBuffer. Therefore, the WasmInterpreter needs to create its own copy of the whole module. Runtime functions that previously used the raw pointers in WasmModule (leading to memory errors) now have to use the SeqOneByteString in the WasmCompiledModule. R=titzer@chromium.org BUG=chromium:669518 Review-Url: https://codereview.chromium.org/2540133002 Cr-Commit-Position: refs/heads/master@{#41388}
-
- 21 Nov, 2016 1 commit
-
-
verwaest authored
BUG=chromium:655129 Review-Url: https://codereview.chromium.org/2520903002 Cr-Commit-Position: refs/heads/master@{#41138}
-
- 15 Nov, 2016 1 commit
-
-
verwaest authored
BUG=chromium:655129 Review-Url: https://codereview.chromium.org/2504673002 Cr-Commit-Position: refs/heads/master@{#41005}
-
- 03 Nov, 2016 1 commit
-
-
heimbuef authored
Exchanged the ZoneList for a ZoneChunkList to avoid unnecessary growing. Review-Url: https://codereview.chromium.org/2468183004 Cr-Commit-Position: refs/heads/master@{#40736}
-
- 02 Nov, 2016 1 commit
-
-
danno authored
In the process, add a more general mechanism for passing around and amending list of CodeStubAssembler Variables. That change makes it possible to more easily add Variables to loops that are generated by utility functions, e.g. BuildFastLoop. LOG=N Review-Url: https://codereview.chromium.org/2461363002 Cr-Commit-Position: refs/heads/master@{#40700}
-
- 26 Oct, 2016 2 commits
-
-
heimbuef authored
Since ZoneLists are essentially non-standard ZoneVectors and have a bad growing behaviour (ZoneList-allocations make up ~50% of website parse zone memory) we should stop using them. The zone-containers are merely a clean-up, with none of them actually better suited to be used with zones. This new datastructure allows most operations of a LinkedList ( except pop_first and insertAt/removeAt) but uses about the same memory as a well-initialized ZoneVector/ZoneList (<3% overhead with reasonably large lists). It also never attempts to free memory again (which would not work in zones anyway). The ZoneChunkList is essentially a doubly-linked-list of arrays of variable size. Some test-results where I tried storing 16k pointers in different list types (lists themselves also zone-allocated): List type Zone memory used Time taken ----------------------------------------------------------------------- Zone array (for comparison) 131072 B Ideally initialized ZoneList 131088 B 0.062ms ChunkZoneList 134744 B 0.052ms <--new thing ZoneDeque 141744 B ZoneLinkedList 393264 B Initially empty ZoneList 524168 B 0.171ms <--right now ChunkZoneList only push_front 524320 B Review-Url: https://codereview.chromium.org/2449383002 Cr-Commit-Position: refs/heads/master@{#40602}
-
bbudge authored
- Modifies RegisterConfiguration to specify complex aliasing on ARM 32. - Modifies RegisterAllocator to consider aliasing. - Modifies ParallelMove::PrepareInsertAfter to handle aliasing. - Modifies GapResolver to split wider register moves when interference with smaller moves is detected. - Modifies MoveOptimizer to handle aliasing. - Adds ARM 32 macro-assembler pseudo move instructions to handle cases where split moves don't correspond to actual s-registers. - Modifies CodeGenerator::AssembleMove and AssembleSwap to handle moves of different widths, and moves involving pseudo-s-registers. - Adds unit tests for FP operand interference checking and PrepareInsertAfter. - Adds more tests of FP for the move optimizer and register allocator. LOG=N BUG=v8:4124 Review-Url: https://codereview.chromium.org/2410673002 Cr-Commit-Position: refs/heads/master@{#40597}
-
- 20 Oct, 2016 1 commit
-
-
heimbuef authored
Added a size constraint to the configuration to limit the segment pool. This will likely fix the memory alerts from small android devices. BUG=chromium:655129 Review-Url: https://chromiumcodereview.appspot.com/2424393002 Cr-Commit-Position: refs/heads/master@{#40476}
-
- 17 Oct, 2016 1 commit
-
-
heimbuef authored
This adds more useful information to the v8-heap-stats tool. BUG=v8:5489 Review-Url: https://codereview.chromium.org/2394213003 Cr-Commit-Position: refs/heads/master@{#40361}
-
- 11 Oct, 2016 2 commits
-
-
heimbuef authored
Added PrintF output whenever a zone is created or destroyed. Also enables setting of a name for each zone, which can then be shown in the v8-heap-stats tool: https://github.com/mlippautz/v8-heap-stats/pull/2 BUG=v8:5489 Review-Url: https://codereview.chromium.org/2397573007 Cr-Commit-Position: refs/heads/master@{#40168}
-
heimbuef authored
Can be displayed in the external tool as well. BUG=v8:5489 Review-Url: https://codereview.chromium.org/2392183004 Cr-Commit-Position: refs/heads/master@{#40166}
-
- 10 Oct, 2016 2 commits
-
-
heimbuef authored
BUG=v8:5409 Committed: https://crrev.com/a124feb0760896c8be61de08004a08c3bc9b4b3f Committed: https://crrev.com/fc840361e357a571c709e0239ae82cc089800b3f Review-Url: https://codereview.chromium.org/2348303002 Cr-Original-Original-Commit-Position: refs/heads/master@{#39633} Cr-Original-Commit-Position: refs/heads/master@{#40048} Cr-Commit-Position: refs/heads/master@{#40138}
-
heimbuef authored
BUG=v8:5409 Committed: https://crrev.com/37c688a24578e787d3d8941093563ed049c3497e Committed: https://crrev.com/316669f62ea3834395bf4caab7bc3d7c32f6bbc6 Review-Url: https://codereview.chromium.org/2335343007 Cr-Original-Original-Commit-Position: refs/heads/master@{#39631} Cr-Original-Commit-Position: refs/heads/master@{#40044} Cr-Commit-Position: refs/heads/master@{#40137}
-
- 07 Oct, 2016 2 commits
-
-
hablich authored
Revert of Pool implementation for zone segments (patchset #13 id:520001 of https://codereview.chromium.org/2335343007/ ) Reason for revert: blocks roll: https://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_x64_rel_ng/builds/294283/steps/compile%20%28with%20patch%29/logs/stdio Original issue's description: > Pool implementation for zone segments > > BUG=v8:5409 > > Committed: https://crrev.com/37c688a24578e787d3d8941093563ed049c3497e > Committed: https://crrev.com/316669f62ea3834395bf4caab7bc3d7c32f6bbc6 > Cr-Original-Commit-Position: refs/heads/master@{#39631} > Cr-Commit-Position: refs/heads/master@{#40044} TBR=jochen@chromium.org,jkummerow@chromium.org,verwaest@chromium.org,yangguo@chromium.org,heimbuef@google.com NOTRY=true NOPRESUBMIT=true NOTREECHECKS=true BUG=v8:5409 Review-Url: https://codereview.chromium.org/2400343002 Cr-Commit-Position: refs/heads/master@{#40100}
-
hablich authored
Revert of Replaced different means of zone pooling/reusing by one zone segment pool (patchset #5 id:160001 of https://codereview.chromium.org/2348303002/ ) Reason for revert: related to roll blocker: https://codereview.chromium.org/2400343002/ Original issue's description: > Replaced different means of zone pooling/reusing by one zone segment pool > > BUG=v8:5409 > > Committed: https://crrev.com/a124feb0760896c8be61de08004a08c3bc9b4b3f > Committed: https://crrev.com/fc840361e357a571c709e0239ae82cc089800b3f > Cr-Original-Commit-Position: refs/heads/master@{#39633} > Cr-Commit-Position: refs/heads/master@{#40048} TBR=mstarzinger@chromium.org,verwaest@chromium.org,heimbuef@google.com NOTRY=true NOPRESUBMIT=true NOTREECHECKS=true BUG=v8:5409 Review-Url: https://codereview.chromium.org/2401163002 Cr-Commit-Position: refs/heads/master@{#40099}
-
- 06 Oct, 2016 3 commits
-
-
heimbuef authored
BUG=v8:5409 Committed: https://crrev.com/a124feb0760896c8be61de08004a08c3bc9b4b3f Review-Url: https://codereview.chromium.org/2348303002 Cr-Original-Commit-Position: refs/heads/master@{#39633} Cr-Commit-Position: refs/heads/master@{#40048}
-
heimbuef authored
BUG=v8:5409 Committed: https://crrev.com/37c688a24578e787d3d8941093563ed049c3497e Review-Url: https://codereview.chromium.org/2335343007 Cr-Original-Commit-Position: refs/heads/master@{#39631} Cr-Commit-Position: refs/heads/master@{#40044}
-
Miran.Karic authored
Recent changes in Segment class caused many tests to fail on mips32 because of an unaligned read error. Setting the alignment to 8 for mips fixes the issue. Accessing doubles on mips32 must be eight bit aligned. BUG= Review-Url: https://codereview.chromium.org/2390303003 Cr-Commit-Position: refs/heads/master@{#40039}
-
- 04 Oct, 2016 1 commit
-
-
heimbuef authored
BUG= Review-Url: https://codereview.chromium.org/2377943003 Cr-Commit-Position: refs/heads/master@{#39946}
-
- 30 Sep, 2016 1 commit
-
-
leszeks authored
matching function, creates a hashmap the specialises the case of keys that simply check pointer equality. I measure an average ~1% improvement on Octane code-load. Review-Url: https://codereview.chromium.org/2369963002 Cr-Commit-Position: refs/heads/master@{#39920}
-
- 29 Sep, 2016 1 commit
-
-
leszeks authored
Make MatchFun a template parameter in TemplateHashMapImpl, moving the PointersMatch function down to an implementation which extends TemplateHashMapImpl to void* key and value (i.e. the same as the current HashMap and ZoneHashMap typedefs). This will allow other instantiations of TemplateHashMapImpl, with different MatchFun values, e.g. std::equal_to, to have their key equality test inlined, rather than calling a function pointer, Review-Url: https://codereview.chromium.org/2354593002 Cr-Commit-Position: refs/heads/master@{#39868}
-
- 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}
-
- 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 2 commits
-
-
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}
-
- 20 Sep, 2016 1 commit
-
-
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}
-