- 11 Aug, 2021 1 commit
-
-
Samuel Groß authored
When this is enabled, v8 reserves a large region of virtual address space during initialization, at the start of which it will place its 4GB pointer compression cage. The remainder of the cage is used to store ArrayBuffer backing stores and WASM memory buffers. This will later allow referencing these buffers from inside V8 through offsets from the cage base rather than through raw pointers. Bug: chromium:1218005 Change-Id: I300094b07f64985217104b14c320cc019f8438af Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3010195Reviewed-by:
Clemens Backes <clemensb@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Samuel Groß <saelo@google.com> Cr-Commit-Position: refs/heads/master@{#76234}
-
- 03 Aug, 2021 1 commit
-
-
Bruce Dawson authored
Windows.h causes massive namespace pollution with its defining of many macros, it adds to build times, it disables warnings, and it makes it easier to write non-portable code. This change removes windows.h from V8's win32-headers.h. It does this by replicating the small number of typedefs that are needed and by defining three "proxy" types that are the same size and layout. The V8ToWindowsType functions are used to reinterpret_cast between the types. Prior to this change there were over 760 v8-related source files that include windows.h. After this change there are 16. Bug: chromium:796644 Change-Id: I89efeed47028faae72de2da4f1dae345d8d7746c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3042215 Commit-Queue: Bruce Dawson <brucedawson@chromium.org> Reviewed-by:
Hannes Payer <hpayer@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#76064}
-
- 30 Apr, 2021 1 commit
-
-
Clemens Backes authored
cpplint rules change over time, and we change the exact rules we enable for v8. This CL removes NOLINT annotations which are not needed according to the currently enabled rules. R=mlippautz@chromium.org Bug: v8:11717 Change-Id: I05951486c8bbcd06bd4f329793cc483a1ade6833 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2859851 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#74293}
-
- 16 Mar, 2021 1 commit
-
-
Ross McIlroy authored
Release-official builds strip error messages from CHECK messages. This can make it difficult to distinguish a CHECK crash location in crash reports. As such, instead of using V8_FatalNoContext, import the IMMEDIATE_CRASH macro from chromium and use that instead, which should cause a crash directly in the instruction stream so that the top stackframe on the crash report directly identifies the CHECK location that failed. More details here: https://docs.google.com/document/d/1tyMwzxUNH8BctM_urSQIYdcbwmzP4kTnwEjnFamBpKY Change-Id: I5b8175f19571834f790060d641db08d0b9c2c17b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2756223Reviewed-by:
Mythri Alle <mythria@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#73430}
-
- 16 Nov, 2020 1 commit
-
-
Clemens Backes authored
Just as OS::Abort, OS::ExitProcess never returns. This is a minor cleanup which is not expected to reduce binary size considerably, since we do not call this function often. It is just nice to annotate it correctly. On windows, the {TerminateProcess} call is known to not return if called on the current process. Add an {UNREACHABLE} to enforce this. R=mlippautz@chromium.org Bug: v8:11074 Change-Id: I5c079fc459685c65f932404ce536ea28ad188073 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2536634Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#71210}
-
- 30 Oct, 2020 1 commit
-
-
Michael Lippautz authored
- Provide GetRealStackAddressForSlot that deals with ASAN fake stacks properly, also accounting for the fact that ASAN gets its real stack address in a nested call. - Fix cppgc on-stack getter. - Reuse platform routines in global handles. Bug: chromium:1139914, chromium:1056170 Change-Id: If11a40d543b33edcea220bb70f170ac018e15053 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2509594 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#70899}
-
- 07 Oct, 2020 1 commit
-
-
Jakob Kummerow authored
This is a "minimal" change to achieve the required goal: seeing that there is only one place where we need to indicate that memory should be reserved with MAP_JIT, we can add a value to the Permissions enum instead of adding a second, orthogonal parameter. That way we avoid changing public API functions, which makes this CL easier to undo once we have platform-independent w^x in Wasm. Bug: chromium:1117591 Change-Id: I6333d69ab29d5900c689f08dcc892a5f1c1159b8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2435365 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#70379}
-
- 09 Sep, 2020 3 commits
-
-
Camillo Bruni authored
For testing log file parsing from JavaScript we need to be able to read open log files directly. This makes the default log file mode consistent with the temporary one. Bug: v8:1064 Change-Id: Ic77ba6864efe633e54792fc683edc2fe07af4cd5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2400993Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#69783}
-
Sathya Gunasekaran authored
This reverts commit 23531d82. Reason for revert: https://ci.chromium.org/p/v8/builders/ci/V8%20Linux64%20GC%20Stress%20-%20custom%20snapshot/33007? Original change's description: > Reland "[test][d8] Add d8.log.getAndStop helper" > > This is a reland of 95aa697b > > Original change's description: > > [test][d8] Add d8.log.getAndStop helper > > > > The new helper function allows us to write tests for log parsing > > without the need to first generating a log file. This makes it easier > > to spot errors when the log format changes. > > > > - Add d8 global variable > > - Add file_name accessor to Logger and Log classes > > - Change OS::LogFileOpenMode to w+ / wb+ > > - Use separate Log::WriteLogHeader method > > - Remove unused logger_ instance variable from Log > > > > Bug: v8:10644 > > Change-Id: Ifc7e35aa4e91b3f01f0847843263946e085944c3 > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2387563 > > Commit-Queue: Camillo Bruni <cbruni@chromium.org> > > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > > Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#69715} > > Bug: v8:10644 > > TBR=verwaest@chromium.org > > Change-Id: I54741344834d88a376b74e2e3a2047e880a94624 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2396081 > Commit-Queue: Camillo Bruni <cbruni@chromium.org> > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> > Cr-Commit-Position: refs/heads/master@{#69769} TBR=mlippautz@chromium.org,cbruni@chromium.org,gsathya@chromium.org,verwaest@chromium.org Change-Id: I493315e0d6498f0fa9bed3409725bb52d554b53a No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:10644 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2400982Reviewed-by:
Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#69770}
-
Camillo Bruni authored
This is a reland of 95aa697b Original change's description: > [test][d8] Add d8.log.getAndStop helper > > The new helper function allows us to write tests for log parsing > without the need to first generating a log file. This makes it easier > to spot errors when the log format changes. > > - Add d8 global variable > - Add file_name accessor to Logger and Log classes > - Change OS::LogFileOpenMode to w+ / wb+ > - Use separate Log::WriteLogHeader method > - Remove unused logger_ instance variable from Log > > Bug: v8:10644 > Change-Id: Ifc7e35aa4e91b3f01f0847843263946e085944c3 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2387563 > Commit-Queue: Camillo Bruni <cbruni@chromium.org> > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> > Cr-Commit-Position: refs/heads/master@{#69715} Bug: v8:10644 TBR=verwaest@chromium.org Change-Id: I54741344834d88a376b74e2e3a2047e880a94624 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2396081 Commit-Queue: Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#69769}
-
- 07 Sep, 2020 2 commits
-
-
Camillo Bruni authored
This reverts commit 95aa697b. Reason for revert: breaks under tsan Original change's description: > [test][d8] Add d8.log.getAndStop helper > > The new helper function allows us to write tests for log parsing > without the need to first generating a log file. This makes it easier > to spot errors when the log format changes. > > - Add d8 global variable > - Add file_name accessor to Logger and Log classes > - Change OS::LogFileOpenMode to w+ / wb+ > - Use separate Log::WriteLogHeader method > - Remove unused logger_ instance variable from Log > > Bug: v8:10644 > Change-Id: Ifc7e35aa4e91b3f01f0847843263946e085944c3 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2387563 > Commit-Queue: Camillo Bruni <cbruni@chromium.org> > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> > Cr-Commit-Position: refs/heads/master@{#69715} TBR=mlippautz@chromium.org,cbruni@chromium.org,gsathya@chromium.org,verwaest@chromium.org Change-Id: Iad47d2f1e3391cae3c2f8c9e6c904c43925e1671 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:10644 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2396080Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#69717}
-
Camillo Bruni authored
The new helper function allows us to write tests for log parsing without the need to first generating a log file. This makes it easier to spot errors when the log format changes. - Add d8 global variable - Add file_name accessor to Logger and Log classes - Change OS::LogFileOpenMode to w+ / wb+ - Use separate Log::WriteLogHeader method - Remove unused logger_ instance variable from Log Bug: v8:10644 Change-Id: Ifc7e35aa4e91b3f01f0847843263946e085944c3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2387563 Commit-Queue: Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#69715}
-
- 31 Aug, 2020 1 commit
-
-
Brendan Shanks authored
When running 64-bit Windows binaries on macOS using Wine, there is a conflict between macOS's use of GS to point to pthread thread-specific data, and Windows' use of GS to point to the TEB. Apple has reserved some TSD slots for use by Wine to store commonly-used TEB members (such as 0x30, the 'Self' pointer to the TEB). But, other direct GS accesses by Windows programs (such as to 'StackBase') will return macOS pthread data rather than the TEB member. This was causing a V8 unit test to crash on macOS under Wine. Using NtCurrentTeb() gets the 'Self' pointer first, then dereferences it to access the correct 'StackBase', fixing the crash. This turns GetStackStart() from one instruction into two. Chrome (http://crrev.com/c/2380425) and Crashpad also use NtCurrentTeb(). The 32-bit change isn't needed, but is just for consistency. Bug: chromium:1121842 Change-Id: I824f893aa451d8570142226be91840c964426f38 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2381941Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#69627}
-
- 27 Mar, 2020 2 commits
-
-
Michael Lippautz authored
Tbr: ulan@chromium.org Bug: chromium:1056170 Change-Id: I118b8f1911a6d61b15d3dee25aa00ab9dea4689f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2124321Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#66894}
-
Michael Lippautz authored
Adds: - GetStackStart - GetCurrentStackPosition - GetStackSlot which translates a stack slot through ASAN if needed Bug: v8:10354, chromium:1056170 Change-Id: I28e76f41de28415382f7cc32729e86d71e9f8f19 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2122033 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#66890}
-
- 04 Sep, 2019 1 commit
-
-
Clemens Hammacher authored
The "address" pointer we pass to {Allocate} and {AllocatePages} functions is actually just a hint. The actual address of the reservation is returned by the function. This CL renames the {address} argument of those functions to {hint} to make this semantic more clear. R=mlippautz@chromium.org Bug: v8:9396 Change-Id: I9ff3785ea4e6f9b7d77f26f224445f3f92e11f22 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1784280Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#63549}
-
- 30 Jul, 2019 1 commit
-
-
Ben L. Titzer authored
This is a reland of a0728e86 Original change's description: > [d8] Remove maximum workers limitation > > This CL refactors the lifetime management of the v8::Worker C++ object > and in the process lifts the 100 maximum worker limitation. To do this, > it uses a Managed<v8::Worker> heap object and attaches the managed to > the API worker object. > > R=mstarzinger@chromium.org > BUG=v8:9524 > > Change-Id: I279b7aeb6645a87f9108ee6f572105739721cef4 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1715453 > Commit-Queue: Ben Titzer <titzer@chromium.org> > Reviewed-by: Clemens Hammacher <clemensh@chromium.org> > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Cr-Commit-Position: refs/heads/master@{#62932} Bug: v8:9524 Change-Id: I7d903fb12ddb00909a9429455f46c55db2fd02de Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1722562Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#62974}
-
- 06 May, 2019 1 commit
-
-
Ben L. Titzer authored
R=jarin@chromium.org Change-Id: I47b506599ae338e8323ef0def63db3b2004ac798 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1594562Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#61242}
-
- 30 Apr, 2019 1 commit
-
-
Michael Starzinger authored
Change-Id: Ifbf1b49d7caad9b050945b07065ee5ecb9d9f9e4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1588470Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#61119}
-
- 01 Apr, 2019 1 commit
-
-
Clemens Hammacher authored
Even though both are allowed in the style guide, it recommends to use 'using', as its syntax is more consistent with the rest of C++. This CL turns all typedefs in base code to 'using' declarations. R=mlippautz@chromium.org Bug: v8:8834 Change-Id: Ic5c3d7fa2e50938c6f43e9ff304dc2289fed1133 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1547650Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#60546}
-
- 19 Mar, 2019 1 commit
-
-
Michael Lippautz authored
This way d8 can use a read-only mapping for its input file. Otherwise, it would require write access for reading the sources. Bug: v8:8997 Change-Id: I8e117f0a3d9c125ffd1dc1682d5af04b3f6287c2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1530804 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#60331}
-
- 14 Feb, 2019 1 commit
-
-
Hannu Trey authored
Add an enum argument to DateTimeConfigurationChangeNotification to control whether or not to redetect the host time zone. The default value kSkip doesn't cause redetecting so that callers do not need to change if they want the current behavior (e.g. Chromium). Note that the host time zone detection does not work when v8 is run inside a sandbox as in Chromium so that Chromium detects the host time zone outside the sandbox before calling DateTimeConfigurationChangeNotification. OTOH, other v8 embedders may find it more convenient for v8 to do the host time zone detection on their behalf. In that case, they can call the function with the new argument set to value kRedetect. Test: With PHP+V8Js on linux, execute: php -r ' putenv("TZ=Europe/Helsinki"); $v8 = new V8Js(); $v8->executeString("print((new Date(0)).toString()+\"\\n\");"); putenv("TZ=America/New_York"); $v8->executeString("print((new Date(0)).toString()+\"\\n\");");' Result before modification: Thu Jan 01 1970 02:00:00 GMT+0200 (Eastern European Standard Time) Thu Jan 01 1970 02:00:00 GMT+0200 (Eastern European Standard Time) Result after modification: Thu Jan 01 1970 02:00:00 GMT+0200 (Eastern European Standard Time) Thu Jan 01 1970 02:00:00 GMT+0200 (Eastern European Standard Time) Result after V8JS is modified to use value kRedetect when calling Thu Jan 01 1970 02:00:00 GMT+0200 (Eastern European Standard Time) Wed Dec 31 1969 19:00:00 GMT-0500 (Eastern Standard Time) DateTimeConfigurationChangeNotification: Change-Id: I005192dd42669a94f606a49baa9eafad3475b9fd Reviewed-on: https://chromium-review.googlesource.com/c/1449637Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Jungshik Shin <jshin@chromium.org> Commit-Queue: Jungshik Shin <jshin@chromium.org> Cr-Commit-Position: refs/heads/master@{#59613}
-
- 13 Feb, 2019 1 commit
-
-
Nico Weber authored
For macros expanding to function definitions, I removed the spurious ; after macro invocations. For macros expandign to function declarations, I made the ; required and consistently inserted it. No behavior change. Bug: chromium:926235 Change-Id: Ib8085d85d913d74307e3481f7fee4b7dc78c7549 Reviewed-on: https://chromium-review.googlesource.com/c/1467545Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Commit-Queue: Nico Weber <thakis@chromium.org> Cr-Commit-Position: refs/heads/master@{#59558}
-
- 28 Jan, 2019 1 commit
-
-
Irina Yatsenko authored
If running under debugger: 1. Output from _v8_internal_Print_Object into debugger's command window 2. Break into debugger before aborting Change-Id: I49e4d83c817e6588c4679c9fb9766602927542db Reviewed-on: https://chromium-review.googlesource.com/c/1435771 Commit-Queue: Irina Yatsenko <irinayat@microsoft.com> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#59137}
-
- 21 Jan, 2019 1 commit
-
-
Clemens Hammacher authored
This current fails, since {mmap} fails with EINVAL for empty mappings. The destructor already has special handling for a {nullptr} mapping, so we can just use {nullptr} for empty files. We get a similar error on windows, and can fix it the same way. On order to make presubmit checks happy, we have to skip copyright checking and checking for terminating newlines for empty files. R=mlippautz@chromium.org Change-Id: I2b73da7ff6df72d8bdd40df1fff6422e0a46881e Reviewed-on: https://chromium-review.googlesource.com/c/1424861Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#58970}
-
- 07 Jan, 2019 1 commit
-
-
Clemens Hammacher authored
Use the new macro to define lazily initialized leaky singletons. Avoid the clumsy LazyInstance, which we can hopefully remove soon. R=mlippautz@chromium.org Bug: v8:8600 Change-Id: Ib4d23f275c7ff5ca71fa9b47345284935330ead7 Reviewed-on: https://chromium-review.googlesource.com/c/1397711Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#58594}
-
- 22 Oct, 2018 1 commit
-
-
Hannes Payer authored
Bug: chromium:897074 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: I728572cda9a8914ee689eeee68a060b5713e4c6b Reviewed-on: https://chromium-review.googlesource.com/c/1290972Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Hannes Payer <hpayer@chromium.org> Cr-Commit-Position: refs/heads/master@{#56845}
-
- 12 Oct, 2018 1 commit
-
-
Clemens Hammacher authored
LockGuard is mostly used with Mutex. Since both are defined outside the internal namespace, we often have to write {base::LockGuard<base::Mutex>}. This CL shortens this to {base::MutexGuard} across the code base R=mlippautz@chromium.org Bug: v8:8238 Cq-Include-Trybots: luci.chromium.try:linux_chromium_headless_rel;master.tryserver.blink:linux_trusty_blink_rel Change-Id: I020d5933b73aafb98c4b72e3bb2dfd07c979ba73 Reviewed-on: https://chromium-review.googlesource.com/c/1278796Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#56612}
-
- 19 Sep, 2018 1 commit
-
-
Clemens Hammacher authored
Those two methods are spread over the code base, and their purpose is often not clear. Historically, they were used to turn pointers into integers in order to do computations on them. Today we have {Address} which is uintptr_t, so we can compute directly on that. This also makes the {RoundUp} and {RoundDown} macros only work on integral values (including {Address}). R=mlippautz@chromium.org Bug: v8:8015 Change-Id: Ia98fb826793ee5d3a2a5b18c09c329d088443772 Reviewed-on: https://chromium-review.googlesource.com/1233914Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#56048}
-
- 23 Aug, 2018 1 commit
-
-
Bruce Dawson authored
PAGE_TARGETS_INVALID tells CFG (Control Flow Guard) to mark all addresses as invalid indirect branch targets. This makes exploits more difficult. The benefit is minor because most of the code in the Chrome process doesn't use the CFG checks, but this will close off a few weaknesses and is the direction we will want to go in eventually anyway (with specific targets or call sites opted-in to allowing calls, using SetProcessValidCallTargets). PAGE_TARGETS_INVALID may ultimately cause CFG to not allocate memory - that is implied by Windows Internals 7th Edition - and if that is implemented then this change will save some modest amount of memory. PAGE_TARGETS_INVALID was introduced in Windows 10 - according to Windows Internals Part 1 7th Edition - prior to that it will cause VirtualAlloc to fail. Bug: chromium:870054 Change-Id: Ib1784fba37cc0ecb5fe5df595f1519531b3b3a20 Reviewed-on: https://chromium-review.googlesource.com/1186025 Commit-Queue: Bruce Dawson <brucedawson@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Hannes Payer <hpayer@chromium.org> Cr-Commit-Position: refs/heads/master@{#55365}
-
- 17 Apr, 2018 1 commit
-
-
Dan Elphick authored
Add a new permission kRead to PageAllocator::Permission and OS::MemoryPermission and implement it in platform-*. Not used yet, because it needs corresponding changes in chromium. Bug: v8:7464 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: I9f84251eff593536cbcc1cde04641d696c79d65c Reviewed-on: https://chromium-review.googlesource.com/1006756Reviewed-by:
Hannes Payer <hpayer@chromium.org> Commit-Queue: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#52636}
-
- 04 Apr, 2018 1 commit
-
-
Jungshik Shin authored
This is a reland of dbdede01 after a webkit layout test (geolocation-api/timestamp.html) was fixed by https://chromium-review.googlesource.com/c/chromium/src/+/994343 . Original change's description: > Implement a new spec for timezone offset calculation > > https://github.com/tc39/ecma262/pull/778 was recently merged > to Ecma 262. > > It changes the way to convert between "local time" and UTC in such > a way that it'd work for all timezones whether or not there has > been any change in the timezone offset of the standard time. For > instance, Europe/Moscow and some parts of US state of Indiana have > changed the standard (non-DST) timezone offset a few times. The > previous spec assumes that the the standard timezone offset is > constant, but the new spec take into account the offset change > history. > > In addition, it specifies a new way to calculate the timezone > offset during a timezone transition (either in and > out of DST or timezone offset shift). > > During a negative transition (e.g. fall backward / getting > out of DST), repeated times are to be interpreted as if the > offset before the transition is in effect. > > During a positive transition (e.g. spring forward / getting > into DST), skipped times are to be treated similarly. That > is, they are to be interpreted as if the offset before the > transition is in effect. > > With icu-timezone-data, v8 is compliant to the new spec for the > past and the future as well as now whether or not the standard > timezone offset of a given timezone has changed over time > (e.g. Europe/Moscow, Pacific/Apia). With icu-timezone-data, > Australia/Lord_Howe (30 minute DST change) also works per spec. > > Without icu-timezone-data, it works only for timezones of which > the standard timezone offset is the same as the current offset > (e.g. most North American timezones other than parts of Indiana) > and of which the DST shift is an hour. For instance, it doesn't work > for Europe/Moscow in 2010 when the standard timezone offset was > +4h because the current (2018) standard timezone offset is +3h. Neither > does it for Lord Howe in Australia with the DST shift of 0.5 hr. > > This CL used to require one of the two ICU CLs below, but not > any more. > > https://chromium-review.googlesource.com/c/chromium/deps/icu/+/572652 > https://chromium-review.googlesource.com/851265 (a proposed CL to the > upstream ICU). > > Bug: v8:3547,chromium:417640,v8:5714 > Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng > Change-Id: Ib162295da5bee31b2390bd0918157014aebd3e33 > Reviewed-on: https://chromium-review.googlesource.com/572148 > Commit-Queue: Jungshik Shin <jshin@chromium.org> > Reviewed-by: Daniel Ehrenberg <littledan@chromium.org> > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > Cr-Commit-Position: refs/heads/master@{#52332} Bug: v8:3547, chromium:417640, v8:5714 Change-Id: I47536c111143f75e3cfeecf5d9761c43a98a10f5 Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng;master.tryserver.blink:linux_trusty_blink_rel Reviewed-on: https://chromium-review.googlesource.com/995971 Commit-Queue: Jungshik Shin <jshin@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#52372}
-
- 03 Apr, 2018 2 commits
-
-
Clemens Hammacher authored
This reverts commit dbdede01. Reason for revert: Fails webkit_tests, blocks roll: https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064 Original change's description: > Implement a new spec for timezone offset calculation > > https://github.com/tc39/ecma262/pull/778 was recently merged > to Ecma 262. > > It changes the way to convert between "local time" and UTC in such > a way that it'd work for all timezones whether or not there has > been any change in the timezone offset of the standard time. For > instance, Europe/Moscow and some parts of US state of Indiana have > changed the standard (non-DST) timezone offset a few times. The > previous spec assumes that the the standard timezone offset is > constant, but the new spec take into account the offset change > history. > > In addition, it specifies a new way to calculate the timezone > offset during a timezone transition (either in and > out of DST or timezone offset shift). > > During a negative transition (e.g. fall backward / getting > out of DST), repeated times are to be interpreted as if the > offset before the transition is in effect. > > During a positive transition (e.g. spring forward / getting > into DST), skipped times are to be treated similarly. That > is, they are to be interpreted as if the offset before the > transition is in effect. > > With icu-timezone-data, v8 is compliant to the new spec for the > past and the future as well as now whether or not the standard > timezone offset of a given timezone has changed over time > (e.g. Europe/Moscow, Pacific/Apia). With icu-timezone-data, > Australia/Lord_Howe (30 minute DST change) also works per spec. > > Without icu-timezone-data, it works only for timezones of which > the standard timezone offset is the same as the current offset > (e.g. most North American timezones other than parts of Indiana) > and of which the DST shift is an hour. For instance, it doesn't work > for Europe/Moscow in 2010 when the standard timezone offset was > +4h because the current (2018) standard timezone offset is +3h. Neither > does it for Lord Howe in Australia with the DST shift of 0.5 hr. > > This CL used to require one of the two ICU CLs below, but not > any more. > > https://chromium-review.googlesource.com/c/chromium/deps/icu/+/572652 > https://chromium-review.googlesource.com/851265 (a proposed CL to the > upstream ICU). > > Bug: v8:3547,chromium:417640,v8:5714 > Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng > Change-Id: Ib162295da5bee31b2390bd0918157014aebd3e33 > Reviewed-on: https://chromium-review.googlesource.com/572148 > Commit-Queue: Jungshik Shin <jshin@chromium.org> > Reviewed-by: Daniel Ehrenberg <littledan@chromium.org> > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > Cr-Commit-Position: refs/heads/master@{#52332} TBR=adamk@chromium.org,littledan@chromium.org,mlippautz@chromium.org,jshin@chromium.org Change-Id: I6b3bf4427c761b106280d565a3912cd8e25cf87e No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:3547, chromium:417640, v8:5714 Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng Reviewed-on: https://chromium-review.googlesource.com/994192Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#52338}
-
Jungshik Shin authored
https://github.com/tc39/ecma262/pull/778 was recently merged to Ecma 262. It changes the way to convert between "local time" and UTC in such a way that it'd work for all timezones whether or not there has been any change in the timezone offset of the standard time. For instance, Europe/Moscow and some parts of US state of Indiana have changed the standard (non-DST) timezone offset a few times. The previous spec assumes that the the standard timezone offset is constant, but the new spec take into account the offset change history. In addition, it specifies a new way to calculate the timezone offset during a timezone transition (either in and out of DST or timezone offset shift). During a negative transition (e.g. fall backward / getting out of DST), repeated times are to be interpreted as if the offset before the transition is in effect. During a positive transition (e.g. spring forward / getting into DST), skipped times are to be treated similarly. That is, they are to be interpreted as if the offset before the transition is in effect. With icu-timezone-data, v8 is compliant to the new spec for the past and the future as well as now whether or not the standard timezone offset of a given timezone has changed over time (e.g. Europe/Moscow, Pacific/Apia). With icu-timezone-data, Australia/Lord_Howe (30 minute DST change) also works per spec. Without icu-timezone-data, it works only for timezones of which the standard timezone offset is the same as the current offset (e.g. most North American timezones other than parts of Indiana) and of which the DST shift is an hour. For instance, it doesn't work for Europe/Moscow in 2010 when the standard timezone offset was +4h because the current (2018) standard timezone offset is +3h. Neither does it for Lord Howe in Australia with the DST shift of 0.5 hr. This CL used to require one of the two ICU CLs below, but not any more. https://chromium-review.googlesource.com/c/chromium/deps/icu/+/572652 https://chromium-review.googlesource.com/851265 (a proposed CL to the upstream ICU). Bug: v8:3547,chromium:417640,v8:5714 Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng Change-Id: Ib162295da5bee31b2390bd0918157014aebd3e33 Reviewed-on: https://chromium-review.googlesource.com/572148 Commit-Queue: Jungshik Shin <jshin@chromium.org> Reviewed-by:
Daniel Ehrenberg <littledan@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#52332}
-
- 30 Mar, 2018 1 commit
-
-
Reid Kleckner authored
crtdbg.h provides the declarations for _CrtSetReportMode and the _CRT_* constants. It should have moved in https://chromium-review.googlesource.com/968244, but the MSVC C++ headers appear to include crtdbg.h transitively, so we only noticed this on the libc++ Windows buildbot. Tbr: mlippautz@chromium.org Bug: chromium:801780 Change-Id: Ia07f6136e4b8d1f25014e00b0b9f662029ab5a2b Reviewed-on: https://chromium-review.googlesource.com/981399 Commit-Queue: Adam Klein <adamk@chromium.org> Reviewed-by:
Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#52309}
-
- 23 Mar, 2018 1 commit
-
-
Mike Stanton authored
This is something we already do for d8, and in general, any process we run as part of the build. Bug: chromium:819237 Change-Id: I8b90505a5c447c0a0311e45c4056cd2b84da4284 Reviewed-on: https://chromium-review.googlesource.com/968244 Commit-Queue: Michael Stanton <mvstanton@chromium.org> Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#52180}
-
- 22 Mar, 2018 1 commit
-
-
Ulan Degenbaev authored
This patch also moves Shell::Exit to base::OS::ExitProcess. Bug: chromium:824214 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: I6565eebe9332557bbfb8e67c88890b7099b1db98 Reviewed-on: https://chromium-review.googlesource.com/975403Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#52150}
-
- 19 Mar, 2018 1 commit
-
-
Clemens Hammacher authored
Instead of returning nullptr, just always call FatalProcessOutOfMemory when we cannot allocate more memory. In a follow-up CL, this should be extended to first try to run a GC and see if this freed enough memory. This CL is intentionally minimal in order to make it backmergable. The unittest for WasmCodeManager needs to be refactored into a parameterized test, such that each individual (parameterized) test can die with OOM without affecting other tests. R=mstarzinger@chromium.org Bug: chromium:822266 Change-Id: I1336aa05ed50124b77ffaa4435ec9bed70e15c18 Reviewed-on: https://chromium-review.googlesource.com/966501Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#52025}
-
- 20 Feb, 2018 1 commit
-
-
Bill Budge authored
- Changes assert to reflect that we might exceed the number of attempts to allocate a padded memory region while attempting to get an aligned allocation and return null instead. Bug: chromium:813587 Change-Id: I0e225f50b7a64a2f2a72de15322525574445efbd Reviewed-on: https://chromium-review.googlesource.com/926968Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#51401}
-
- 02 Feb, 2018 1 commit
-
-
Bill Budge authored
- Adds a DCHECK to FreePages that size is a multiple of allocation granularity. - Makes VirtualMemory::Free conform to this. This is to conform more closely to Chromium's page allocator API. Bug:chromium:756050 Change-Id: I673e1c225b8bd1009775de1597b575120bd06f8e Reviewed-on: https://chromium-review.googlesource.com/898008Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#51064}
-