- 19 Feb, 2020 34 commits
-
-
Milad Farazmand authored
Converting from Uint32Array to Uint8Array will have"0" set as the first byte on BE machines: [0,0,AB,CD] Using Uint16Array will produce the correct result: [AB,CD] Change-Id: I9069f14c60a088a52af6d287c88be4ad437ee04d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2064528Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#66357}
-
Michael Achenbach authored
This reverts commit 03d5a7ba. Reason for revert: Needs rebaseline: https://ci.chromium.org/p/v8/builders/ci/V8%20Blink%20Linux/3243 Original change's description: > [wasm] The name of a custom section can cause a validation error > > The WebAssembly spec defines that the name of a custom section can cause > a validation error. The streaming decoder, however, used a separate > Decoder object to decode the name, and thereby avoided a validation > error. With this CL the streaming decoder uses the main decoder to > decode the name of the custom section. > > In addition this CL removes the test mjsunit/regress/wasm/regress-789952. > This test defined an invalid WebAssembly module and expected it to > compile. As it is a regression test, it makes no sense to fix the test. > The module is invalid because it defines the length of the custom section > to be '0', so there are no bytes in the custom section for its name. > > R=clemensb@chromium.org > CC=thibaudm@chromium.org > > Bug: v8:10126 > Change-Id: I8cfc77c9a5916570d5362d5922e0179a29774da8 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2041446 > Commit-Queue: Andreas Haas <ahaas@chromium.org> > Reviewed-by: Clemens Backes <clemensb@chromium.org> > Cr-Commit-Position: refs/heads/master@{#66348} TBR=ahaas@chromium.org,clemensb@chromium.org Change-Id: I5a7ea265ce47b9e685a5056bb83db6dc58f774a9 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:10126 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2065168Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#66356}
-
Michael Achenbach authored
This reverts commit 4b1fd35b. Reason for revert: Breaks a lot of tests on native Android: https://ci.chromium.org/p/v8/builders/ci/V8%20Android%20Arm64%20-%20N5X/7863 Original change's description: > [heap] Enable usage of ArrayBufferExtensions > > Switch the flag to true to enable ArrayBufferExtensions by default. > > Bug: v8:10064 > Change-Id: I9b772fbd36372e3454ac66a476d33cba121b45c9 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2064208 > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> > Cr-Commit-Position: refs/heads/master@{#66339} TBR=ulan@chromium.org,dinfuehr@chromium.org Change-Id: I00f6c1b2f58bc937a1521045b4853e88300204d9 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:10064 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2065088Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#66355}
-
Shu-yu Guo authored
This reverts commit f70e5abf. Reason for revert: Arm64 build breakage: https://ci.chromium.org/p/v8/builders/ci/V8%20Android%20Arm64%20-%20builder/30710 Original change's description: > Avoid UTF8 conversion in JSNumberFormat > > Change-Id: Idf4e95e6979adfbca24f8fd213967f821a136d87 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2057930 > Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> > Commit-Queue: Frank Tang <ftang@chromium.org> > Cr-Commit-Position: refs/heads/master@{#66353} TBR=jkummerow@chromium.org,ftang@chromium.org Change-Id: I01300a6eec5cb3f2e97da74744328d58d9e51d14 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2062742Reviewed-by: Shu-yu Guo <syg@chromium.org> Commit-Queue: Shu-yu Guo <syg@chromium.org> Cr-Commit-Position: refs/heads/master@{#66354}
-
Frank Tang authored
Change-Id: Idf4e95e6979adfbca24f8fd213967f821a136d87 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2057930Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Frank Tang <ftang@chromium.org> Cr-Commit-Position: refs/heads/master@{#66353}
-
Frank Tang authored
Remove the style from flag and use value return from ICU object instead. Change-Id: I89732c4cd9f093136d18fcd1122e8858c6ca50dc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2057975Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Frank Tang <ftang@chromium.org> Cr-Commit-Position: refs/heads/master@{#66352}
-
Thibaud Michaud authored
After compiling a function with a different set of breakpoints, update return addresses on the stack so that execution resumes in the new code. This allows new breakpoints to take effect immediately, which is the expected behavior and a prerequisite for stepping. R=clemensb@chromium.org Bug: v8:10147 Change-Id: I67eb3b4ce23a1f3b0519935447f8b847ec888ead Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2064218Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/master@{#66351}
-
Thibaud Michaud authored
To fully support debugging in Liftoff, we need to OSR active frames by updating their return address. Introducing source positions after each call will help us find the correct return address in the new code. R=clemensb@chromium.org Bug: v8:10147 Change-Id: I0a97fa86929c471abb4cd1ed75ac6724fc385944 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2064216Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/master@{#66350}
-
Seth Brenith authored
This reverts commit e5e4ea96. Reason for revert: mysterious performance regression chromium:1052756 Original change's description: > [torque] Support bitfield structs stored within Smis > > This change moves the definition of the bits stored in DebugInfo::flags > to Torque, and updates the only Torque usage of that field to use more > natural syntax. This is intended as an example of common patterns found > in various other classes. Several supporting changes are required: > > 1. Add a new type representing a bitfield struct stored within a Smi. It > is currently called SmiTagged, but I'm open to suggestions. > 2. Add an enum-style output for Torque bitfield structs whose bitfields > occupy only one bit each. > 3. Add a new case to MachineOperatorReducer that makes the generated > code for IncBlockCounter match with what was generated before this > change. > 4. Add support for reporting these bitfields in the postmortem debugging > API. The format matches existing bitfields but with an offset value > that includes the SMI shift size. > > Bug: v8:7793 > Change-Id: Icaecbe4a162da55d2d9a3a35a8ea85b285b2f1b7 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2028832 > Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> > Reviewed-by: Tobias Tebbi <tebbi@chromium.org> > Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> > Cr-Commit-Position: refs/heads/master@{#66182} Bug: chromium:1052756, v8:7793 Change-Id: I9e2897efbb6321124bf4952cf09de2f179f7310d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2062569 Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#66349}
-
Andreas Haas authored
The WebAssembly spec defines that the name of a custom section can cause a validation error. The streaming decoder, however, used a separate Decoder object to decode the name, and thereby avoided a validation error. With this CL the streaming decoder uses the main decoder to decode the name of the custom section. In addition this CL removes the test mjsunit/regress/wasm/regress-789952. This test defined an invalid WebAssembly module and expected it to compile. As it is a regression test, it makes no sense to fix the test. The module is invalid because it defines the length of the custom section to be '0', so there are no bytes in the custom section for its name. R=clemensb@chromium.org CC=thibaudm@chromium.org Bug: v8:10126 Change-Id: I8cfc77c9a5916570d5362d5922e0179a29774da8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2041446 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#66348}
-
Shu-yu Guo authored
This reverts commit 4e11ad92. Reason for revert: Signed int overflow in TestFastApiCalls in UBSan https://ci.chromium.org/p/v8/builders/ci/V8%20Linux64%20UBSan/9976 Original change's description: > [turbofan] Fast API calls from TurboFan > > Relanding the Fast C API code with fix for arm sim lite build. > > Design doc: > http://doc/1SAHn7d8M7CoazTd1laVF8gduFC_ikZWiYuytrR9c4Oc/ > > This CL implements basic API with integer and pointer types marshaling. > > What is not supported yet: > - sequences > - annotations > - floating point arguments > - 64-bit arguments > - exception handling > - InstanceOf checks for the pointer types > - functions with non-void return type > > Bug: chromium:1052746 > > TBR=yangguo@chromium.org,mvstanton@chromium.org,neis@chromium.org,leszeks@chromium.org,verwaest@chromium.org,mslekova@chromium.org,nicohartmann@chromium.org > > Change-Id: I4421ce817e3b6159a38d2cb39fb97847f128e648 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2064223 > Reviewed-by: Michael Stanton <mvstanton@chromium.org> > Commit-Queue: Michael Stanton <mvstanton@chromium.org> > Cr-Commit-Position: refs/heads/master@{#66344} TBR=mvstanton@chromium.org Change-Id: I63bde3e0b7f92506fd8ec6d39683524bc9811aa6 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:1052746 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2062739Reviewed-by: Shu-yu Guo <syg@chromium.org> Commit-Queue: Shu-yu Guo <syg@chromium.org> Cr-Commit-Position: refs/heads/master@{#66347}
-
Camillo Bruni authored
- Update the input parser to handle the new object-based format - Try to maintain backwards compatibility to the array-based format - Use input file name as version name when appending results Change-Id: I5efe9d887f6d2ccbfaba18e0918945353dfcc640 No-Try: true No-Presubmit: true No-Tree-Checks: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2064389 Commit-Queue: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#66346}
-
Georg Neis authored
Regrettably the previous fix was flawed because a zero increment can change the type of the induction variable. Bug: chromium:1051017 Change-Id: I2d7aeffb2065e739445118a2d0c5f7732eecdcbb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2064222Reviewed-by: Michael Stanton <mvstanton@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#66345}
-
Mike Stanton authored
Relanding the Fast C API code with fix for arm sim lite build. Design doc: http://doc/1SAHn7d8M7CoazTd1laVF8gduFC_ikZWiYuytrR9c4Oc/ This CL implements basic API with integer and pointer types marshaling. What is not supported yet: - sequences - annotations - floating point arguments - 64-bit arguments - exception handling - InstanceOf checks for the pointer types - functions with non-void return type Bug: chromium:1052746 TBR=yangguo@chromium.org,mvstanton@chromium.org,neis@chromium.org,leszeks@chromium.org,verwaest@chromium.org,mslekova@chromium.org,nicohartmann@chromium.org Change-Id: I4421ce817e3b6159a38d2cb39fb97847f128e648 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2064223Reviewed-by: Michael Stanton <mvstanton@chromium.org> Commit-Queue: Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/master@{#66344}
-
Milad Farazmand authored
Whenever we use an "arrayType" that is stored as multiple bytes, the host machine's endianness becomes apparent in the result. This Cl adds the functionality to check the result based on the host machine's endianness. Change-Id: Ie96e8dd04b7e209127eff67ee06e1fa0ee5bc290 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2063861Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#66343}
-
Liviu Rau authored
If we do not want _all_ tests durations, it makes sense to reuse the existing slow test collection and aggregation Bug: v8:10168 Change-Id: I500acdb799f41ee6f0fb2c57afb95e1e1830b2dd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2064221 Auto-Submit: Liviu Rau <liviurau@chromium.org> Commit-Queue: Liviu Rau <liviurau@chromium.org> Commit-Queue: Tamer Tas <tmrts@chromium.org> Reviewed-by: Tamer Tas <tmrts@chromium.org> Cr-Commit-Position: refs/heads/master@{#66342}
-
Michael Achenbach authored
The extra checks done with --testing-d8-test-runner might not hold when using NumFuzz. This refactors the test runner and allows passing implementation specific flags. The --testing-d8-test-runner flag is now only passed in the standard-runner not in the numfuzz implementation. Bug: v8:10220 Change-Id: I83cac57a948c98c34f2d84f41d719e0434e25ee7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2064217 Commit-Queue: Michael Achenbach <machenbach@chromium.org> Reviewed-by: Mythri Alle <mythria@chromium.org> Cr-Commit-Position: refs/heads/master@{#66341}
-
Dan Elphick authored
This changes many functions in code-stub-assembler.h to pass or return TNode parameters rather than Node*. In general these are functions that take ParameterMode and so optionally pass IntPtrT or Smi in a Node which cannot be easily fixed so these parameters and are left alone. Also move StoreFixedArrayOrPropertyArrayElement into the private section of CodeStubAssembler's class definition. Bug: v8:10155 Change-Id: I010a928cecf105bcf9a5e9f86a402e47733ba7f2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2059994 Commit-Queue: Dan Elphick <delphick@chromium.org> Reviewed-by: Mythri Alle <mythria@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#66340}
-
Dominik Inführ authored
Switch the flag to true to enable ArrayBufferExtensions by default. Bug: v8:10064 Change-Id: I9b772fbd36372e3454ac66a476d33cba121b45c9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2064208Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/master@{#66339}
-
Georg Neis authored
.. to improve code readability. Change-Id: I130542600bcad2a016f3dbbedab594a71cddcb9d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2061549Reviewed-by: Michael Stanton <mvstanton@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Auto-Submit: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#66338}
-
Dan Elphick authored
Change-Id: If3b514cd813bef3feb036b8ae965211335cae5fd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2064213 Commit-Queue: Dan Elphick <delphick@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#66337}
-
Milad Farazmand authored
V8_INFINITY is not defined here. "src/common/globals.h" is also not allowed to be included in this source file. Change-Id: Ia3b14db8ac5099b6ce65839eb0fc59340dc59555 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2062930Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#66336}
-
Z Nguyen-Huu authored
Since liftoff is turned on upon debugger.enable, these tests need to be skipped. Change-Id: Icaa02ffb77d0bbcb24b2c232e519c0547e714a24 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2062940Reviewed-by: Milad Farazmand <miladfar@ca.ibm.com> Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#66335}
-
Michael Lippautz authored
This reverts commit ad65e584. Reason for revert: Regresses because of the same reasons for older OSX versions, see https://chromeperf.appspot.com/report?sid=4f570d131a97fdc45bc479f6e526d9caaa388eefca08242ef66cbf3b7eb850e4&start_rev=741028&end_rev=742546 Original change's description: > heap: Remove OSX restriction for maximum parallelism > > Change-Id: I582af41a8b10957b8fc7acb388871b1d51783a8c > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2062395 > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Commit-Queue: Michael Lippautz <mlippautz@chromium.org> > Cr-Commit-Position: refs/heads/master@{#66317} TBR=ulan@chromium.org,mlippautz@chromium.org Change-Id: I1812a39f2f70fd2b00d77b3cfd49edcd4e967d6d No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2064212Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#66334}
-
Camillo Bruni authored
- Avoid NewStringType::kNormal where possible - Use Template::Set const char helper - Use NewStringType::kInternalized where possible BUG: v8:10155 Change-Id: I4d19e46879c8a574838d2c25c591e510ef16d89f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2061556Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#66333}
-
Liviu Rau authored
Also: Update V8 DEPS. Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/797e96a..6fddc00 Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/657c0f4..83f5cce Rolling v8/third_party/fuchsia-sdk: https://chromium.googlesource.com/chromium/src/third_party/fuchsia-sdk/+log/b5a25d5..d3720fa Rolling v8/tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang/+log/10a302f..eeaa53b Bug: v8:10232 Change-Id: I5a7265fa53985829ac05f61aacc54e2ffefbf235 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2063591 Commit-Queue: Liviu Rau <liviurau@chromium.org> Reviewed-by: Tamer Tas <tmrts@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Reviewed-by: Liviu Rau <liviurau@chromium.org> Reviewed-by: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com> Cr-Commit-Position: refs/heads/master@{#66332}
-
Camillo Bruni authored
Extend the helper to setup module callbacks and the console delegate. Change-Id: I253d5728b9720eadd532728ed6472f02176364e6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2062388Reviewed-by: Clemens Backes <clemensb@chromium.org> Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#66331}
-
Georgia Kouveli authored
There are cases where we push FP and LR to the stack even though we have already created a frame and already stored them. Avoid doing this, by cleaning up the caller- and callee-saved register lists, and passing a LinkRegisterStatus argument to TruncateDoubleToI. Change-Id: I652e7ec346a99e94617f1ec6b13935f5d2f73e7f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2060505 Commit-Queue: Georgia Kouveli <georgia.kouveli@arm.com> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#66330}
-
Georg Neis authored
JSCreate can have side effects (by looking up the prototype on an object), so once we walk past that the analysis result must be marked as "unreliable". Bug: chromium:1053604 Change-Id: I36625b14f374e74561c9b539bdf7a02ae767cf7f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2062396 Commit-Queue: Georg Neis <neis@chromium.org> Reviewed-by: Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/master@{#66329}
-
Zhao Jiazhong authored
Port 59e96890 https://crrev.com/c/2036739 Change-Id: Ie90aa9afffe36938a97b06947db136dda7e2b840 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2063194 Commit-Queue: Zhi An Ng <zhin@chromium.org> Auto-Submit: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn> Reviewed-by: Zhi An Ng <zhin@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#66328}
-
Shu-yu Guo authored
In the spec, WeakRefs that are dereferenced are kept alive until there's no JS on the stack, and then the host is expected to call ClearKeptObjects to clear those strong references [1]. HTML calls ClearKeptObjects at the end of a PerformMicrotaskCheckpoint [2]. In V8, leaving this up to the embedder is error prone in the same way the deprecated FinalizationGroup callback APIs were error prone: it depends on the embedder doing the right thing. This CL moves the call to ClearKeptObjects to be after running of microtasks within V8. However, the Isolate::ClearKeptObjects API should not be removed or deprecated in case an embedder uses an entirely custom MicrotaskQueue implementation and invokes MicrotaskQueue::PerformCheckpoint manually. [1] https://tc39.es/proposal-weakrefs/#sec-clear-kept-objects [2] https://github.com/whatwg/html/pull/4571 Bug: v8:8179 Change-Id: Ie243804157b56241ca69ed8fad300e839a0c9f75 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2055967 Commit-Queue: Shu-yu Guo <syg@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#66327}
-
Ng Zhi An authored
This is still very limited, but we will have some simd instructions. We add 2 kinds of instructions: - any_true to generate i32 from v128 - add to generate v128 from v128 and v128 - extract_lane to generate v128 from all other types We do not add v128 to the list of types returned by GetValueType, since that is used in a couple of places, like generating globals, which requires v128.const but is not implemented yet. Special case to enable the experimental-wasm-simd flag since simd is not included in wasm-staging yet. Bug: v8:10180 Change-Id: Ifd86f55bdd49cae9514b061965de81ff6d579934 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2040514Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#66326}
-
Ng Zhi An authored
Define macros to identify constant shift values, we can emit better codegen in these cases. Otherwise we need to mask the shift value before shifting. We also need separate cases for left and right shifts, since right shifts require the shift value to be negated. Bug: v8:10115 Change-Id: I9a032901d03d59cfaa871eefbc58f7f144fd521f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2041709Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#66325}
-
Ng Zhi An authored
This is the same as codegen used in TurboFan, with the registers being referred to in a different way. Bug: v8:9909 Change-Id: I082caabc49d6adb367b103a77e44a4e6e1be0ac1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2060265Reviewed-by: Clemens Backes <clemensb@chromium.org> Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#66324}
-
- 18 Feb, 2020 6 commits
-
-
Shu-yu Guo authored
This reverts commit 50790c0b. Reason for revert: Arm sim compile breakage: https://ci.chromium.org/p/v8/builders/ci/V8%20Linux%20-%20arm%20-%20sim%20-%20lite/8657 Original change's description: > [turbofan] Fast API calls from TurboFan > > Design doc: > http://doc/1SAHn7d8M7CoazTd1laVF8gduFC_ikZWiYuytrR9c4Oc/ > > This CL implements basic API with integer and pointer types marshaling. > > What is not supported yet: > - sequences > - annotations > - floating point arguments > - 64-bit arguments > - exception handling > - InstanceOf checks for the pointer types > - functions with non-void return type > > Bug: chromium:1052746 > > Change-Id: Idbbf6dd50f43dfc9f8d707fe3333e5da3da84a13 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2030740 > Commit-Queue: Maya Lekova <mslekova@chromium.org> > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > Reviewed-by: Georg Neis <neis@chromium.org> > Reviewed-by: Leszek Swirski <leszeks@chromium.org> > Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> > Reviewed-by: Michael Stanton <mvstanton@chromium.org> > Cr-Commit-Position: refs/heads/master@{#66322} TBR=yangguo@chromium.org,mvstanton@chromium.org,neis@chromium.org,leszeks@chromium.org,verwaest@chromium.org,mslekova@chromium.org,nicohartmann@chromium.org Change-Id: Id4301f46618d92fc1f65f1db8e1961793a91a09c No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:1052746 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2062570Reviewed-by: Shu-yu Guo <syg@chromium.org> Commit-Queue: Shu-yu Guo <syg@chromium.org> Cr-Commit-Position: refs/heads/master@{#66323}
-
Maya Lekova authored
Design doc: http://doc/1SAHn7d8M7CoazTd1laVF8gduFC_ikZWiYuytrR9c4Oc/ This CL implements basic API with integer and pointer types marshaling. What is not supported yet: - sequences - annotations - floating point arguments - 64-bit arguments - exception handling - InstanceOf checks for the pointer types - functions with non-void return type Bug: chromium:1052746 Change-Id: Idbbf6dd50f43dfc9f8d707fe3333e5da3da84a13 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2030740 Commit-Queue: Maya Lekova <mslekova@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> Reviewed-by: Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/master@{#66322}
-
Z Nguyen-Huu authored
Store a flag per isolate whether new modules should be kept in tiered-down state from the beginning. Adjust initial compilation if flag is set. Bug: v8:9654 Change-Id: I5aae435fb807f3eaa7efafe9af60451ad3c7e14d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2028452 Commit-Queue: Z Nguyen-Huu <duongn@microsoft.com> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#66321}
-
Shu-yu Guo authored
When running microtasks, the auto policy currently only invokes MicrotasksCompletedCallbacks when the microtask queue is non-empty, while all other policies unconditionally invokes the callbacks. Make the auto mode also unconditionally invoke the callbacks. Bug: v8:10213 Change-Id: I2f608459960b84e6f506646712ac935130646b9e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2057813Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Shu-yu Guo <syg@chromium.org> Cr-Commit-Position: refs/heads/master@{#66320}
-
Seth Brenith authored
Please take a look at tools/v8windbg/README.md for an overview of what v8windbg can do and how it's structured. This platform-specific debugging plugin makes use of the data provided by the V8 postmortem debugging API in tools/debug_helper. Note: This code began as https://github.com/billti/v8dbg and then moved into the Edge repository, where I added features gradually and got code reviews for individual changes. Now, taken in its entirety, it's an obnoxiously large CL. I'm open to breaking it up into a few chunks if that would be preferable. Bug: v8:9376 Change-Id: I3e503de00bb1aea870ae83e9bd99e4e2eab9ef98 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2031700Reviewed-by: Michael Stanton <mvstanton@chromium.org> Reviewed-by: Tamer Tas <tmrts@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> Cr-Commit-Position: refs/heads/master@{#66319}
-
Seth Brenith authored
This allows CoverageInfo to be distinguished from other kinds of FixedArray at runtime. I also updated it to use untagged data since it only stores ints, since that seems like the generally right thing to do (even though I doubt anybody allocates enough of these to notice the reduced GC work). Related Torque changes: - Allow structs containing untagged data to be used as class fields. This requires classifying them into the tagged or untagged sections of the class layout, and checking that their alignment requirements are met when stored in a packed array. - Generate a struct containing struct field offsets, so we can ensure that the layouts defined in Torque and C++ code match. Of course it would be nice to generate a lot more (indexed accessors, synchronized accessors, GC visitors, etc.), but we can't do it all at once. Change-Id: I29e2a2afe37e4805cd80e3a84ef9edfe7ca7bb6b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2047399Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> Cr-Commit-Position: refs/heads/master@{#66318}
-