- 13 Aug, 2020 1 commit
-
-
Shu-yu Guo authored
This reached consensus in the March 2020 TC39. https://github.com/tc39/ecma262/pull/1908 This aligns JS with wasm, which allows atomics operations on non-shared linear memory. Bug: v8:10687, v8:9921 Change-Id: I7b60473b271cee6bccb342e97a4fd3781aedddb4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2330802 Commit-Queue: Shu-yu Guo <syg@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#69392}
-
- 06 Aug, 2019 1 commit
-
-
Joshua Litt authored
This cl makes IsLockFree return true for 8 bytes on x64 platforms. The standard is unfortunately a bit vague on what exactly 'lock free' means. As a result, we err on the side of caution. We can revisit this, but first we need the specification to nail down exactly what 'lock free' in this context. Bug: v8:8100 Change-Id: I0a6099c6cb95a5581f3e71d0267857b88b4a2f0a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1735592 Commit-Queue: Joshua Litt <joshualitt@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#63099}
-
- 12 Apr, 2017 1 commit
-
-
binji authored
It's required by the spec -- and observable -- that the index be validated before the conversion of the value(s) via ToInteger. The previous implementation also had an old test for validating the atomic index, which has now been switched to ToIndex. This also exposed an issue in the ia32 code generator: cmpxchg_b requires a byte register, but the ia32 instruction selector was ensuring that the new_value was a byte register, not the TempRegister. This change forces the temp register to use edx, which always can be used as a byte register (dl). This is the same behavior as currently used in UseByteRegister. BUG=v8:4614 R=jarin@chromium.org,jkummerow@chromium.org Review-Url: https://codereview.chromium.org/2814753003 Cr-Commit-Position: refs/heads/master@{#44626}
-
- 31 Jan, 2017 1 commit
-
-
binji authored
BUG=v8:4741 Review-Url: https://codereview.chromium.org/2658143003 Cr-Commit-Position: refs/heads/master@{#42822}
-
- 03 May, 2016 1 commit
-
-
binji authored
BUG=v8:4614 R=bmeurer@chromium.org,jarin@chromium.org LOG=n Review-Url: https://codereview.chromium.org/1938213002 Cr-Commit-Position: refs/heads/master@{#35993}
-
- 13 Apr, 2016 2 commits
-
-
binji authored
Reland of (https://codereview.chromium.org/1617503003) * New atomic code stubs for x64, ia32, arm, arm64 * Add convenience functions JumpIfNotValidSmiValue, JumpIfUintNotValidSmiValue to macro-assembler-ia32 (API based on x64 macro assembler) * Remove runtime implementation of Atomics.load, the code stub should always be called instead * Add new test to mjsunit atomics test; check that Smi values of different sizes are supported when possible, else fall back to HeapNumbers These changes were needed to add another codestub: * Bump kStubMajorKeyBits from 7 to 8 * Reduce ScriptContextFieldStub::kSlotIndexBits from 13 to 12 BUG=v8:4614 LOG=y TBR=jarin@chromium.org,bmeurer@chromium.org,rodolph.perfetta@gmail.com,machenbach@chromium.org Review URL: https://codereview.chromium.org/1617503003 Cr-Commit-Position: refs/heads/master@{#35427} Review URL: https://codereview.chromium.org/1881383003 Cr-Commit-Position: refs/heads/master@{#35453}
-
machenbach authored
Revert of [Atomics] code stubs for atomic operations (patchset #28 id:530001 of https://codereview.chromium.org/1617503003/ ) Reason for revert: [Sheriff] Roll was reverted. Please fix unused methods, see: https://codereview.chromium.org/1884913002/ https://build.chromium.org/p/tryserver.chromium.win/builders/win_clang/builds/5585/steps/compile%20%28with%20patch%29/logs/stdio Original issue's description: > [Atomics] code stubs for atomic operations > > * New atomic code stubs for x64, ia32, arm, arm64 > * Add convenience functions JumpIfNotValidSmiValue, JumpIfUintNotValidSmiValue > to macro-assembler-ia32 (API based on x64 macro assembler) > * Remove runtime implementation of Atomics.load, the code stub should always be > called instead > * Add new test to mjsunit atomics test; check that Smi values of different > sizes are supported when possible, else fall back to HeapNumbers > > These changes were needed to add another codestub: > * Bump kStubMajorKeyBits from 7 to 8 > * Reduce ScriptContextFieldStub::kSlotIndexBits from 13 to 12 > > BUG=v8:4614 > LOG=y > > Committed: https://crrev.com/10b5febe11b318cfef130abae343183ac862e60d > Cr-Commit-Position: refs/heads/master@{#35427} TBR=jarin@chromium.org,bmeurer@chromium.org,rodolph.perfetta@gmail.com,binji@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:4614 Review URL: https://codereview.chromium.org/1884883003 Cr-Commit-Position: refs/heads/master@{#35443}
-
- 12 Apr, 2016 1 commit
-
-
binji authored
* New atomic code stubs for x64, ia32, arm, arm64 * Add convenience functions JumpIfNotValidSmiValue, JumpIfUintNotValidSmiValue to macro-assembler-ia32 (API based on x64 macro assembler) * Remove runtime implementation of Atomics.load, the code stub should always be called instead * Add new test to mjsunit atomics test; check that Smi values of different sizes are supported when possible, else fall back to HeapNumbers These changes were needed to add another codestub: * Bump kStubMajorKeyBits from 7 to 8 * Reduce ScriptContextFieldStub::kSlotIndexBits from 13 to 12 BUG=v8:4614 LOG=y Review URL: https://codereview.chromium.org/1617503003 Cr-Commit-Position: refs/heads/master@{#35427}
-
- 25 Mar, 2016 1 commit
-
-
binji authored
BUG=v8:4737 LOG=n R=jarin@chromium.org Review URL: https://codereview.chromium.org/1676613002 Cr-Commit-Position: refs/heads/master@{#35074}
-
- 18 Nov, 2015 1 commit
-
-
pan.deng authored
BUG=497295 LOG=n Review URL: https://codereview.chromium.org/1422533009 Cr-Commit-Position: refs/heads/master@{#32064}
-
- 15 Sep, 2015 1 commit
-
-
binji authored
R=jarin@chromium.org Review URL: https://codereview.chromium.org/1318713007 Cr-Commit-Position: refs/heads/master@{#30755}
-
- 01 Sep, 2015 1 commit
-
-
binji authored
Having both flags is tedious, and it is unlikely you'd ever want them separately. R=jarin@chromium.org Review URL: https://codereview.chromium.org/1304163010 Cr-Commit-Position: refs/heads/master@{#30523}
-
- 14 Jul, 2015 1 commit
-
-
binji authored
The length property can be monkey-patched, so use the native function instead. R=jarin@chromium.org BUG= Review URL: https://codereview.chromium.org/1227913006 Cr-Commit-Position: refs/heads/master@{#29653}
-
- 13 Jul, 2015 1 commit
-
-
binji authored
R=jarin@chromium.org Review URL: https://codereview.chromium.org/1232243002 Cr-Commit-Position: refs/heads/master@{#29625}
-
- 22 Jun, 2015 1 commit
-
-
binji authored
BUG=chromium:497295 R=jarin@chromium.org LOG=n Review URL: https://codereview.chromium.org/1201543002 Cr-Commit-Position: refs/heads/master@{#29199}
-
- 03 Jun, 2015 1 commit
-
-
binji authored
This is behind the flag "--harmony-atomics", and it only works on SharedArrayBuffers. This implementation only includes the runtime functions. The TurboFan implementation will be next. The draft spec for Atomics can be found here: https://docs.google.com/document/d/1NDGA_gZJ7M7w1Bh8S0AoDyEqwDdRh4uSoTPSNn77PFk BUG= LOG=n Review URL: https://codereview.chromium.org/1162503002 Cr-Commit-Position: refs/heads/master@{#28796}
-