- 01 Jul, 2020 1 commit
-
-
Victor Gomes authored
This changes the default scope info for SyntheticFunctionContexts to the EmptyScopeInfo which does not contain an extension slot. The bug happened because, previously, the native context scope info was used as dummy. Change-Id: I4d6bf6918c11c79201d16bde99ed76800ad6f6c5 Bug: v8:10629 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2277806 Commit-Queue: Victor Gomes <victorgomes@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Auto-Submit: Victor Gomes <victorgomes@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#68636}
-
- 30 Jun, 2020 1 commit
-
-
Daniel Clifford authored
Also should address minor performance regressions for instance types that should (and used to) use map compare rather than instance_type comparison. In the process, convert a bunch of IsXXX methods from the CSA into exported Torque methods that call through to the Cast<> to ensure there is only a single implementation of the type checkers. Also clean up and remove duplicate/redundant code and unused Torque imports. Bug: v8:7793, chromium:1098481 Change-Id: I3cd5146d913bb75bab4f73415b1b94bc30924725 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2270545 Commit-Queue: Daniel Clifford <danno@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#68621}
-
- 23 Jun, 2020 1 commit
-
-
Daniel Clifford authored
This change enables automatic generation of Cast<> operators for classes that are defined in Torque. * Cast<> macros are generated for all classes that are defined in Torque code that are neither shapes nor marked with a new @doNotGenerateCast annotation. * Implicitly generated Cast macros simply call through to an internally-defined "DownCastForTorqueClass" macro that implements the cast using one of three strategies for efficiency. If the class has subclasses (i.e. a range of instance types including subtypes), the DownCastForTorqueClass checks for inclusion in the instance type range. If the class has a single instance type (i.e. no subclasses), then either 1) a map check is used if the class has a globally- defined map constant or 2) an equality check for the instance type is used. * Added new intrinsics to introspect class information, e.g. fetching instance type ranges for a class, accessing the globally-defined map for a class. * Removed a whole pile of existing explicit Cast<> operators that are no longer needed because of the implicitly generated Cast<> macros. * Added tests for the new Cast<> implementations. Bug: v8:7793 Change-Id: I3aadb0c62b720e9de4e7978b9ec4f05075771b8b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2250239 Commit-Queue: Daniel Clifford <danno@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#68478}
-
- 30 May, 2020 1 commit
-
-
Tobias Tebbi authored
Bug: chromium:1086890 Change-Id: I8345f209d8f4e40a57df166664f403a6cf6c6652 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2222346 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Auto-Submit: Tobias Tebbi <tebbi@chromium.org> Reviewed-by:
Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/master@{#68085}
-
- 28 May, 2020 3 commits
-
-
Mike Stanton authored
Bug: v8:8906 Change-Id: Ie83540f9dd9448a09c5a8af0c7b7e1ea58aaf497 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2110029Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/master@{#68040}
-
Nico Hartmann authored
This is a reland of 6204768b The original issue exposed the problem that NumberEqual performs implicit conversion of oddballs to numbers, which is incorrect for abstract equality comparison (i.e. 0 == null must not be true). This reland fixes this by applying the following steps: * Introduced a new kNumberOrBoolean value for CompareOperationFeedback, CompareOperationHint, TypeCheckKind and CheckedTaggedInputMode. * In CodeStubAssembler::Equal: Further distinguish between boolean and non-boolean oddballs and set feedback accoringly. * In JSTypedLowering: Construct [Speculative]NumberEqual operator with CompareOperationHint::kNumberOrBoolean, when this feedback is present. JSOperatorBuilder and operator cache are extended accordingly. * In SimplifiedLowering: Propagate a UseInfo with new TypeCheckKind::kNumberOrBoolean. * This leads to the generation of CheckedTaggedToFloat64 in RepresentationChanger with new CheckedTaggedInputMode::kNumberOrBoolean. * In EffectControlLinearizer: Handle this new mode. Accept and convert number and boolean and deopt for rest. Original change's description: > [turbofan] Improve equality on NumberOrOddball > > This CL cleans up CompareOperationFeedback by replacing it with a > composable set of flags. The interpreter is changed to collect > more specific feedback for abstract equality, especially if oddballs > are involved. > > TurboFan is changed to construct SpeculativeNumberEqual operator > instead of the generic JSEqual in many more cases. This change has > shown a local speedup of a factor of 3-10, because the specific > operator is way faster than calling into the generic builtin, but > it also enables additional optimizations, further improving > runtime performance. > > Bug: v8:5660 > Change-Id: I856752caa707e9a4f742c6e7a9c75552fb431d28 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2162854 > Reviewed-by: Mythri Alle <mythria@chromium.org> > Reviewed-by: Georg Neis <neis@chromium.org> > Commit-Queue: Nico Hartmann <nicohartmann@chromium.org> > Cr-Commit-Position: refs/heads/master@{#67645} TBR: tebbi@chromium.org Bug: v8:5660 Change-Id: I12e733149a1d2773cafb781a1d4b10aa1eb242a7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2193713 Commit-Queue: Georg Neis <neis@chromium.org> Reviewed-by:
Mythri Alle <mythria@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#68037}
-
Marja Hölttä authored
See https://github.com/tc39/proposal-promise-any/pull/64/ Bug: v8:9808 Change-Id: I5f11a5e306d17372ba7c24f313165de985444470 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2214826 Commit-Queue: Marja Hölttä <marja@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Maya Lekova <mslekova@chromium.org> Reviewed-by:
Shu-yu Guo <syg@chromium.org> Cr-Commit-Position: refs/heads/master@{#68034}
-
- 27 May, 2020 3 commits
-
-
Santiago Aboy Solanes authored
Bug: v8:9708, v8:6949 Change-Id: I80fa9b813d6ce80e52a42a02b42f8c98e2f3f75f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2212267 Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Reviewed-by:
Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#68016}
-
Santiago Aboy Solanes authored
Bug: v8:9708, v8:6949 Change-Id: Id3eeab803d50c95d53eef1806859b85e857c4d2b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2212266Reviewed-by:
Mythri Alle <mythria@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#68010}
-
Santiago Aboy Solanes authored
Also remove a version that was only used once. Bug: v8:9708, v8:6949 Change-Id: Ifd65af3866a3740d8da6d4501445b25a48d7219a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2212264Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#68006}
-
- 26 May, 2020 1 commit
-
-
Victor Gomes authored
This CL is a step towards reversing JS stack arguments for TurboFan. It does the following: 1. Add StackOrder to CallInterfaceDescriptor 2. Reverse arguments in TF backend for JS calls. 3. Cleanup TFJ builtins interface descriptors, since calls for these builtins already reverse the arguments, we don't need to reverse the interface descriptor anymore. Change-Id: Ie840b1757bf023aa381a7fa01cbe66e7cf90778f Bug: v8:10201 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2213440Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Victor Gomes <victorgomes@chromium.org> Cr-Commit-Position: refs/heads/master@{#67971}
-
- 22 May, 2020 1 commit
-
-
Seth Brenith authored
Sometimes CSA code carefully constructs a mask to check several bitfields at once. Thus far, such a check has been very awkward to write in Torque. This change adds a way to do so, using the non-short-circuiting binary `&` operator. So now you can write an expression that depends on several bitfields from a bitfield struct, like `x.a == 5 & x.b & !x.c & x.d == 2` (assuming b is a one-bit value), and it will be reduced to a single mask and equality check. To demonstrate a usage of this new reduction, this change ports the trivial macro IsSimpleObjectMap to Torque. I manually verified that the generated code for the builtin SetDataProperties, which uses that macro, is unchanged. Bug: v8:7793 Change-Id: I4a23e0005d738a6699ea0f2a63f9fd67b01e7026 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2183276 Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#67948}
-
- 21 May, 2020 3 commits
-
-
Santiago Aboy Solanes authored
Some non-templated uses remain until further TNodification. Bug: v8:9708, v8:6949 Change-Id: Ica841f95a6ddfbdea78589f9db47c5b4126497f5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2212263 Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#67943}
-
Santiago Aboy Solanes authored
Bug: v8:9708, v8:6949 Change-Id: Ia57ba7e0e24f5f402147246981ba1a1c30295abf Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2212262Reviewed-by:
Mythri Alle <mythria@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#67942}
-
Santiago Aboy Solanes authored
Bug: v8:9708, v8:6949 Change-Id: I60237b03a474a9d8e30bf48b6d9196a07fb81171 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2212261Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#67941}
-
- 19 May, 2020 4 commits
-
-
Bill Budge authored
- Ports all conversions that Torque can handle (without weird linkage.) - Moves NumberToString to number:: namespace. - Moves ToStringImpl to string:: namespace. Bug: v8:9891 Change-Id: I5190c545952e1d9810ca71ae7ff4a807d2d98781 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2205192 Commit-Queue: Bill Budge <bbudge@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#67903}
-
Santiago Aboy Solanes authored
Bug: v8:9708, v8:10506, v8:6949 Change-Id: I701ad51273e14db8a5185ff130e8d8593dce1ba4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2202911Reviewed-by:
Mythri Alle <mythria@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#67890}
-
Santiago Aboy Solanes authored
Return type still needs TNodification. It can be Object or Float64T. Bug: v8:10506, v8:6949 Change-Id: I71e7ae28f3039b2e1c5c2a5c2e383c335cdec38a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2204281Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#67887}
-
Santiago Aboy Solanes authored
Used to be named FastFixedArrayForEachBody. Rename to remove the 'fixed' part since it can also be a PropertyArray (i.e not a FixedArray). Rename BuildFastFixedArrayForEach to also remove the 'fixed'. Bug: v8:10506, v8:6949 Change-Id: I840edf802d334b9ca930f3022553c476e2dca34a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2202910Reviewed-by:
Dan Elphick <delphick@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#67886}
-
- 18 May, 2020 3 commits
-
-
Jakob Gruber authored
... and other unused methods. Bug: v8:9708 Change-Id: Ie3658878024fcddcd5503c6462e5ad873eba19b0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2206733 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Auto-Submit: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#67859}
-
Santiago Aboy Solanes authored
Bug: v8:10506 Change-Id: I171a587176f4a1a3c98d407e8b6a3b63bbf1ad6a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2202993 Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Reviewed-by:
Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#67852}
-
Santiago Aboy Solanes authored
To do this: * Create specialized ParameterToTagged versions of Smi and IntPtT * Unify and generalize ExtractFixedArray Bug: v8:9708, v8:10506 Change-Id: Ic23c6f4bb250076f12d6e8622ebc0b4d4cbeaac8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2202982Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#67851}
-
- 13 May, 2020 1 commit
-
-
Camillo Bruni authored
This CL locally improves Number.toString by 5% for the slow case where the number is not found in the cache. - Introduce NumberCacheMode to avoid needless querying of the cache - Allow for some more inlining Bug: v8:10477 Change-Id: I4163e85db587ab3a6e89c126f81f6095fdb02b2a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2172793Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#67768}
-
- 11 May, 2020 2 commits
-
-
Igor Sheludko authored
... when the element is read-only in one of the prototypes: * the length should not be updated, * in strict mode the store operation should throw TypeError. Bug: chromium:1055138 Change-Id: I7fc08e22c83f8a9848053cfe20851dc1b82f0e3d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2172090 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#67717}
-
Jakob Gruber authored
Collecting feedback for {Call,InstanceOf,Construct} is similar but distressingly different. In preparation for adding a CollectConstructFeedback helper, this CL ports {Call,InstanceOf} feedback collection to Torque. Bug: v8:8888 Change-Id: Iaacc137ef46a77a4fe2857ec41c5cc30614dfdf0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2187497Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#67703}
-
- 08 May, 2020 1 commit
-
-
Nico Hartmann authored
This reverts commit 6204768b. Reason for revert: A number of Clusterfuzz reports (e.g. https://bugs.chromium.org/p/chromium/issues/detail?id=1079474) Original change's description: > [turbofan] Improve equality on NumberOrOddball > > This CL cleans up CompareOperationFeedback by replacing it with a > composable set of flags. The interpreter is changed to collect > more specific feedback for abstract equality, especially if oddballs > are involved. > > TurboFan is changed to construct SpeculativeNumberEqual operator > instead of the generic JSEqual in many more cases. This change has > shown a local speedup of a factor of 3-10, because the specific > operator is way faster than calling into the generic builtin, but > it also enables additional optimizations, further improving > runtime performance. > > Bug: v8:5660 > Change-Id: I856752caa707e9a4f742c6e7a9c75552fb431d28 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2162854 > Reviewed-by: Mythri Alle <mythria@chromium.org> > Reviewed-by: Georg Neis <neis@chromium.org> > Commit-Queue: Nico Hartmann <nicohartmann@chromium.org> > Cr-Commit-Position: refs/heads/master@{#67645} TBR=rmcilroy@chromium.org,neis@chromium.org,mythria@chromium.org,nicohartmann@chromium.org Change-Id: I3410310ed2b1ff2eaee70c1b91c3151d35866108 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:5660 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2190414Reviewed-by:
Nico Hartmann <nicohartmann@chromium.org> Commit-Queue: Nico Hartmann <nicohartmann@chromium.org> Cr-Commit-Position: refs/heads/master@{#67673}
-
- 07 May, 2020 1 commit
-
-
Nico Hartmann authored
This CL cleans up CompareOperationFeedback by replacing it with a composable set of flags. The interpreter is changed to collect more specific feedback for abstract equality, especially if oddballs are involved. TurboFan is changed to construct SpeculativeNumberEqual operator instead of the generic JSEqual in many more cases. This change has shown a local speedup of a factor of 3-10, because the specific operator is way faster than calling into the generic builtin, but it also enables additional optimizations, further improving runtime performance. Bug: v8:5660 Change-Id: I856752caa707e9a4f742c6e7a9c75552fb431d28 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2162854Reviewed-by:
Mythri Alle <mythria@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Commit-Queue: Nico Hartmann <nicohartmann@chromium.org> Cr-Commit-Position: refs/heads/master@{#67645}
-
- 06 May, 2020 1 commit
-
-
Leszek Swirski authored
Bug: v8:10391 Change-Id: I4e86394c53d02eab797c2daad2ccfde6acb83bf0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2151350 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Nico Hartmann <nicohartmann@chromium.org> Cr-Commit-Position: refs/heads/master@{#67619}
-
- 05 May, 2020 1 commit
-
-
Dan Elphick authored
Also makes memory-chunk.h accessible from outside heap which allows removal of some heap-inl.h includes. Bug: v8:10473, v8:10496 Change-Id: Iec4fc5ce8ad201f6ee5fd924cc3cd935324429fc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2172088 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Auto-Submit: Dan Elphick <delphick@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#67551}
-
- 04 May, 2020 1 commit
-
-
Igor Sheludko authored
Bug: v8:10391 Change-Id: I316a3c5cd986a74d7f46da6d0b85cb3d549be497 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2153209 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#67533}
-
- 01 May, 2020 1 commit
-
-
Igor Sheludko authored
Bug: v8:10391 Change-Id: If1db52dc74f9027f06104ce719514b751b4d9504 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2149417 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#67515}
-
- 29 Apr, 2020 1 commit
-
-
Tobias Tebbi authored
This is a reland of 43b885a8 This fixes another signed overflow in the unit test. Original change's description: > Reland "[turbofan][csa] optimize Smi untagging better" > > This is a reland of ff22ae80 > > Original change's description: > > [turbofan][csa] optimize Smi untagging better > > > > - Introduce new operator variants for signed right-shifts with the > > additional information that they always shift out zeros. > > - Use these new operators for Smi untagging. > > - Merge left-shifts with a preceding Smi-untagging shift. > > - Optimize comparisons of Smi-untagging shifts to operate on the > > unshifted word. > > - Optimize 64bit comparisons of values expanded from 32bit to use > > a 32bit comparison instead. > > - Change CodeStubAssembler::UntagSmi to first sign-extend and then > > right-shift to enable better address computations for Smi indices. > > > > Bug: v8:9962 > > Change-Id: If91300f365e8f01457aebf0bd43bdf88b305c460 > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2135734 > > Commit-Queue: Tobias Tebbi <tebbi@chromium.org> > > Reviewed-by: Georg Neis <neis@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#67378} > > Bug: v8:9962 > Change-Id: Ieab0755806c95fb50022eb17596fb0c95f36004c > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2170001 > Commit-Queue: Tobias Tebbi <tebbi@chromium.org> > Commit-Queue: Georg Neis <neis@chromium.org> > Auto-Submit: Tobias Tebbi <tebbi@chromium.org> > Reviewed-by: Georg Neis <neis@chromium.org> > Cr-Commit-Position: refs/heads/master@{#67430} Bug: v8:9962 TBR: neis@chromium.org Change-Id: I79883db546bf37873b3727b8023ef688507091d9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2169103 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#67464}
-
- 28 Apr, 2020 3 commits
-
-
Clemens Backes authored
This reverts commit 43b885a8. Reason for revert: Still fails on UBSan: https://ci.chromium.org/p/v8/builders/ci/V8%20Linux64%20UBSan/10873 Original change's description: > Reland "[turbofan][csa] optimize Smi untagging better" > > This is a reland of ff22ae80 > > Original change's description: > > [turbofan][csa] optimize Smi untagging better > > > > - Introduce new operator variants for signed right-shifts with the > > additional information that they always shift out zeros. > > - Use these new operators for Smi untagging. > > - Merge left-shifts with a preceding Smi-untagging shift. > > - Optimize comparisons of Smi-untagging shifts to operate on the > > unshifted word. > > - Optimize 64bit comparisons of values expanded from 32bit to use > > a 32bit comparison instead. > > - Change CodeStubAssembler::UntagSmi to first sign-extend and then > > right-shift to enable better address computations for Smi indices. > > > > Bug: v8:9962 > > Change-Id: If91300f365e8f01457aebf0bd43bdf88b305c460 > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2135734 > > Commit-Queue: Tobias Tebbi <tebbi@chromium.org> > > Reviewed-by: Georg Neis <neis@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#67378} > > Bug: v8:9962 > Change-Id: Ieab0755806c95fb50022eb17596fb0c95f36004c > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2170001 > Commit-Queue: Tobias Tebbi <tebbi@chromium.org> > Commit-Queue: Georg Neis <neis@chromium.org> > Auto-Submit: Tobias Tebbi <tebbi@chromium.org> > Reviewed-by: Georg Neis <neis@chromium.org> > Cr-Commit-Position: refs/heads/master@{#67430} TBR=neis@chromium.org,tebbi@chromium.org Change-Id: I49e19811ebcecb846f61291bc0c4a0d8b0bc4cff No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:9962 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2168876Reviewed-by:
Clemens Backes <clemensb@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#67431}
-
Tobias Tebbi authored
This is a reland of ff22ae80 Original change's description: > [turbofan][csa] optimize Smi untagging better > > - Introduce new operator variants for signed right-shifts with the > additional information that they always shift out zeros. > - Use these new operators for Smi untagging. > - Merge left-shifts with a preceding Smi-untagging shift. > - Optimize comparisons of Smi-untagging shifts to operate on the > unshifted word. > - Optimize 64bit comparisons of values expanded from 32bit to use > a 32bit comparison instead. > - Change CodeStubAssembler::UntagSmi to first sign-extend and then > right-shift to enable better address computations for Smi indices. > > Bug: v8:9962 > Change-Id: If91300f365e8f01457aebf0bd43bdf88b305c460 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2135734 > Commit-Queue: Tobias Tebbi <tebbi@chromium.org> > Reviewed-by: Georg Neis <neis@chromium.org> > Cr-Commit-Position: refs/heads/master@{#67378} Bug: v8:9962 Change-Id: Ieab0755806c95fb50022eb17596fb0c95f36004c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2170001 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Auto-Submit: Tobias Tebbi <tebbi@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#67430}
-
Jakob Gruber authored
This reverts the changes made in https://chromium-review.googlesource.com/c/v8/v8/+/1695465 https://chromium-review.googlesource.com/c/v8/v8/+/1776078 We originally moved this protector to the native context to avoid cross-native-context pollution of protector state. Ideally, invalidating a protector in one NC should not affect any other NC. But as it turns out, having the protector on the NC causes more problems than it solves since all affected callers now need to find the correct native context to check. Sometimes (e.g. in CSA regexp builtins) it is possible to blindly check the current NC, but the reasoning behind this optimization is tricky to understand. Sometimes, fetching the correct NC is not possible due to access restrictions. These implementation complexities outweigh the (unknown) potential performance benefits. In the future we should attempt to move away from the protector concept for these kinds of checks. Bug: chromium:1069964,v8:9463 Change-Id: I2cbb2ec7266282165dae5e4a6c8bdbda520c50a9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2157382Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Dominik Inführ <dinfuehr@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#67415}
-
- 24 Apr, 2020 2 commits
-
-
Bill Budge authored
This reverts commit ff22ae80. Reason for revert: new test fails on UBSAN https://ci.chromium.org/p/v8/builders/ci/V8%20Linux64%20UBSan/10831 Original change's description: > [turbofan][csa] optimize Smi untagging better > > - Introduce new operator variants for signed right-shifts with the > additional information that they always shift out zeros. > - Use these new operators for Smi untagging. > - Merge left-shifts with a preceding Smi-untagging shift. > - Optimize comparisons of Smi-untagging shifts to operate on the > unshifted word. > - Optimize 64bit comparisons of values expanded from 32bit to use > a 32bit comparison instead. > - Change CodeStubAssembler::UntagSmi to first sign-extend and then > right-shift to enable better address computations for Smi indices. > > Bug: v8:9962 > Change-Id: If91300f365e8f01457aebf0bd43bdf88b305c460 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2135734 > Commit-Queue: Tobias Tebbi <tebbi@chromium.org> > Reviewed-by: Georg Neis <neis@chromium.org> > Cr-Commit-Position: refs/heads/master@{#67378} TBR=neis@chromium.org,tebbi@chromium.org Change-Id: I2617d7a44e5ae33fd79322d37c8b722c00162d22 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:9962 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2165873Reviewed-by:
Bill Budge <bbudge@chromium.org> Commit-Queue: Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#67380}
-
Tobias Tebbi authored
- Introduce new operator variants for signed right-shifts with the additional information that they always shift out zeros. - Use these new operators for Smi untagging. - Merge left-shifts with a preceding Smi-untagging shift. - Optimize comparisons of Smi-untagging shifts to operate on the unshifted word. - Optimize 64bit comparisons of values expanded from 32bit to use a 32bit comparison instead. - Change CodeStubAssembler::UntagSmi to first sign-extend and then right-shift to enable better address computations for Smi indices. Bug: v8:9962 Change-Id: If91300f365e8f01457aebf0bd43bdf88b305c460 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2135734 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#67378}
-
- 23 Apr, 2020 2 commits
-
-
Bill Budge authored
- Use the new builtin to convert f32 to Number, rather than changing to f64, then calling f64 to Number. Bug: v8:10070 Change-Id: I9a0660af8f5e517c2c6691d57d665b7e6316a51b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2111714 Commit-Queue: Bill Budge <bbudge@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#67342}
-
Seth Brenith authored
This change allows Torque code to initialize bitfield structs, using the same syntax as struct initialization. It also moves the definition of the JSPromise flags to Torque as an example usage. Bug: v8:7793 Change-Id: I3d5e49aa22139ffb4b8ea9f308dd36a2d22b2c1b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2148176 Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#67338}
-
- 22 Apr, 2020 1 commit
-
-
Marja Hölttä authored
There's no reason for it to be a JSArray; it's an internal data member. We only have a slow version for constructing a FixedArray from an Iterable, but since this is not a performance critical code path, it's fine. BUG=v8:9808 Change-Id: I5bcfac4cc545880966421a96d3aa3d899bbf6cd5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2157371Reviewed-by:
Igor Sheludko <ishell@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#67321}
-