- 14 Feb, 2018 1 commit
-
-
Ulan Degenbaev authored
The description will be used to annotate roots in the heap snapshot. Bug: chromium:811842 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: Ic5c9a89d1921cabddb06783f08ba63740e72820d Reviewed-on: https://chromium-review.googlesource.com/916564Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#51286}
-
- 30 Jan, 2018 1 commit
-
-
jgruber authored
Some tests need to ensure all builtins are deserialized. This adds a helper to make that easier. Drive-by-refactoring: Centralize lazy-deserialization tracing. TBR=rmcilroy@chromium.org Bug: v8:6624 Change-Id: I1f7caa6c539b12aabcba5b7b28c50ad40355848b Reviewed-on: https://chromium-review.googlesource.com/891822 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#50959}
-
- 29 Jan, 2018 1 commit
-
-
Michael Achenbach authored
This adds back an option for interrupt budget available in no-snap builds. This also adds a fuzzer configuration for numfuzz that enables fuzzing the interrupt budget option. A new flag --disable-analysis allows to generally skip the fuzzer's analysis phase, which can be chosen for interrupt budget, which doesn't support an analysis phase. Bug: v8:6917 Change-Id: I546dd9ee41c3e0fb027108ef4606a34514f230d4 Reviewed-on: https://chromium-review.googlesource.com/885805Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#50929}
-
- 24 Jan, 2018 1 commit
-
-
Leszek Swirski authored
Instead of collecting eagerly compilable inner function literals (IIFEs etc.) during AST numbering, collect them during bytecode generation, exposing them on the CompilationJob. Bug: v8:7178 Change-Id: I47451f412d2796e5857b4bc38c4f29c80cb0745d Reviewed-on: https://chromium-review.googlesource.com/873872 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#50842}
-
- 30 Nov, 2017 1 commit
-
-
Ulan Degenbaev authored
Currently RuntimeCallStats stores CounterIds as inner pointers. This patch replaces them with enums and removes static table. Bug: chromium:758183 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: Icb4030fc3ad3dd02e9c2648ce7c43b6f2d47fa9d Reviewed-on: https://chromium-review.googlesource.com/796477Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Adam Klein <adamk@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#49743}
-
- 23 Nov, 2017 1 commit
-
-
Ross McIlroy authored
Adds some additional RCS counters to correctly account background compilation to the background thread. Also adds a ParseBackgroundProgram as a top-level event for background parsing since otherwise only pre-parsing was being tracked. Perf Sheriffs: Note this is likely to increase the Parse-Background bucket in v8.runtime_stats benchmarks as it now accounts all background parsing correclty. BUG=v8:5203 Change-Id: I6ff614b725d85b0bc1901a7bf0e2bac8de1f7cff Reviewed-on: https://chromium-review.googlesource.com/786237Reviewed-by:
Marja Hölttä <marja@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#49603}
-
- 15 Nov, 2017 1 commit
-
-
Ross McIlroy authored
Removes Isolate from compilation info and instead threads isolate through function calls. This ensures that we can't access the isolate from background thread compilations. BUG=v8:5203 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: I9a4e1cd67c4736e36f609360b996fb55166a1c50 Reviewed-on: https://chromium-review.googlesource.com/751745 Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#49386}
-
- 14 Nov, 2017 2 commits
-
-
Ross McIlroy authored
Adds support for compiling top-level code on a background thread behind a flag. When the flag is enabled, any background-parsing-task will perform compilation as well as parsing. BUG=v8:5203 TBR=marja@chromium.org,mstarzinger@chromium.org Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: Icf90ac7211298d3555515dafc7c3245618ec1304 Reviewed-on: https://chromium-review.googlesource.com/764048 Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#49364}
-
Jakob Gruber authored
This reverts commit 9e4543a2. Reason for revert: Culprit CL was found, let's reland this. Original change's description: > Revert lazy bytecode handler support > > Speculative revert due to canary crashes. I'll begin relanding these > one-by-one next week. > > This bundles two reverts: > > Revert "[snapshot] Lazy-deserialize bytecode handlers" > This reverts commit b4587369. > > Revert "[interpreter] Remove mechanism for bytecode handler reuse" > This reverts commit 07fc87a2. > > TBR: rmcilroy@chromium.org,mlippautz@chromium.org,yangguo@chromium.org > Bug: chromium:783708 > Change-Id: I6f8314b9eeafd9412a1c69843bc242e7da240eee > Reviewed-on: https://chromium-review.googlesource.com/763428 > Commit-Queue: Jakob Gruber <jgruber@chromium.org> > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Cr-Commit-Position: refs/heads/master@{#49294} TBR=rmcilroy@chromium.org,mlippautz@chromium.org,yangguo@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: chromium:783708 Change-Id: I6c9274ddf0d0832ecce32baacc4f6a1388f56ac4 Reviewed-on: https://chromium-review.googlesource.com/768749 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#49362}
-
- 10 Nov, 2017 1 commit
-
-
jgruber authored
Speculative revert due to canary crashes. I'll begin relanding these one-by-one next week. This bundles two reverts: Revert "[snapshot] Lazy-deserialize bytecode handlers" This reverts commit b4587369. Revert "[interpreter] Remove mechanism for bytecode handler reuse" This reverts commit 07fc87a2. TBR: rmcilroy@chromium.org,mlippautz@chromium.org,yangguo@chromium.org Bug: chromium:783708 Change-Id: I6f8314b9eeafd9412a1c69843bc242e7da240eee Reviewed-on: https://chromium-review.googlesource.com/763428 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#49294}
-
- 09 Nov, 2017 2 commits
-
-
Ross McIlroy authored
Converts the ast prettyprinter to printing literals from the raw values rather than internalized on-heap strings. This enables ast printing before internalizing, and means we can avoid use of the isolate in the interpreter's off-thread phase. Also removes --print-builtin-ast and relies on just --print-ast to print everything. Finally, converts FunctionLiteral's debug_name function to return a char[] which is created from the raw name literal where it exists, rather than relying on the value having been internalized. BUG=v8:5203 Change-Id: Ib69f754e254736f415db38713e6209465817e6f1 Reviewed-on: https://chromium-review.googlesource.com/758681Reviewed-by:
Adam Klein <adamk@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#49276}
-
jgruber authored
This was originally introduced to reuse large handlers, but now only LdaContextSlot and LdaCurrentContextSlot remain (both roughly 2-300 bytes in size). Since handler reuse complicates lazy (de)serialization and currently doesn't seem to give us significant advantages, let's remove this. Bug: v8:6624 Change-Id: I6f19952632e10bd67677a825bbcb46d580a9d5c8 Reviewed-on: https://chromium-review.googlesource.com/758642Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#49254}
-
- 08 Nov, 2017 1 commit
-
-
jgruber authored
Add support for interpreter bytecode handlers that are deserialized lazily immediately before they are first used. Design doc: http://goo.gl/QxZBL2 Bug: v8:6624 Change-Id: Id68844ed14e76ca781b0bfe42c25a94b4fed1ae5 Reviewed-on: https://chromium-review.googlesource.com/750982 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Mythri Alle <mythria@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#49220}
-
- 03 Nov, 2017 4 commits
-
-
Ross McIlroy authored
This reverts commit c60934e9. Reason for revert: breaks nosnap build Original change's description: > [Ast] Teach Ast Printer to print raw literal values. > > Converts the ast prettyprinter to printing literals from the raw values > rather than internalized on-heap strings. This enables ast printing before > internalizing, and means we can avoid use of the isolate in the interpreter's > off-thread phase. > > Also removes --print-builtin-ast and relies on just --print-ast to print > everything. > > Finally, converts FunctionLiteral's debug_name function to return a > char[] which is created from the raw name literal where it exists, rather > than relying on the value having been internalized. > > BUG=v8:5203 > > Change-Id: I0e358d6acc9ae4516ed49e7a763e208fea5fcf66 > Reviewed-on: https://chromium-review.googlesource.com/749261 > Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> > Reviewed-by: Adam Klein <adamk@chromium.org> > Cr-Commit-Position: refs/heads/master@{#49119} TBR=rmcilroy@chromium.org,adamk@chromium.org Change-Id: Ic9d511f5107666a2f6a2bf59d8e93643c32d4d2b No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:5203 Reviewed-on: https://chromium-review.googlesource.com/753627Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#49120}
-
Ross McIlroy authored
Converts the ast prettyprinter to printing literals from the raw values rather than internalized on-heap strings. This enables ast printing before internalizing, and means we can avoid use of the isolate in the interpreter's off-thread phase. Also removes --print-builtin-ast and relies on just --print-ast to print everything. Finally, converts FunctionLiteral's debug_name function to return a char[] which is created from the raw name literal where it exists, rather than relying on the value having been internalized. BUG=v8:5203 Change-Id: I0e358d6acc9ae4516ed49e7a763e208fea5fcf66 Reviewed-on: https://chromium-review.googlesource.com/749261 Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#49119}
-
Michael Achenbach authored
This reverts commit c61f9171. Reason for revert: (Speculative) Seems to block the roll: https://chromium-review.googlesource.com/c/chromium/src/+/753602 Also failures on webkit win unittests and gpu tests: https://build.chromium.org/p/client.v8.fyi/builders/Win%20Release%20%28NVIDIA%29/builds/3382 https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Win/builds/11512 Original change's description: > [compiler] Add background compilation mode. > > Adds support for compiling top-level code on a background thread behind a flag. > When the flag is enabled, any background-parsing-task will perform compilation > as well as parsing. > > BUG=v8:5203 > > Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng > Change-Id: I88ab05c97cd6aea8d6be26e27d8da327f2c9c3a8 > Reviewed-on: https://chromium-review.googlesource.com/741716 > Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Reviewed-by: Marja Hölttä <marja@chromium.org> > Cr-Commit-Position: refs/heads/master@{#49103} TBR=rmcilroy@chromium.org,marja@chromium.org,mstarzinger@chromium.org Change-Id: I49b0b0ee61fb79766a9a928b43d51d0eeb793d39 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:5203 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Reviewed-on: https://chromium-review.googlesource.com/753302Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#49112}
-
Ross McIlroy authored
Adds support for compiling top-level code on a background thread behind a flag. When the flag is enabled, any background-parsing-task will perform compilation as well as parsing. BUG=v8:5203 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: I88ab05c97cd6aea8d6be26e27d8da327f2c9c3a8 Reviewed-on: https://chromium-review.googlesource.com/741716 Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#49103}
-
- 26 Oct, 2017 1 commit
-
-
jgruber authored
This is the first step towards lazy-deserializing bytecode handlers. Bytecode handler code objects are now serialized into the builtins snapshot area (which, like many other related concepts, has become somewhat of a misnomer now that it contains both builtins and handlers). Handlers are still eagerly-deserialized upon Isolate creation. This will change in follow-up CLs. Bug: v8:6624 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: I7b257f76f5e9e90d5f7b183980bae7bc621171fc Reviewed-on: https://chromium-review.googlesource.com/738030 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Peter Marshall <petermarshall@chromium.org> Reviewed-by:
Mythri Alle <mythria@chromium.org> Cr-Commit-Position: refs/heads/master@{#48977}
-
- 23 Oct, 2017 1 commit
-
-
Ross McIlroy authored
Also removes can_execute_on_background_thread() since all compilation jobs can now do that. Part of the work towards enabling off-thread bytecode compilation. BUG=v8:5203 Change-Id: I6a52c26d599ce74482b5fb49926603cb326f1e31 Reviewed-on: https://chromium-review.googlesource.com/731285Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#48826}
-
- 20 Oct, 2017 1 commit
-
-
Toon Verwaest authored
Bug: Change-Id: I67cfd5634e86472425c161b461684bd975e58a41 Reviewed-on: https://chromium-review.googlesource.com/730204 Commit-Queue: Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#48783}
-
- 11 Oct, 2017 1 commit
-
-
Leszek Swirski authored
AST printing was printing the literal of the ParseInfo, which is the current function being parsed. However, for eager compilation of inner literals, this may not be the function being compiled, which is in the CompilationInfo. So, for --print-ast, we have to get the FunctionLiteral from CompilationInfo. Bug: chromium:771653 Change-Id: I2088e1f1f7b8a3d664aae65cab699a641e5fd302 Reviewed-on: https://chromium-review.googlesource.com/712354Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#48470}
-
- 29 Sep, 2017 1 commit
-
-
Ross McIlroy authored
Removes script() from CompilationInfo since it might not be created when compiling from a background thread. BUG=v8:5203 Change-Id: Ic36fd04cf4792336707b2d3715d47c59b6a97faf Reviewed-on: https://chromium-review.googlesource.com/690299Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#48220}
-
- 13 Sep, 2017 2 commits
-
-
Ross McIlroy authored
Moves ast printing out of codegen.cc and into interpreter.cc since this is the only place which calls it. BUG=v8:6409 Change-Id: I7b730f6b4da76247f57e3cb4fa7895e638ea0517 Reviewed-on: https://chromium-review.googlesource.com/664888 Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Mythri Alle <mythria@chromium.org> Cr-Commit-Position: refs/heads/master@{#47996}
-
Michael Starzinger authored
R=clemensh@chromium.org Cq-Include-Trybots: master.tryserver.v8:v8_linux_noi18n_rel_ng Change-Id: I3df5d50f81909188ee0cb31d0f479aadeeabe20f Reviewed-on: https://chromium-review.googlesource.com/662780Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#47991}
-
- 04 Sep, 2017 1 commit
-
-
Leszek Swirski authored
Since ignition bakes the interrupt budget into the snapshot (the bytecode handlers reset the current function's interrupt budget to a constant value), we should remove the interrupt budget flag, which won't actually change anything if used. Change-Id: I9672b73fea7abb6c9b575d3963f107e2397f8e49 Reviewed-on: https://chromium-review.googlesource.com/649148Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#47805}
-
- 29 Aug, 2017 1 commit
-
-
Alexei Filippov authored
Make sure there is a matching Leave for each Enter. Otherwise it ends up with a dead stack-allocated object in the timer chain. The patch incorporates the following fixes: - RuntimeCallTimerScope::RuntimeCallTimerScope(HeapObject* ...) did create a local object instead of calling an overloaded constructor. - InterpreterCompilationJob::ExecuteJobImpl made an implicit call to a default copy constructor of TimerScope which led to a single Enter was made per two Leaves. - InterpreterCompilationJob::FinalizeJobImpl was calling RuntimeCallTimerScope from a background thread, which caused timer scopes become unbalanced. - RuntimeCallTimerScope constructors were put into counters-inl.h which is not included into most usages of RCS. That led to a suboptimal performance. - Added thread check into Enter and Leave BUG=chromium:669329 Change-Id: Ib5cff0e02e0b6c8b56a03ca3a5ebc37d93fcde55 Reviewed-on: https://chromium-review.googlesource.com/637307Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Alexei Filippov <alph@chromium.org> Cr-Commit-Position: refs/heads/master@{#47666}
-
- 28 Aug, 2017 1 commit
-
-
Alexei Filippov authored
This reverts commit 9b157602. Reason for revert: Seems to be the cause of 100% crashes of runtime-call-stats layout_test on Windows. https://build.chromium.org/p/chromium.webkit/builders/WebKit%20Win7/builds/54947 Original change's description: > [runtime-call-stats] Fix a long standing crash in RuntimeCallStats::Leave > > There must be a matching Leave for each Enter. Otherwise it ends up > with a dead stack-allocated object in the timer chain. > > Drive-by: There was also a bug in > RuntimeCallTimerScope::RuntimeCallTimerScope(HeapObject* ...) did create a > local object instead of calling an overloaded constructor. > > BUG=chromium:669329 > > Change-Id: I9aa1c574a854af8beab3d8097efab3a726ad1c8d > Reviewed-on: https://chromium-review.googlesource.com/634511 > Commit-Queue: Alexei Filippov <alph@chromium.org> > Reviewed-by: Camillo Bruni <cbruni@chromium.org> > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> > Cr-Commit-Position: refs/heads/master@{#47613} TBR=rmcilroy@chromium.org,alph@chromium.org,cbruni@chromium.org,rmcilroy@google.com # Not skipping CQ checks because original CL landed > 1 day ago. Bug: chromium:669329 Change-Id: I57b4fcd2e7bf92a68824d2ac5f40cc74deee0b25 Reviewed-on: https://chromium-review.googlesource.com/636762Reviewed-by:
Alexei Filippov <alph@chromium.org> Commit-Queue: Alexei Filippov <alph@chromium.org> Cr-Commit-Position: refs/heads/master@{#47631}
-
- 25 Aug, 2017 1 commit
-
-
Alexei Filippov authored
There must be a matching Leave for each Enter. Otherwise it ends up with a dead stack-allocated object in the timer chain. Drive-by: There was also a bug in RuntimeCallTimerScope::RuntimeCallTimerScope(HeapObject* ...) did create a local object instead of calling an overloaded constructor. BUG=chromium:669329 Change-Id: I9aa1c574a854af8beab3d8097efab3a726ad1c8d Reviewed-on: https://chromium-review.googlesource.com/634511 Commit-Queue: Alexei Filippov <alph@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#47613}
-
- 07 Aug, 2017 2 commits
-
-
Ross McIlroy authored
Refactors CompileUnoptimizedCode to do all the finalization for both inner and the outermost function after having prepared and executed their compile jobs. This will enable the function to be split into an off-thread phase and a finalization main thread phase. BUG=v8:5203 Change-Id: I400933c27b7aa52f9a7318b721adecfc94c80981 Reviewed-on: https://chromium-review.googlesource.com/602236 Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#47199}
-
Ross McIlroy authored
Moves creation of the CompilationInfo for unoptimized compilation into the respective CompilationJobs for Igntition, Fullcode and asm.js. This unifies the behaviour with respect to the optimized compilation jobs, and enables the CompileInfo to be owned by the CompilationJob. As part of this change, we no longer build new dummy ParseInfos for eager inner functions, instead using just the single outer ParseInfo created during the actual parsing. BUG=v8:5203 Change-Id: I6813758dfc5eeff44f5a40bf621184e330593bf9 Reviewed-on: https://chromium-review.googlesource.com/601990 Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#47198}
-
- 03 Aug, 2017 1 commit
-
-
Ross McIlroy authored
Don't hold a pointer to parse_info in compilation_info, and instead explicitly add the fields needed in compiation_info. The intention is to make ParseInfo only actually needed for parsing, and eventually make it possible to compile with only a CompileInfo. BUG=v8:5203 Change-Id: Iecd39245e44c218874401c3991eeaf3ceef2816f Reviewed-on: https://chromium-review.googlesource.com/595738Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#47119}
-
- 01 Aug, 2017 1 commit
-
-
jgruber authored
This is a reland of 2f79e035 Original change's description: > [builtins] Remove Builtins::Name() accessors > > Instead of auto-generating the Name() convenience accessor, use a macro to > avoid wasting code space. > > BUILTIN_CODE(isolate, Name) > > expands to > > isolate->builtins()->builtin_handle(Builtins::kName); > > This reduces the size of libv8.so by 134,752 bytes on a x64 release build. > > Bug: v8:6624 > Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng > Change-Id: Idff7ee5c45e344e73412c0f47e92553c7c7ff75f > Reviewed-on: https://chromium-review.googlesource.com/593607 > Reviewed-by: Andreas Haas <ahaas@chromium.org> > Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> > Commit-Queue: Jakob Gruber <jgruber@chromium.org> > Cr-Commit-Position: refs/heads/master@{#47010} TBR=bmeurer@chromium.org,ahaas@chromium.org Bug: v8:6624 Change-Id: I4733731e56dc8873ee06c2b36cac1918c0a658b2 Reviewed-on: https://chromium-review.googlesource.com/594087 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#47037}
-
- 31 Jul, 2017 3 commits
-
-
Jakob Gruber authored
This reverts commit 2f79e035. Reason for revert: Conflicts with successor CL. Original change's description: > [builtins] Remove Builtins::Name() accessors > > Instead of auto-generating the Name() convenience accessor, use a macro to > avoid wasting code space. > > BUILTIN_CODE(isolate, Name) > > expands to > > isolate->builtins()->builtin_handle(Builtins::kName); > > This reduces the size of libv8.so by 134,752 bytes on a x64 release build. > > Bug: v8:6624 > Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng > Change-Id: Idff7ee5c45e344e73412c0f47e92553c7c7ff75f > Reviewed-on: https://chromium-review.googlesource.com/593607 > Reviewed-by: Andreas Haas <ahaas@chromium.org> > Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> > Commit-Queue: Jakob Gruber <jgruber@chromium.org> > Cr-Commit-Position: refs/heads/master@{#47010} TBR=yangguo@chromium.org,ahaas@chromium.org,jgruber@chromium.org,bmeurer@chromium.org Change-Id: Ia9ef5c755b26c3f4e143d87a7c51033614ea435e No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:6624 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Reviewed-on: https://chromium-review.googlesource.com/594048Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#47012}
-
jgruber authored
Instead of auto-generating the Name() convenience accessor, use a macro to avoid wasting code space. BUILTIN_CODE(isolate, Name) expands to isolate->builtins()->builtin_handle(Builtins::kName); This reduces the size of libv8.so by 134,752 bytes on a x64 release build. Bug: v8:6624 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: Idff7ee5c45e344e73412c0f47e92553c7c7ff75f Reviewed-on: https://chromium-review.googlesource.com/593607Reviewed-by:
Andreas Haas <ahaas@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#47010}
-
Ross McIlroy authored
Print AST needs access to the internalized strings, so make sure AST is internalized before we print it. BUG=v8:5203 Change-Id: Ia4995147feb7ec466523a0c4a89620749b23dcab Reviewed-on: https://chromium-review.googlesource.com/593648Reviewed-by:
Georg Neis <neis@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#47006}
-
- 21 Jul, 2017 1 commit
-
-
Ross McIlroy authored
After moving the shared function info creation to be during unoptmized compile finalization the --print-bytecode flag caused a crash by trying to access the shared function info before it was created. This CL fixes it. BUG=v8:5203 Change-Id: I82c0431bace51aa44154c55ad4bebde897f7a39e Reviewed-on: https://chromium-review.googlesource.com/579769Reviewed-by:
Mythri Alle <mythria@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#46810}
-
- 22 May, 2017 1 commit
-
-
Wiktor Garbacz authored
Change-Id: I20ed35a7fb5104a9cc66bb54fa8966589c43d7f9 Reviewed-on: https://chromium-review.googlesource.com/507287Reviewed-by:
Andreas Haas <ahaas@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Daniel Clifford <danno@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Marja Hölttä <marja@chromium.org> Reviewed-by:
Jochen Eisinger <jochen@chromium.org> Commit-Queue: Wiktor Garbacz <wiktorg@google.com> Cr-Commit-Position: refs/heads/master@{#45458}
-
- 09 May, 2017 1 commit
-
-
Loo Rong Jie authored
Before this, --print-bytecode flag was available in all Release builds but did not actually print the bytecodes because OBJECT_PRINT is not set. The output was pretty confusing: [generating bytecode for function: ] 000002115442ABE9 <BytecodeArray[27]>[generating bytecode for function: main] 000002115442B069 <BytecodeArray[114]>[generating bytecode for function: Primes] 000002115442B729 <BytecodeArray[63]>[generating bytecode for function: Int32Array] 000002115442BB51 <BytecodeArray[175]>[generating bytecode for function: Primes.getPrimeCount] 000002115442BE81 <BytecodeArray[7]>[generating bytecode for function: Primes.isPrimeDivisible] 000002115442BFC9 <BytecodeArray[71]>[generating bytecode for function: Primes.addPrime] 000002115442C1C1 <BytecodeArray[31]>[generating bytecode for function: Primes.getPrime] 000002115442D7B1 <BytecodeArray[14]> With this CL, --print-bytecode flag will always output bytecode, but detailed info about constant pool and handler table are still guarded. Bug:NO Change-Id: Ie03be74520f45659303d1658da5b2acc02cf1b36 Reviewed-on: https://chromium-review.googlesource.com/497808Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Loo Rong Jie <loorongjie@gmail.com> Cr-Commit-Position: refs/heads/master@{#45187}
-
- 25 Apr, 2017 1 commit
-
-
ulan authored
This patch adds a new interface called RootVisitor and changes the root iteration functions to accept a RootVisitor instead of an ObjectVisitor. Future CLs will change ObjectVisitor to provide the host object to all visiting functions, which will bring it in sync with static visitors. Having separate visitors for roots and objects removes ambiguity in VisitPointers and reduces chances of forgetting to record slots. This is intended as pure refactoring. All places that require behavior change are marked with TODO and will addressed in future CLs. BUG=chromium:709075 Review-Url: https://codereview.chromium.org/2801073006 Cr-Commit-Position: refs/heads/master@{#44852}
-
- 07 Apr, 2017 1 commit
-
-
jkummerow authored
and out of the main library. This saves about 5% of binary size (800KB on x64, 373KB on android_arm). Only the GN build is supported; the GYP build is maintained working but does not support the feature. Previously landed as 4782bc0d / r44412. BUG=v8:6055 CQ_INCLUDE_TRYBOTS=master.tryserver.v8:v8_linux_nosnap_rel; Review-Url: https://codereview.chromium.org/2760233005 Cr-Commit-Position: refs/heads/master@{#44489}
-