- 06 Aug, 2020 2 commits
-
-
Tobias Tebbi authored
This is a reland of 408e7240 Change: Allow CSA load elimination accross code comments Original change's description: > [torque] typed context slot access > > This introduces a new type Slot<ContextType, SlotType> that is used > for enum values used to access context slots. > Together with new types for the various custom contexts used in > Torque, this results in fairly type-safe access to context slots, > including the NativeContext's slots. > > Drive-by changes: > - Introduce a new header file to specify headers needed for > generated CSA headers, to reduce the amount of includes specified > in implementation-visitor.cc > - Port AllocateSyntheticFunctionContext to Torque. > > Bug: v8:7793 > Change-Id: I509a128916ca408eeeb636a9bcc376b2cc868532 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2335064 > Commit-Queue: Tobias Tebbi <tebbi@chromium.org> > Reviewed-by: Seth Brenith <seth.brenith@microsoft.com> > Cr-Commit-Position: refs/heads/master@{#69249} Bug: v8:7793 Change-Id: I1fe100d8d62e8220524eddb8ecc4faa85219748d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2339462Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#69264}
-
Jakob Gruber authored
This reverts commit 408e7240. Reason for revert: debug builds fail is_component_build = true is_debug = true use_goma = true v8_enable_backtrace = true v8_enable_debugging_features = true v8_enable_fast_mksnapshot = true v8_enable_slow_dchecks = true v8_enable_snapshot_code_comments = true v8_enable_verify_csa = true v8_optimized_debug = false v8_use_multi_snapshots = false # Fatal error in ../../src/compiler/backend/instruction-selector.cc, line 3088 # Expected Turbofan static assert to hold, but got non-true input: static_assert(nativeContext == LoadNativeContext(context)) at src/builtins/promise-resolve.tq:45:5 Original change's description: > [torque] typed context slot access > > This introduces a new type Slot<ContextType, SlotType> that is used > for enum values used to access context slots. > Together with new types for the various custom contexts used in > Torque, this results in fairly type-safe access to context slots, > including the NativeContext's slots. > > Drive-by changes: > - Introduce a new header file to specify headers needed for > generated CSA headers, to reduce the amount of includes specified > in implementation-visitor.cc > - Port AllocateSyntheticFunctionContext to Torque. > > Bug: v8:7793 > Change-Id: I509a128916ca408eeeb636a9bcc376b2cc868532 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2335064 > Commit-Queue: Tobias Tebbi <tebbi@chromium.org> > Reviewed-by: Seth Brenith <seth.brenith@microsoft.com> > Cr-Commit-Position: refs/heads/master@{#69249} TBR=tebbi@chromium.org,seth.brenith@microsoft.com Change-Id: I90c014022a808449aca4a9b9b3c3b8e036beb28e No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:7793 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2340903Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#69256}
-
- 05 Aug, 2020 1 commit
-
-
Tobias Tebbi authored
This introduces a new type Slot<ContextType, SlotType> that is used for enum values used to access context slots. Together with new types for the various custom contexts used in Torque, this results in fairly type-safe access to context slots, including the NativeContext's slots. Drive-by changes: - Introduce a new header file to specify headers needed for generated CSA headers, to reduce the amount of includes specified in implementation-visitor.cc - Port AllocateSyntheticFunctionContext to Torque. Bug: v8:7793 Change-Id: I509a128916ca408eeeb636a9bcc376b2cc868532 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2335064 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by:
Seth Brenith <seth.brenith@microsoft.com> Cr-Commit-Position: refs/heads/master@{#69249}
-
- 12 May, 2020 1 commit
-
-
Tobias Tebbi authored
Bug: v8:7793 Change-Id: Id2a93f8ac8c512dbc5cdeb43a97e04d8d6684954 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2196130 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#67748}
-
- 24 Apr, 2020 1 commit
-
-
Shu-yu Guo authored
Normative spec change: https://github.com/tc39/ecma262/pull/1814 Bug: v8:10382 Change-Id: Ib17ece9f0c8f75702c828b5336e75cab5d173e5e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2163876 Commit-Queue: Shu-yu Guo <syg@chromium.org> Reviewed-by:
Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#67376}
-
- 18 Dec, 2019 1 commit
-
-
Nico Hartmann authored
This CL implements enums in Torque in three steps: 1.) It implements necessary changes to Torque's type system. In particular, the constraints on constexpr types are relaxed such that constexpr types can exist without a corresponding non-constexpr version. Furthermore, constexpr and their non-constexpr counterpart need not be of the same kind of type. This allows an AbstractType to have a UnionType as its non-constexpr counterpart. 2.) The enum feature itself is realized as a pure desugaring in the parser, where all required types, constants and macro specializations (like FromConstexpr<>) are generated from a simple enum declaration, such that enum entries are not just constants, but are namespace scoped and have distinct types so that they can be used within typeswitch constructs. 3.) Almost all of the existing constants defined in torque (.tq files) are ported to new enum definitions. Bug: v8:10053 Change-Id: I72426d3b1434f301fd690847e15603de0dc1021b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1964392 Commit-Queue: Nico Hartmann <nicohartmann@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#65503}
-
- 18 Jul, 2019 1 commit
-
-
Z Nguyen-Huu authored
Reflect.deleteProperty now is a Torque builtins, also containing fast path for proxy object. Bug: v8:6664 Change-Id: I76d6fba2c9d05d991132957783d987a190585ec8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1704943 Commit-Queue: Z Nguyen-Huu <duongn@microsoft.com> Reviewed-by:
Simon Zünd <szuend@chromium.org> Reviewed-by:
Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#62813}
-
- 27 Jun, 2019 1 commit
-
-
Z Nguyen-Huu authored
ObjectSetPrototypeOf and ReflectSetPrototypeOf are now Torque builtins (previously CPP) and the Proxy path is implemented completely in Torque while everything else calls into runtime (and is thus a bit slower than previously). Perf improvement in micro-benchmark JSTests/Proxies Before: SetPrototypeOfWithoutTrap-Proxies(Score): 120 SetPrototypeOfWithTrap-Proxies(Score): 112 After: SetPrototypeOfWithoutTrap-Proxies(Score): 131 SetPrototypeOfWithTrap-Proxies(Score): 127 Bug: v8:6664 Change-Id: I630096e1964c91d1ec39e19f380a2e9e948de4bb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1669787 Commit-Queue: Z Nguyen-Huu <duongn@microsoft.com> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#62402}
-
- 19 Jun, 2019 1 commit
-
-
Tobias Tebbi authored
This disallows using CSA macros from Torque that have a Node* return type instead of TNode<>. By enforcing CSA types at the boundary between CSA and Torque, we can ensure that the Torque types and the CSA types match. As a drive-by, this CL adds a bit more of CSA typing where it made sense. Bug: v8:7793, v8:6949 Change-Id: I12ea0337c628105ea3c420be747ae50d3a172547 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1660481 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#62293}
-
- 18 Jun, 2019 1 commit
-
-
Z Nguyen-Huu authored
ObjectGetPrototypeOf and ReflectGetPrototypeOf are now Torque builtins (previously CPP) and the Proxy path is implemented completely in Torque while everything else calls into runtime (and is thus a bit slower than previously). Perf improvement in micro-benchmark JSTests/Proxies Before: GetPrototypeOfWithoutTrap-Proxies(Score): 1876 GetPrototypeOfWithTrap-Proxies(Score): 857 After: GetPrototypeOfWithoutTrap-Proxies(Score): 2810 GetPrototypeOfWithTrap-Proxies(Score): 3197 Bug: v8:6664 Change-Id: If60dda67d6e90c2d6f0ec743f6cb7c0fff54d607 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1658717 Commit-Queue: Z Nguyen-Huu <duongn@microsoft.com> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#62256}
-
- 12 Jun, 2019 1 commit
-
-
Z Nguyen-Huu authored
ObjectPreventExtensions and ReflectPreventExtensions are now Torque builtins (previously CPP) and the Proxy path is implemented completely in Torque while everything else calls into runtime (and is thus a bit slower than previously). Perf improvement in micro-benchmark JSTests/Proxies Before: PreventExtensionsWithoutTrap-Proxies(Score): 1978 PreventExtensionsWithTrap-Proxies(Score): 739 After: PreventExtensionsWithoutTrap-Proxies(Score): 3017 PreventExtensionsWithTrap-Proxies(Score): 2044 Bug: v8:6664 Change-Id: I6505d730cea6b0d197f6f5d0540b39056c8b763d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1652688 Commit-Queue: Z Nguyen-Huu <duongn@microsoft.com> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#62130}
-
- 06 Jun, 2019 1 commit
-
-
Simon Zünd authored
This CL adds lint errors when 'let' bindings, arguments and labels are not used. Note that errors for 'const' bindings will be added later. In cases where arguments are actually needed to match the signature, the warning can be silenced by prefixing identifiers with "_". This might be needed for generic specializations or builtins called from TurboFan. Trying to use a variable or label that was marked with "_" results in a compilation error. Implicit arguments are not linted. They are implemented using exact string matching. Prefixing an implicit argument with "_" in a callee would break all callers as the names would no longer match. Drive-by: Fix all new lint errors in the existing Torque code. Bug: v8:7793 Change-Id: I68b3c59c76b956e9f88709e9388a40a19546ce52 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1645092 Commit-Queue: Simon Zünd <szuend@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Reviewed-by:
Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#62027}
-
- 05 Jun, 2019 1 commit
-
-
Z Nguyen-Huu authored
ObjectIsExtensible is now a Torque builtin (previously CPP) and the Proxy path is implemented completely in Torque while everything else calls into runtime (and is thus a bit slower than previously). Improvement in micro-benchmark Before: IsExtensibleWithoutTrap-Proxies(Score): 2228 IsExtensibleWithTrap-Proxies(Score): 917 After: IsExtensibleWithoutTrap-Proxies(Score): 3683 IsExtensibleWithTrap-Proxies(Score): 3310 Bug: v8:6664 Change-Id: I1fbe1c51cb724a23d7a59fc8231bb3d1461a6add Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1637444 Commit-Queue: Z Nguyen-Huu <duongn@microsoft.com> Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#62006}
-
- 15 May, 2019 1 commit
-
-
Z Duong Nguyen-Huu authored
Refactor CheckHasTrapResult as well. Spec: https://tc39.github.io/ecma262/#sec-proxy-object-internal-methods-and-internal-slots-hasproperty-p Bug: v8:6664 Change-Id: Iaa9c1cb46ab4f7c8139dfe1380b3ec807a4719ee Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1610215Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Maya Lekova <mslekova@chromium.org> Commit-Queue: Z Nguyen-Huu <duongn@microsoft.com> Cr-Commit-Position: refs/heads/master@{#61546}
-
- 14 May, 2019 1 commit
-
-
Z Duong Nguyen-Huu authored
Reverted CL is in https://chromium-review.googlesource.com/c/v8/v8/+/1585269 This includes fix for ThrowTypeErrorIfStrict and add regression test. Spec: https://tc39.github.io/ecma262/#sec-proxy-object-internal-methods-and-internal-slots-set-p-v-receiver Bug: v8:6664, v8:9234 Change-Id: I785df3f12f619e2e0fe7b011b72043758e4083e3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1604071Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Maya Lekova <mslekova@chromium.org> Commit-Queue: Z Nguyen-Huu <duongn@microsoft.com> Cr-Commit-Position: refs/heads/master@{#61497}
-
- 10 May, 2019 2 commits
-
-
Dan Elphick authored
This reverts commit 7275c9c8. Reason for revert: Introduces a crash Original change's description: > Port Proxy SetProperty trap builtin to Torque > > Spec: https://tc39.github.io/ecma262/#sec-proxy-object-internal-methods-and-internal-slots-set-p-v-receiver > Bug: v8:6664 > Change-Id: Ieddb645669a72d78ff9c0a45267165de3c5276f1 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1585269 > Commit-Queue: Z Nguyen-Huu <duongn@microsoft.com> > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Reviewed-by: Maya Lekova <mslekova@chromium.org> > Cr-Commit-Position: refs/heads/master@{#61351} TBR=jgruber@chromium.org,mslekova@chromium.org,duongn@microsoft.com # Not skipping CQ checks because original CL landed > 1 day ago. Bug: v8:6664, v8:9234 Change-Id: I4e26f5321a51498ab44efac75a963afea7b2ca16 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1605944Reviewed-by:
Dan Elphick <delphick@chromium.org> Commit-Queue: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#61415}
-
Dan Elphick authored
This reverts commit f117f9a2. Reason for revert: Need to revert https://chromium-review.googlesource.com/c/v8/v8/+/1585269 which this is built on top of Original change's description: > Port ProxyHasProperty to Torque > > Refactor CheckHasTrapResult as well. > > Spec: https://tc39.github.io/ecma262/#sec-proxy-object-internal-methods-and-internal-slots-hasproperty-p > Bug: v8:6664 > Change-Id: Ic9bacbd21bb329e354ebd08b61d9e60a94534d0d > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1601895 > Commit-Queue: Z Nguyen-Huu <duongn@microsoft.com> > Reviewed-by: Maya Lekova <mslekova@chromium.org> > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Cr-Commit-Position: refs/heads/master@{#61389} TBR=jgruber@chromium.org,mslekova@chromium.org,duongn@microsoft.com Change-Id: Iec42848a41d10699e9be717a17aab987269f394a No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:6664, v8:9234 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1605943Reviewed-by:
Dan Elphick <delphick@chromium.org> Commit-Queue: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#61412}
-
- 09 May, 2019 1 commit
-
-
Z Duong Nguyen-Huu authored
Refactor CheckHasTrapResult as well. Spec: https://tc39.github.io/ecma262/#sec-proxy-object-internal-methods-and-internal-slots-hasproperty-p Bug: v8:6664 Change-Id: Ic9bacbd21bb329e354ebd08b61d9e60a94534d0d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1601895 Commit-Queue: Z Nguyen-Huu <duongn@microsoft.com> Reviewed-by:
Maya Lekova <mslekova@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#61389}
-
- 08 May, 2019 1 commit
-
-
Z Duong Nguyen-Huu authored
Spec: https://tc39.github.io/ecma262/#sec-proxy-object-internal-methods-and-internal-slots-set-p-v-receiver Bug: v8:6664 Change-Id: Ieddb645669a72d78ff9c0a45267165de3c5276f1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1585269 Commit-Queue: Z Nguyen-Huu <duongn@microsoft.com> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#61351}
-
- 24 Apr, 2019 1 commit
-
-
Z Duong Nguyen-Huu authored
Also, fix CSA generator for call runtime with return type of object. Spec: https://tc39.github.io/ecma262/#sec-proxy-object-internal-methods-and-internal-slots-get-p-receiver Bug: v8:6664 Change-Id: I61ce1fa72a498520dd811f034e182f060f115330 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1573042 Commit-Queue: Z Nguyen-Huu <duongn@microsoft.com> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#60995}
-
- 17 Apr, 2019 1 commit
-
-
Z Duong Nguyen-Huu authored
Spec: https://tc39.github.io/ecma262/#sec-proxy-constructor Bug: v8:6664 Change-Id: Ia8b5ed75841d813babd1db4743c3bb9d25658b51 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1553007Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Maya Lekova <mslekova@chromium.org> Commit-Queue: Z Nguyen-Huu <duongn@microsoft.com> Cr-Commit-Position: refs/heads/master@{#60892}
-