- 15 Sep, 2022 1 commit
-
-
Clemens Backes authored
Avoid the deprecated FLAG_* syntax, access flag values via the {v8_flags} struct instead. R=thibaudm@chromium.org Bug: v8:12887 Change-Id: Id2f457a1c0056d5015e2f9983d4599582d7189cd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3876185Reviewed-by:
Thibaud Michaud <thibaudm@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/main@{#83219}
-
- 04 Aug, 2022 1 commit
-
-
Lu Yahan authored
This is a reland of commit 491de34b co-authors: Ji Qiu <qiuji@iscas.ac.cn> Alvise De Faveri Tron <elvisilde@gmail.com> Usman Zain <uszain@gmail.com> Zheng Quan <vitalyankh@gmail.com> Original change's description: > [riscv32] Add RISCV32 backend > > This very large changeset adds support for RISCV32. > > Bug: v8:13025 > Change-Id: Ieacc857131e6620f0fcfd7daa88a0f8d77056aa9 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3736732 > Reviewed-by: Michael Achenbach <machenbach@chromium.org> > Commit-Queue: Yahan Lu <yahan@iscas.ac.cn> > Reviewed-by: ji qiu <qiuji@iscas.ac.cn> > Reviewed-by: Andreas Haas <ahaas@chromium.org> > Reviewed-by: Hannes Payer <hpayer@chromium.org> > Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> > Cr-Commit-Position: refs/heads/main@{#82053} Bug: v8:13025 Change-Id: I220fae4b8e2679bdc111724e08817b079b373bd5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3807124 Commit-Queue: Yahan Lu <yahan@iscas.ac.cn> Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Reviewed-by:
ji qiu <qiuji@iscas.ac.cn> Reviewed-by:
Hannes Payer <hpayer@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/main@{#82198}
-
- 05 May, 2022 1 commit
-
-
Peter Kasting authored
This prevents ambiguity errors in C++20 due to ADL when casting types in std::, which gains std::bit_cast<>(). Bug: chromium:1284275 Change-Id: I25046d1952a9304852e481ad8b84049c6769c289 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3625838 Auto-Submit: Peter Kasting <pkasting@chromium.org> Reviewed-by:
Adam Klein <adamk@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/main@{#80378}
-
- 22 Dec, 2021 1 commit
-
-
Lu Yahan authored
This commit allows using unaligned load/store, which is more efficient for 2 bytes,4 bytes and 8 bytes memory access. Use RISCV_HAS_NO_UNALIGNED to control whether enable the fast path or not. Change-Id: I1d321e6e5fa5bc31541c8dbfe582881d80743483 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3329803Reviewed-by:
ji qiu <qiuji@iscas.ac.cn> Commit-Queue: Yahan Lu <yahan@iscas.ac.cn> Cr-Commit-Position: refs/heads/main@{#78427}
-
- 21 Dec, 2021 1 commit
-
-
Lu Yahan authored
Port b36368d2 Change-Id: Icac5b041f2af423b2b81eab53bfc56644ca29374 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3347228Reviewed-by:
ji qiu <qiuji@iscas.ac.cn> Commit-Queue: ji qiu <qiuji@iscas.ac.cn> Cr-Commit-Position: refs/heads/main@{#78422}
-
- 28 Sep, 2021 1 commit
-
-
Lu Yahan authored
The intent of the RISC-V ISA is that 32-bit C values are stored sign extended in registers, even for unsigned types. So we skip cctest case RunLoadStoreZeroExtend64/RunUnalignedLoadStoreZeroExtend64 due to sign extend uint32 Change-Id: Icfe727916b1c04aad5681902ec4782cc98906964 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3184560Reviewed-by:
Ji Qiu <qiuji@iscas.ac.cn> Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Commit-Queue: Ji Qiu <qiuji@iscas.ac.cn> Cr-Commit-Position: refs/heads/main@{#77112}
-
- 28 May, 2021 1 commit
-
-
Lu Yahan authored
And add s10 to scratch_register_list. Clean up t* register used in macroassembler Bug: v8:7703 Change-Id: Ib8477cd7528b8c2a2297da3f46659f30af45286e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2914246Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Brice Dobry <brice.dobry@futurewei.com> Commit-Queue: Yahan Lu <yahan@iscas.ac.cn> Cr-Commit-Position: refs/heads/master@{#74841}
-
- 14 Apr, 2021 1 commit
-
-
QiuJi authored
Change-Id: I3828c6a854d09629784f481c76781003b4030993 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2814562Reviewed-by:
Brice Dobry <brice.dobry@futurewei.com> Commit-Queue: Brice Dobry <brice.dobry@futurewei.com> Cr-Commit-Position: refs/heads/master@{#73952}
-
- 09 Feb, 2021 1 commit
-
-
Brice Dobry authored
This very large changeset adds support for RISC-V. Bug: v8:10991 Change-Id: Ic997c94cc12bba6881bc208e66526f423dd0679c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2571344 Commit-Queue: Brice Dobry <brice.dobry@futurewei.com> Commit-Queue: Georg Neis <neis@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Reviewed-by:
Hannes Payer <hpayer@chromium.org> Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Reviewed-by:
Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/master@{#72598}
-
- 27 May, 2019 1 commit
-
-
Clemens Hammacher authored
This replaces all typedefs that define types and not functions by the equivalent "using" declaration. This was done mostly automatically using this command: ag -l '\btypedef\b' src test | xargs -L1 \ perl -i -p0e 's/typedef ([^*;{}]+) (\w+);/using \2 = \1;/sg' Patchset 2 then adds some manual changes for typedefs for pointer types, where the regular expression did not match. R=mstarzinger@chromium.org TBR=yangguo@chromium.org, jarin@chromium.org Bug: v8:9183 Change-Id: I6f6ee28d1793b7ac34a58f980b94babc21874b78 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1631409 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#61849}
-
- 23 May, 2019 1 commit
-
-
Yang Guo authored
TBR=bmeurer@chromium.org,leszeks@chromium.org Bug: v8:9247 Change-Id: I8d14d0192ea8c705f8274e8e61a162531826edb6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1624220Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Hannes Payer <hpayer@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#61769}
-
- 18 Feb, 2019 1 commit
-
-
Victor Costan authored
Googletest is (at last) converging with industry-standard terminology [1]. We previously called test suites "test cases", which was rather confusing for folks coming from any other testing framework. Chrome now has a googletest version that supports _TEST_SUITE_ macros instead of _TEST_CASE_, so this CL cleans up some of the outdated usage. [1] https://github.com/google/googletest/blob/master/googletest/docs/primer.md#beware-of-the-nomenclature Bug: chromium:925652 Change-Id: I3cd02b9fa6dbece1594bbfd50a21ad7503c2aab9 Reviewed-on: https://chromium-review.googlesource.com/c/1475654Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Victor Costan <pwnall@chromium.org> Cr-Commit-Position: refs/heads/master@{#59666}
-
- 12 Nov, 2018 1 commit
-
-
Ben L. Titzer authored
This CL splits the backend of TurboFan off into its own directory, without changing namespaces. This makes ownership management a bit more fine-grained with a logical separation. R=mstarzinger@chromium.org,jarin@chromium.org,adamk@chromium.org Change-Id: I2ac40d6ca2c4f04b8474b630aae0286ecf79ef42 Reviewed-on: https://chromium-review.googlesource.com/c/1308333 Commit-Queue: Ben Titzer <titzer@chromium.org> Reviewed-by:
Adam Klein <adamk@chromium.org> Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#57437}
-
- 02 Dec, 2017 1 commit
-
-
Mathias Bynens authored
This patch normalizes the casing of hexadecimal digits in escape sequences of the form `\xNN` and integer literals of the form `0xNNNN`. Previously, the V8 code base used an inconsistent mixture of uppercase and lowercase. Google’s C++ style guide uses uppercase in its examples: https://google.github.io/styleguide/cppguide.html#Non-ASCII_Characters Moreover, uppercase letters more clearly stand out from the lowercase `x` (or `u`) characters at the start, as well as lowercase letters elsewhere in strings. BUG=v8:7109 TBR=marja@chromium.org,titzer@chromium.org,mtrofin@chromium.org,mstarzinger@chromium.org,rossberg@chromium.org,yangguo@chromium.org,mlippautz@chromium.org NOPRESUBMIT=true Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: I790e21c25d96ad5d95c8229724eb45d2aa9e22d6 Reviewed-on: https://chromium-review.googlesource.com/804294 Commit-Queue: Mathias Bynens <mathias@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#49810}
-
- 01 Dec, 2017 1 commit
-
-
Clemens Hammacher authored
V8_INT64_C will be cleaned up in a follow-up CL. R=tebbi@chromium.org,mlippautz@chromium.org Bug: v8:7109 Change-Id: I6af97e7266039eb443896b404b77b8e2b5de5adb Reviewed-on: https://chromium-review.googlesource.com/803294Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#49790}
-
- 13 Sep, 2017 1 commit
-
-
Michael Starzinger authored
R=clemensh@chromium.org Cq-Include-Trybots: master.tryserver.v8:v8_linux_noi18n_rel_ng Change-Id: I3df5d50f81909188ee0cb31d0f479aadeeabe20f Reviewed-on: https://chromium-review.googlesource.com/662780Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#47991}
-
- 03 Aug, 2017 2 commits
-
-
Clemens Hammacher authored
For determining whether unaligned memory accessed is allowed, it is actually sufficient to pass the MachineRepresentation instead of the MachineType. As the MachineRepresentation is an enum, this allows to store the set of unsupported types as an EnumSet instead of std::vector. R=mstarzinger@chromium.org Change-Id: Ibe44717bae3a6034bae683057e80bd40d92e70ae Reviewed-on: https://chromium-review.googlesource.com/598790 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#47123}
-
Clemens Hammacher authored
The {alignment} parameter in {UnalignedLoadSupported} and {UnalignedStoreSupported} is never being used. This CL removes it from several interfaces and users. R=mstarzinger@chromium.org Change-Id: Iad5a638b7ed358beeed42f0ea7308dc04f1ed23e Reviewed-on: https://chromium-review.googlesource.com/598788Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#47115}
-
- 03 Jul, 2017 1 commit
-
-
Ilija Pavlovic authored
On Loongson 3A, MADD/MSUB instructions are actually fused MADD/MSUB and they can cause failure in some of the tests. Since this optimization is rarely used, and not used at all on MIPS64R6, MADD/MSUB instructions are removed from the source base. TEST= BUG= Change-Id: Ifbb5508a62731bb061f332864ffd1e210e97f963 Reviewed-on: https://chromium-review.googlesource.com/558066Reviewed-by:
Ivica Bogosavljevic <ivica.bogosavljevic@imgtec.com> Commit-Queue: Ivica Bogosavljevic <ivica.bogosavljevic@imgtec.com> Cr-Commit-Position: refs/heads/master@{#46387}
-
- 16 Jan, 2017 1 commit
-
-
predrag.rudic authored
BUG= Review-Url: https://codereview.chromium.org/2398993003 Cr-Commit-Position: refs/heads/master@{#42358}
-
- 15 Dec, 2016 1 commit
-
-
ivica.bogosavljevic authored
MIPS[64]R6 supports only fusion multiply-accumulate instructions, and using these causes failures of several tests that expect exact floating-point results. Therefore we disable fusion multiply-accumulate in both emitted and compiled code on R6. TEST=cctest/test-run-machops/RunFloat64MulAndFloat64Add1,mjsunit/es6/math-expm1.js mjsunit/es6/math-fround.js,mjsunit/compiler/multiply-add.js BUG= Review-Url: https://codereview.chromium.org/2569683002 Cr-Commit-Position: refs/heads/master@{#41717}
-
- 25 Nov, 2016 1 commit
-
-
marija.antic authored
Port 961a45da BUG= Review-Url: https://codereview.chromium.org/2505923002 Cr-Commit-Position: refs/heads/master@{#41284}
-
- 15 Nov, 2016 1 commit
-
-
dusan.simicic authored
Port 0322c20d Original commit message: When storing an immediate integer or floating point zero, use the zero register as the source value. This avoids the need to sometimes allocate a new register. BUG= Review-Url: https://codereview.chromium.org/2470133005 Cr-Commit-Position: refs/heads/master@{#40987}
-
- 11 Nov, 2016 1 commit
-
-
ulan authored
BUG=v8:5614 Review-Url: https://codereview.chromium.org/2493173002 Cr-Commit-Position: refs/heads/master@{#40916}
-
- 04 Nov, 2016 1 commit
-
-
ivica.bogosavljevic authored
Port f07d2cdd Original commit message: A load instruction will implicitely clear the top 32 bits when writing to a W register. This patch avoids generating a `mov` instruction to zero-extend the result in this case. For example, this occurs in the generated code for dispatching to the next bytecode in the interpreter: kind = BYTECODE_HANDLER name = LdaZero compiler = turbofan Instructions (size = 36) 0x32e64c60 0 add x19, x19, #0x1 (1) 0x32e64c64 4 ldrb w0, [x20, x19] 0x32e64c68 8 mov w0, w0 ^^^^^^^^^^ 0x32e64c6c 12 lsl x0, x0, #3 0x32e64c70 16 ldr x1, [x21, x0] 0x32e64c74 20 movz x0, #0x0 0x32e64c78 24 br x1 Review-Url: https://codereview.chromium.org/2469253002 Cr-Commit-Position: refs/heads/master@{#40758}
-
- 25 Oct, 2016 1 commit
-
-
ivica.bogosavljevic authored
Port dc6b5109 BUG= Review-Url: https://codereview.chromium.org/2437593006 Cr-Commit-Position: refs/heads/master@{#40567}
-
- 18 Oct, 2016 1 commit
-
-
ivica.bogosavljevic authored
MIPS64: Fix Word32Compare turbofan operator implementation when comparing signed with unsigned operand MIPS64 doesn't support Word32 compare instructions. Instead it relies that the values in registers are correctly sign-extended and uses Word64 comparison instead. This behavior is correct in most cases, but doesn't work when comparing signed with unsigned operands. The solution proposed here tries to match a comparison of signed with unsigned operand, and perform Word32Compare simulation only in those cases. Unfortunately, the solution is not complete because it might skip cases where Word32 compare simulation is needed, so basically it is a hack. BUG= TEST=mjsunit/compiler/uint32 Review-Url: https://codereview.chromium.org/2391393003 Cr-Commit-Position: refs/heads/master@{#40398}
-
- 22 Sep, 2016 1 commit
-
-
Ilija.Pavlovic authored
Port for VisitFloat32Add, VisitFloat64Add, VisitFloat32Sub and VisitFloat64Sub in InstructionSelector. TEST=unittests/InstructionSelectorTest.Float32AddWithFloat32Mul, unittests/InstructionSelectorTest.Float64AddWithFloat64Mul, unittests/InstructionSelectorTest.Float32SubWithFloat32Mul, unittests/InstructionSelectorTest.Float64SubWithFloat64Mul BUG= Review-Url: https://codereview.chromium.org/2341303002 Cr-Commit-Position: refs/heads/master@{#39616}
-
- 21 Sep, 2016 1 commit
-
-
marija.antic authored
Port of https://crrev.com/14a5c18cc35b2c55b37de3bd0ad27941cf21cb68 BUG= Review-Url: https://codereview.chromium.org/2355743003 Cr-Commit-Position: refs/heads/master@{#39582}
-
- 23 Aug, 2016 1 commit
-
-
Miran.Karic authored
Port 28e3467a (r38361) original commit message: Adding new methods to the code stub assembler and interpreter assembler to combine loading and untagging SMIs, so that on 64-bit architectures we can avoid loading the full 64 bits and load the 32 interesting bits directly instead. BUG= Review-Url: https://codereview.chromium.org/2265043002 Cr-Commit-Position: refs/heads/master@{#38811}
-
- 22 Jul, 2016 1 commit
-
-
bmeurer authored
So far we don't have a useful way to inline Math.max or Math.min in TurboFan optimized code. This adds new operators NumberMax and NumberMin and changes the Float64Max/Float64Min operators to have JavaScript semantics instead of the C++ semantics that it had previously. This also removes support for recognizing the tenary case in the CommonOperatorReducer, since that doesn't seem to have any positive impact (and actually doesn't show up in regular JavaScript, where people use Math.max/Math.min instead). Drive-by-fix: Also nuke the unused Float32Max/Float32Min operators. R=jarin@chromium.org Review-Url: https://codereview.chromium.org/2170343002 Cr-Commit-Position: refs/heads/master@{#37971}
-
- 13 Jul, 2016 1 commit
-
-
marija.antic authored
If operands are loaded as unsigned 32-bit integer, they need to be sign extended to 64 bits. TEST=cctest/test-run-machops/RunWord32AndAndWord32ShrP, cctest/test-run-machops/RunWord32OrP, cctest/test-run-machops/RunWord32ShrP, cctest/test-run-machops/RunWord32XorP BUG= Review-Url: https://codereview.chromium.org/2147883002 Cr-Commit-Position: refs/heads/master@{#37705}
-
- 18 Dec, 2015 1 commit
-
-
dusan.m.milosavljevic authored
TEST=unittests/InstructionSelectorTest.CombineChangeFloat32ToInt32WithRoundFloat32, ChangeFloat64ToInt32OfChangeFloat32ToFloat64, TruncateFloat64ToFloat32OfChangeInt32ToFloat64 BUG= Review URL: https://codereview.chromium.org/1520503002 Cr-Commit-Position: refs/heads/master@{#32969}
-
- 11 Dec, 2015 1 commit
-
-
jarin authored
Review URL: https://codereview.chromium.org/1513383003 Cr-Commit-Position: refs/heads/master@{#32803}
-
- 10 Dec, 2015 1 commit
-
-
jarin authored
MachineType is now a class with two enum fields: - MachineRepresentation - MachineSemantic Both enums are usable on their own, and this change switches some places from using MachineType to use just MachineRepresentation. Most notably: - register allocator now uses just the representation. - Phi and Select nodes only refer to representations. Review URL: https://codereview.chromium.org/1513543003 Cr-Commit-Position: refs/heads/master@{#32738}
-
- 07 Dec, 2015 1 commit
-
-
dusan.m.milosavljevic authored
TEST=unittests/InstructionSlectorTest.CombineChangeFloat64ToInt32WithRoundFloat64 BUG= Review URL: https://codereview.chromium.org/1510493002 Cr-Commit-Position: refs/heads/master@{#32668}
-
- 04 Dec, 2015 1 commit
-
-
dusan.m.milosavljevic authored
TEST=unittests/InstructionSelectorTest.Word(32|64)ShlWithWord(32|64)And BUG= Review URL: https://codereview.chromium.org/1496013003 Cr-Commit-Position: refs/heads/master@{#32612}
-
- 01 Dec, 2015 2 commits
-
-
dusan.m.milosavljevic authored
TEST=unittests/InstructionSelectorTest.Word(32|64)AndToClearBits BUG= Review URL: https://codereview.chromium.org/1485023004 Cr-Commit-Position: refs/heads/master@{#32479}
-
dusan.m.milosavljevic authored
Xori instruction can only have unisgned 16-bit immediates for right input, as such it is not suitable for bit negation on mips. TEST=unittests/InstructionSecetorTest.Word(32|64)XorMinusOneWithParameter BUG= Review URL: https://codereview.chromium.org/1485833003 Cr-Commit-Position: refs/heads/master@{#32478}
-
- 20 Nov, 2015 1 commit
-
-
dusan.m.milosavljevic authored
TEST=unittests/InstructionSelectorTest.Word32XorMinusOneWithWord32Or, Word64XorMinusOneWithWord64Or BUG= Review URL: https://codereview.chromium.org/1459723002 Cr-Commit-Position: refs/heads/master@{#32149}
-