- 07 Dec, 2018 2 commits
-
-
Sathya Gunasekaran authored
Bug: v8:7834 Change-Id: I2b1444eded3d2917bf67f5077f35daccdbbbb951 Reviewed-on: https://chromium-review.googlesource.com/c/1367125Reviewed-by: Adam Klein <adamk@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#58079}
-
Sven Sauleau authored
This is a reland of 0e8f20d2 Original change's description: > [wasm] fix js-api interface > > Make sure WebAssembly's js-api exposes the correct attributes: writable, > enumerable and configurable. > > Bug: v8:8319 > Change-Id: I427533159d7975a42c0c5cb1babdc8a61f8198b5 > Reviewed-on: https://chromium-review.googlesource.com/c/1351002 > Commit-Queue: Adam Klein <adamk@chromium.org> > Reviewed-by: Adam Klein <adamk@chromium.org> > Reviewed-by: Ben Smith <binji@chromium.org> > Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> > Cr-Commit-Position: refs/heads/master@{#58053} Bug: v8:8319 Change-Id: I2d0af568edab295ad8c01b64e588bbabf89bd251 Reviewed-on: https://chromium-review.googlesource.com/c/1365273Reviewed-by: Adam Klein <adamk@chromium.org> Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Deepti Gandluri <gdeepti@chromium.org> Cr-Commit-Position: refs/heads/master@{#58078}
-
- 06 Dec, 2018 20 commits
-
-
Dmitry Gozman authored
This reverts commit d9fbfeb8. Reason for revert: see bug. Bug: 906847 Original change's description: > inspector: return [[StableObjectId]] as internal property > > This property might be useful for fast '===' check. > > R=dgozman@chromium.org,yangguo@chromium.org > > Bug: none > Cq-Include-Trybots: luci.chromium.try:linux_chromium_headless_rel;luci.chromium.try:linux_chromium_rel_ng;master.tryserver.blink:linux_trusty_blink_rel > Change-Id: Iabc3555ce1ec2c14cf0ccd40b7d964ae144e7352 > Reviewed-on: https://chromium-review.googlesource.com/1226411 > Reviewed-by: Dmitry Gozman <dgozman@chromium.org> > Reviewed-by: Yang Guo <yangguo@chromium.org> > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> > Cr-Commit-Position: refs/heads/master@{#56095} TBR=dgozman@chromium.org,yangguo@chromium.org,kozyatinskiy@chromium.org,jgruber@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: none Change-Id: I68c700b7b8fd0a015f099460c15665d74e4da183 Cq-Include-Trybots: luci.chromium.try:linux_chromium_headless_rel;luci.chromium.try:linux_chromium_rel_ng;master.tryserver.blink:linux_trusty_blink_rel Reviewed-on: https://chromium-review.googlesource.com/c/1363558Reviewed-by: Dmitry Gozman <dgozman@chromium.org> Reviewed-by: Alexei Filippov <alph@chromium.org> Cr-Commit-Position: refs/heads/master@{#58077}
-
Igor Sheludko authored
because attempt to decompress the off-heap map slot will fail. Bug: v8:7703 Change-Id: Iad3884fb95ccb17b2992d190acb5914062a0e8f4 Reviewed-on: https://chromium-review.googlesource.com/c/1365286Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#58076}
-
Igor Sheludko authored
to make TSAN happy. Bug: v8:8518 Change-Id: I1c7291cc6035c7e88758d867cb74467c59e95ef1 No-Tree-Checks: true Reviewed-on: https://chromium-review.googlesource.com/c/1365285Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#58075}
-
Dan Elphick authored
Since RO_SPACE strings cannot be written to after creation, they cannot be internalized later. This adds checks to normal string construction methods that they are not created with TENURED_READ_ONLY. Also changes the Symbol construction in setup-heap-internal.cc to use internalized strings, which increases the number of internalized RO_SPACE strings from 490 to 514 (915 including OLD_SPACE). Bug: chromium:911416 Change-Id: I222ff883e98f3a2f4ce70d369f22273f5c9edb0b Reviewed-on: https://chromium-review.googlesource.com/c/1365279Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#58074}
-
Igor Sheludko authored
which will require different handling for compressed pointers case. Bug: v8:8518 Change-Id: I99cb103bad57b134ecb8d7dd7018cf16ed3d8f25 Reviewed-on: https://chromium-review.googlesource.com/c/1365272Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#58073}
-
Ulan Degenbaev authored
The main change is about tracking typed slots locally in each concurrent marking thread. This generalizes the old LiveBytesMap to MemoryChunkData, which now contains the live bytes and the typed slots. With that in place it is straightforward to mark code concurrently. Bug: v8:8459 Change-Id: I103fff0ad39beadea5151a1d8519f5d3c6602e58 Reviewed-on: https://chromium-review.googlesource.com/c/1337747 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Hannes Payer <hpayer@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#58072}
-
Jaroslav Sevcik authored
There is no fast path for 0-length substrings, which implied runtime calls for some of the trickier types of strings (such as non-flat cons-strings). This made for a big performance gap between String.p.slice and String.p.substring for those inputs. This CL just adds the 0-length shortcut in CSA implementation of SubString. Here is an example where it makes difference: let s = "abcdefghijkalmnopqrst"; let a = ""; console.time("Substring"); for (let i = 0; i < 100000; i++) { s += "0"; a += s.substring(0, 0); } console.timeEnd("Substring"); Before this change: > console.timeEnd: Substring, 640.308000 After this change: > console.timeEnd: Substring, 13.242000 For completeness, here is the time for slice: > console.timeEnd: Slice, 13.142000 This also recovers performance in the jsdom library, as observed in https://github.com/jsdom/jsdom/issues/2350. Bug: v8:6730 Change-Id: I7d2127e4506a86ec2a7ed378293476c3699dc47a Reviewed-on: https://chromium-review.googlesource.com/c/1365282 Commit-Queue: Jaroslav Sevcik <jarin@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#58071}
-
Mythri authored
Bug: v8:8394 Change-Id: If9af9f3c79e442f6e384934e005ae5d82b0d358b Reviewed-on: https://chromium-review.googlesource.com/c/1365277Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Mythri Alle <mythria@chromium.org> Cr-Commit-Position: refs/heads/master@{#58070}
-
Jakob Gruber authored
Fixes https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8%20Linux%20-%20noembed%20-%20debug/781. Failing since https://crrev.com/c/1360630. Tbr: yangguo@chromium.org Bug: v8:7777 Change-Id: Ia9adfa9340087dfcd74c966c40a54176081f6933 Reviewed-on: https://chromium-review.googlesource.com/c/1365276Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#58069}
-
tzik authored
This replaces Runtime_RunMicrotasks with Runtime_PerformMicrotaskCheckpoint. RunMicrotasks forcibly runs Microtasks even when the microtasks are suppressed, and may causes nested Microtasks in a problematic way. E.g. that confuses v8::MicrotasksScope::IsRunningMicrotasks() and GetEnteredOrMicrotaskContext(). OTOH, PerformMicrotaskCheckpoint() doesn't run cause the failure as it respects the microtask suppressions. As all existing tests don't call RunMicrotasks() in the suppressed situation (like Promise.resolve().then(()=>{%RunMicrotasks();})), this change should not affect to these tests. Change-Id: Ib043a0cc8e482e022d375084d65ea98a6f54ef3d Reviewed-on: https://chromium-review.googlesource.com/c/1360095Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Taiju Tsuiki <tzik@chromium.org> Cr-Commit-Position: refs/heads/master@{#58068}
-
Frank Tang authored
Bug: v8:8525 Change-Id: I42764afbb419825fe6af504a641a78dbb127f30c Reviewed-on: https://chromium-review.googlesource.com/c/1355629 Commit-Queue: Frank Tang <ftang@chromium.org> Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by: Jungshik Shin <jshin@chromium.org> Cr-Commit-Position: refs/heads/master@{#58067}
-
Jaroslav Sevcik authored
Currently, if we lower to a pure computation that is unreachable because of some runtime check, we just rename it with DeadValue. This is problematic if the pure computation gets later eliminated - that allows the DeadValue node float above the check that makes it dead. As we conservatively lower DeadValues to debug-break (i.e., crash), we might induce crash where we should not. With this CL, whenever we lower an impossible effectful node (i.e., with Type::None) to a pure node in simplified lowering, we insert an Unreachable node there (pinned to the effect chain) and mark the impossible node dead (and make it depend on the Unreachable node). Bug: chromium:910838 Change-Id: I218991c79b9e283a9dd5beb4d3f0c4664be76cb2 Reviewed-on: https://chromium-review.googlesource.com/c/1365274Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#58066}
-
Jakob Gruber authored
In preparation for converting JSEntry into a builtin. The root register used to be initialized by an embedded external reference, which is not isolate-independent. Pass in its value explicitly instead. Tbr: clemensh@chromium.org Bug: v8:7777 Change-Id: If9d20cb193af175bd1cf58e5826bdf6f397869ad Reviewed-on: https://chromium-review.googlesource.com/c/1363139Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#58065}
-
Jakob Gruber authored
A spec change to simplify IsRegExp has been proposed: https://github.com/tc39/ecma262/pull/1318 This CL adds use counters for cases in which the spec change would alter behavior: 1. o[@@match] is trueish but o is not a JSRegExp 2. o[@@match] is falseish (but not undefined) and o is a JSRegExp This is the V8 side of required changes. The Chromium-side CL: https://crrev.com/c/1360730 Drive-by: TNodeify IsRegExp. Tbr: yangguo@chromium.org Bug: v8:8522 Change-Id: I3766e02977f256a80d0e59472d3bafa9c692af9e Reviewed-on: https://chromium-review.googlesource.com/c/1360630Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by: Mathias Bynens <mathias@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#58064}
-
Jakob Gruber authored
This addresses follow-up comments to https://crrev.com/c/1354887/. Use DCHECKs instead of CHECKs and make the branch order consistent across architectures. Bug: v8:7777 Change-Id: I5c3f8f5ac97b55fa80662bc211aff7833ff12bfa Reviewed-on: https://chromium-review.googlesource.com/c/1362912 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#58063}
-
Michael Achenbach authored
TBR=santa Change-Id: If6722b455219d5113ddbfe1a97e9178e7fad63c9 Reviewed-on: https://chromium-review.googlesource.com/c/1365271Reviewed-by: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#58062}
-
Clemens Hammacher authored
This reverts commit 0e8f20d2. Reason for revert: Breaks layout tests, blocks roll: https://ci.chromium.org/p/chromium/builders/luci.chromium.try/linux-blink-rel/3047 Original change's description: > [wasm] fix js-api interface > > Make sure WebAssembly's js-api exposes the correct attributes: writable, > enumerable and configurable. > > Bug: v8:8319 > Change-Id: I427533159d7975a42c0c5cb1babdc8a61f8198b5 > Reviewed-on: https://chromium-review.googlesource.com/c/1351002 > Commit-Queue: Adam Klein <adamk@chromium.org> > Reviewed-by: Adam Klein <adamk@chromium.org> > Reviewed-by: Ben Smith <binji@chromium.org> > Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> > Cr-Commit-Position: refs/heads/master@{#58053} TBR=binji@chromium.org,adamk@chromium.org,gdeepti@chromium.org,ssauleau@igalia.com Change-Id: I16fa44a0e79020850613751ae45a68d67602166d No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:8319 Reviewed-on: https://chromium-review.googlesource.com/c/1365270Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#58061}
-
v8-ci-autoroll-builder authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/9c85c83..9fee3d5 Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/58f2981..a8f4725 Rolling v8/third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools/+log/f28ef98..9875e18 Rolling v8/tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang/+log/0dea619..f6641a3 Rolling v8/tools/luci-go:infra/tools/luci/isolate/${platform}: https://chrome-infra-packages.appspot.com/infra/tools/luci/isolate/${platform}/+log/git_rev..git_rev TBR=machenbach@chromium.org,hablich@chromium.org,sergiyb@chromium.org Change-Id: I944970e96d4db2531431643cf54d3369ea977b49 Reviewed-on: https://chromium-review.googlesource.com/c/1364711 Commit-Queue: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com> Reviewed-by: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com> Cr-Commit-Position: refs/heads/master@{#58060}
-
Deepti Gandluri authored
Change-Id: Id221faecc9873cb0dbbd89777e055884158dbfb3 Reviewed-on: https://chromium-review.googlesource.com/c/1364370Reviewed-by: Adam Klein <adamk@chromium.org> Commit-Queue: Deepti Gandluri <gdeepti@chromium.org> Cr-Commit-Position: refs/heads/master@{#58059}
-
Sathya Gunasekaran authored
The prefix size is read from the Derived class. The hash code of the object will be stored in this prefix. Change-Id: I15646701c9bab99b8aed39ea9ad8ae03f6d605ed Bug: v8:6443, v8:7569 Reviewed-on: https://chromium-review.googlesource.com/c/1337586 Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#58058}
-
- 05 Dec, 2018 18 commits
-
-
Igor Sheludko authored
Bug: v8:8518 Change-Id: I39db0adbd84627491bcb653b90de724eb988d383 Reviewed-on: https://chromium-review.googlesource.com/c/1363145 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#58057}
-
Igor Sheludko authored
and 1) make them represent kSystemPointerSize-sized off-heap slots, 2) reintroduce XxxSlots as an on-heap kTaggedSize-sized slots (for now they are just aliases to respective FullXxxSlots). Bug: v8:8518 Change-Id: I8a9177562308bd9420b1eebca959cc52ceaa628e Reviewed-on: https://chromium-review.googlesource.com/c/1363144 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#58056}
-
Clemens Hammacher authored
A WasmModuleObject represents an instance of WebAssembly.Module. It is called WasmModuleObject internally, so also use that name externally. We still have a typedef for WasmCompiledModule which will be deprecated once chromium has been updated to use WasmModuleObject. R=titzer@chromium.org, adamk@chromium.org Bug: v8:8238, chromium:912031 Change-Id: I2d7708d4dc183cb4f4714f741b1ea0c153014430 Reviewed-on: https://chromium-review.googlesource.com/c/1362048Reviewed-by: Adam Klein <adamk@chromium.org> Reviewed-by: Ben Titzer <titzer@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#58055}
-
Junliang Yan authored
Port cfdf6ff8 R=jgruber@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: I8821b82f181a44b70272d770703136983d821d1c Reviewed-on: https://chromium-review.googlesource.com/c/1363449Reviewed-by: Joran Siu <joransiu@ca.ibm.com> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#58054}
-
Sven Sauleau authored
Make sure WebAssembly's js-api exposes the correct attributes: writable, enumerable and configurable. Bug: v8:8319 Change-Id: I427533159d7975a42c0c5cb1babdc8a61f8198b5 Reviewed-on: https://chromium-review.googlesource.com/c/1351002 Commit-Queue: Adam Klein <adamk@chromium.org> Reviewed-by: Adam Klein <adamk@chromium.org> Reviewed-by: Ben Smith <binji@chromium.org> Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Cr-Commit-Position: refs/heads/master@{#58053}
-
Tobias Tebbi authored
Bug: v8:7793 Change-Id: I12aae5d61a21f3e6e010e07622fe0d01a5ba03eb Reviewed-on: https://chromium-review.googlesource.com/c/1344118 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Daniel Clifford <danno@chromium.org> Cr-Commit-Position: refs/heads/master@{#58052}
-
Caitlin Potter authored
A fancy new stdlib addition for creating JSObjects from a collection of key/value pairs, coming soon to a javascript runtime near you. BUG=v8:8021 R=gsathya@chromium.org, adamk@chromium.org Change-Id: I5eb1dea75bfef009281eef9864c8c0226af4f1fc Reviewed-on: https://chromium-review.googlesource.com/c/1363293Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Caitlin Potter <caitp@igalia.com> Cr-Commit-Position: refs/heads/master@{#58051}
-
Ulan Degenbaev authored
Even though descriptor arrays are references by maps in the old generation, they seems to be short living in benchmarks. This fixes perf regressions introduced in 1ad0cd56. Bug:chromium:911073,chromium:910567,chromium:910443, Change-Id: Iaf933d409e72c6c26df48f6435f9543224ea7d67 Reviewed-on: https://chromium-review.googlesource.com/c/1363146Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#58050}
-
Daniel Clifford authored
Intrinsic changes: - Rename %RawCast to %RawObjectCast and add error checking so that it only applies to subtypes of Objects. - Add %RawPointerCast, which is similar to %RawObjectCast but must be used for all subtypes of RawPtr. - Add %RawConstexprCast, which allows one constexpr to be be cast to another at compile time. It translate to an appropriate static_cast in the generated code - Add %FromConstexpr, which handles most of the standard cases of generating XXXConstant CSA nodes from constexpr constants. It uses either SmiConstant, NumberConstant, StringConstant, IntPtrConstant or Int32Constant, depending on the cast-to type generic <To> type. - Add support for intrinsics that return constexpr results. Cleanup: - Turn FromConstexpr into a generic with two generic types, a <To> and a <From> type. Most FromConstexpr can use the new %FromConstexpr intrinsic rather than provide an explicit implementation. Bug: v8:7793 Change-Id: Icab5db16d203034ec157fa3ad5157d10c7dc8464 Reviewed-on: https://chromium-review.googlesource.com/c/1357049 Commit-Queue: Daniel Clifford <danno@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#58049}
-
Predrag Rudic authored
This implementation uses mutex to implement those instructions. I will add 32-bit version LL/SC after review. Change-Id: I7b0e2b42527bc21060a84eb5e27099e129f2858f Reviewed-on: https://chromium-review.googlesource.com/c/1354462Reviewed-by: Sreten Kovacevic <skovacevic@wavecomp.com> Commit-Queue: Predrag Rudic <prudic@wavecomp.com> Cr-Commit-Position: refs/heads/master@{#58048}
-
Peter Marshall authored
Large code objects are allocated in CODE_LO_SPACE on the heap instead of CODE_SPACE. Add a test that checks that these objects are still considered 'InV8' according to the unwinder API. Bug: v8:8116 Change-Id: I65968913cd92858fac2b1a689df2904d0574641f Reviewed-on: https://chromium-review.googlesource.com/c/1363134Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Peter Marshall <petermarshall@chromium.org> Cr-Commit-Position: refs/heads/master@{#58047}
-
Peter Marshall authored
If the size of a large code object is larger than kMaxRegularHeapObjectSize, then it should be allocated in the large code space. Currently if the size is > kMaxRegularHeapObjectSize but < 512000, then it can still be allocated in the normal code space. Change-Id: I72dbd38803c3d5d414bae85e9e0b15482e50e1c2 Reviewed-on: https://chromium-review.googlesource.com/c/1363137Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Peter Marshall <petermarshall@chromium.org> Cr-Commit-Position: refs/heads/master@{#58046}
-
Clemens Hammacher authored
We currently compute this value from the size of the external table, which we get from the Isolate. This size is isolate-independent though, so it can just be a constant. R=mstarzinger@chromium.org Bug: chromium:912043 Change-Id: If1c09a56b1a985b855f5b65818322979c194d772 Reviewed-on: https://chromium-review.googlesource.com/c/1362954Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#58045}
-
Andreas Haas authored
The existing implementation embedded an isolate-specific pointer to the thread-in-wasm flag in the wrapper code. However, when the module code is shared among multiple workers, this can mean that the workers share the same thread-in-wasm flag. With this change we load the pointer to the flag at runtime from the current isolate. Thereby the correct flag is used even when the same code is executed on different workers. Note that we could access the right flag address by going through the root register. However, changing the code generation to use the root register requires some inconvenient steps: * Pass the isolate to the pipeline again, which we don't want. * Change the WasmCallDescriptor to allow the use of the root register for wrappers but not for other code. To avoid these issues, and allow the CL to be easy to merge back, we got for the changes proposed here. R=mstarzinger@chromium.org, ishell@chromium.org Bug: v8:8533 Change-Id: If15565a7ad7cba835cfc1628e7a4d3fdef90a5c0 Reviewed-on: https://chromium-review.googlesource.com/c/1358518 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#58044}
-
Ben L. Titzer authored
If the input memory index into an atomic operation is a constant, we can statically check if the {index+offset} is aligned. R=herhut@chromium.org Change-Id: Ia830d7c7df10d50ed4ee3382acfef776306f249c Reviewed-on: https://chromium-review.googlesource.com/c/1362872 Commit-Queue: Ben Titzer <titzer@chromium.org> Reviewed-by: Stephan Herhut <herhut@chromium.org> Cr-Commit-Position: refs/heads/master@{#58043}
-
Michael Achenbach authored
NOTRY=true TBR=sergiyb@chromium.org Bug: v8:8552 Change-Id: I096146072915f2d5baf5d4469421696cf31d72c2 Reviewed-on: https://chromium-review.googlesource.com/c/1363136Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#58042}
-
Sergiy Belozorov authored
TBR=sergiyb@chromium.org Bug: chromium:907752 Change-Id: I06ef5a7e2cb96ebd0912c535e0ad7d8360831bbb Reviewed-on: https://chromium-review.googlesource.com/c/1362040Reviewed-by: Sergiy Belozorov <sergiyb@chromium.org> Commit-Queue: Sergiy Belozorov <sergiyb@chromium.org> Cr-Commit-Position: refs/heads/master@{#58041}
-
Yang Guo authored
Bug: chromium:905940, chromium:907343 R=verwaest@chromium.org Change-Id: Ibe8f06782f8a0bf9a09832d443e1c66c3bda8399 Reviewed-on: https://chromium-review.googlesource.com/c/1362046Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#58040}
-