- 24 Jul, 2018 9 commits
-
-
Michael Starzinger authored
R=ahaas@chromium.org Change-Id: I7c6fd17f36d33451ce7605e74002515295c7ad1c Reviewed-on: https://chromium-review.googlesource.com/1145195Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#54629}
-
Tobias Tebbi authored
Shared library sharing of template-defined global variables is broken on Windows. This prepares contextual variables to export their globals from a DLL. Change-Id: I3092a92db71c4e516218081b97335d451d90bfe2 Reviewed-on: https://chromium-review.googlesource.com/1148049Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#54628}
-
Benedikt Meurer authored
Bug: v8:6922, v8:7754 Change-Id: I627832ace38e0bd2b53dc0dd6ef3a19d5e8b7ebf Reviewed-on: https://chromium-review.googlesource.com/1146575 Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#54627}
-
jgruber authored
For reproducible snapshots, we need to wipe target addresses. Bug: v8:6666 Change-Id: Id30c3f92c342ae85e9dce677439a6f05182482cd Reviewed-on: https://chromium-review.googlesource.com/1146653 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#54626}
-
Sathya Gunasekaran authored
Bug: v8:5751 Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng Change-Id: I382404f4c59c1e997ea0fb58f3a995b653c0d6bc Reviewed-on: https://chromium-review.googlesource.com/1148031Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#54625}
-
Sergiy Byelozyorov authored
R=machenbach@chromium.org No-Try: true No-Tree-Checks: true Bug: v8:7966 Change-Id: I662a693a2c2334113093fa0d3730ce71712f7cc8 Reviewed-on: https://chromium-review.googlesource.com/1148043Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Sergiy Byelozyorov <sergiyb@chromium.org> Cr-Commit-Position: refs/heads/master@{#54624}
-
Sergiy Byelozyorov authored
R=machenbach@chromium.org Bug: v8:7966 Change-Id: I0f1b09f3aeb7f842aafb73f288a7626c7ff88ae5 Reviewed-on: https://chromium-review.googlesource.com/1146758Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Sergiy Byelozyorov <sergiyb@chromium.org> Cr-Commit-Position: refs/heads/master@{#54623}
-
v8-ci-autoroll-builder authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/181a988..d1e53db Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/9e8a0b2..6a1002b Rolling v8/third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools/+log/7e3c67f..6ec6d27 Rolling v8/third_party/icu: https://chromium.googlesource.com/chromium/deps/icu/+log/a9a2bd3..297a4dd Rolling v8/tools/swarming_client: https://chromium.googlesource.com/infra/luci/client-py/+log/9a518d0..486c9b5 TBR=machenbach@chromium.org,hablich@chromium.org,sergiyb@chromium.org Change-Id: I09585c5a939b1befbe0e723399700d4853b2dc85 Reviewed-on: https://chromium-review.googlesource.com/1147877 Commit-Queue: V8 Autoroller <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com> Reviewed-by: V8 Autoroller <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com> Cr-Commit-Position: refs/heads/master@{#54622}
-
Kanghua Yu authored
On ChromeOS platform, transparent hugepage text is enabled by default. This CL places embedded builtins into the hugepage text area to reduce ITLB miss. Bug: v8:6666 Change-Id: I09f1734b02d644658a31e2d3c22c2319be12b79f Reviewed-on: https://chromium-review.googlesource.com/1122156Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Kanghua Yu <kanghua.yu@intel.com> Cr-Commit-Position: refs/heads/master@{#54621}
-
- 23 Jul, 2018 20 commits
-
-
Deepti Gandluri authored
Bug: v8:6532 Change-Id: I0871aaafff2385758449ddde923178d1c9e1ff8a Reviewed-on: https://chromium-review.googlesource.com/1146998Reviewed-by: Bill Budge <bbudge@chromium.org> Commit-Queue: Deepti Gandluri <gdeepti@chromium.org> Cr-Commit-Position: refs/heads/master@{#54620}
-
Bill Budge authored
- Changes POSIX version of OS::SetPermissions to ignore the result of ReclaimInaccessibleMemory instead of returning it as the result. Bug: v8:7923 Change-Id: I70f4b81f6ccada997e2da4d4a521ffe069260bec Reviewed-on: https://chromium-review.googlesource.com/1140678Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#54619}
-
Georg Neis authored
We'll soon start collecting data from the JS heap prior to the typed lowering pass, and then refrain from reading the heap in that pass. This CL prepares the broker machinery by introducing a hash table that maps an object (handle) to the corresponding cached data. For the time being, that cached data is essentially just the handle itself. Bug: v8:7790 Change-Id: I830e9c72faafb7ae1d10e8a111636b3a3762bbc6 Reviewed-on: https://chromium-review.googlesource.com/1143405 Commit-Queue: Georg Neis <neis@chromium.org> Reviewed-by: Maya Lekova <mslekova@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#54618}
-
Stephan Herhut authored
This moves the static handle() helper function to handles-inl.h as it ultimately depends on handles-inl.h anyway. To make this possible, also move some other code to -inl.h files and split up some header files into a -inl.h part. Bug: v8:7490 Change-Id: I0f68e0728ba082b87ffa911aaf205d9b1523d2c9 Reviewed-on: https://chromium-review.googlesource.com/1146723Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Stephan Herhut <herhut@chromium.org> Cr-Commit-Position: refs/heads/master@{#54617}
-
Stephan Herhut authored
api.h had an implicit dependency on objects-inl.h. Bug: v8:7490 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng;luci.v8.try:v8_linux_noi18n_rel_ng Change-Id: I56ef7abefed7205bdbff2aa5f451f1a843bef9f9 Reviewed-on: https://chromium-review.googlesource.com/1145191Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Ben Titzer <titzer@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Stephan Herhut <herhut@chromium.org> Cr-Commit-Position: refs/heads/master@{#54616}
-
Théotime Grohens authored
This CL makes the unoptimized DataView getter and setter methods output the right function name when throwing an exception, instead of a generic one. It also contains a little drive-by cleanup of the Torque code to keep it up to date with the language. Change-Id: I10eb37090a0206172e470b5958af6a5968f3836f Reviewed-on: https://chromium-review.googlesource.com/1146570 Commit-Queue: Théotime Grohens <theotime@google.com> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#54615}
-
Jaroslav Sevcik authored
Bug: v8:7790 Change-Id: Ic39751e4509bc4d3280e1ae03162af5a97de7deb Reviewed-on: https://chromium-review.googlesource.com/1146807Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#54614}
-
Ross McIlroy authored
Use the new Isolate version of the methods. BUG=v8:7754 Cq-Include-Trybots: luci.chromium.try:linux_chromium_headless_rel;master.tryserver.blink:linux_trusty_blink_rel Change-Id: Id4f10d23927d6ae50cb458b5cac744617fa83e53 Reviewed-on: https://chromium-review.googlesource.com/1145387Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#54613}
-
Maya Lekova authored
Bug: chromium:866315 Change-Id: I83074475185c0646d575282d24679e18ec0628c7 Reviewed-on: https://chromium-review.googlesource.com/1146645 Commit-Queue: Maya Lekova <mslekova@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#54612}
-
Sigurd Schneider authored
This reverts commit 2c4c2ad6. Reason for revert: Speculatively revert CL, as it seems to break blink debug bots: https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8-Blink%20Linux%2064%20(dbg)/12756 https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8-Blink%20Linux%2064%20(dbg)/12764 # Fatal error in ../../v8/src/api.cc, line 5960 # Check failed: expected == value ((nil) vs. 0x176ae0f70a48). Original change's description: > Avoiding re-externalization of strings. > > Bug: chromium:845409 > Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng > Change-Id: I75bddcf0e8879d2161486f24d1cd4e46d8fe008d > Reviewed-on: https://chromium-review.googlesource.com/1139056 > Commit-Queue: Rodrigo Bruno <rfbpb@google.com> > Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Cr-Commit-Position: refs/heads/master@{#54599} TBR=ulan@chromium.org,jkummerow@chromium.org,hpayer@chromium.org,mlippautz@chromium.org,rfbpb@google.com # Not skipping CQ checks because original CL landed > 1 day ago. Bug: chromium:845409 Change-Id: Ie172148c0bdef71c0cf9819e63a66aec09d6888d Reviewed-on: https://chromium-review.googlesource.com/1146582 Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#54611}
-
Maya Lekova authored
If an exception is thrown in instrumented async code, for instance await import('non-existing-module') it should be correctly reported by the hooks that run around this code. Also calling ToLocalChecked() on the hook result is wrong if the hook has thrown an exception. Bug: chromium:865892 Change-Id: I5712376fe4426a3e49223d821e4647150887a258 Reviewed-on: https://chromium-review.googlesource.com/1146561 Commit-Queue: Maya Lekova <mslekova@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#54610}
-
Sigurd Schneider authored
This is a reland of 9eca23e9 Adds a deopt continuation, which fixes JavaScript stack traces to contain the number constructor after inlining. Original change's description: > [turbofan] Inline Number constructor in certain cases > > This CL adds inlining for the Number constructor if new.target is not > present. The lowering is BigInt compatible, i.e. it converts BigInts to > numbers. > > Bug: v8:7904 > Change-Id: If03b9f872d82e50b6ded7709069181c33dc44e82 > Reviewed-on: https://chromium-review.googlesource.com/1118557 > Commit-Queue: Sigurd Schneider <sigurds@chromium.org> > Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> > Reviewed-by: Georg Neis <neis@chromium.org> > Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> > Cr-Commit-Position: refs/heads/master@{#54454} Bug: v8:7904 Change-Id: Ic416e5ba81fa3a0f59ae4afa80df83c46a759487 Reviewed-on: https://chromium-review.googlesource.com/1146581 Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#54609}
-
Dan Elphick authored
Use the Isolate* version of Concat. Bug: v8:7754 Change-Id: I3d16405032ab0690c57e2ba615cac60d8fa92464 Reviewed-on: https://chromium-review.googlesource.com/1146578Reviewed-by: Mythri Alle <mythria@chromium.org> Commit-Queue: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#54608}
-
Ross Mcilroy authored
Replace with isolate versions BUG=v8:7754 Change-Id: I69cf1e0d4cba6d68a3983c0dba346bfc1bfc9619 Reviewed-on: https://chromium-review.googlesource.com/1146182 Commit-Queue: Dan Elphick <delphick@chromium.org> Reviewed-by: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#54607}
-
jgruber authored
Bug: v8:7754 Change-Id: Ie58571682f4dff76108180e8a707159997f7abfa Reviewed-on: https://chromium-review.googlesource.com/1145277Reviewed-by: Peter Marshall <petermarshall@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#54606}
-
jgruber authored
Code::contains should return true in two cases: either the given address is within the off-heap instruction stream, or within the trampoline's instruction stream. This CL fixes the second case. One effect is that code printed through the jco gdb macro again displays the builtin name correctly when given a trampoline pc. Drive-by: a more efficient Builtins::Lookup for embedded builtins. Bug: v8:6666,v8:7969 Change-Id: I54f5e5881fa2aed2546b9e62aa4b9390ad21b895 Reviewed-on: https://chromium-review.googlesource.com/1146566Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#54605}
-
Ross Mcilroy authored
Replace with isolate version. BUG=v8:7754 Cq-Include-Trybots: luci.chromium.try:linux_chromium_headless_rel;master.tryserver.blink:linux_trusty_blink_rel Change-Id: Iac7091b983960d22b892074c5fd0a97dee9025c9 Reviewed-on: https://chromium-review.googlesource.com/1146332 Commit-Queue: Dan Elphick <delphick@chromium.org> Reviewed-by: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#54604}
-
Simon Zünd authored
For JSProxies we filled a FixedArray with the numbers from 0 to length - 1. Because all indices were assumed to be Smis, large array indices on Proxies were not handled correctly. R=jgruber@chromium.org Bug: chromium:866314 Change-Id: I6a792e800f31617a6092b219ec82b0e05a83bf7b Reviewed-on: https://chromium-review.googlesource.com/1146562Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Simon Zünd <szuend@google.com> Cr-Commit-Position: refs/heads/master@{#54603}
-
v8-ci-autoroll-builder authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/6f5ee86..181a988 Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/ddcfa34..9e8a0b2 TBR=machenbach@chromium.org,hablich@chromium.org,sergiyb@chromium.org Change-Id: I396cf06b2c5a27acb9136da5c17bce3df616b860 Reviewed-on: https://chromium-review.googlesource.com/1146157Reviewed-by: V8 Autoroller <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com> Commit-Queue: V8 Autoroller <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com> Cr-Commit-Position: refs/heads/master@{#54602}
-
Simon Zünd authored
Drive-by change: Add std::iterator_traits typedefs to ZoneChunkListIterator so we can use <algorithm>. R=mstarzinger@chromium.org Bug: v8:7754 Change-Id: Ib7d1c622fdb761fc99bea373dbdef206f15bd4a0 Reviewed-on: https://chromium-review.googlesource.com/1145075 Commit-Queue: Simon Zünd <szuend@google.com> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#54601}
-
- 21 Jul, 2018 1 commit
-
-
v8-ci-autoroll-builder authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/385916c..6f5ee86 Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/d26f5c3..ddcfa34 Rolling v8/third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools/+log/3899f1b..7e3c67f Rolling v8/third_party/fuchsia-sdk: https://chromium.googlesource.com/chromium/src/third_party/fuchsia-sdk/+log/6215064..9a5d7ce TBR=machenbach@chromium.org,hablich@chromium.org,sergiyb@chromium.org Change-Id: Ib443be36b0f43efd5049d33d8297f16044091eaa Reviewed-on: https://chromium-review.googlesource.com/1146022 Commit-Queue: V8 Autoroller <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com> Reviewed-by: V8 Autoroller <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com> Cr-Commit-Position: refs/heads/master@{#54600}
-
- 20 Jul, 2018 10 commits
-
-
Rodrigo Bruno authored
Bug: chromium:845409 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: I75bddcf0e8879d2161486f24d1cd4e46d8fe008d Reviewed-on: https://chromium-review.googlesource.com/1139056 Commit-Queue: Rodrigo Bruno <rfbpb@google.com> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#54599}
-
jgruber authored
This should improve the debugging experience since backtraces will list the exact builtin instead of just 'embedded_blob'. An example gdb backtrace: #0 <snip address> in Builtins_RegExpPrototypeExec () #1 <snip address> in Builtins_ArgumentsAdaptorTrampoline () <snip further frames> Bug: v8:6666, v8:7722 Change-Id: Iafc995779903e7d7a980d66e7dad42938ac7d29e Reviewed-on: https://chromium-review.googlesource.com/1145183Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#54598}
-
Sigurd Schneider authored
This reverts commit a462a785. Reason for revert: Breaks a TurboAssembler test: https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8%20Arm/7726 Original change's description: > [turboassembler] Introduce hard-abort mode > > For checks and assertions (mostly for debug code, like stack alignment > or zero extension), we had two modes: Emit a call to the {Abort} > runtime function (the default), and emit a debug break (used for > testing, enabled via --trap-on-abort). > In wasm, where we cannot just call a runtime function because code must > be isolate independent, we always used the trap-on-abort behaviour. > This causes problems for our fuzzers, which do not catch SIGTRAP, and > hence do not detect debug code failures. > > This CL introduces a third mode ("hard abort"), which calls a C > function via {ExternalReference}. The C function still outputs the > abort reason, but does not print the stack trace. It then aborts via > "OS::Abort", just like the runtime function. > This will allow fuzzers to detect the crash and even find a nice error > message. > > Even though this looks like a lot of code churn, it is actually not. > Most added lines are new tests, and other changes are minimal. > > R=mstarzinger@chromium.org > > Bug: chromium:863799 > Change-Id: I77c58ff72db552d49014614436259ccfb49ba87b > Reviewed-on: https://chromium-review.googlesource.com/1142163 > Commit-Queue: Clemens Hammacher <clemensh@chromium.org> > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Cr-Commit-Position: refs/heads/master@{#54592} TBR=mstarzinger@chromium.org,clemensh@chromium.org Change-Id: I60c011cfe262ccebbb9abf32699a9fe17e72a3c8 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:863799 Reviewed-on: https://chromium-review.googlesource.com/1145431 Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#54597}
-
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}
-
Caitlin Potter authored
As discussed in https://docs.google.com/document/d/1sBdGe8RHgeYP850cKSSgGABTyfMdvaEWLy-vertuTCo/edit?ts=5b3ba5cc#, this CL introduces a new bytecode (CloneObject), and a new IC type. In this prototype implementation, the type feedback looks like the following: Uninitialized case: { uninitialized_sentinel, uninitialized_sentinel } Monomorphic case: { weak 'source' map, strong 'result' map } Polymorphic case: { WeakFixedArray with { weak 'source' map, strong 'result' map }, cleared value } Megamorphic case: { megamorphic_sentinel, cleared_Value } In the fast case, Object cloning is done by allocating an object with the saved result map, and a shallow clone of the fast properties from the source object, as well as cloned fast elements from the source object. If at any point the fast case can't be taken, the IC transitions to the slow case and remains there. This prototype CL does not include any TurboFan optimization, and the CloneObject operation is merely reduced to a stub call. It may still be possible to get some further improvements by somehow incorporating compile-time boilerplate elements into the cloned object, or simplifying how the boilerplate elements are inserted into the object. In terms of performance, we improve the ObjectSpread score in JSTests/ObjectLiteralSpread/ by about 8x, with substantial improvements over the Babel and ObjectAssign scores. R=gsathya@chromium.org, mvstanton@chromium.org, rmcilroy@chromium.org, neis@chromium.org, bmeurer@chromium.org BUG=v8:7611 Change-Id: I79e1796eb77016fb4feba0e1d3bb9abb348c183e Reviewed-on: https://chromium-review.googlesource.com/1127472 Commit-Queue: Caitlin Potter <caitp@igalia.com> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Michael Stanton <mvstanton@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#54595}
-
Simon Zünd authored
R=petermarshall@chromium.org Bug: v8:7754 Change-Id: I045daa428a7830fa110c74d6636921be36ca1dbe Reviewed-on: https://chromium-review.googlesource.com/1145278Reviewed-by: Peter Marshall <petermarshall@chromium.org> Commit-Queue: Simon Zünd <szuend@google.com> Cr-Commit-Position: refs/heads/master@{#54594}
-
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}
-
Clemens Hammacher authored
For checks and assertions (mostly for debug code, like stack alignment or zero extension), we had two modes: Emit a call to the {Abort} runtime function (the default), and emit a debug break (used for testing, enabled via --trap-on-abort). In wasm, where we cannot just call a runtime function because code must be isolate independent, we always used the trap-on-abort behaviour. This causes problems for our fuzzers, which do not catch SIGTRAP, and hence do not detect debug code failures. This CL introduces a third mode ("hard abort"), which calls a C function via {ExternalReference}. The C function still outputs the abort reason, but does not print the stack trace. It then aborts via "OS::Abort", just like the runtime function. This will allow fuzzers to detect the crash and even find a nice error message. Even though this looks like a lot of code churn, it is actually not. Most added lines are new tests, and other changes are minimal. R=mstarzinger@chromium.org Bug: chromium:863799 Change-Id: I77c58ff72db552d49014614436259ccfb49ba87b Reviewed-on: https://chromium-review.googlesource.com/1142163 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#54592}
-
Michael Starzinger authored
R=clemensh@chromium.org BUG=v8:7754 Change-Id: Ia4c2fb2d87c8a5de96fa9f1f0621d21ae3eda611 Reviewed-on: https://chromium-review.googlesource.com/1145181Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#54591}
-
Clemens Hammacher authored
The most important point of IWYU (include-what-you-use) is that each header includes everything it is using, so that whoever includes that header does not need to additionally include other things. This CL adds a script which generates files to automatically check this. It is automatically invoked during "gclient runhooks" if the "check_v8_header_includes" variable is set. This script generates a number of .cc files in the "check-header-includes" directory, together with a "sources.gni" file which lists all the generated cc files. Each file includes one header. If additionally the gn args "v8_check_header_includes" is set, this gni file is included, and all the generated CC files will be compiled. This will detect violations of the aforementioned IWYU rule. R=titzer@chromium.org, machenbach@chromium.org Bug: v8:7754, v8:7965 Change-Id: Id1cf256507052c3a9ea82f8c80ea1c0385457e31 Reviewed-on: https://chromium-review.googlesource.com/1145199 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Ben Titzer <titzer@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#54590}
-