- 06 Aug, 2018 2 commits
-
-
Georg Neis authored
- Trigger serialization for more objects, such as some root maps. - Serialize more data for certain object kinds. - Add macros for convenience. - Mark a few functions as const. R=jarin@chromium.org Bug: v8:7790 Change-Id: Id39b97e93728c0b3d87d9546bdf68abd04496c05 Reviewed-on: https://chromium-review.googlesource.com/1158572Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#54923}
-
Marja Hölttä authored
This reverts commit a5efd507. Reason for revert: was a GC bug, unrelated to this CL. Original change's description: > Revert (partially) "Reland [in-place weak refs] Use WeakArrayList in Heap::noscript_list." > > Reason: flaky wasm crashes. > > This leaves WeakArrayList::RemoveOne (+ tests for it) in place. > > BUG=v8:7308, v8:8014 > > Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng > Change-Id: I1195d061ae7d3c82f921f94f50df3f09a55de5ca > Reviewed-on: https://chromium-review.googlesource.com/1161904 > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > Commit-Queue: Marja Hölttä <marja@chromium.org> > Cr-Commit-Position: refs/heads/master@{#54891} TBR=marja@chromium.org,mlippautz@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: v8:7308, v8:8014 Change-Id: Id8002e2178ac89378b047dd0acd1bf4e3c272918 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Reviewed-on: https://chromium-review.googlesource.com/1162124Reviewed-by:
Marja Hölttä <marja@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#54921}
-
- 03 Aug, 2018 1 commit
-
-
Marja Hölttä authored
Reason: flaky wasm crashes. This leaves WeakArrayList::RemoveOne (+ tests for it) in place. BUG=v8:7308, v8:8014 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: I1195d061ae7d3c82f921f94f50df3f09a55de5ca Reviewed-on: https://chromium-review.googlesource.com/1161904Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#54891}
-
- 26 Jul, 2018 1 commit
-
-
Marja Hölttä authored
BUG=v8:7308 TBR=mlippautz@chromium.org Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: Ic310ebcf0af2f3985cee9872f6e57a05652c4484 Reviewed-on: https://chromium-review.googlesource.com/1151197Reviewed-by:
Marja Hölttä <marja@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#54722}
-
- 25 Jul, 2018 5 commits
-
-
Ross McIlroy authored
This reverts commit 6755b956. Reason for revert: Causing test failures on gc-stress bot: https://logs.chromium.org/logs/v8/buildbucket/cr-buildbucket.appspot.com/8940015537308234128/+/steps/Mjsunit_-_slow_path/0/logs/array-multiple-receiv../0 Original change's description: > [in-place weak refs] Use WeakArrayList in Heap::noscript_list. > > BUG=v8:7308 > > Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng > Change-Id: Ia53233a3a0ba13b8019f2fda4bc4876ebf4feb76 > Reviewed-on: https://chromium-review.googlesource.com/1149367 > Commit-Queue: Marja Hölttä <marja@chromium.org> > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > Cr-Commit-Position: refs/heads/master@{#54700} TBR=marja@chromium.org,mlippautz@chromium.org Change-Id: I5e9b916a910b812c3cb50be18416c9e9e8ac7b24 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:7308 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Reviewed-on: https://chromium-review.googlesource.com/1150125Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#54701}
-
Marja Hölttä authored
BUG=v8:7308 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: Ia53233a3a0ba13b8019f2fda4bc4876ebf4feb76 Reviewed-on: https://chromium-review.googlesource.com/1149367 Commit-Queue: Marja Hölttä <marja@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#54700}
-
Marja Hölttä authored
This significantly reduces the build time when modifying wasm files: before touching all wasm headers required 684 steps to rebuild, now it's 216. BUG=v8:7754,v8:7490 TBR=clemensh@chromium.org, ulan@chromium.org, tebbi@chromium.org, verwaest@chromium.org, jgruber@chromium.org Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng Change-Id: I9003b5b73ac568a29688c5f97ec718c9de8aaaef Reviewed-on: https://chromium-review.googlesource.com/1150163 Commit-Queue: Marja Hölttä <marja@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#54699}
-
Leszek Swirski authored
This reverts commit 9d18a7fd. Reason for revert: Breaks build https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8%20Linux%20-%20noi18n%20-%20debug/21856 Original change's description: > [iwyu] Remove sfi-inl.h -> wasm include > > This significantly reduces the build time when modifying wasm > files: before touching all wasm headers required 684 steps to > rebuild, now it's 216. > > BUG=v8:7754,v8:7490 > > Change-Id: Id7ff6f9063168556daad4840ee614cf68144cdb2 > Reviewed-on: https://chromium-review.googlesource.com/1145264 > Commit-Queue: Marja Hölttä <marja@chromium.org> > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Reviewed-by: Tobias Tebbi <tebbi@chromium.org> > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> > Reviewed-by: Clemens Hammacher <clemensh@chromium.org> > Cr-Commit-Position: refs/heads/master@{#54681} TBR=ulan@chromium.org,marja@chromium.org,titzer@chromium.org,jgruber@chromium.org,clemensh@chromium.org,tebbi@chromium.org,bmeurer@chromium.org,verwaest@chromium.org Change-Id: I3b4087916f65b16db75974dba58914c8ea377a08 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:7754, v8:7490 Reviewed-on: https://chromium-review.googlesource.com/1149920Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#54683}
-
Marja Hölttä authored
This significantly reduces the build time when modifying wasm files: before touching all wasm headers required 684 steps to rebuild, now it's 216. BUG=v8:7754,v8:7490 Change-Id: Id7ff6f9063168556daad4840ee614cf68144cdb2 Reviewed-on: https://chromium-review.googlesource.com/1145264 Commit-Queue: Marja Hölttä <marja@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#54681}
-
- 20 Jul, 2018 2 commits
-
-
Sigurd Schneider authored
This reverts commit 29379945. Reason for revert: Needed for other revert: https://chromium-review.googlesource.com/c/v8/v8/+/1145431 Original change's description: > [cleanup] Rename {kLastErrorMessage} to {kNumberOfReasons} > > The name {kLastErrorMessage} is misleading, as it's not actually the > index of the last message (or reason), but one more (i.e. number of > messages / reasons). Thus this renaming. > > R=mstarzinger@chromium.org > > Bug: v8:7754 > Change-Id: Id21edcecac84c0e6068423c6124ef2881116dc7c > Reviewed-on: https://chromium-review.googlesource.com/1145305 > Commit-Queue: Clemens Hammacher <clemensh@chromium.org> > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Cr-Commit-Position: refs/heads/master@{#54593} TBR=mstarzinger@chromium.org,clemensh@chromium.org Change-Id: I2af83f4a2299e05ad9bcacfe69c0b483fd1488de No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:7754 Reviewed-on: https://chromium-review.googlesource.com/1145520Reviewed-by:
Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#54596}
-
Clemens Hammacher authored
The name {kLastErrorMessage} is misleading, as it's not actually the index of the last message (or reason), but one more (i.e. number of messages / reasons). Thus this renaming. R=mstarzinger@chromium.org Bug: v8:7754 Change-Id: Id21edcecac84c0e6068423c6124ef2881116dc7c Reviewed-on: https://chromium-review.googlesource.com/1145305 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#54593}
-
- 19 Jul, 2018 1 commit
-
-
Leszek Swirski authored
Remove the function identifier field from SharedFunctionInfo. This field would store one of a) the function's inferred name, b) the "builtin function id", or c) debug info. We remove these in turn: a) The function's inferred name is available on the ScopeInfo, so like the start/end position we read it off either the ScopeInfo (for compiled functions) or the UncompiledData (for uncompiled functions). As a side-effect, now both UncompiledData and its subclass, UncompiledDataWithPreparsedScope, contain a pointer field. To keep BodyDescriptors manageable, we introduce a SubclassBodyDescriptor which effectively appends two BodyDescriptors together. b) The builtin function id is < 255, so we can steal a byte from expected no. of properies (also <255) and store these together. Eventually we want to get rid of this field and use the builtin ID, but this is pending JS builtin removal. As a side-effect, BuiltinFunctionId becomes an enum class (for better storage size guarantees). c) The debug info can hang off anything (since it stores the field it replaces), so we can attach it to the script field instead. This saves a word on compiled function (uncompiled functions unfortunately still have to store it in UncompiledData). Bug: chromium:818642 Change-Id: I8b4b3a070f0fe328aafcaeac58842d144d12d996 Reviewed-on: https://chromium-review.googlesource.com/1138328Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#54543}
-
- 18 Jul, 2018 1 commit
-
-
Leszek Swirski authored
The BodyDescriptor of an object should use its aligned size. Change-Id: If743ca130b3cb97c4f25054db6dc887d88fc5e32 Reviewed-on: https://chromium-review.googlesource.com/1140309Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#54510}
-
- 16 Jul, 2018 3 commits
-
-
Leszek Swirski authored
SharedFunctionInfos store their original function literal's id. This is also their index in the Script's SFI list. The function literal id is only needed for lazy compilation and live edit, and access only has to be fast in the former. So, we can move the SFI function literal id field to UncompiledData, and if patching with live edit, or discarding compiled code, we can perform a slower linear search through the Script's SFI list. This is a reland of 1) https://chromium-review.googlesource.com/1082480 and 2) https://chromium-review.googlesource.com/1128854 the differences being: 1) caching the literal id on UncompiledData rather than always linearly searching the SFI list, and removing the unused runtime-liveedit.cc file instead of fixing it to support this change. 2) clearing padding on UncompiledData now that it has 3 int32 fields, making its end unaligned on x64. TBR=yangguo@chromium.org,marja@chromium.org,ulan@chromium.org,cbruni@chromium.org Bug: chromium:818642 Change-Id: I58dcb12a2a60a680f662568da428e01189c62638 Reviewed-on: https://chromium-review.googlesource.com/1138325Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#54473}
-
Sigurd Schneider authored
This reverts commit 1d4a1172. Reason for revert: https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8%20Linux%20-%20arm64%20-%20sim%20-%20MSAN/21989 Original change's description: > [sfi] Remove SFI function literal id field > > SharedFunctionInfos store their original function literal's id. This is > also their index in the Script's SFI list. > > The function literal id is only needed for lazy compilation and live edit, > and access only has to be fast in the former. So, we can move the SFI > function literal id field to UncompiledData, and if patching with live > edit, or discarding compiled code, we can perform a slower linear search > through the Script's SFI list. > > This is a reland of > https://chromium-review.googlesource.com/c/v8/v8/+/1082480 > but caching the literal id on UncompiledData rather than always linearly > searching the SFI list. Also, removes the unused runtime-liveedit.cc file > instead of fixing it to support this change. > > Bug: chromium:818642 > Change-Id: I977bcca0dc72903ca476a7079d156cc8bbe88fde > Reviewed-on: https://chromium-review.googlesource.com/1128854 > Reviewed-by: Yang Guo <yangguo@chromium.org> > Reviewed-by: Marja Hölttä <marja@chromium.org> > Reviewed-by: Camillo Bruni <cbruni@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Commit-Queue: Leszek Swirski <leszeks@chromium.org> > Cr-Commit-Position: refs/heads/master@{#54464} TBR=ulan@chromium.org,marja@chromium.org,yangguo@chromium.org,kozyatinskiy@chromium.org,cbruni@chromium.org,leszeks@chromium.org,verwaest@chromium.org Change-Id: Icee5ee3ab7688b93e2963f91debed65a58164534 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:818642 Reviewed-on: https://chromium-review.googlesource.com/1138276Reviewed-by:
Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#54466}
-
Leszek Swirski authored
SharedFunctionInfos store their original function literal's id. This is also their index in the Script's SFI list. The function literal id is only needed for lazy compilation and live edit, and access only has to be fast in the former. So, we can move the SFI function literal id field to UncompiledData, and if patching with live edit, or discarding compiled code, we can perform a slower linear search through the Script's SFI list. This is a reland of https://chromium-review.googlesource.com/c/v8/v8/+/1082480 but caching the literal id on UncompiledData rather than always linearly searching the SFI list. Also, removes the unused runtime-liveedit.cc file instead of fixing it to support this change. Bug: chromium:818642 Change-Id: I977bcca0dc72903ca476a7079d156cc8bbe88fde Reviewed-on: https://chromium-review.googlesource.com/1128854Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Marja Hölttä <marja@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#54464}
-
- 13 Jul, 2018 1 commit
-
-
Dan Elphick authored
All auto-generated with some fix-ups including marking the following classes as NeverReadOnlySpaceObject so their GetIsolate/GetHeap methods are safe to use: Code, CodeDataContainer, AbstractCode, DeoptimizationData, CompilationCacheTable, NormalizedMapCache, Script, SharedFunctionInfo TBR=yangguo@chromium.org Bug: v8:7786 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: I6cb5dcca88a0bc99b5afe80f553e06a661b5da3c Reviewed-on: https://chromium-review.googlesource.com/1135306 Commit-Queue: Dan Elphick <delphick@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#54439}
-
- 11 Jul, 2018 1 commit
-
-
Leszek Swirski authored
Make PreParsedScopeData a new array-like instance type, which holds its child data inline, rather than indirecting to a FixedArray. Should save one map word per PreParsedScopeData. Reland of https://chromium-review.googlesource.com/1127055, adding padding clearing to keep MSAN happy. TBR=jarin@chromium.org,marja@chromium.org,ulan@chromium.org Bug: chromium:818642 Change-Id: I536db452047959e75d5116ddded4f511d05a04d9 Reviewed-on: https://chromium-review.googlesource.com/1131512Reviewed-by:
Marja Hölttä <marja@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#54374}
-
- 10 Jul, 2018 2 commits
-
-
Leszek Swirski authored
This reverts commit a9fed96c. Reason for revert: Serializer test msan failures Original change's description: > [parser] Make PreParsedScopeData array-like > > Make PreParsedScopeData a new array-like instance type, which holds its > child data inline, rather than indirecting to a FixedArray. Should save > one map word per PreParsedScopeData. > > TBR=jarin@chromium.org > > Bug: chromium:818642 > Change-Id: I72dc21160ed9781ad12b18559468f6cce56886fa > Reviewed-on: https://chromium-review.googlesource.com/1127055 > Reviewed-by: Leszek Swirski <leszeks@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Reviewed-by: Marja Hölttä <marja@chromium.org> > Commit-Queue: Leszek Swirski <leszeks@chromium.org> > Cr-Commit-Position: refs/heads/master@{#54349} TBR=ulan@chromium.org,marja@chromium.org,jarin@chromium.org,leszeks@chromium.org,verwaest@chromium.org Change-Id: If2f39379bb0bdfca7d36ec1a3ec738519481aa4e No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:818642 Reviewed-on: https://chromium-review.googlesource.com/1131234Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#54354}
-
Leszek Swirski authored
Make PreParsedScopeData a new array-like instance type, which holds its child data inline, rather than indirecting to a FixedArray. Should save one map word per PreParsedScopeData. TBR=jarin@chromium.org Bug: chromium:818642 Change-Id: I72dc21160ed9781ad12b18559468f6cce56886fa Reviewed-on: https://chromium-review.googlesource.com/1127055Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Marja Hölttä <marja@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#54349}
-
- 09 Jul, 2018 1 commit
-
-
Leszek Swirski authored
Add new types for function data for SharedFunctionInfo, for uncompiled functions. UncompiledData holds start/end positions, allowing us to remove these fields from SFI. Uncompiled functions with pre-parsed scope data now hold an UncompiledDataWithScope that has a pointer to PreParsedScopeData -- this allows us to also remove the start/end pos from PreParsedScopeData. Bug: chromium:818642 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: I56f3c4e62cbf38929babac734a332709f12a8202 Reviewed-on: https://chromium-review.googlesource.com/1126381 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#54319}
-
- 04 Jul, 2018 1 commit
-
-
Ross McIlroy authored
Changes SharedFunctionInfo to store a function_token_offset, relative to the start_position, instead of the full function_token_position. This enables us to reduce both FunctionTokenPosition and ExpectedNofProperties to 16 bits each, saving 32 bits per SFI. BUG=chromium:818642,chromium:783853 TBR=yangguo@chromium.org Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: I45aefcec605c1da502053c23c73564ceaed6c9b5 Reviewed-on: https://chromium-review.googlesource.com/1122982 Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#54220}
-
- 28 Jun, 2018 1 commit
-
-
Ross McIlroy authored
Merges DebugInfo field into the function_identifier field, storing the function identifier in the DebugInfo. Also moves some debugging_hints bits to the SFI flags, and others to the DebugInfo. Finally, changes the logic to store debugger patched bytecode array on the SFI instead of the DebugInfo, simplifying the logic in the InterpreterEntryTrampoline. BUG=chromium:818642,chromium:783853 TBR=hpayer@chromium.org Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: If440080c0f08fac4fb96f5e18dcc0eb9b86d4821 Reviewed-on: https://chromium-review.googlesource.com/1115819 Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#54081}
-
- 26 Jun, 2018 1 commit
-
-
Leszek Swirski authored
Change the ScriptIterator to: a) construct its script list handle using the given isolate, and b) take the Script (which it doesn't store) by pointer instead of by Handle, to avoid callers needing to allocate a handle. Bug: v8:7786 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: I72c1ee13f1b72fe962f4b1bccba69ae4e97088a7 Reviewed-on: https://chromium-review.googlesource.com/1113316Reviewed-by:
Dan Elphick <delphick@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#54018}
-
- 20 Jun, 2018 1 commit
-
-
Leszek Swirski authored
Bug: v8:7786 Change-Id: I369eb0bf32d89603b6b944c2bb8fe402a16e429b Reviewed-on: https://chromium-review.googlesource.com/1104423 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Dan Elphick <delphick@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#53880}
-
- 07 Jun, 2018 1 commit
-
-
Leszek Swirski authored
This reverts commit ceb9c812. Reason for revert: Tanks compile time Original change's description: > [sfi] Remove SFI function literal id field > > SharedFunctionInfos store their original function literal's id. This is > also their index in the Script's SFI list. > > Since the function literal id is only needed for lazy compilation and live > edit, we can calculate it on-the-fly by linear search in the Script SFI list, > and save a field on the SFI. > > If this regresses compile performance, we could alternatively store the > function literal id on the preparsed scope data as future work. > > Bug: chromium:818642 > Change-Id: I5468cea0e115921f1c864d94e567d749a4349882 > Reviewed-on: https://chromium-review.googlesource.com/1082480 > Commit-Queue: Leszek Swirski <leszeks@chromium.org> > Reviewed-by: Hannes Payer <hpayer@chromium.org> > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > Cr-Commit-Position: refs/heads/master@{#53523} TBR=hpayer@chromium.org,leszeks@chromium.org,verwaest@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: chromium:818642 Bug: chromium:850417 Change-Id: If2fd21331b7062532c04004a51e705f7e9d0a151 Reviewed-on: https://chromium-review.googlesource.com/1090494Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#53573}
-
- 05 Jun, 2018 1 commit
-
-
Leszek Swirski authored
SharedFunctionInfos store their original function literal's id. This is also their index in the Script's SFI list. Since the function literal id is only needed for lazy compilation and live edit, we can calculate it on-the-fly by linear search in the Script SFI list, and save a field on the SFI. If this regresses compile performance, we could alternatively store the function literal id on the preparsed scope data as future work. Bug: chromium:818642 Change-Id: I5468cea0e115921f1c864d94e567d749a4349882 Reviewed-on: https://chromium-review.googlesource.com/1082480 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Hannes Payer <hpayer@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#53523}
-
- 30 May, 2018 1 commit
-
-
Leszek Swirski authored
Compress the parameter count (and function length) stored in SharedFunctionInfo to a uint16_t. This limits us to 2^16 - 1 parameters per function, minus one for the "don't adapt arguments" sentinel value, which is one fewer than Code::kMaxArguments was already. Anyway, 65534 arguments should be enough for anyone! This drops SFI size by 4 bytes. Bug: chromium:818642 Change-Id: I126bfb24453dcdc5087a104d3a12cf195a56fa9f Reviewed-on: https://chromium-review.googlesource.com/1076627 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#53447}
-
- 16 May, 2018 1 commit
-
-
Marja Hölttä authored
BUG=v8:7490 Change-Id: I53888e391a0ad25407e59431b2fffbd7cacf5273 Reviewed-on: https://chromium-review.googlesource.com/1060060 Commit-Queue: Marja Hölttä <marja@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#53205}
-
- 07 May, 2018 1 commit
-
-
Michael Starzinger authored
This moves the internal fields on {WasmExportedFunction} objects from being properties with private symbols to a separate structure instead. The new {WasmExportedFunctionData} structure can hang off the underlying shared function info which is created for each exported function. This reduces the number of transitions, speeds up instantiation, and makes it easier to reach them from generated code (in the future). R=titzer@chromium.org BUG=v8:7424 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: Iaa733b6c9f7bea96246d6680756aa7101669a1a9 Reviewed-on: https://chromium-review.googlesource.com/1047025 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#53040}
-
- 11 Apr, 2018 1 commit
-
-
Alexey Kozyatinskiy authored
This CL allows SetPrototypeAdd and ArrayIteratorPrototypeNext to be called on temporary objects during side effect free evaluation. Bug: v8:7588 Change-Id: Id77848e48d98c243de91bc6c0fae5a0877e693d4 Reviewed-on: https://chromium-review.googlesource.com/998439 Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#52548}
-
- 10 Apr, 2018 1 commit
-
-
Matheus Marchini authored
Before Turbofan/Ignition it was possible to use external profilers to sample running V8/Node.js processes and generate reports/FlameGraphs from that. It's still possible to do so, but non-optimized JavaScript functions appear in the stack as InterpreterEntryTrampoline. This commit adds a runtime flag which makes interpreted frames visible on the process' native stack as distinguishable functions, making the sampled data gathered by external profilers such as Linux perf and DTrace more useful. R=bmeurer@google.com, franzih@google.com, jarin@google.com, yangguo@google.com Bug: v8:7155 Change-Id: I3dc8876aa3cd9f1b9766624842a7cc354ccca415 Reviewed-on: https://chromium-review.googlesource.com/959081 Commit-Queue: Yang Guo <yangguo@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#52533}
-
- 06 Apr, 2018 1 commit
-
-
Leszek Swirski authored
Merge the outer_scope_info and feedback_metadata fields on SharedFunctionInfo. outer_scope_info is only used during parsing, and feedback_metadata is only available after compilation, so the two never exist at the same time. Thus, they can share a field slot. The exception is un-compiling and re-compiling a function, where we need the outer_scope_info again. Fortunately, the outer_scope_info can be re-calculated from the SFI's scope_info. Bug: v8:7606 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: I6b97fefe859e89df75ad870da4a0bfa4b869772a Reviewed-on: https://chromium-review.googlesource.com/992432Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#52454}
-
- 05 Apr, 2018 2 commits
-
-
Peter Marshall authored
This is a reland of 63ecddc8 Original change's description: > [runtime] Remove the construct_stub field of the SFI > > Don't dispatch based on the construct_stub field anymore. Rather than > read it out and jump to the construct stub, we can switch on the > builtin_id. > > Builtins will always have builtin_id as a Smi, so this signals we need > to jump to JSBuiltinsConstructStub. The only exception is for uncompiled > functions, which will have kCompileLazy as the builtin_id, but need to > jump to the generic stub instead. > > API function calls will have a FunctionTemplateInfo in the SFI > function_data field, and need to go to the builtins stub as well. > > The final case is everything else, which should go to the generic stub. > > Bug: v8:7503 > Change-Id: I14790a5f9784dc0d940bf10a05f5310026e1d482 > Reviewed-on: https://chromium-review.googlesource.com/980941 > Reviewed-by: Leszek Swirski <leszeks@chromium.org> > Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> > Commit-Queue: Peter Marshall <petermarshall@chromium.org> > Cr-Commit-Position: refs/heads/master@{#52345} TBR=bmeurer@chromium.org Bug: v8:7503 Change-Id: Ie46bfb0af173ad7ac8cbdfeed1865e60f3f413f7 Reviewed-on: https://chromium-review.googlesource.com/997712Reviewed-by:
Peter Marshall <petermarshall@chromium.org> Commit-Queue: Peter Marshall <petermarshall@chromium.org> Cr-Commit-Position: refs/heads/master@{#52389}
-
Alexey Kozyatinskiy authored
This is a reland of 7a2c3713 Original change's description: > [debug] introduced runtime side effect check > > This CL demonstrates minimum valuable addition to existing debug evaluate > without side effects mechanism. > With this CL user can evaluate expressions like: > [a,b] // create any kind of temporary array literals > [a,b].reduce((x,y) => x + y, 0); // use reduce method > [1,2,3].fill(2); // change temporary arrays > > The core idea: any change of the object created during evaluation without > side effects is side effect free. As soon as we try to store this temporary > object to object existed before evaluation we will terminate execution. > > Implementation: > - track all objects allocated during evaluation and mark them as temporary, > - patch all bytecodes which change objects. > > A little more details (including performance analysis): [1]. > > [1] https://docs.google.com/document/d/10qqAtZADspPnpYa6SEdYRxrddfKIZJIzbLtGpsZQkRo/edit# > > Bug: v8:7588 > Change-Id: I69f7b96e1ebd7ad0022219e8213211c7be72a111 > Reviewed-on: https://chromium-review.googlesource.com/972615 > Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> > Reviewed-by: Yang Guo <yangguo@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Cr-Commit-Position: refs/heads/master@{#52370} Bug: v8:7588 Change-Id: Ibc92bf19155f2ddaedae39b0c576b994e84afcf8 Reviewed-on: https://chromium-review.googlesource.com/996760Reviewed-by:
Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Cr-Commit-Position: refs/heads/master@{#52373}
-
- 04 Apr, 2018 4 commits
-
-
Aleksey Kozyatinskiy authored
This reverts commit 7a2c3713. Reason for revert: msan is broken Original change's description: > [debug] introduced runtime side effect check > > This CL demonstrates minimum valuable addition to existing debug evaluate > without side effects mechanism. > With this CL user can evaluate expressions like: > [a,b] // create any kind of temporary array literals > [a,b].reduce((x,y) => x + y, 0); // use reduce method > [1,2,3].fill(2); // change temporary arrays > > The core idea: any change of the object created during evaluation without > side effects is side effect free. As soon as we try to store this temporary > object to object existed before evaluation we will terminate execution. > > Implementation: > - track all objects allocated during evaluation and mark them as temporary, > - patch all bytecodes which change objects. > > A little more details (including performance analysis): [1]. > > [1] https://docs.google.com/document/d/10qqAtZADspPnpYa6SEdYRxrddfKIZJIzbLtGpsZQkRo/edit# > > Bug: v8:7588 > Change-Id: I69f7b96e1ebd7ad0022219e8213211c7be72a111 > Reviewed-on: https://chromium-review.googlesource.com/972615 > Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> > Reviewed-by: Yang Guo <yangguo@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Cr-Commit-Position: refs/heads/master@{#52370} TBR=ulan@chromium.org,rmcilroy@chromium.org,yangguo@chromium.org,kozyatinskiy@chromium.org,leszeks@chromium.org Change-Id: Ied1739c6308b13a4981189e0999f5912316cf456 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:7588 Reviewed-on: https://chromium-review.googlesource.com/996135Reviewed-by:
Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Cr-Commit-Position: refs/heads/master@{#52371}
-
Alexey Kozyatinskiy authored
This CL demonstrates minimum valuable addition to existing debug evaluate without side effects mechanism. With this CL user can evaluate expressions like: [a,b] // create any kind of temporary array literals [a,b].reduce((x,y) => x + y, 0); // use reduce method [1,2,3].fill(2); // change temporary arrays The core idea: any change of the object created during evaluation without side effects is side effect free. As soon as we try to store this temporary object to object existed before evaluation we will terminate execution. Implementation: - track all objects allocated during evaluation and mark them as temporary, - patch all bytecodes which change objects. A little more details (including performance analysis): [1]. [1] https://docs.google.com/document/d/10qqAtZADspPnpYa6SEdYRxrddfKIZJIzbLtGpsZQkRo/edit# Bug: v8:7588 Change-Id: I69f7b96e1ebd7ad0022219e8213211c7be72a111 Reviewed-on: https://chromium-review.googlesource.com/972615 Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#52370}
-
Michael Achenbach authored
This reverts commit 63ecddc8. Reason for revert: https://build.chromium.org/p/client.v8/builders/V8%20Linux64%20-%20internal%20snapshot/builds/14773 Original change's description: > [runtime] Remove the construct_stub field of the SFI > > Don't dispatch based on the construct_stub field anymore. Rather than > read it out and jump to the construct stub, we can switch on the > builtin_id. > > Builtins will always have builtin_id as a Smi, so this signals we need > to jump to JSBuiltinsConstructStub. The only exception is for uncompiled > functions, which will have kCompileLazy as the builtin_id, but need to > jump to the generic stub instead. > > API function calls will have a FunctionTemplateInfo in the SFI > function_data field, and need to go to the builtins stub as well. > > The final case is everything else, which should go to the generic stub. > > Bug: v8:7503 > Change-Id: I14790a5f9784dc0d940bf10a05f5310026e1d482 > Reviewed-on: https://chromium-review.googlesource.com/980941 > Reviewed-by: Leszek Swirski <leszeks@chromium.org> > Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> > Commit-Queue: Peter Marshall <petermarshall@chromium.org> > Cr-Commit-Position: refs/heads/master@{#52345} TBR=petermarshall@chromium.org,leszeks@chromium.org,bmeurer@chromium.org Change-Id: I2031913ab5a12018ad932f920792aa1f6faa5e22 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:7503 Reviewed-on: https://chromium-review.googlesource.com/995293Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#52346}
-
Peter Marshall authored
Don't dispatch based on the construct_stub field anymore. Rather than read it out and jump to the construct stub, we can switch on the builtin_id. Builtins will always have builtin_id as a Smi, so this signals we need to jump to JSBuiltinsConstructStub. The only exception is for uncompiled functions, which will have kCompileLazy as the builtin_id, but need to jump to the generic stub instead. API function calls will have a FunctionTemplateInfo in the SFI function_data field, and need to go to the builtins stub as well. The final case is everything else, which should go to the generic stub. Bug: v8:7503 Change-Id: I14790a5f9784dc0d940bf10a05f5310026e1d482 Reviewed-on: https://chromium-review.googlesource.com/980941Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Peter Marshall <petermarshall@chromium.org> Cr-Commit-Position: refs/heads/master@{#52345}
-
- 28 Mar, 2018 1 commit
-
-
Yang Guo authored
We need to bypass shortcuts when executing accessors defined via FunctionTemplate if we have break points at function entry. R=ishell@chromium.org, jgruber@chromium.org Bug: v8:7596 Change-Id: I0e1bdbbba0f7dcd0fb7fe90d35b18234d073fe94 Reviewed-on: https://chromium-review.googlesource.com/980316 Commit-Queue: Yang Guo <yangguo@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#52276}
-