- 10 May, 2019 1 commit
-
-
Dan Elphick authored
This is a reland of f2e65226 Nothing has changed but https://chromium-review.googlesource.com/c/v8/v8/+/1585269 has been rolled back due to v8:9234. Original change's description: > Reland "[compiler] Don't collect source positions for the top frame" > > Fixed crashes by adding missing call to EnsureSourcePositionsAvailable, > which requires clearing and restoring the pending exception. > > > While most source positions were not collected even throwing exceptions, > > the top frame still was always collected as it was used to initialize > > the JSMessageObject. This skips even that frame, by storing the > > SharedFunctionInfo and bytecode offset in the JSMessageObject allowing > > it to lazily evaluate the actual source position. > > > > Also adds tests to test-api.cc that test each of the source position > > functions in isolation to ensure that they don't rely on previous > > invocations to call the source collection function. > > > > Since no source positions are now collected at the point when an > > exception is thrown, the mjsunit/stack-traces-overflow now passes again > > with the flag enabled. (cctest/test-cpu-profiler/Inlining2 is now the > > only failure). > > Bug: v8:8510 > Change-Id: Ifa5fe31d3db34a6c6d6a9cef3d646ad620dabd81 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1601270 > Commit-Queue: Dan Elphick <delphick@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> > Cr-Commit-Position: refs/heads/master@{#61372} TBR=ulan@chromium.org Bug: v8:8510 Change-Id: Iaa9e376f90d10c0f25d1bcc352808363e4ea8b4d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1605946Reviewed-by: Dan Elphick <delphick@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#61418}
-
- 09 May, 2019 2 commits
-
-
Maya Lekova authored
This reverts commit f2e65226. Reason for revert: Speculative revert, seems to break GC stress bot and block LKGR - https://ci.chromium.org/p/v8/builders/ci/V8%20Linux64%20GC%20Stress%20-%20custom%20snapshot/25701 Original change's description: > Reland "[compiler] Don't collect source positions for the top frame" > > Fixed crashes by adding missing call to EnsureSourcePositionsAvailable, > which requires clearing and restoring the pending exception. > > > While most source positions were not collected even throwing exceptions, > > the top frame still was always collected as it was used to initialize > > the JSMessageObject. This skips even that frame, by storing the > > SharedFunctionInfo and bytecode offset in the JSMessageObject allowing > > it to lazily evaluate the actual source position. > > > > Also adds tests to test-api.cc that test each of the source position > > functions in isolation to ensure that they don't rely on previous > > invocations to call the source collection function. > > > > Since no source positions are now collected at the point when an > > exception is thrown, the mjsunit/stack-traces-overflow now passes again > > with the flag enabled. (cctest/test-cpu-profiler/Inlining2 is now the > > only failure). > > Bug: v8:8510 > Change-Id: Ifa5fe31d3db34a6c6d6a9cef3d646ad620dabd81 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1601270 > Commit-Queue: Dan Elphick <delphick@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> > Cr-Commit-Position: refs/heads/master@{#61372} TBR=ulan@chromium.org,rmcilroy@chromium.org,delphick@chromium.org Change-Id: Ie590df6c308b38836afc5d417d03d2a63260bcb2 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:8510 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1602692Reviewed-by: Maya Lekova <mslekova@chromium.org> Commit-Queue: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#61381}
-
Dan Elphick authored
Fixed crashes by adding missing call to EnsureSourcePositionsAvailable, which requires clearing and restoring the pending exception. > While most source positions were not collected even throwing exceptions, > the top frame still was always collected as it was used to initialize > the JSMessageObject. This skips even that frame, by storing the > SharedFunctionInfo and bytecode offset in the JSMessageObject allowing > it to lazily evaluate the actual source position. > > Also adds tests to test-api.cc that test each of the source position > functions in isolation to ensure that they don't rely on previous > invocations to call the source collection function. > > Since no source positions are now collected at the point when an > exception is thrown, the mjsunit/stack-traces-overflow now passes again > with the flag enabled. (cctest/test-cpu-profiler/Inlining2 is now the > only failure). Bug: v8:8510 Change-Id: Ifa5fe31d3db34a6c6d6a9cef3d646ad620dabd81 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1601270 Commit-Queue: Dan Elphick <delphick@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#61372}
-
- 08 May, 2019 2 commits
-
-
Michael Starzinger authored
The involved code kinds should no longer appear as part of frames for {Code} objects since they have been moved to {WasmCode} for quite a while now. R=jkummerow@chromium.org Change-Id: Iadc4ef668ebb56bf418fb706c3f118d9c3b553bd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1598755 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#61347}
-
Jakob Kummerow authored
For faster calls from Wasm to C-API functions, passing parameter values directly instead of through JavaScript wrapper objects. Change-Id: I31e7d1622dedaf3154483306ab159427ac167663 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1591601Reviewed-by: Andreas Haas <ahaas@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#61338}
-
- 07 May, 2019 2 commits
-
-
Dan Elphick authored
This reverts commit 758700a7. Reason for revert: Broken Original change's description: > [compiler] Don't collect source positions for the top frame > > While most source positions were not collected even throwing exceptions, > the top frame still was always collected as it was used to initialize > the JSMessageObject. This skips even that frame, by storing the > SharedFunctionInfo and bytecode offset in the JSMessageObject allowing > it to lazily evaluate the actual source position. > > Also adds tests to test-api.cc that test each of the source position > functions in isolation to ensure that they don't rely on previous > invocations to call the source collection function. > > Since no source positions are now collected at the point when an > exception is thrown, the mjsunit/stack-traces-overflow now passes again > with the flag enabled. (cctest/test-cpu-profiler/Inlining2 is now the > only failure). > > Bug: v8:8510 > Change-Id: Ic5382bdbab65cd8838f0c84b544fabb1a9109d13 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1587385 > Commit-Queue: Dan Elphick <delphick@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> > Cr-Commit-Position: refs/heads/master@{#61271} TBR=ulan@chromium.org,rmcilroy@chromium.org,delphick@chromium.org Change-Id: I3ee0b5db5f8a1b3255f68070dc10d27d0e013048 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:8510 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1598758Reviewed-by: Dan Elphick <delphick@chromium.org> Commit-Queue: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#61273}
-
Dan Elphick authored
While most source positions were not collected even throwing exceptions, the top frame still was always collected as it was used to initialize the JSMessageObject. This skips even that frame, by storing the SharedFunctionInfo and bytecode offset in the JSMessageObject allowing it to lazily evaluate the actual source position. Also adds tests to test-api.cc that test each of the source position functions in isolation to ensure that they don't rely on previous invocations to call the source collection function. Since no source positions are now collected at the point when an exception is thrown, the mjsunit/stack-traces-overflow now passes again with the flag enabled. (cctest/test-cpu-profiler/Inlining2 is now the only failure). Bug: v8:8510 Change-Id: Ic5382bdbab65cd8838f0c84b544fabb1a9109d13 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1587385 Commit-Queue: Dan Elphick <delphick@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#61271}
-
- 29 Apr, 2019 1 commit
-
-
Clemens Hammacher authored
Our {Vector} template provides both {start} and {begin} methods. They return exactly the same value. Since the {begin} method is needed for iteration, and is also what standard containers provide, this CL switches all uses of the {start} method to use {begin} instead. Patchset 1 was auto-generated by using this clang AST matcher: callExpr( callee( cxxMethodDecl( hasName("start"), ofClass(hasName("v8::internal::Vector"))) ), argumentCountIs(0)) Patchset 2 was created by running clang-format. Patchset 3 then removes the now unused {Vector::start} method. R=jkummerow@chromium.org TBR=mstarzinger@chromium.org,yangguo@chromium.org,verwaest@chromium.org Bug: v8:9183 Change-Id: Id9f01c92870872556e2bb3f6d5667463b0e3e5c6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1587381Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#61081}
-
- 24 Apr, 2019 1 commit
-
-
Ross McIlroy authored
On Arm/64 the last return address is stored in a link register instead of being pushed to the top-of-stack like on x64/ia32. Extend the support in the tick sampler to check for samples in a frameless bytecode handler with support for checking the link register if it exists instead of top-of-stack. In addition, make the x64/ia32 check more robust by ensuring we only apply the change if the pc is a bytecode handler and the top frame isn't a bytecode handler (stub) frame. BUG=v8:9162 Change-Id: I89d2e80ea8a0b84ff6a265d0e0e73f9fdd1daca8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1578464Reviewed-by: Peter Marshall <petermarshall@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#60976}
-
- 18 Apr, 2019 1 commit
-
-
Michael Starzinger authored
R=jgruber@chromium.org BUG=v8:8758 Change-Id: Iba62ca0f9010cd68b47966ad8d04c1a4149efe70 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1571415Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#60918}
-
- 15 Apr, 2019 1 commit
-
-
Michael Starzinger authored
This makes sure that all overrides of {StackFrame::unchecked_code} return a value, even if there is no {Code} object associated with the frame. This ensures debug functions like {StackTraceFailureMessage} continue working for all stack traces. R=neis@chromium.org BUG=chromium:952761 Change-Id: Ie42b301e4d43ebf67acc80e6c1b7bcb4cdc7c947 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1566515Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#60844}
-
- 12 Apr, 2019 1 commit
-
-
Igor Sheludko authored
To keep things simple, we just ensure that the spill slots always contain full uncompressed pointers before GC sees them. Bug: v8:8977, v8:7703 Change-Id: I54eab1b3e79e8525200139e487ff64d82ae157e5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1564198Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#60811}
-
- 02 Apr, 2019 1 commit
-
-
Clemens Hammacher authored
This CL adds all the necessary {WasmCodeRefScope}s in the code base, or at least a good approximation. A follow-up CL will enable a check that a {WasmCodeRefScope} exists whenever a pointer to a {WasmCode} object is returned from the {NativeModule}. This should flush out any missing scopes. R=titzer@chromium.org Bug: v8:8217 Change-Id: I54c7eb39aeb1acde38273c399396e6b1390a4cb2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1533860 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#60566}
-
- 28 Mar, 2019 1 commit
-
-
Dan Elphick authored
Previously when lazy source positions were enabled, source positions were immediately collected whenever an exception was thrown for every frame in the stack trace. This change makes source position collection trigger only when the source positions of a stack frame are actually accessed with the exception of the top frame which is still eagerly collected for now. Additionally when stack overflows occur during source position collection, the bytecode is marked with exception in the source_position_table field so it can be distinguished from the case where source position collection has never been attempted (undefined) or is not desired because the bytecode is for natives (empty_byte_array). Bug: v8:8510 Change-Id: If7ee68edbacc9e2adadf00fe5ec822a8dbe1c79a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1520721Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Peter Marshall <petermarshall@chromium.org> Commit-Queue: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#60504}
-
- 20 Mar, 2019 1 commit
-
-
Michael Starzinger authored
This removes the special casing for the lazy compilation stub which used to have its own code kind, just so that the stack walker would properly recognize its frame. Also, by re-using the existing machinery for runtime stubs we no longer need to copy this stub into the native module and get all the niceties that come with embedded builtins for free. Thirdly this will make it easier to start lazy compilation from the background or to do it on a per-function basis without requiring yet more special machinery, since {NativeModule::SetLazyBuiltin} no longer requires access to the Isolate. Kudos for the inspiration for this cleanup go to Frederik, I merely did some of the legwork. R=clemensh@chromium.org BUG=v8:8834 Change-Id: Iac2b51a2e33fb0e88d25d3632fa18998123ee6c3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1532064Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#60365}
-
- 15 Mar, 2019 1 commit
-
-
Michael Starzinger authored
This slot has become obsolete now that all CEntry stubs are builtins (which are part of the rootset) and no longer need to be kept alive explicitly by a slot in the frame. R=verwaest@chromium.org BUG=v8:8834 Change-Id: I7b791cc509ef800bcf7aa5faab31ddf35370f944 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1520725Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#60267}
-
- 04 Mar, 2019 1 commit
-
-
Dan Elphick authored
Removes JavaScriptFrame::CollectTopFrameForICStats whose last usage was removed in https://chromium-review.googlesource.com/626016. Bug: v8:8834 Change-Id: I9ffad0c712816696c56b746a137bed30362550bc Reviewed-on: https://chromium-review.googlesource.com/c/1496365 Auto-Submit: Dan Elphick <delphick@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#60002}
-
- 15 Feb, 2019 1 commit
-
-
Jakob Kummerow authored
This takes heap-inl.h out of the "Giant Include Cluster". Naturally, that means adding a bunch of explicit includes in a bunch of places that relied on transitively including them before. As of this patch, no header file outside src/heap/ includes heap-inl.h. Bug: v8:8562,v8:8499 Change-Id: I65fa763f90e66afc30d105b9277792721f05a6d4 Reviewed-on: https://chromium-review.googlesource.com/c/1459659 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#59617}
-
- 14 Feb, 2019 1 commit
-
-
Dan Elphick authored
If enable_omit_source_positions is true (defaults to false), source position tables are not generated when compiling bytecode. They will then be regenerated when exceptions are thrown. This adds a new function Compiler::CollectSourcePositions which given a SharedFunctionInfo with bytecode but no source position table re-parses and regenerates the bytecode but this time with source positions collection enabled. Note this will reparse all inner functions that have previously been compiled since the preparse data is no longer available. With the flag enabled there still 18 test failures mostly related to debugging. v8: 8510 Change-Id: I46dff9818d8a89c901ba8ae8df94dcaca83aa658 Reviewed-on: https://chromium-review.googlesource.com/c/1385165 Commit-Queue: Dan Elphick <delphick@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#59595}
-
- 08 Feb, 2019 1 commit
-
-
Matheus Marchini authored
This is a reland of 97628eee. Original change's description: > [error] extend error stack w/ function parameters > > Extend FrameArray to hold weak references to parameters forfunctions in > the call stack. The goal here is to provide more metadata for postmortem > tools (such as llnode), especially in cases of rethrowing (this will be > particularly useful when using postmortem with promises on Node.js). > > Besides postmortem, these changes allow us to print a more detailed > stack trace for errors with parameters types (or even values), which can > be useful since JavaScript functions can receive any number of > parameters of any type, and having a function behave differently > according to the number of parameters received as well as their types is > a common pattern on JS libraries and frameworks. > > R=<U+200B>bmeurer@google.com, yangguo@google.com > > Change-Id: Idf0984d0dbac16041f11d738d4b1c095a8eecd61 > Reviewed-on: https://chromium-review.googlesource.com/c/1289489 > Commit-Queue: Yang Guo <yangguo@chromium.org> > Reviewed-by: Yang Guo <yangguo@chromium.org> > Cr-Commit-Position: refs/heads/master@{#58468} R=bmeurer@google.com, jkummerow@chromium.org, yangguo@google.com Change-Id: I53d90bb862d9c5e9541116b375fa4de70e3e76dd Reviewed-on: https://chromium-review.googlesource.com/c/1405568 Commit-Queue: Yang Guo <yangguo@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#59458}
-
- 05 Feb, 2019 1 commit
-
-
Jakob Gruber authored
This adds Code::has_foo() and Code::foo_size() helpers for inlined metadata sections (currently: the safepoint table, handler table, constant pool, and code comments). Prior to this, each call site had to know implementation details of the instruction area layout. Bug: v8:8758 Change-Id: I9dc391992a4bf709ee403beab8606d85540dc1be Reviewed-on: https://chromium-review.googlesource.com/c/1451838 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#59357}
-
- 30 Jan, 2019 1 commit
-
-
Sigurd Schneider authored
This removes the unnecessary helper GetNumberOfIncomingArguments from several frames. Clients should use ComputeParametersCount instead. Change-Id: I54c261fd6ff0a8a5dc6d1832a0b397429a7ba726 Bug: v8:8757 Reviewed-on: https://chromium-review.googlesource.com/c/1442642Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#59192}
-
- 25 Jan, 2019 1 commit
-
-
Andreas Haas authored
Anyref parameters can exist across GC runs. Therefore the GC has to know where anyref parameters are on the stack so that it can mark them in its marking phase, and update them in the compaction phase. Already in a previous CL we grouped all anyref parameters so that they can be found more easily in a stack frame, see https://crrev.com/c/1371827. In this CL we implement the stack scanning itself. Note that anyref parameters are not scanned while iterating over the caller's frame (to which they actually belong), but while iterating over the callee's frame. The reason is that with tail-calls, only the callee knows how many tagged stack parameters (aka anyref parameters) there are. R=mstarzinger@chromium.org also-by=mstarzinger@chromium.org Bug: v8:7581 Change-Id: I7a41ce11d06c0d420146fdb0bb8d5606f28824d7 Reviewed-on: https://chromium-review.googlesource.com/c/1424955 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#59099}
-
- 21 Jan, 2019 1 commit
-
-
Michael Starzinger authored
This removes the unused "argument count" field from the safepoint table as the field was unused by now and always contained the value zero. Also note that associating a callee's argument count with the call-site is not compatible with tail-call support. When tail-calling a function with a different number of arguments, the information associated with the call-site becomes stale. The number of arguments is a property of the callee, not of the call-site in the caller. For this reason the field in question is not usable to support reference types in function arguments (at least when tail-calls are also supported). R=ahaas@chromium.org Change-Id: If667d729267f2dd2642b755c54235cc08ca9b141 Reviewed-on: https://chromium-review.googlesource.com/c/1402548Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#58969}
-
- 18 Jan, 2019 1 commit
-
-
Igor Sheludko authored
Bug: v8:8477, v8:8562 Change-Id: Ieb677e0989f77ed207567d468faec0bf92752967 Reviewed-on: https://chromium-review.googlesource.com/c/1388529Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#58922}
-
- 08 Jan, 2019 1 commit
-
-
Jakob Kummerow authored
The two names refer to the same thing by now, so this patch is entirely mechanical. Bug: v8:3770 Change-Id: Ia360c06c89af6b3da27fd21bbcaeb2bdaa28ce22 Reviewed-on: https://chromium-review.googlesource.com/c/1397705Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#58615}
-
- 26 Dec, 2018 3 commits
-
-
Jakob Kummerow authored
Tbr: ahaas@chromium.org,leszeks@chromium.org,verwaest@chromium.org Bug: v8:3770 Change-Id: Ia6530fbb70dac05e9972283781c3550d8b50e1eb Reviewed-on: https://chromium-review.googlesource.com/c/1390116 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Alexei Filippov <alph@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#58470}
-
Jakob Kummerow authored
This reverts commit 97628eee. Reason for revert: breaks compilation in Lite mode, which does not allow overriding of certain flags. See https://logs.chromium.org/logs/v8/buildbucket/cr-buildbucket.appspot.com/8926078411629093216/+/steps/build/0/steps/compile/0/stdout. Original change's description: > [error] extend error stack w/ function parameters > > Extend FrameArray to hold weak references to parameters for functions in > the call stack. The goal here is to provide more metadata for postmortem > tools (such as llnode), especially in cases of rethrowing (this will be > particularly useful when using postmortem with promises on Node.js). > > Besides postmortem, these changes allow us to print a more detailed > stack trace for errors with parameters types (or even values), which can > be useful since JavaScript functions can receive any number of > parameters of any type, and having a function behave differently > according to the number of parameters received as well as their types is > a common pattern on JS libraries and frameworks. > > R=bmeurer@google.com, yangguo@google.com > > Change-Id: Idf0984d0dbac16041f11d738d4b1c095a8eecd61 > Reviewed-on: https://chromium-review.googlesource.com/c/1289489 > Commit-Queue: Yang Guo <yangguo@chromium.org> > Reviewed-by: Yang Guo <yangguo@chromium.org> > Cr-Commit-Position: refs/heads/master@{#58468} TBR=yangguo@chromium.org,bmeurer@google.com,bmeurer@chromium.org,mat@mmarchini.me Change-Id: Ide0a434c1521ab2bbeca6821397ff63ba7d40fe5 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/1390128Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#58469}
-
Matheus Marchini authored
Extend FrameArray to hold weak references to parameters for functions in the call stack. The goal here is to provide more metadata for postmortem tools (such as llnode), especially in cases of rethrowing (this will be particularly useful when using postmortem with promises on Node.js). Besides postmortem, these changes allow us to print a more detailed stack trace for errors with parameters types (or even values), which can be useful since JavaScript functions can receive any number of parameters of any type, and having a function behave differently according to the number of parameters received as well as their types is a common pattern on JS libraries and frameworks. R=bmeurer@google.com, yangguo@google.com Change-Id: Idf0984d0dbac16041f11d738d4b1c095a8eecd61 Reviewed-on: https://chromium-review.googlesource.com/c/1289489 Commit-Queue: Yang Guo <yangguo@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#58468}
-
- 21 Dec, 2018 3 commits
-
-
Sigurd Schneider authored
This is a reland of f63a657e Original change's description: > [deoptimizer] Refactor GenerateDeoptimizationEntries > > This reduces preprocessor-expanded source size by 64,359 from > > gen ( 21 files): 71,570 to 1,613,100 ( 23x) > src ( 624 files): 367,830 to 52,964,659 ( 144x) > test ( 392 files): 490,924 to 37,360,916 ( 76x) > third_party ( 432 files): 239,085 to 9,547,902 ( 40x) > total ( 1521 files): 1,184,093 to 102,461,098 ( 87x) > > to > > gen ( 21 files): 71,570 to 1,613,100 ( 23x) > src ( 624 files): 367,837 to 52,919,005 ( 144x) > test ( 392 files): 490,924 to 37,342,211 ( 76x) > third_party ( 432 files): 239,085 to 9,547,902 ( 40x) > total ( 1521 files): 1,184,100 to 102,396,739 ( 86x) > > Bug: v8:8562 > Change-Id: Iee474e22ababa1e080b8d6359af4d0076903e59a > Reviewed-on: https://chromium-review.googlesource.com/c/1384091 > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> > Commit-Queue: Sigurd Schneider <sigurds@chromium.org> > Cr-Commit-Position: refs/heads/master@{#58424} TBR=jarin@chromium.org,ulan@chromium.org Bug: v8:8562 Change-Id: I7a8a350414941f49c6155ff43e36e0cb0b2006e5 Reviewed-on: https://chromium-review.googlesource.com/c/1387497Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#58437}
-
Sigurd Schneider authored
This reverts commit f63a657e. Reason for revert: breaks compile on lite mode: https://logs.chromium.org/logs/v8/buildbucket/cr-buildbucket.appspot.com/8926535782549686576/+/steps/build/0/steps/compile/0/stdout Original change's description: > [deoptimizer] Refactor GenerateDeoptimizationEntries > > This reduces preprocessor-expanded source size by 64,359 from > > gen ( 21 files): 71,570 to 1,613,100 ( 23x) > src ( 624 files): 367,830 to 52,964,659 ( 144x) > test ( 392 files): 490,924 to 37,360,916 ( 76x) > third_party ( 432 files): 239,085 to 9,547,902 ( 40x) > total ( 1521 files): 1,184,093 to 102,461,098 ( 87x) > > to > > gen ( 21 files): 71,570 to 1,613,100 ( 23x) > src ( 624 files): 367,837 to 52,919,005 ( 144x) > test ( 392 files): 490,924 to 37,342,211 ( 76x) > third_party ( 432 files): 239,085 to 9,547,902 ( 40x) > total ( 1521 files): 1,184,100 to 102,396,739 ( 86x) > > Bug: v8:8562 > Change-Id: Iee474e22ababa1e080b8d6359af4d0076903e59a > Reviewed-on: https://chromium-review.googlesource.com/c/1384091 > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> > Commit-Queue: Sigurd Schneider <sigurds@chromium.org> > Cr-Commit-Position: refs/heads/master@{#58424} TBR=ulan@chromium.org,jarin@chromium.org,sigurds@chromium.org Change-Id: I06e6f95255a3cea6a428713e9e841781425dffe8 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:8562 Reviewed-on: https://chromium-review.googlesource.com/c/1387494Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#58425}
-
Sigurd Schneider authored
This reduces preprocessor-expanded source size by 64,359 from gen ( 21 files): 71,570 to 1,613,100 ( 23x) src ( 624 files): 367,830 to 52,964,659 ( 144x) test ( 392 files): 490,924 to 37,360,916 ( 76x) third_party ( 432 files): 239,085 to 9,547,902 ( 40x) total ( 1521 files): 1,184,093 to 102,461,098 ( 87x) to gen ( 21 files): 71,570 to 1,613,100 ( 23x) src ( 624 files): 367,837 to 52,919,005 ( 144x) test ( 392 files): 490,924 to 37,342,211 ( 76x) third_party ( 432 files): 239,085 to 9,547,902 ( 40x) total ( 1521 files): 1,184,100 to 102,396,739 ( 86x) Bug: v8:8562 Change-Id: Iee474e22ababa1e080b8d6359af4d0076903e59a Reviewed-on: https://chromium-review.googlesource.com/c/1384091Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#58424}
-
- 17 Dec, 2018 1 commit
-
-
Jakob Kummerow authored
Bug: v8:3770 Change-Id: Id7a05e5687d36c9347f35f6f3276af2a4b6115fd Reviewed-on: https://chromium-review.googlesource.com/c/1377770 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#58279}
-
- 14 Dec, 2018 1 commit
-
-
Jakob Kummerow authored
AsmWasmData, WasmDebugInfo, WasmExceptionTag, WasmExportedFunctionData Bug: v8:3770 Change-Id: I0343daaa10bdb9dfaba07f28051821077703a106 Reviewed-on: https://chromium-review.googlesource.com/c/1377456 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Cr-Commit-Position: refs/heads/master@{#58256}
-
- 13 Dec, 2018 1 commit
-
-
Michael Starzinger authored
This overlays the "arguments count" and the "deoptimization index" fields within a safepoint entry. It allows for a larger value of arguments count to be stored in entries that do not contain a deoptimization index. Currently the arguments count is unused in TurboFan, but it will be used to handle reference type arguments in WebAssembly code. R=ahaas@chromium.org BUG=v8:7581 Change-Id: I1e1d5af7e69288f046dc327de5d6e0466fc9ceaf Reviewed-on: https://chromium-review.googlesource.com/c/1371829 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#58224}
-
- 08 Dec, 2018 1 commit
-
-
Jakob Kummerow authored
Bug: v8:3770 Change-Id: I1d74ffe9e5478b4b8bc0acbf088d20919d458d50 Reviewed-on: https://chromium-review.googlesource.com/c/1363822 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#58112}
-
- 07 Dec, 2018 2 commits
-
-
Igor Sheludko authored
(mostly for roots, handles and stack locations). Thi CL also changes RootVisitor interface to use FullObjectSlots instead of ObjectSlots. Bug: v8:8518 Change-Id: I217c7ae176387a8c64f4754e62339727bdb36018 Reviewed-on: https://chromium-review.googlesource.com/c/1366035Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#58091}
-
Jakob Gruber authored
This migrates the JSEntryStub to three dedicated builtins: JSEntry JSConstructEntry JSRunMicrotasksEntry Drive-by: Tweaks to make the code isolate-independent (e.g. using the correct macro assembler method to load and store external references through the kRootRegister). Drive-by: The context slot on x64/ia32 must be set up after kRootRegister is initialized, so we first reserve the slot and later load its value. Drive-by: Update all remaining comments referencing JSEntryStub. Bug: v8:7777 Change-Id: Ie3ba17ffb3bde6f18ec1d26d778b258719b2d4ef Reviewed-on: https://chromium-review.googlesource.com/c/1365275Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#58088}
-
- 29 Nov, 2018 2 commits
-
-
Peter Marshall authored
This is a reland of d5f4a33e Landing with test disabled for now. Original change's description: > [cpu-profiler] Fix stack iterability for fast C calls with no exit frame > > Before fast C calls, store the current FP and PC on the isolate. When > iterating frames in SafeStackFrameIterator, check if these fields are > set and start iterating at the calling frame's FP instead of the current > FP, which will be in C++ code. We need to do this because c_entry_fp is > not set on the Isolate for Fast-C-Calls because we don't build an exit > frame. > > This change makes stack samples that occur within 'Fast-C-Calls' > iterable, meaning we can properly attribute ticks within the JS caller. > > Fast-C-Calls can't call back into JS code, so we can only ever have one > such call on the stack at a time, allowing us to store the FP on the > isolate rather than the stack. > > TBR=v8-mips-ports@googlegroups.com > > Bug: v8:8464, v8:7202 > Change-Id: I7bf39eba779dad34754d5759d741c421b362a406 > Reviewed-on: https://chromium-review.googlesource.com/c/1340241 > Commit-Queue: Peter Marshall <petermarshall@chromium.org> > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Reviewed-by: Martyn Capewell <martyn.capewell@arm.com> > Reviewed-by: Alexei Filippov <alph@chromium.org> > Cr-Commit-Position: refs/heads/master@{#57896} TBR=v8-mips-ports@googlegroups.com TBR=jgruber@chromium.org Bug: v8:8464, v8:7202 Change-Id: I260d5ab3bc12c9c4529fb52a297a1040dcaa8ebf Reviewed-on: https://chromium-review.googlesource.com/c/1354466 Commit-Queue: Peter Marshall <petermarshall@chromium.org> Reviewed-by: Peter Marshall <petermarshall@chromium.org> Cr-Commit-Position: refs/heads/master@{#57935}
-
Michael Achenbach authored
This reverts commit ddaa1f0a. Reason for revert: Still flaky on windows. Maybe reland and keep skipped on windows? https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8%20Win32%20-%20nosnap%20-%20shared/31002 https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8%20Win64/27826 Original change's description: > Reland "[cpu-profiler] Fix stack iterability for fast C calls with no exit frame" > > This is a reland of d5f4a33e > > Original change's description: > > [cpu-profiler] Fix stack iterability for fast C calls with no exit frame > > > > Before fast C calls, store the current FP and PC on the isolate. When > > iterating frames in SafeStackFrameIterator, check if these fields are > > set and start iterating at the calling frame's FP instead of the current > > FP, which will be in C++ code. We need to do this because c_entry_fp is > > not set on the Isolate for Fast-C-Calls because we don't build an exit > > frame. > > > > This change makes stack samples that occur within 'Fast-C-Calls' > > iterable, meaning we can properly attribute ticks within the JS caller. > > > > Fast-C-Calls can't call back into JS code, so we can only ever have one > > such call on the stack at a time, allowing us to store the FP on the > > isolate rather than the stack. > > > > TBR=v8-mips-ports@googlegroups.com > > > > Bug: v8:8464, v8:7202 > > Change-Id: I7bf39eba779dad34754d5759d741c421b362a406 > > Reviewed-on: https://chromium-review.googlesource.com/c/1340241 > > Commit-Queue: Peter Marshall <petermarshall@chromium.org> > > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > > Reviewed-by: Martyn Capewell <martyn.capewell@arm.com> > > Reviewed-by: Alexei Filippov <alph@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#57896} > > TBR=v8-mips-ports@googlegroups.com > TBR=jgruber@chromium.org > > Bug: v8:8464, v8:7202 > Change-Id: I5f37ded4ea572e8e9890ba186aa3d74a0dfc1274 > Reviewed-on: https://chromium-review.googlesource.com/c/1354042 > Reviewed-by: Peter Marshall <petermarshall@chromium.org> > Commit-Queue: Peter Marshall <petermarshall@chromium.org> > Cr-Commit-Position: refs/heads/master@{#57912} TBR=alph@chromium.org,jgruber@chromium.org,petermarshall@chromium.org,martyn.capewell@arm.com,v8-arm-ports@googlegroups.com,v8-mips-ports@googlegroups.com,ibogosavljevic@wavecomp.com Change-Id: If810648dbf60df2ff70455b6e8ef466136c90145 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:8464, v8:7202 Reviewed-on: https://chromium-review.googlesource.com/c/1354461Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#57925}
-