- 21 Feb, 2020 1 commit
-
-
Nico Hartmann authored
Bug: v8:10155 Change-Id: I032b27ad7c71d240453e33bef33a447a1530ace9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2060005 Commit-Queue: Nico Hartmann <nicohartmann@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#66387}
-
- 16 Jan, 2020 1 commit
-
-
Tobias Tebbi authored
Bug: v8:7793 Change-Id: I4fc039711eb9aa9d551144ea6fccc926d4803349 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1993290 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> Cr-Commit-Position: refs/heads/master@{#65808}
-
- 20 Dec, 2019 1 commit
-
-
Tobias Tebbi authored
This allows the definition of classes with several arrays and ports SmallOrderedHashTable subclasses to Torque as an example, including the existing CSA allocation functions for them. Overview of changes: - Introduce ResidueClass to encapsulate the modulo-arithmetic necessary to do alignment checks. - Add MachineOperatorReducer to the CSA pipeline to address now missing CSA ad-hoc constant folding that got blocked by a temporary phi. - Allow assignments to references to structs. This is needed to initialize the data_table part of SmallOrderedHashMap. - Make the NumberLiteralExpression AST-node store a double instead of a string. This is necessary to detect arrays with constant size used for padding. - Turn offsets into base::Optional<size_t> to ensure we don't use an invalid or statically unknown offset. - Remove CreateFieldReferenceInstruction since it doesn't work for complex offset computations and the logic can be expressed better in ImplementationVisitor. - Validate alignment of structs embedded in classes. Bug: v8:10004 v8:7793 Change-Id: Ifa414b42278e572a0c577bf9da3d37f80771a258 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1958011 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> Cr-Commit-Position: refs/heads/master@{#65538}
-
- 15 Nov, 2019 1 commit
-
-
Seth Brenith authored
Currently it's pretty easy to write Torque code that generates an error in some common generic function such as Convert<To: type, From: type>, and unless your change is very small, it can be hard to figure out what part of it caused that macro specialization. This CL updates the Torque compiler to emit some extra information about the stack of code positions that caused a specialization of a macro or builtin, similar to what Clang does for C++ templates. Obviously there might be multiple places that require a particular specialization, but we only report the first one that caused the specialization to be created. Bug: v8:7793 Change-Id: I4c0fbf1fd437d0eb0d7d5002baef7a5361aea5ee Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1911019 Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#64987}
-
- 09 Oct, 2019 1 commit
-
-
Seth Brenith authored
In preparation for allowing Torque to generate the list of instance types, I'd like to make the rules a bit more consistent for how instance types are spelled. This CL is my proposal for a system where every non-String instance type name is exactly equal to calling CapifyStringWithUnderscores on the corresponding class name and appending "_TYPE". This change is almost all find&replace; the only manual changes are in: - src/objects/instance-type.h - src/torque/utils.cc - tools/gen-postmortem-metadata.py This change is in response to the review comment https://chromium-review.googlesource.com/c/v8/v8/+/1757094/25/src/builtins/base.tq#132 Change-Id: Ife3857292669f54931708e934398b2684e60bea5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1814888 Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Frank Tang <ftang@chromium.org> Cr-Commit-Position: refs/heads/master@{#64199}
-
- 22 Aug, 2019 1 commit
-
-
Seth Brenith authored
This change adds the indexed field for the characters in the definition of sequential string types, and introduces support for recognizing the various specific string types in v8_debug_helper. In an attempt to avoid duplicating info about string instance types, it also refactors String::Get so that StringShape (a simple class usable by postmortem tools) can dispatch using a class that defines behaviors for each concrete type. Bug: v8:9376 Change-Id: Id0653040f6decddc004c73f8fe93d2187828c2c6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1735795 Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> Reviewed-by: Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/master@{#63352}
-
- 31 Jul, 2019 1 commit
-
-
Seth Brenith authored
This is a reland of 517ab73f Updates since original: now compressed pointers passed to the function GetObjectProperties are required to be sign-extended. Previously, the function allowed zero-extended values, but that led to ambiguity on pointers like 0x88044919: is it compressed or is the heap range actually centered on 0x100000000? Original change's description: > Add postmortem debugging helper library > > This change begins to implement the functionality described in > https://docs.google.com/document/d/1evHnb1uLlSbvHAAsmOXyc25x3uh1DjgNa8u1RHvwVhk/edit# > for investigating V8 state in crash dumps. > > This change adds a new library, v8_debug_helper, for providing platform- > agnostic assistance with postmortem debugging. This library can be used > by extensions built for debuggers such as WinDbg or lldb. Its public API > is described by debug-helper.h; currently the only method it exposes is > GetObjectProperties, but we'd like to add more functionality over time. > The API surface is restricted to plain C-style structs and pointers, so > that it's easy to link from a debugger extension built with a different > toolchain. > > This change also adds a new cctest file to exercise some basic > interaction with the new library. > > The API function GetObjectProperties takes an object pointer (which > could be compressed, or weak, or a SMI), and returns a string > description of the object and a list of properties the object contains. > For now, the list of properties is entirely based on Torque object > definitions, but we expect to add custom properties in future updates so > that it can be easier to make sense of complex data structures such as > dictionaries. > > GetObjectProperties does several things that are intended to generate > somewhat useful results even in cases where memory may be corrupt or > unavailable: > - The caller may optionally provide a type string which will be used if > the memory for the object's Map is inaccessible. > - All object pointers are compared against the list of known objects > generated by mkgrokdump. The caller may optionally provide the > pointers for the first pages of various heap spaces, to avoid spurious > matches. If those pointers are not provided, then any matches are > prefixed with "maybe" in the resulting description string, such as > "maybe UndefinedValue (0x4288000341 <Oddball>)". > > Bug: v8:9376 > > Change-Id: Iebf3cc2dea3133c7811bcefcdf38d9458b02fded > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1628012 > Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> > Reviewed-by: Yang Guo <yangguo@chromium.org> > Reviewed-by: Michael Stanton <mvstanton@chromium.org> > Cr-Commit-Position: refs/heads/master@{#62882} Bug: v8:9376 Change-Id: I866a1cc9d4c34bfe10c7b98462451fe69763cf3f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1717090Reviewed-by: Michael Achenbach <machenbach@chromium.org> Reviewed-by: Michael Stanton <mvstanton@chromium.org> Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> Cr-Commit-Position: refs/heads/master@{#63008}
-
- 24 Jul, 2019 1 commit
-
-
Zhi An Ng authored
This reverts commit 517ab73f. Reason for revert: Test failures https://bugs.chromium.org/p/v8/issues/detail?id=9538 Original change's description: > Add postmortem debugging helper library > > This change begins to implement the functionality described in > https://docs.google.com/document/d/1evHnb1uLlSbvHAAsmOXyc25x3uh1DjgNa8u1RHvwVhk/edit# > for investigating V8 state in crash dumps. > > This change adds a new library, v8_debug_helper, for providing platform- > agnostic assistance with postmortem debugging. This library can be used > by extensions built for debuggers such as WinDbg or lldb. Its public API > is described by debug-helper.h; currently the only method it exposes is > GetObjectProperties, but we'd like to add more functionality over time. > The API surface is restricted to plain C-style structs and pointers, so > that it's easy to link from a debugger extension built with a different > toolchain. > > This change also adds a new cctest file to exercise some basic > interaction with the new library. > > The API function GetObjectProperties takes an object pointer (which > could be compressed, or weak, or a SMI), and returns a string > description of the object and a list of properties the object contains. > For now, the list of properties is entirely based on Torque object > definitions, but we expect to add custom properties in future updates so > that it can be easier to make sense of complex data structures such as > dictionaries. > > GetObjectProperties does several things that are intended to generate > somewhat useful results even in cases where memory may be corrupt or > unavailable: > - The caller may optionally provide a type string which will be used if > the memory for the object's Map is inaccessible. > - All object pointers are compared against the list of known objects > generated by mkgrokdump. The caller may optionally provide the > pointers for the first pages of various heap spaces, to avoid spurious > matches. If those pointers are not provided, then any matches are > prefixed with "maybe" in the resulting description string, such as > "maybe UndefinedValue (0x4288000341 <Oddball>)". > > Bug: v8:9376 > > Change-Id: Iebf3cc2dea3133c7811bcefcdf38d9458b02fded > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1628012 > Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> > Reviewed-by: Yang Guo <yangguo@chromium.org> > Reviewed-by: Michael Stanton <mvstanton@chromium.org> > Cr-Commit-Position: refs/heads/master@{#62882} TBR=yangguo@chromium.org,mvstanton@chromium.org,jgruber@chromium.org,tebbi@chromium.org,seth.brenith@microsoft.com Change-Id: Ia078f2e8d101d2375b5db88021b2d65d28f1b075 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:9376 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1716033Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#62899}
-
- 23 Jul, 2019 1 commit
-
-
Seth Brenith authored
This change begins to implement the functionality described in https://docs.google.com/document/d/1evHnb1uLlSbvHAAsmOXyc25x3uh1DjgNa8u1RHvwVhk/edit# for investigating V8 state in crash dumps. This change adds a new library, v8_debug_helper, for providing platform- agnostic assistance with postmortem debugging. This library can be used by extensions built for debuggers such as WinDbg or lldb. Its public API is described by debug-helper.h; currently the only method it exposes is GetObjectProperties, but we'd like to add more functionality over time. The API surface is restricted to plain C-style structs and pointers, so that it's easy to link from a debugger extension built with a different toolchain. This change also adds a new cctest file to exercise some basic interaction with the new library. The API function GetObjectProperties takes an object pointer (which could be compressed, or weak, or a SMI), and returns a string description of the object and a list of properties the object contains. For now, the list of properties is entirely based on Torque object definitions, but we expect to add custom properties in future updates so that it can be easier to make sense of complex data structures such as dictionaries. GetObjectProperties does several things that are intended to generate somewhat useful results even in cases where memory may be corrupt or unavailable: - The caller may optionally provide a type string which will be used if the memory for the object's Map is inaccessible. - All object pointers are compared against the list of known objects generated by mkgrokdump. The caller may optionally provide the pointers for the first pages of various heap spaces, to avoid spurious matches. If those pointers are not provided, then any matches are prefixed with "maybe" in the resulting description string, such as "maybe UndefinedValue (0x4288000341 <Oddball>)". Bug: v8:9376 Change-Id: Iebf3cc2dea3133c7811bcefcdf38d9458b02fded Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1628012 Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/master@{#62882}
-
- 21 Jun, 2019 1 commit
-
-
Sigurd Schneider authored
Rework the implementation of non-external Torque classes to use Struct machinery rather than FixedArray machinery. This allows Torque-only defined 'internal' classes to the automatically generate class verifiers and printers. As part of this change, generate C++ boilerplate accessors for internal Torque classes, since this is a pre-requisite for the verifiers, printers and other Struct-based functionality. Moreover, augment the header-generating functionality in Torque to create separate header files for field offset definitions, internal class C++ definitions and instance types. Bug: v8:7793 Change-Id: I47d5f1570040c2b44d378f23b6cf95d3d132dacc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1607645 Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#62317}
-
- 18 Jun, 2019 1 commit
-
-
Seth Brenith authored
For every @noVerifier in base.tq, this change either removes it or ensures that it has some annotation explaining why it can't be removed. The @noVerifier usages that can't be removed fall into the following categories: 1. Classes that don't have their own instance types and therefore have no meaningful way to do an Is...() check 2. Fields that might not exist 3. Fields that are waiting for MaybeObject support in Torque Bug: v8:9311 Change-Id: Id452d4151ec07347ae96a9b5f3b26e2ac8065d31 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1659134Reviewed-by: Daniel Clifford <danno@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> Cr-Commit-Position: refs/heads/master@{#62263}
-
- 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
-
-
Tobias Tebbi authored
TBR: yangguo@chromium.org Bug: v8:7793 Change-Id: Ie680d72a1da23038d3136f82532496eabbd9c363 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1632227 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#62004}
-
- 03 Jun, 2019 1 commit
-
-
Sigurd Schneider authored
Change-Id: I99eb206d6c8ea206bc5451b97c5e59a28d9b75a7 Bug: v8:7793 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1640205 Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Simon Zünd <szuend@chromium.org> Reviewed-by: Simon Zünd <szuend@chromium.org> Auto-Submit: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#61961}
-
- 28 May, 2019 1 commit
-
-
Tobias Tebbi authored
Drive-by fix: For JSON, it's illegal to have an \' escape sequence in a double quote (") string literal. Bug: v8:8880 Change-Id: I16de0ee731e93f5ea0db8f743c9b363a6bf50a43 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1631599 Auto-Submit: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Simon Zünd <szuend@chromium.org> Reviewed-by: Simon Zünd <szuend@chromium.org> Cr-Commit-Position: refs/heads/master@{#61868}
-
- 21 May, 2019 1 commit
-
-
Simon Zünd authored
This CL changes the existing TorqueError struct into a more general TorqueMessage by adding a "kind" enum. The contextual for lint errors is removed and replaced by a list of TorqueMessages. A MessageBuilder is introduced to help with the different combinations of present information and method of reporting. A lint error with custom SourcePosition can be reported like this: Lint("naming convention error").Position(<src_pos_var>); While a fatal error, with CurrentSourcePosition can be thrown like this: Error("something went horrible wrong").Throw(); This approach is both backwards compatible and should prove flexible enough to add more information to messages or add other message kinds. Bug: v8:7793 Change-Id: Ib04fa188e34b3e8e9a6526a086f80da8f690a6f5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1617245 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@{#61696}
-
- 14 May, 2019 1 commit
-
-
Sigurd Schneider authored
Change-Id: I75a4a2af4bbe9d495d583b13fb6d885d8509c2b8 Bug: v8:7793 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1611797 Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Reviewed-by: Simon Zünd <szuend@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#61491}
-
- 08 May, 2019 1 commit
-
-
Sigurd Schneider authored
This CL introduces an AnnotationSet to unify annotation handling. Grammar rules now accept a list of annotations (via annotations Symbol), where an annotation is an Identifier starting with '@'. The new class AnnotationSet can be used to restrict the allowed annotations and query presence of annotations in the Make* functions. Bug: v8:7793 Change-Id: Iad5435d4a94a3bea99aca76c23d2cffffe78a97f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1601142 Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Reviewed-by: Simon Zünd <szuend@chromium.org> Cr-Commit-Position: refs/heads/master@{#61334}
-
- 25 Apr, 2019 1 commit
-
-
Simon Zünd authored
This CL refactors and extends the infrastructure around sending diagnostic notifications. This enables publishing lint errors as warnings after a compilation run. R=sigurds@chromium.org, tebbi@chromium.org Bug: v8:8880 Change-Id: Ia64d2d490c1449021c92f5dc45eb7f8dab21e60a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1582405 Commit-Queue: Simon Zünd <szuend@chromium.org> Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#61003}
-
- 24 Apr, 2019 2 commits
-
-
Simon Zünd authored
This CL changes lint errors to not be printed directly to stderr. Instead, they are collected in a list that gets surfaced via the TorqueCompilerResult. This is done so they can be presented to language server clients. This change also removes the "abort_on_lint_errors" option. API users can now decide for themselves what to do, depending on the presence of lint errors in the returned list. R=sigurds@chromium.org, tebbi@chromium.org Bug: v8:8880 Change-Id: I44601010491aafcf4c8609fd8c115219317506a4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1581608Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#60983}
-
Tobias Tebbi authored
Bug: v8:8880 Change-Id: I8693def4aea26a5a9430f4c49d701fae14b2f27b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1578502Reviewed-by: Simon Zünd <szuend@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#60963}
-
- 16 Apr, 2019 1 commit
-
-
Simon Zünd authored
This is a reland of ffe6940f The UBSan issue is fixed with https://crrev.com/c/1566511 TBR=tebbi@chromium.org Original change's description: > Reland^2 "[torque] Throw exception instead of aborting if something goes wrong" > > This is a reland of 251d1623 > > The reland fixes ASAN component builds by adding RTTI build config to both > torque executables. Big thanks to sigurds for finding the fix. > > Original change's description: > > Reland "[torque] Throw exception instead of aborting if something goes wrong" > > > > This is a reland of 3bd49f9b > > > > The issue on the windows bot is apparently a compiler bug in MSVC related to > > move construction. The fix seems to be to change the order of the fields in > > "JsonParseResult" (go figure). > > > > Drive-by-change: Fix LS on windows by emitting correct line endings and > > enabling exceptions for the LS executable as well. > > > > Original change's description: > > > [torque] Throw exception instead of aborting if something goes wrong > > > > > > This CL enables exceptions for the Torque compiler and Torque language > > > server. Instead of aborting when something goes wrong during > > > compilation, a TorqueError is thrown, containing the error message > > > and a source position. The compiler executable still prints the error > > > and aborts, while the language server will pass this information > > > along to the client (not included in this CL). > > > > > > R=danno@chromium.org > > > > > > Bug: v8:8880 > > > Change-Id: Iad83c46fb6a91c1babbc0ae7dbd94fbe4e7f1663 > > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1526003 > > > Reviewed-by: Daniel Clifford <danno@chromium.org> > > > Commit-Queue: Simon Zünd <szuend@chromium.org> > > > Cr-Commit-Position: refs/heads/master@{#60512} > > > > Bug: v8:8880 > > Change-Id: I00e6591bbb4c516dd7540a7e27196853bc637f11 > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1545995 > > Reviewed-by: Tobias Tebbi <tebbi@chromium.org> > > Commit-Queue: Simon Zünd <szuend@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#60736} > > Bug: v8:8880 > Change-Id: Iba198d771169283e83e74324f27aa9e90b8d8975 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1563770 > Reviewed-by: Sigurd Schneider <sigurds@chromium.org> > Commit-Queue: Simon Zünd <szuend@chromium.org> > Cr-Commit-Position: refs/heads/master@{#60804} Bug: v8:8880 Change-Id: I5b7e40ad27bff8f7bfa22240954c2cb75083ad82 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1564065Reviewed-by: Simon Zünd <szuend@chromium.org> Commit-Queue: Simon Zünd <szuend@chromium.org> Auto-Submit: Simon Zünd <szuend@chromium.org> Cr-Commit-Position: refs/heads/master@{#60860}
-
- 12 Apr, 2019 2 commits
-
-
Simon Zünd authored
This reverts commit ffe6940f. Reason for revert: Breaks UBSan bot Original change's description: > Reland^2 "[torque] Throw exception instead of aborting if something goes wrong" > > This is a reland of 251d1623 > > The reland fixes ASAN component builds by adding RTTI build config to both > torque executables. Big thanks to sigurds for finding the fix. > > Original change's description: > > Reland "[torque] Throw exception instead of aborting if something goes wrong" > > > > This is a reland of 3bd49f9b > > > > The issue on the windows bot is apparently a compiler bug in MSVC related to > > move construction. The fix seems to be to change the order of the fields in > > "JsonParseResult" (go figure). > > > > Drive-by-change: Fix LS on windows by emitting correct line endings and > > enabling exceptions for the LS executable as well. > > > > Original change's description: > > > [torque] Throw exception instead of aborting if something goes wrong > > > > > > This CL enables exceptions for the Torque compiler and Torque language > > > server. Instead of aborting when something goes wrong during > > > compilation, a TorqueError is thrown, containing the error message > > > and a source position. The compiler executable still prints the error > > > and aborts, while the language server will pass this information > > > along to the client (not included in this CL). > > > > > > R=danno@chromium.org > > > > > > Bug: v8:8880 > > > Change-Id: Iad83c46fb6a91c1babbc0ae7dbd94fbe4e7f1663 > > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1526003 > > > Reviewed-by: Daniel Clifford <danno@chromium.org> > > > Commit-Queue: Simon Zünd <szuend@chromium.org> > > > Cr-Commit-Position: refs/heads/master@{#60512} > > > > Bug: v8:8880 > > Change-Id: I00e6591bbb4c516dd7540a7e27196853bc637f11 > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1545995 > > Reviewed-by: Tobias Tebbi <tebbi@chromium.org> > > Commit-Queue: Simon Zünd <szuend@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#60736} > > Bug: v8:8880 > Change-Id: Iba198d771169283e83e74324f27aa9e90b8d8975 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1563770 > Reviewed-by: Sigurd Schneider <sigurds@chromium.org> > Commit-Queue: Simon Zünd <szuend@chromium.org> > Cr-Commit-Position: refs/heads/master@{#60804} TBR=sigurds@chromium.org,tebbi@chromium.org,szuend@chromium.org Change-Id: I30ccec8ac28158c102a4e9a01074432172685f96 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:8880 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1564207Reviewed-by: Simon Zünd <szuend@chromium.org> Commit-Queue: Simon Zünd <szuend@chromium.org> Cr-Commit-Position: refs/heads/master@{#60805}
-
Simon Zünd authored
This is a reland of 251d1623 The reland fixes ASAN component builds by adding RTTI build config to both torque executables. Big thanks to sigurds for finding the fix. Original change's description: > Reland "[torque] Throw exception instead of aborting if something goes wrong" > > This is a reland of 3bd49f9b > > The issue on the windows bot is apparently a compiler bug in MSVC related to > move construction. The fix seems to be to change the order of the fields in > "JsonParseResult" (go figure). > > Drive-by-change: Fix LS on windows by emitting correct line endings and > enabling exceptions for the LS executable as well. > > Original change's description: > > [torque] Throw exception instead of aborting if something goes wrong > > > > This CL enables exceptions for the Torque compiler and Torque language > > server. Instead of aborting when something goes wrong during > > compilation, a TorqueError is thrown, containing the error message > > and a source position. The compiler executable still prints the error > > and aborts, while the language server will pass this information > > along to the client (not included in this CL). > > > > R=danno@chromium.org > > > > Bug: v8:8880 > > Change-Id: Iad83c46fb6a91c1babbc0ae7dbd94fbe4e7f1663 > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1526003 > > Reviewed-by: Daniel Clifford <danno@chromium.org> > > Commit-Queue: Simon Zünd <szuend@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#60512} > > Bug: v8:8880 > Change-Id: I00e6591bbb4c516dd7540a7e27196853bc637f11 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1545995 > Reviewed-by: Tobias Tebbi <tebbi@chromium.org> > Commit-Queue: Simon Zünd <szuend@chromium.org> > Cr-Commit-Position: refs/heads/master@{#60736} Bug: v8:8880 Change-Id: Iba198d771169283e83e74324f27aa9e90b8d8975 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1563770Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Simon Zünd <szuend@chromium.org> Cr-Commit-Position: refs/heads/master@{#60804}
-
- 10 Apr, 2019 2 commits
-
-
Maya Lekova authored
This reverts commit 251d1623. Reason for revert: Breaks ASAN debug builders for ClusterFuzz, see https://ci.chromium.org/p/v8/builders/ci/V8%20Clusterfuzz%20Linux64%20ASAN%20-%20debug%20builder/8115 Original change's description: > Reland "[torque] Throw exception instead of aborting if something goes wrong" > > This is a reland of 3bd49f9b > > The issue on the windows bot is apparently a compiler bug in MSVC related to > move construction. The fix seems to be to change the order of the fields in > "JsonParseResult" (go figure). > > Drive-by-change: Fix LS on windows by emitting correct line endings and > enabling exceptions for the LS executable as well. > > Original change's description: > > [torque] Throw exception instead of aborting if something goes wrong > > > > This CL enables exceptions for the Torque compiler and Torque language > > server. Instead of aborting when something goes wrong during > > compilation, a TorqueError is thrown, containing the error message > > and a source position. The compiler executable still prints the error > > and aborts, while the language server will pass this information > > along to the client (not included in this CL). > > > > R=danno@chromium.org > > > > Bug: v8:8880 > > Change-Id: Iad83c46fb6a91c1babbc0ae7dbd94fbe4e7f1663 > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1526003 > > Reviewed-by: Daniel Clifford <danno@chromium.org> > > Commit-Queue: Simon Zünd <szuend@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#60512} > > Bug: v8:8880 > Change-Id: I00e6591bbb4c516dd7540a7e27196853bc637f11 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1545995 > Reviewed-by: Tobias Tebbi <tebbi@chromium.org> > Commit-Queue: Simon Zünd <szuend@chromium.org> > Cr-Commit-Position: refs/heads/master@{#60736} TBR=danno@chromium.org,tebbi@chromium.org,szuend@chromium.org Change-Id: I0b22db1652bd46fbb7167f75b710ed5e408ea8ac No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:8880 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1561311Reviewed-by: Maya Lekova <mslekova@chromium.org> Commit-Queue: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#60747}
-
Simon Zünd authored
This is a reland of 3bd49f9b The issue on the windows bot is apparently a compiler bug in MSVC related to move construction. The fix seems to be to change the order of the fields in "JsonParseResult" (go figure). Drive-by-change: Fix LS on windows by emitting correct line endings and enabling exceptions for the LS executable as well. Original change's description: > [torque] Throw exception instead of aborting if something goes wrong > > This CL enables exceptions for the Torque compiler and Torque language > server. Instead of aborting when something goes wrong during > compilation, a TorqueError is thrown, containing the error message > and a source position. The compiler executable still prints the error > and aborts, while the language server will pass this information > along to the client (not included in this CL). > > R=danno@chromium.org > > Bug: v8:8880 > Change-Id: Iad83c46fb6a91c1babbc0ae7dbd94fbe4e7f1663 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1526003 > Reviewed-by: Daniel Clifford <danno@chromium.org> > Commit-Queue: Simon Zünd <szuend@chromium.org> > Cr-Commit-Position: refs/heads/master@{#60512} Bug: v8:8880 Change-Id: I00e6591bbb4c516dd7540a7e27196853bc637f11 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1545995Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Simon Zünd <szuend@chromium.org> Cr-Commit-Position: refs/heads/master@{#60736}
-
- 04 Apr, 2019 1 commit
-
-
Tobias Tebbi authored
This changes the syntax for constructing structs and classes to explicitly mention the fieldnames, similar to JavaScript object literals. The fields still have to be listed in the same order as in the struct/class declaration. As in Javascript, {foo: foo} can be abbreviated as {foo}. Example: macro NewJSArray(implicit context: Context)( map: Map, elements: FixedArrayBase): JSArray { return new JSArray{ map, properties_or_hash: kEmptyFixedArray, elements, length: elements.length }; } Drive-by cleanup: Make struct and class constructors follow the same pattern in the parser and the AST. Bug: v8:9018 v8:7793 Change-Id: I22ff7f68270e4f406aa80731a709d41ea52f52bb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1551999Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Reviewed-by: Daniel Clifford <danno@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#60622}
-
- 28 Mar, 2019 2 commits
-
-
Simon Zünd authored
This reverts commit 3bd49f9b. Reason for revert: Build failure on Win Bot Original change's description: > [torque] Throw exception instead of aborting if something goes wrong > > This CL enables exceptions for the Torque compiler and Torque language > server. Instead of aborting when something goes wrong during > compilation, a TorqueError is thrown, containing the error message > and a source position. The compiler executable still prints the error > and aborts, while the language server will pass this information > along to the client (not included in this CL). > > R=danno@chromium.org > > Bug: v8:8880 > Change-Id: Iad83c46fb6a91c1babbc0ae7dbd94fbe4e7f1663 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1526003 > Reviewed-by: Daniel Clifford <danno@chromium.org> > Commit-Queue: Simon Zünd <szuend@chromium.org> > Cr-Commit-Position: refs/heads/master@{#60512} TBR=danno@chromium.org,mvstanton@chromium.org,szuend@chromium.org Change-Id: Iac253da404eaf6e534267f59a42ca93667c205e4 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:8880 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1543849Reviewed-by: Simon Zünd <szuend@chromium.org> Commit-Queue: Simon Zünd <szuend@chromium.org> Cr-Commit-Position: refs/heads/master@{#60513}
-
Simon Zünd authored
This CL enables exceptions for the Torque compiler and Torque language server. Instead of aborting when something goes wrong during compilation, a TorqueError is thrown, containing the error message and a source position. The compiler executable still prints the error and aborts, while the language server will pass this information along to the client (not included in this CL). R=danno@chromium.org Bug: v8:8880 Change-Id: Iad83c46fb6a91c1babbc0ae7dbd94fbe4e7f1663 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1526003Reviewed-by: Daniel Clifford <danno@chromium.org> Commit-Queue: Simon Zünd <szuend@chromium.org> Cr-Commit-Position: refs/heads/master@{#60512}
-
- 05 Mar, 2019 1 commit
-
-
Simon Zünd authored
This CL changes the language server to store file paths as URIs and decodes them on-demand during compilation. For now, this will eliminate the need for an URI encoding function. R=tebbi@chromium.org Bug: v8:8880 Change-Id: If79f635cb60035f58712c1458ecca3bfa23a6e47 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1502992 Commit-Queue: Simon Zünd <szuend@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#60025}
-
- 04 Feb, 2019 1 commit
-
-
Daniel Clifford authored
In the process add missing base Torque functionality for 8-bit and 16-bit integers and Cast<> operators to make them easy to use. As a poster child, port the field declarations of SharedFunctionInfo to the class definition in base.tq. As a drive by: Add the missing GN dependency on class-definitions-from-dsl.h Bug: v8:7793 Change-Id: I76a41c2e81ffd1cbb90ac7a4ef8d4003ac86e8dc Reviewed-on: https://chromium-review.googlesource.com/c/1445882Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Daniel Clifford <danno@chromium.org> Cr-Commit-Position: refs/heads/master@{#59321}
-
- 10 Jan, 2019 1 commit
-
-
Daniel Clifford authored
Class declarations support structured heap data that is a subtype of HeapObject. Only fields of Object subtypes (both strong and weak) are currently supported (no scalar fields yet). With this CL, both the field list macro used with the C++ DEFINE_FIELD_OFFSET_CONSTANTS macro (to make field offset constants) as well as the Torque "operator '.field'" macros are generated for the classes declared in Torque. This is a first step to removing the substantial amount of duplication and boilerplate code needed to declare heap object classes. As a proof of concept, and handful of class field definitions, including those for non trivial classes like JSFunction, have been moved to Torque. Bug: v8:7793 Change-Id: I2fa0b53db65fa6f5fe078fb94e1db3418f908753 Reviewed-on: https://chromium-review.googlesource.com/c/1373971 Commit-Queue: Daniel Clifford <danno@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#58704}
-
- 14 Dec, 2018 1 commit
-
-
Daniel Clifford authored
In the process, add the bint type (which stands for Best-INTeger), which implements Torque's idea of CSA's ParameterMode. It maps to a different type on 32-bit (Smi) and 64-bit (intptr). There are convert operators that are either no-ops or conversions to-and-from Smi and intptrs on the each platform, depending on the underlying type for bint. This allows Torque code to git most of the benefits of ParameterMode without having to explicitly pass around the mode, since it is almost always OptimalMode anyways. Change-Id: I92e08adc1d79cb3e24576c96f9734aec1af54162 Reviewed-on: https://chromium-review.googlesource.com/c/1361160 Commit-Queue: Daniel Clifford <danno@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#58253}
-
- 13 Nov, 2018 1 commit
-
-
Mike Stanton authored
BUG=v8:7793 Change-Id: Ibcf16998ef9a44ae899a2536ccf02af1b7b7193d Reviewed-on: https://chromium-review.googlesource.com/c/1333410 Commit-Queue: Michael Stanton <mvstanton@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#57469}
-
- 02 Nov, 2018 1 commit
-
-
Tobias Tebbi authored
Bug: v8:8393 Change-Id: I6ab34cbe6c17f358c570e0bd27bf2de917f71b71 Reviewed-on: https://chromium-review.googlesource.com/c/1309764 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Daniel Clifford <danno@chromium.org> Cr-Commit-Position: refs/heads/master@{#57211}
-
- 10 Oct, 2018 1 commit
-
-
Nico Weber authored
Bug: chromium:101600, v8:8257 Cq-Include-Trybots: luci.chromium.try:linux_chromium_headless_rel;master.tryserver.blink:linux_trusty_blink_rel Change-Id: Ie6c4f80cdec855355c0b8985e4f8a88da2ddfef9 Reviewed-on: https://chromium-review.googlesource.com/c/1273322Reviewed-by: Adam Klein <adamk@chromium.org> Reviewed-by: Dmitry Gozman <dgozman@chromium.org> Commit-Queue: Nico Weber <thakis@chromium.org> Cr-Commit-Position: refs/heads/master@{#56538}
-
- 04 Oct, 2018 1 commit
-
-
Tobias Tebbi authored
Bug: v8:7793 Change-Id: I5261122faf422987968ee1e405966f878ff910a1 Reviewed-on: https://chromium-review.googlesource.com/c/1245766 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Daniel Clifford <danno@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#56391}
-
- 13 Sep, 2018 1 commit
-
-
Simon Zünd authored
Drive-by change: Add helper method for reporting naming convention errors and refactor existing call sites. R=tebbi@chromium.org Bug: v8:7793 Change-Id: I7315b935229ffb7557fa55ebcb222fc91124aab7 Reviewed-on: https://chromium-review.googlesource.com/1223831Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Simon Zünd <szuend@google.com> Cr-Commit-Position: refs/heads/master@{#55847}
-
- 12 Sep, 2018 2 commits
-
-
Simon Zünd authored
R=tebbi@chromium.org Bug: v8:7793 Change-Id: I0314f1b45433c3023f803d67a056ffd6dbf83ce9 Reviewed-on: https://chromium-review.googlesource.com/1221212 Commit-Queue: Simon Zünd <szuend@google.com> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#55832}
-
Simon Zünd authored
R=tebbi@chromium.org Bug: v8:7793 Change-Id: I8db34b56e3dd3ac24ca7e368054829befb13397f Reviewed-on: https://chromium-review.googlesource.com/1221187Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Simon Zünd <szuend@google.com> Cr-Commit-Position: refs/heads/master@{#55824}
-