- 22 Feb, 2021 21 commits
-
-
Jakob Gruber authored
This is a reland of 76a2ab06 Changes since the original CL: - Handle unserialized elements (optional result in getter). - Merge should_access_heap and --turbo-direct-heap-access paths. - Slightly update the serialized path in GetOwnCowElement. - Fix the cctest, add a regression test. Atomic JSObject::elements/JSArray::length setters are addressed in this CL: crrev.com/c/2704076. Original change's description: > [compiler] Direct heap reads for JSArrayRef > > There are two aspects to the non-JSObject parts of JSArrayRef: > > - JSArrayRef::length. Relevant only in two spots, 1. when reading > (immutable) array boilerplates and 2. for GetOwnCowElement. > > - JSArrayRef::GetOwnCowElement. May read into a copy-on-write backing > store. Relies on the invariant that cow backing stores are immutable. > > This CL renames the length accessor to length_unsafe to make the > danger explicit at callsites. > > For GetOwnCowElement the refactor is slightly larger, since we now > need to read into the backing store while keeping full control of > object reads (e.g. JSArray::length and JSArray::elements_kind). We > make all reads explicit at the call site by requiring that elements, > elements kind, and length are passed in as arguments to > GetOwnCowElement. Inside GetOwnCowElement, consistency between these > is *not* guaranteed due to concurrency. At runtime, consistency *is* > guaranteed through the reference-equality check on the elements seen > during compilation. The actual elements read is implemented in > ConcurrentLookupIterator::GetOwnCowElement. > > Bug: v8:7790 > Change-Id: I9aa169ce4f2b1e2bfe1e9232007669eb7654a995 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2695403 > Commit-Queue: Jakob Gruber <jgruber@chromium.org> > Reviewed-by: Georg Neis <neis@chromium.org> > Reviewed-by: Igor Sheludko <ishell@chromium.org> > Cr-Commit-Position: refs/heads/master@{#72834} Bug: v8:7790 Change-Id: I7577ad554992cafff81099a28c34f27db9bd8042 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2710431 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#72904}
-
Clemens Backes authored
There is no need for write barriers if the stored value is known to be a Smi. R=thibaudm@chromium.org Bug: v8:11453 Change-Id: Id1cf306b246686c245d1be5f72c46b54ba9829ca Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2707172Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#72903}
-
Clemens Backes authored
The section might be the first EH-related part being found, and then it makes sense to include the hint about the flag in the error message. R=thibaudm@chromium.org Bug: v8:8091 Change-Id: I1680090f6ff3d9496a11db51f45d990d34f234ca Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2707204Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#72902}
-
Omer Katz authored
Bug: chromium:1056170 Change-Id: Ifb5a2cfa5f3fd2fbfecb84b1bf8f3dc464a823ef Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2711264Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Omer Katz <omerkatz@chromium.org> Cr-Commit-Position: refs/heads/master@{#72901}
-
Clemens Backes authored
This moves all asm.js tests (tests that use "%IsAsmWasmCode") into a separate directory. This will make it easier to skip them all in the v8_enable_webassembly=false configuration. R=ahaas@chromium.org Bug: v8:11238 Change-Id: I805f222b7977f5508f7dbee1f1bd61a88ccd34aa Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2710427 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#72900}
-
Jakob Gruber authored
Both fields are accessed during background compilation and thus need to be written atomically. This CL changes the default setters `set_foo(value, mode)` to use relaxed stores underneath. Bug: v8:7790 Change-Id: I49161a548cb0ef6797bd3e5592dc5bf0c9a27a15 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2704076Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#72899}
-
Clemens Backes authored
This CL introduces a test runner flag to detect if webassembly has been disabled. Since all tests that require wasm are alrady skipped in lite mode, we introduce a has_webassembly flag for the test runner which checks for v8_enable_webassembly=true and v8_enable_lite_mode=false. As a drive-by, we also do not set the V8_ENABLE_WEBASSEMBLY preprocessor flag if lite mode is enabled. The status files are updated by splitting wasm tests from the "lite_mode" section and checking for "not has_webassembly" instead. Note that the v8_enable_webassembly=false configuration is not tested on any bot currently, but I will make sure that all tests keep passing on further changes in this configuration. R=machenbach@chromium.org Bug: v8:11238 Cq-Include-Trybots: luci.v8.try:v8_linux64_no_wasm_compile_rel Change-Id: I1841eb1f1633cb47e0c079f4a4a4d769ca3a9cbb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2710425Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#72898}
-
Omer Katz authored
Whenever we destroy an object that contains a (Weak)(CrossThread)Persistent, we call the Persistent's dtor which frees the relevant PersistentNode. To get the PersistentRegion for the node, we get the value, then get the the relevant page which holds a reference to the heap which holds the regions. During a termination GC there is no marking and no weak callback processing. That means that, when destroying a Persistent, the page on which the object referenced by the Persistent resides may have already been swept and destroyed. Then when we try to get the page we cleared or unallocated memory and crash. This issue presented as a sweeper crash in the web tests and content_browsertests. This issue affects only Weak(CrossThread)Persistent since the region for their strong counterparts are already cleared at the start of a termination GC. This is not an issue in the Blink impl because (1) Blink finds the elevant regions through ThreadState without going through pages, and (2) Blink runs a full GC on termination that includes executing weak callbacks. Alternatively we could trace the Weak(CrossThread)Persistent region which will run the weakness callbacks and clear all WeakPersistents. The cost and outcome is equivalent. Bug: chromium:1056170 Change-Id: I3db5b01424500eb695f9876247ef0c787d0d9ef2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2708645 Commit-Queue: Omer Katz <omerkatz@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#72897}
-
Clemens Backes authored
Backends do not care about the concrete type, they only need to know the "kind" (e.g. "ref" or "i32"). In order to prepare Liftoff to use the value kind instead of the value type for all stored data, this CL moves the kind out of the ValueType and makes it a top-level enum. R=manoskouk@chromium.org Bug: v8:11477 Change-Id: I489d6c5207e6ff1b66e2afbe78a156d66df27eb3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2707169 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by: Manos Koukoutos <manoskouk@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#72896}
-
Camillo Bruni authored
Change-Id: I39e97298bd1b802bd011214e820babc69f6e7d00 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2682639Reviewed-by: Marja Hölttä <marja@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#72895}
-
Manos Koukoutos authored
Constant reloading of the null reference impacted some wasm-gc benchmarks. This CL speeds some benchmarks by >5%. Note: This solution is not ideal as it technically generates invalid turbofan graphs. It is temporary until a proper optimization eliminating excessive loads is implemented. Change-Id: I7afa6fb8857f5dba3dde715bd30fe868ad06d92c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2704668 Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#72894}
-
Santiago Aboy Solanes authored
The criteria is: 1) Regular method before Unsafe one 2) int index before non-int index 3) TNode<Object> before TNode<Smi> Bug: v8:6949, v8:11384 Change-Id: I499c835b956f6c92df26882ea37cb48e8fe737c9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2690592Reviewed-by: Mythri Alle <mythria@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#72893}
-
Santiago Aboy Solanes authored
Removed the ones for types: * Symbol * Object * WordT * Int32T * HeapNumber Bug: v8:6949, v8:11384 Change-Id: Id09de31fe23d2a74d771100b293e45362c36a469 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2707171Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#72892}
-
Thibaud Michaud authored
If a StackOverflow is caught, reload the pc and the limit from the catching frame, not from the target. R=clemensb@chromium.org Bug: chromium:1180339 Change-Id: I41bf94e6c7525106e990306913e446f2c4269df1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2710436Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/master@{#72891}
-
Manos Koukoutos authored
Bug: v8:7748 Change-Id: I32c87d4e3b98ab44699c1b7bf952aedef3e27002 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2704667 Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#72890}
-
Camillo Bruni authored
- Remove try-catch for better debugging in DevTools Change-Id: Icfa1fcb21af45b785d570f226cd9e016a8371062 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2685162Reviewed-by: Marja Hölttä <marja@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#72889}
-
Andreas Haas authored
On 64-bit platforms we reserve the maximum size of a WebAssembly memory. Thereby the memory can grow in-place. On 32-bit platforms, however, we allocate only the initial size, and grow the memory by reallocating the memory. Due to memory fragmentation the memory therefore cannot grow big. With this CL we allow to reserve 1GB of memory even on 32-bit platforms. Thereby the memory can grow to at least 1GB. R=gdeepti@chromium.org CC=ulan@chromium.org Bug: chromium:1175564 Change-Id: Iba44bb64ffa47322a205e8da3b7088e3edfeee62 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2707163Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#72888}
-
Liu Yu authored
Besides, implement i64x2 signed compares in liftoff. Port: a38039a7 Port: b57a0d19 Bug: v8:11415 Change-Id: I18e9bdbf346daacbb53595e504f14a32aedcfc07 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2711725Reviewed-by: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn> Commit-Queue: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn> Auto-Submit: Liu yu <liuyu@loongson.cn> Cr-Commit-Position: refs/heads/master@{#72887}
-
Antoine du Hamel authored
This patch fixes a segmentation fault which occurs when using `--prof` flag on a Darwin ARM64 architecture. See https://github.com/nodejs/node/issues/36656 Change-Id: Idc3ce6c8fd8a24f76f1b356f629e37340045b51e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2609413Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#72886}
-
v8-ci-autoroll-builder authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/be4bea4..d6803e2 TBR=v8-waterfall-sheriff@grotations.appspotmail.com Change-Id: If28b7b4a648236a6c0509d54d8b9577244810777 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2710770Reviewed-by: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com> Commit-Queue: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com> Cr-Commit-Position: refs/heads/master@{#72885}
-
Liu Yu authored
code to keep the RSB balanced Besides, extract common code to MaybeOptimizeCodeOrTailCallOptimizedCode and cache the instance in a register, Port: af3c5307 Port: 89ea44bf Port: adf035fb Change-Id: I3fde5b0995ea8aa51faeb3fd743cebef748ba745 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2710212 Auto-Submit: Liu yu <liuyu@loongson.cn> Reviewed-by: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn> Commit-Queue: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn> Cr-Commit-Position: refs/heads/master@{#72884}
-
- 21 Feb, 2021 1 commit
-
-
v8-ci-autoroll-builder authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/6bdef69..be4bea4 Rolling v8/third_party/googletest/src: https://chromium.googlesource.com/external/github.com/google/googletest/+log/ec94d9f..5e0cf72 TBR=v8-waterfall-sheriff@grotations.appspotmail.com Change-Id: I5b1bd5569a251c594018544175e9bea45717415c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2709725Reviewed-by: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com> Commit-Queue: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com> Cr-Commit-Position: refs/heads/master@{#72883}
-
- 20 Feb, 2021 2 commits
-
-
Liu Yu authored
Besides, fix extra arguments when restarting frame. Port: 15f3392a Port: 94b294b3 Change-Id: Iaf6b1d6b3eda0ea90ed651b22bb9bd871a5edb36 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2710207Reviewed-by: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn> Commit-Queue: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn> Auto-Submit: Liu yu <liuyu@loongson.cn> Cr-Commit-Position: refs/heads/master@{#72882}
-
v8-ci-autoroll-builder authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/d9000c9..6bdef69 Rolling v8/third_party/aemu-linux-x64: SesU5Vh9_5Zm4yE0Qtuyv2VQ8UhCuhRMW3IkFgT7n0sC..GzdPpQtyS5ZFre4nU7kS8n0fu_RX5NV9C2PkWL0tWEYC Rolling v8/third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools/+log/f362f6f..011cc41 Rolling v8/third_party/googletest/src: https://chromium.googlesource.com/external/github.com/google/googletest/+log/1b0cdaa..ec94d9f TBR=v8-waterfall-sheriff@grotations.appspotmail.com Change-Id: I89453affc98266f4abeb3a4015d10d3cbe100baf Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2709547Reviewed-by: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com> Commit-Queue: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com> Cr-Commit-Position: refs/heads/master@{#72881}
-
- 19 Feb, 2021 16 commits
-
-
Bill Budge authored
This reverts commit ed225df7. Reason for revert: Blocks the roll, causing compile failures in Chromium: https://ci.chromium.org/p/chromium/builders/try/win_chromium_compile_dbg_ng/800868? Original change's description: > [objects] Cache the ExternalString's data in its resource > > For external uncached strings (also called "Small External Strings") > with cacheable resources, we can cache its resource's data at the > string's creation time. This allows us to safely read the data from the > background as we wouldn't trigger a data() callback. > > For more information regarding the investigation and possible proposals > see > https://docs.google.com/document/d/101eAQqFpBPWFGNJicxtdlwYShJkTOUsEuxkVVeu5Hrk/edit?usp=sharing > > Bug: v8:7790, v8:11463 > Change-Id: I6164092b01a6ccb525a9516f476e066b35fb1f96 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2685177 > Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Reviewed-by: Leszek Swirski <leszeks@chromium.org> > Cr-Commit-Position: refs/heads/master@{#72862} Bug: v8:7790 Bug: v8:11463 Change-Id: I1d14c2f9872d156d43d5d95c8a032a37ba9379cb No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2708824 Auto-Submit: Bill Budge <bbudge@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Bill Budge <bbudge@chromium.org> Reviewed-by: Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#72880}
-
Ng Zhi An authored
Use a slightly different instruction sequence for AVX, these instructions issue to different ports, resulting in less resource pressure. Full details in the bug. Bug: v8:11464 Change-Id: Ie915a532f7453bab5c458038e8da725aa0e5d55b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2703451Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#72879}
-
Frank Tang authored
v8::internal::JSDateTimeFormat::New Bug: chromium:1177812, chromium:1177623 Change-Id: I91e6babd796c6735e96e3cd1541d8aba51aaefee Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2706353 Commit-Queue: Frank Tang <ftang@chromium.org> Reviewed-by: Shu-yu Guo <syg@chromium.org> Cr-Commit-Position: refs/heads/master@{#72878}
-
Frank Tang authored
https://chromium.googlesource.com/external/github.com/tc39/test262/+log/fd27d1f5..f6034ebe Bug: v8:7834 Change-Id: Ia2d8f77e0140b213e65b63cda9a6e99370f59601 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2707327 Commit-Queue: Frank Tang <ftang@chromium.org> Reviewed-by: Shu-yu Guo <syg@chromium.org> Cr-Commit-Position: refs/heads/master@{#72877}
-
Milad Fa authored
Port b57a0d19 Original Commit Message: Extract code sequence into macro-assembler for reuse between Liftoff and TurboFan. There is a bit of register-aliasing checking due to the rather strict requirements for the code sequence depending on the CpuFetures that are supported. R=zhin@chromium.org, joransiu@ca.ibm.com, junyan@redhat.com, midawson@redhat.com BUG= LOG=N Change-Id: Ia7c8adf67ea04eda43966effe71919334da10b58 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2705157Reviewed-by: Junliang Yan <junyan@redhat.com> Commit-Queue: Milad Fa <mfarazma@redhat.com> Cr-Commit-Position: refs/heads/master@{#72876}
-
Ng Zhi An authored
Extract code sequence into macro-assembler for reuse between Liftoff and TurboFan. There is a bit of register-aliasing checking due to the rather strict requirements for the code sequence depending on the CpuFetures that are supported. Bug: v8:11415 Change-Id: Idbc0ca43475db5650d1747c8a741e9f11b80d8e3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2698063Reviewed-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@{#72875}
-
Thibaud Michaud authored
We always built a new Phi node for the delegate merge, which is incorrect when the target block's exception is already a Phi. Use CreateOrMergeIntoPhi instead. R=clemensb@chromium.org Bug: v8:11472 Change-Id: I8af3ab07d536ddfe247ace04cc844207d32adb99 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2707167Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/master@{#72874}
-
Michael Lippautz authored
Forced GCs are used in testing configurations and under memory pressure. Use atomic sweeping for C++ in those scenarios as testing GCs require that destructors are immediately invoked after the GC call. Bug: chromium:1056170 Change-Id: I03c13fa7a30cf74076807834c5e6d0c1fe52bb87 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2704543 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Omer Katz <omerkatz@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#72873}
-
Leszek Swirski authored
We had an off-by-one in the arm64 frame fill code due to double counting the register already pushed by the prologue. Bug: v8:11420 Change-Id: I9b4a3bcdc913886f0ba7a316f23f41eed3fc9311 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2707168 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Auto-Submit: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#72872}
-
Clemens Backes authored
This is the first part of exception handling support in Liftoff. For now, the only supported instruction is throw, and only with empty payload or only i32 values. R=thibaudm@chromium.org Bug: v8:11453 Change-Id: I9fdf1328ef46655674a05186fb93216518886d03 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2704659Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#72871}
-
Clemens Backes authored
Functions are easier to maintain and to debug than macros, hence transform the macro into a function. R=thibaudm@chromium.org Bug: v8:11384 Change-Id: I6a5a836e14c33dc3c2240b6b06edcb05c6514710 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2704074 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/master@{#72870}
-
Mike Stanton authored
Code objects are exposed through JSFunction and SharedFunctionInfo. If they are builtins, we don't have to worry about background threads seeing partially initialized code objects. If they are optimized code objects, we may. Background threads read the code fields with AcquireLoad semantics. The fields are set on the main thread with ReleaseStore semantics when appropriate. Special care is taken when setting an optimized code object in a closure in the interpreter entry stub. Since the MacroAssembler doesn't support ReleaseStore semantics, this CL ensures that the optimized code object is stored with those semantics in the feedback vector, where the interpreter entry stub finds it. Bug: v8:7790 Change-Id: I41ecedfe0e9d1ad5091cbe9a97f66c66ca9e07dd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2676633 Commit-Queue: Michael Stanton <mvstanton@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Santiago Aboy Solanes <solanes@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#72869}
-
Frank Emrich authored
This fixes a build failure when compiling swiss-hash-table-helpers.h on an SSE platform for a non-SSE target. Change-Id: Ifc9bfc6b31d84d0e5dcc544a8eee8d6ea6e0cd12 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2704675Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Frank Emrich <emrich@google.com> Cr-Commit-Position: refs/heads/master@{#72868}
-
Santiago Aboy Solanes authored
We can remove some of the method definitions, as well as the sloppy-ness from the method. Bug: v8:6949, v8:11384 Change-Id: I04880daa3fcce097b79009f12bd24128a47c2c80 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2690591Reviewed-by: Michael Stanton <mvstanton@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Mythri Alle <mythria@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#72867}
-
Clemens Backes authored
The interface descriptor can be looked by via the builtins name, hence we do not need the template parameter. This also removes redundancy (and potential errors) for passing the builtin name twice, via the template parameter and a function parameter. R=thibaudm@chromium.org Bug: v8:11384, v8:11453 Change-Id: Id4184a371e8ab8a66ff0b4eb65b4bd87f285149e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2704172Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#72866}
-
Toon Verwaest authored
Allocate an array big enough to store label data for each byte in the bytecode array. Use a linked list to store linked labels, and combine the list with a pointer for an unlinked label. Bug: v8:11429 Change-Id: Iadf00801f6ddd4460f7e0e1b53eee7be333f66e8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2704542 Commit-Queue: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#72865}
-