- 27 Jul, 2018 1 commit
-
-
Peter Marshall authored
Previously we used the start address of the AbstractCode object. This doesn't make sense for off-heap builtins, where the code isn't contained in the object itself. It also hides other potential problems - sometimes the sample.pc is inside the AbstractCode object header - this is never valid. There were a few changes necessary to make this happen: - Change the interface of CodeMoveEvent. Now 'to' and 'from' are both AbstractCode objects, which is nice because many users were taking 'to' and adding the header offset to it to try and find the instruction start address. This isn't valid for off-heap builtins. - Fix a bug in CodeMap::MoveCode where we didn't update the CodeEntry object to reflect the new instruction_start. - Rename the 'start' field in all of the CodeEventRecord sub-classes to make it clear that this is the address of the first instruction. - Fix the confusion in RecordTickSample between 'tos' and 'pc' which caused pc_offset to be calculated incorrectly. Bug: v8:7983 Change-Id: I3e9dddf74e4b2e96a5f031d216ef7008d6f184d1 Reviewed-on: https://chromium-review.googlesource.com/1148457 Commit-Queue: Peter Marshall <petermarshall@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#54749}
-
- 13 Jun, 2018 1 commit
-
-
Georgia Kouveli authored
Replace all uses of Deoptimizer::BailoutType and CodeEventListener::DeoptKind with DeoptimizeKind from src/globals.h. Change-Id: I5b9002583a69bc43d995cacc7619b018e5a70727 Reviewed-on: https://chromium-review.googlesource.com/1097331 Commit-Queue: Georgia Kouveli <georgia.kouveli@arm.com> Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#53695}
-
- 28 May, 2018 1 commit
-
-
Yang Guo authored
Introduce a new public API called CodeEventListener to allow embedders to better support external profilers and other diagnostic tools without relying on unsupported methods like --perf-basic-prof. Bug: v8:7694 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: I063cc965394d59401358757634c9ea84c11517e9 Co-authored-by:
Daniel Beckert <daniel@sthima.com.br> Reviewed-on: https://chromium-review.googlesource.com/1028770 Commit-Queue: Yang Guo <yangguo@chromium.org> Reviewed-by:
Hannes Payer <hpayer@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#53382}
-
- 10 Apr, 2018 1 commit
-
-
Matheus Marchini authored
Before Turbofan/Ignition it was possible to use external profilers to sample running V8/Node.js processes and generate reports/FlameGraphs from that. It's still possible to do so, but non-optimized JavaScript functions appear in the stack as InterpreterEntryTrampoline. This commit adds a runtime flag which makes interpreted frames visible on the process' native stack as distinguishable functions, making the sampled data gathered by external profilers such as Linux perf and DTrace more useful. R=bmeurer@google.com, franzih@google.com, jarin@google.com, yangguo@google.com Bug: v8:7155 Change-Id: I3dc8876aa3cd9f1b9766624842a7cc354ccca415 Reviewed-on: https://chromium-review.googlesource.com/959081 Commit-Queue: Yang Guo <yangguo@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#52533}
-
- 22 Mar, 2018 1 commit
-
-
Stephan Herhut authored
Delaying the logging until after module creating ensures that the module has been fully parsed and hence that all names are available. Also refactors the code to bring all code logging/disassembling into one place. Change-Id: I8219d70876d2ccd3a5ffb8250b46fdf60a46fe6c Reviewed-on: https://chromium-review.googlesource.com/973443Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Stephan Herhut <herhut@chromium.org> Cr-Commit-Position: refs/heads/master@{#52146}
-
- 09 Mar, 2018 1 commit
-
-
jgruber authored
It turns out that with the help of Code::Instruction{Start,End,Size} helpers, we don't need custom profiler methods. InstructionStream is now all-static. Bug: v8:6666 Change-Id: I59e1d2d2cb72c128725a1ed03f11506d40e76224 Reviewed-on: https://chromium-review.googlesource.com/947973 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#51837}
-
- 20 Feb, 2018 1 commit
-
-
Stephan Herhut authored
Adds support for generating logging/profiling event when wasm code gets compiled on the native heap. As code objects on the native heap are not ordinary heap objects, the existing abstractions for reporting cannot be used. Instead, add specialized versions for WasmCode objects. Change-Id: I808618d70142073b3c1b06edef6931f59bed8cf5 Reviewed-on: https://chromium-review.googlesource.com/913308 Commit-Queue: Stephan Herhut <herhut@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#51388}
-
- 05 Feb, 2018 1 commit
-
-
jgruber authored
Bug: v8:6666 Change-Id: I8de39b6ce31b59e5a76267cb665d42f758309c2a Reviewed-on: https://chromium-review.googlesource.com/897530Reviewed-by:
Franziska Hinkelmann <franzih@chromium.org> Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#51093}
-
- 19 Oct, 2017 1 commit
-
-
Michael Starzinger authored
R=jgruber@chromium.org Change-Id: I5748dcf1456a19be66058b1b7025da44bcbd999c Reviewed-on: https://chromium-review.googlesource.com/725735 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#48737}
-
- 28 Sep, 2017 1 commit
-
-
Toon Verwaest authored
Bug: Change-Id: I41d3f3086f5e90a1a1579c18eca59b5d098f637f Reviewed-on: https://chromium-review.googlesource.com/690374 Commit-Queue: Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#48207}
-
- 24 Mar, 2017 1 commit
-
-
Igor Sheludko authored
The former will handle stores to global variables, lets and undeclared variables. The latter will handle named stores to explicit receiver. BUG=chromium:576312, v8:5561 Change-Id: I335fa21db47c3d001da8cc79fa8cb6f8abcbb7e2 Reviewed-on: https://chromium-review.googlesource.com/458639Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#44085}
-
- 22 Mar, 2017 1 commit
-
-
jarin authored
This adds optimization and deoptimization counts to the Web UI. Also, the function timeline now shows optimization and deoptimization marks. Review-Url: https://codereview.chromium.org/2753543006 Cr-Commit-Position: refs/heads/master@{#44033}
-
- 21 Dec, 2016 1 commit
-
-
alph authored
BUG=chromium:664286 Review-Url: https://codereview.chromium.org/2595673002 Cr-Commit-Position: refs/heads/master@{#41884}
-
- 29 Sep, 2016 1 commit
-
-
alph authored
BUG=406277 Review-Url: https://codereview.chromium.org/2321073004 Cr-Commit-Position: refs/heads/master@{#39853}
-
- 15 Jun, 2016 1 commit
-
-
alph authored
The patch introduces a dedicated dispatching class for JIT code events. It is set as a helper on the isolate. This allows classes across v8 to break their dependency on Logger and CpuProfiler. These two became just regular clients of the dispatcher. BUG=v8:4789 Review-Url: https://codereview.chromium.org/2061623002 Cr-Commit-Position: refs/heads/master@{#37005}
-