- 05 Dec, 2019 1 commit
-
-
Joshua Litt authored
Bug: v8:9970 Change-Id: I0e542fc63211e78800eab82257ccab9583305433 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1946534Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Joshua Litt <joshualitt@chromium.org> Cr-Commit-Position: refs/heads/master@{#65351}
-
- 29 Nov, 2019 3 commits
-
-
Sigurd Schneider authored
This is a reland of 4ed9d48f CompileRun leads to undefined behavior if the compile fails; CompileRunChecked can be used to assert that the compile must succeed. I've removed the attempt to compile and rely on a simpler check in the tests now. Original change's description: > [exceptions] Don't re-request interrupt in InvokeWithTryCatch > > This CL changes InvokeWithTryCatch to not re-request the terminate > execution interrupt, but instead schedule the termination exception. > This ensures that leaving the outermost TryCatch scope will clear > the exception, and no interrupt remains. > > Previously, the interrupt request could remain and prevent further > JavaScript execution even after the TryCatch scope was left. > > Change-Id: I1e603dc822bbcb0def4cf0a898d59cf8d4b9d039 > Bug: chromium:1014415 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1871910 > Commit-Queue: Sigurd Schneider <sigurds@chromium.org> > Reviewed-by: Yang Guo <yangguo@chromium.org> > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > Cr-Commit-Position: refs/heads/master@{#65255} Tbr: yangguo@chromium.org, verwaest@chromium.org Bug: chromium:1014415 Change-Id: I29444c4b7ea5a158865f54d4608f374914f7b133 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1943151Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#65258}
-
Leszek Swirski authored
This reverts commit 4ed9d48f. Reason for revert: UBSan failure https://ci.chromium.org/p/v8/builders/ci/V8%20Linux64%20UBSan/9084 Original change's description: > [exceptions] Don't re-request interrupt in InvokeWithTryCatch > > This CL changes InvokeWithTryCatch to not re-request the terminate > execution interrupt, but instead schedule the termination exception. > This ensures that leaving the outermost TryCatch scope will clear > the exception, and no interrupt remains. > > Previously, the interrupt request could remain and prevent further > JavaScript execution even after the TryCatch scope was left. > > Change-Id: I1e603dc822bbcb0def4cf0a898d59cf8d4b9d039 > Bug: chromium:1014415 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1871910 > Commit-Queue: Sigurd Schneider <sigurds@chromium.org> > Reviewed-by: Yang Guo <yangguo@chromium.org> > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > Cr-Commit-Position: refs/heads/master@{#65255} TBR=yangguo@chromium.org,sigurds@chromium.org,verwaest@chromium.org Change-Id: Iedefe5320d8bdc442a87e03698a20daf6a0ebf4f No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:1014415 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1943149Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#65256}
-
Sigurd Schneider authored
This CL changes InvokeWithTryCatch to not re-request the terminate execution interrupt, but instead schedule the termination exception. This ensures that leaving the outermost TryCatch scope will clear the exception, and no interrupt remains. Previously, the interrupt request could remain and prevent further JavaScript execution even after the TryCatch scope was left. Change-Id: I1e603dc822bbcb0def4cf0a898d59cf8d4b9d039 Bug: chromium:1014415 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1871910 Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#65255}
-
- 12 Jul, 2019 1 commit
-
-
Peter Marshall authored
Everyone was getting a copy of this through debug.h. Bug: v8:9396 Change-Id: I5189cb4bf27a3381768b0be479d7b3d60dec20bb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1695472 Commit-Queue: Peter Marshall <petermarshall@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#62670}
-
- 28 Jun, 2019 1 commit
-
-
Yang Guo authored
TBR=luoe@chromium.org Bug: chromium:976713 Change-Id: Ib92c6054a017a94ad23721de240b8a20d87c9f85 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1680544Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#62437}
-
- 27 Jun, 2019 1 commit
-
-
Jakob Kummerow authored
powered by a new function Execution::CallWasm and a corresponding, Turbofan-generated CWasmEntry stub. This entirely sidesteps the traditional Execution::Invoke -> JSEntryStub path. Change-Id: If2b97825cca4ce927eecbddc248c64782d903287 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1660618 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#62424}
-
- 13 Jun, 2019 2 commits
-
-
Jakob Gruber authored
Refactor-only, this moves interrupt scopes and stack guard code into their own dedicated files. Change-Id: I5723a04786a04bba31a0da54622f3cd0b926ef07 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1655288 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#62141}
-
Jakob Gruber authored
StackGuard::HandleInterrupts used to take a lock for testing and clearing each individual interrupt bit. This CL changes that to a single read up front. Slight behavioral changes: 1. A TERMINATE_EXECUTION interrupt is now handled first; we immediately exit and preserve all other interrupts (in case V8 is later resumed). 2. Since interrupts are read once, it is no longer possible to request an interrupt *within* HandleInterrupts that will later be processed within the same HandleInterrupts call. 3. Stack limits are reset immediately after reading the interrupt bits, and prior to actually processing the interrupts. Bug: v8:9328 Change-Id: I3048bb413213d11307df49e0014b64a2b43444e0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1653115 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#62132}
-
- 06 Jun, 2019 1 commit
-
-
Yang Guo authored
Bug: chromium:965916 Change-Id: I2cb28a8c569c88631bc835b55a04e8629f56cb6f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1630684Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#62034}
-
- 27 May, 2019 1 commit
-
-
Clemens Hammacher authored
The category for wasm trace events is "disabled-by-default-v8.wasm", generated by {TRACE_DISABLED_BY_DEFAULT("v8.wasm")}. This CL fixes two events that used the category without the "disabled-by-default-" prefix, and adds two more trace events to make code GC more visible in the trace. R=mstarzinger@chromium.org Bug: v8:8217 Change-Id: Ib20d9caec9e55013acbeb604f91a63e8a557f30c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1627982 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#61840}
-
- 23 May, 2019 1 commit
-
-
Clemens Hammacher authored
This CL was generated by an automatic clang AST rewriter using this matcher expression: callExpr( callee( cxxMethodDecl( hasName("operator->"), ofClass(isSameOrDerivedFrom("v8::internal::Object")) ) ), argumentCountIs(1) ) The "->" at the expression location was then rewritten to ".". R=jkummerow@chromium.org TBR=mstarzinger@chromium.org,verwaest@chromium.org,yangguo@chromium.org Bug: v8:9183, v8:3770 No-Try: true No-Tree-Checks: true Change-Id: I0a7ecabdeafe51d0cf427f5280af0c7cab96869e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1624209Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#61764}
-
- 22 May, 2019 1 commit
-
-
Yang Guo authored
Bug: v8:9247 Change-Id: I79e0553e8a0d6dac2aa16b94a6c0e05b6ccde4a1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1621934 Commit-Queue: Yang Guo <yangguo@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#61725}
-
- 21 May, 2019 1 commit
-
-
Michael Starzinger authored
R=yangguo@chromium.org Change-Id: Ic688665dc137bb0a1c0875f76b1c2b6360a10e2b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1615243 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#61702}
-
- 17 May, 2019 1 commit
-
-
Yang Guo authored
TBR=rmcilroy@chromium.org,mstarzinger@chromium.org,verwaest@chromium.org Bug: v8:9247 Change-Id: I7ffc2bd4a5fdf7c20cc3283bb5545cbf9ffd4e53 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1617254Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#61609}
-
- 16 May, 2019 3 commits
-
-
Maya Lekova authored
This reverts commit 9ac8b200. Reason for revert: Breaks CFI bot https://ci.chromium.org/p/v8/builders/ci/V8%20Linux64%20-%20cfi/20442 Original change's description: > Move API-related files > > NOPRESUBMIT=true > TBR=verwaest@chromium.org > > Bug: v8:9247 > Change-Id: I45bfe0782ba92aa7ed27a9e308d0aab9ba1bac7f > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1613988 > Reviewed-by: Yang Guo <yangguo@chromium.org> > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> > Commit-Queue: Yang Guo <yangguo@chromium.org> > Cr-Commit-Position: refs/heads/master@{#61579} TBR=rmcilroy@chromium.org,yangguo@chromium.org,mstarzinger@chromium.org,verwaest@chromium.org Change-Id: I28ee9174a1cbc1dae9711977bf9369253ef43058 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:9247 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1615463Reviewed-by: Maya Lekova <mslekova@chromium.org> Commit-Queue: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#61583}
-
Yang Guo authored
NOPRESUBMIT=true TBR=verwaest@chromium.org Bug: v8:9247 Change-Id: I45bfe0782ba92aa7ed27a9e308d0aab9ba1bac7f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1613988Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#61579}
-
Yang Guo authored
R=jkummerow@chromium.org, neis@chromium.org, rmcilroy@chromium.org, ulan@chromium.org Bug: v8:9247 Change-Id: If55cdec37c031df5ae101fdf93082f32ca5beade Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1613992Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#61573}
-
- 07 May, 2019 1 commit
-
-
Clemens Hammacher authored
Beside scheduling a foreground task per isolate, do also request a stack guard interrupt to report live code objects. This ensures that also workers which never return from wasm code will report their live wasm code objects. R=mstarzinger@chromium.org Bug: v8:8217 Change-Id: I07ba9e5125263365596331197813494d8ad5ee89 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1596739Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#61277}
-
- 17 Apr, 2019 2 commits
-
-
Clemens Hammacher authored
This is a reland of 067ba2a0. Unchanged reland, hence TBR. Original change's description: > [wasm] Add stack guard for logging code > > Benchmarks or worker threads might never return to the event queue, > hence they will never execute the scheduled foreground task to log > compiled and published wasm code. > This CL adds a stack guard to log the code, to ensure that we also log > it for wasm code that never returns to the event queue. > > R=mstarzinger@chromium.org > > Bug: v8:9104 > Change-Id: I176959cadb4ab3a60153d0717530c032272ad3e8 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1561073 > Commit-Queue: Clemens Hammacher <clemensh@chromium.org> > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Cr-Commit-Position: refs/heads/master@{#60879} TBR=mstarzinger@chromium.org Bug: v8:9104 Change-Id: I105b37ef8429d16ef5b983919ba8bca615e347c0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1570017Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#60899}
-
Michael Hablich authored
This reverts commit 067ba2a0. Reason for revert: blocks roll: https://chromium-review.googlesource.com/c/chromium/src/+/1570208 21:26:22.251 27507 # Fatal error in ../../v8/src/profiler/profile-generator.cc, line 19 21:26:22.251 27507 # Debug check failed: line > 0 (0 vs. 0). 21:26:22.251 27507 # 21:26:22.251 27507 # 21:26:22.251 27507 # 21:26:22.252 27507 #FailureMessage Object: 0x7ffe851046a0#0 0x56532cb371f9 base::debug::CollectStackTrace() 21:26:22.252 27507 #1 0x56532ca70863 base::debug::StackTrace::StackTrace() 21:26:22.252 27507 #2 0x56532e99610b gin::(anonymous namespace)::PrintStackTrace() 21:26:22.252 27507 #3 0x56532e989468 V8_Fatal() 21:26:22.252 27507 #4 0x56532e9891c5 v8::base::(anonymous namespace)::DefaultDcheckHandler() 21:26:22.252 27507 #5 0x56532b2bb876 v8::internal::SourcePositionTable::SetPosition() 21:26:22.252 27507 #6 0x56532b2c2268 v8::internal::ProfilerListener::CodeCreateEvent() 21:26:22.252 27507 #7 0x56532ae25275 v8::internal::(anonymous namespace)::LogFunctionCompilation() 21:26:22.252 27507 #8 0x56532ae26008 v8::internal::OptimizedCompilationJob::RecordFunctionCompilation() 21:26:22.252 27507 #9 0x56532ae32a08 v8::internal::Compiler::FinalizeOptimizedCompilationJob() 21:26:22.252 27507 #10 0x56532ae228eb v8::internal::OptimizingCompileDispatcher::InstallOptimizedFunctions() 21:26:22.252 27507 #11 0x56532af14e4a v8::internal::StackGuard::HandleInterrupts() 21:26:22.252 27507 #12 0x56532b35f2ec v8::internal::__RT_impl_Runtime_StackGuard() 21:26:22.252 27507 #13 0x56532bba6720 <unknown> Original change's description: > [wasm] Add stack guard for logging code > > Benchmarks or worker threads might never return to the event queue, > hence they will never execute the scheduled foreground task to log > compiled and published wasm code. > This CL adds a stack guard to log the code, to ensure that we also log > it for wasm code that never returns to the event queue. > > R=mstarzinger@chromium.org > > Bug: v8:9104 > Change-Id: I176959cadb4ab3a60153d0717530c032272ad3e8 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1561073 > Commit-Queue: Clemens Hammacher <clemensh@chromium.org> > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Cr-Commit-Position: refs/heads/master@{#60879} TBR=mstarzinger@chromium.org,clemensh@chromium.org Change-Id: I63dc56a41747caf683b14869a2d62017fd0301c1 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:9104 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1570012Reviewed-by: Michael Hablich <hablich@chromium.org> Commit-Queue: Michael Hablich <hablich@chromium.org> Cr-Commit-Position: refs/heads/master@{#60890}
-
- 16 Apr, 2019 1 commit
-
-
Clemens Hammacher authored
Benchmarks or worker threads might never return to the event queue, hence they will never execute the scheduled foreground task to log compiled and published wasm code. This CL adds a stack guard to log the code, to ensure that we also log it for wasm code that never returns to the event queue. R=mstarzinger@chromium.org Bug: v8:9104 Change-Id: I176959cadb4ab3a60153d0717530c032272ad3e8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1561073 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#60879}
-
- 25 Mar, 2019 1 commit
-
-
Benedikt Meurer authored
Add tracing support for the %StackGuard() and %Interrupt() runtime calls and the individual actions performed in StackGuard::HandleInterrupts(). This includes: - "V8.GCHandleGCRequest" (in "disabled-by-default-v8.gc") when the GC_REQUEST bit is set. - "V8.WasmGrowSharedMemory" (in "disabled-by-default-v8.wasm") when the GROW_SHARED_MEMORY bit is set. - "V8.TerminateExecution" (in "v8.execute") when the TERMINATE_EXECUTION bit is set. - "V8.GCDeoptMarkedAllocationSites" (in "disabled-by-default-v8.gc") when the DEOPT_MARKED_ALLOCATION_SITES bit is set. - "V8.InstallOptimizedFunctions" (in "disabled-by-default-v8.compile") when the INSTALL_CODE bit is set. - "V8.InvokeApiInterruptCallbacks" (in "v8.execute") when the API_INTERRUPT bit is set. Now we also emit a trace event "V8.MarkCandidatesForOptimization" (in "disabled-by-default-v8.compile") in addition to the above from the RuntimeProfiler when we mark candidates for optimization at the end of each stack check. An example of the "V8.InstallOptimizedFunctions" in action (in the trace viewer) can be seen here: https://i.paste.pics/094a04af035eedc0690cd4079afa28f1.png This supersedes the previously introduced --trace-interrupts CLI flag, which is thus removed as part of this change. Bug: v8:8598 Change-Id: I3c3375d00b07cbe700b6912097d7264031ace802 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1538116 Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Peter Marshall <petermarshall@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#60428}
-
- 06 Mar, 2019 3 commits
-
-
Deepti Gandluri authored
This is a reland of 80f06d6f Original change's description: > [wasm] Lazy update instances on a shared Memory.Grow > > - Introduce a GROW_SHARED_MEMORY interrupt, and handler > - Memory objects for isolates are updated on a stack check, add > tracking for isolates that hit the stack check > - When enough memory is not reserved ahead of time, fail to grow > - Add tracking for externalized buffers in the MemoryTracker so > that the MemoryTracker will know when backing_stores can be freed. > - For shared buffer, do not always allocate a new buffer when > growing an externalized buffer > > > Change-Id: I9cf1be19f2f165fa6ea4096869f7d6365304c8c4 > Bug: v8:8564 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1472430 > Commit-Queue: Deepti Gandluri <gdeepti@chromium.org> > Reviewed-by: Ben Smith <binji@chromium.org> > Reviewed-by: Andreas Haas <ahaas@chromium.org> > Cr-Commit-Position: refs/heads/master@{#60064} Bug: v8:8564 Change-Id: Id0cf8e42a9d54ac702dba351e248a1b92713c98a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1506357Reviewed-by: Bill Budge <bbudge@chromium.org> Commit-Queue: Deepti Gandluri <gdeepti@chromium.org> Cr-Commit-Position: refs/heads/master@{#60071}
-
Bill Budge authored
This reverts commit 80f06d6f. Reason for revert: failing grow-memory tests Original change's description: > [wasm] Lazy update instances on a shared Memory.Grow > > - Introduce a GROW_SHARED_MEMORY interrupt, and handler > - Memory objects for isolates are updated on a stack check, add > tracking for isolates that hit the stack check > - When enough memory is not reserved ahead of time, fail to grow > - Add tracking for externalized buffers in the MemoryTracker so > that the MemoryTracker will know when backing_stores can be freed. > - For shared buffer, do not always allocate a new buffer when > growing an externalized buffer > > > Change-Id: I9cf1be19f2f165fa6ea4096869f7d6365304c8c4 > Bug: v8:8564 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1472430 > Commit-Queue: Deepti Gandluri <gdeepti@chromium.org> > Reviewed-by: Ben Smith <binji@chromium.org> > Reviewed-by: Andreas Haas <ahaas@chromium.org> > Cr-Commit-Position: refs/heads/master@{#60064} TBR=binji@chromium.org,titzer@chromium.org,gdeepti@chromium.org,ahaas@chromium.org Change-Id: I2ed0b59bcbb285b701172b401d606963261d375c No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:8564 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1506355Reviewed-by: Bill Budge <bbudge@chromium.org> Commit-Queue: Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#60068}
-
Deepti Gandluri authored
- Introduce a GROW_SHARED_MEMORY interrupt, and handler - Memory objects for isolates are updated on a stack check, add tracking for isolates that hit the stack check - When enough memory is not reserved ahead of time, fail to grow - Add tracking for externalized buffers in the MemoryTracker so that the MemoryTracker will know when backing_stores can be freed. - For shared buffer, do not always allocate a new buffer when growing an externalized buffer Change-Id: I9cf1be19f2f165fa6ea4096869f7d6365304c8c4 Bug: v8:8564 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1472430 Commit-Queue: Deepti Gandluri <gdeepti@chromium.org> Reviewed-by: Ben Smith <binji@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#60064}
-
- 04 Mar, 2019 1 commit
-
-
Deepti Gandluri authored
Change-Id: I092fff31b9cffef673f6929a510b3e643ab0ee29 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1496274Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Deepti Gandluri <gdeepti@chromium.org> Cr-Commit-Position: refs/heads/master@{#60019}
-
- 04 Feb, 2019 1 commit
-
-
Clemens Hammacher authored
The most common use of {SaveContext} is to allocate this object, then immediately set the context of the isolate to another Context. Thus introduce a second class called "SaveAndSwitchContext" which implements exactly that. R=mstarzinger@chromium.org Bug: v8:8562 Change-Id: I2fca1eadd909a7afe035316ded934624273f2e21 Reviewed-on: https://chromium-review.googlesource.com/c/1448319Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#59323}
-
- 18 Jan, 2019 1 commit
-
-
Ross McIlroy authored
BUG=v8:8395,v8:8510 Change-Id: I1571877d709d6cc37966ace9014fa327e0820a80 Reviewed-on: https://chromium-review.googlesource.com/c/1417634 Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#58919}
-
- 17 Jan, 2019 2 commits
-
-
tzik authored
MicrotaskQueueTest uses Isolate's default_microtask_queue for testing, however the instance is shared between test cases, and causes flaky failure of MicrotaskQueueTest.BufferGrowth. This CL adds a MicrotaskQueue instance for each test fixture, so that each test cases use separate ones. Also, this CL removes the DCHECK that denies non-default MicrotaskQueue to run, which is unneeded after https://crrev.com/c/1369906. Bug: v8:8124 Change-Id: I4ff236c327bf0be14f582b3ca8c802fd72661b42 Reviewed-on: https://chromium-review.googlesource.com/c/1417315Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Taiju Tsuiki <tzik@chromium.org> Cr-Commit-Position: refs/heads/master@{#58901}
-
tzik authored
The previous implementation of MicrotaskQueue::RunMicrotasks() didn't support non-default MicrotaskQueue as RunMicrotasks builtin couldn't take a parameter. This CL updates the entry trampoline for RunMicrotasks builtin to pass a MicrotaskQueue parameter to support non-default one. Bug: v8:8124 Change-Id: I817238cd9a1fd6c20dcd58022274736c5e86229a Reviewed-on: https://chromium-review.googlesource.com/c/1369906Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Taiju Tsuiki <tzik@chromium.org> Cr-Commit-Position: refs/heads/master@{#58872}
-
- 10 Jan, 2019 1 commit
-
-
tzik authored
This moves |root_register_value| parameter of JSEntryFunction to the first. I.e. the type of entry function will be changed from Object*(Object* new_target, Object* target, Object* receiver, int argc, Object*** args, Address root_register_value) to Object*(Address root_register_value, Object* new_target, Object* target, Object* receiver, int argc, Object*** args), and moves all parameter handling except for |root_register_value| from JSEntryVariant to JSEntryTrampolineHelper. This is a preparation to add another JS entry point for RunMicrotasks, whose type will be Object*(Address root_register_value, MicrotaskQueue*). The new entry point requires |root_register_value| to be the first to share the implementation of the EntryFrame setup with existing ones. Bug: v8:8124 Change-Id: I675376a2ccd240f61cf04eea6fe9a91031e06ede Reviewed-on: https://chromium-review.googlesource.com/c/1372857 Commit-Queue: Taiju Tsuiki <tzik@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#58683}
-
- 08 Jan, 2019 2 commits
-
-
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}
-
tzik authored
|argc| parameter of JSEntry is passed as int from C++ code, and loaded into a register on the asm code. As int is 32 bit, and registers are 64 bit on 64 bit platforms, upper 32 bits of the loaded value may be contaminated by a random value if it's passed as a stack parameter. For now, |argc| is passed as a register parameter on all platforms, and the upper 32 bits of |argc| is filled by zero, fortunately. However, if we shuffle the order of parameters, |argc| can be passed as a stack parameter and its value may be broken. Specifically on x64 Windows, the first 4 parameters are passed as register parameters and the rest are stack parameters. As |argc| is the 4th parameter, if we prepend another parameter and shift |argc| to the 5th parameter, |argc| will become a stack parameter and its load to 64 bit register breaks the value. This CL converts the type of the |argc| parameter to intptr_t, so that it's safe to load from stack to full width registers. Bug: v8:8124 Change-Id: Ie7407cf5e6252ed7323a9c42389db387b0064673 Reviewed-on: https://chromium-review.googlesource.com/c/1400326Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Taiju Tsuiki <tzik@chromium.org> Cr-Commit-Position: refs/heads/master@{#58614}
-
- 26 Dec, 2018 1 commit
-
-
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}
-
- 20 Dec, 2018 1 commit
-
-
Jakob Kummerow authored
The simulated C++ signature for generated code entry points should rely on primitive values (as opposed to ObjectPtr). Bug: v8:3770 Change-Id: I6f6f4dc8a93c7ba46bfc7052dc4745b16e9fd62f Reviewed-on: https://chromium-review.googlesource.com/c/1386875Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#58409}
-
- 18 Dec, 2018 2 commits
-
-
Jakob Gruber authored
This skips one level of indirection by calling the off-heap entry point directly instead of going through the on-heap Code trampoline. Bug: v8:7777 Change-Id: If667ea6cd6138ab1c12aa861ef441109008e4fba Reviewed-on: https://chromium-review.googlesource.com/c/1382459Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#58324}
-
tzik authored
This adds a MicrotaskQueue parameter to Execution::RunMicrotasks, and propagate it to Invoke(). Also, reorganizes the existing and newly added parameters into a struct. Change-Id: Ib98009b97681fdb554c0a8d469be962aea4138bd Reviewed-on: https://chromium-review.googlesource.com/c/1373210 Commit-Queue: Taiju Tsuiki <tzik@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#58299}
-
- 10 Dec, 2018 1 commit
-
-
Peter Marshall authored
Right now, this is the limit implicitly imposed for spread/apply calls as to actually do a spread/apply call through CallVarargs, you need to pass a FixedArray with the args to be pushed. Likewise, turbofan can only materialize an arguments object with a backing store of length FixedArray::kMaxLength. The practical limit that users will actually hit is the stack - this change doesn't change that, it just documents what the actual limit is. This would actually allow an embedder/custom fork to increase stack size and still be able to make spread/apply calls with a large number of args. Change-Id: If5e66a61ed3f9df36031eb098646d48fc2ca2507 Reviewed-on: https://chromium-review.googlesource.com/c/1367451Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Peter Marshall <petermarshall@chromium.org> Cr-Commit-Position: refs/heads/master@{#58119}
-
- 07 Dec, 2018 1 commit
-
-
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}
-