- 29 May, 2020 1 commit
-
-
Tobias Tebbi authored
This avoids a warning by clang-tidy's modernize-use-nullptr. Bug: v8:10488 Change-Id: I2820c7e5223101c5e3f7122d2a6a3526d36851e7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2218063Reviewed-by: Zhi An Ng <zhin@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#68065}
-
- 26 May, 2020 1 commit
-
-
Ng Zhi An authored
Making them private was a way to hide them, we can explicitly delete them, which give a better compilation error message as well. Also see: https://stackoverflow.com/q/55205874 Bug: v8:10488 Change-Id: I3f2b6881ae2252809c84fbd32ce0687e8328506e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2211182Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#67980}
-
- 07 May, 2020 1 commit
-
-
Ng Zhi An authored
See https://clang.llvm.org/extra/clang-tidy/checks/modernize-use-override.html for more on this warning. Bug: v8:10488 Change-Id: I6805441fa24c80776cf94d18ff389c4c67bb5abd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2186635 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#67640}
-
- 11 Feb, 2020 1 commit
-
-
Nico Hartmann authored
This CL significantly reduces the size of CSA files generated from torque by introducing only those Phis at block entry that are required and otherwise uses defined values directly. To do so it does: - Define a DefinitionLocation that represents where a value is defined. - For each block compute all the definitions that reach that block and introduce a phi iff the reaching definitions for a value are not the same for all predecessor blocks. - In CSAGenerator map all DefinitionLocations to variables, such that if the same value is used in multiple blocks, it is mapped to the same variable without the need to pass it along the jump. This reduces both the arguments passed to Goto, Branch, ... and the variables that need to be passed to Bind when the block's label is bound. This reduces the number of temporary variables significantly. Temporaries are declared outside of blocks now in order to be accessible from other blocks. Drive-by changes: - Sequences of SetSourcePosition calls are merged if no output is generated between them. - Dead blocks are no longer generated in release builds. Bug: v8:9861 Change-Id: I5c30e5376e93c424c3ebfc5144a08592d77ae61f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2037444 Commit-Queue: Nico Hartmann <nicohartmann@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#66225}
-
- 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}
-
- 13 Dec, 2019 1 commit
-
-
Tobias Tebbi authored
Drive-by cleanup: improve prining of lists Bug: v8:7793 Change-Id: I84d2d5c64ae3cb564acf53d93ea4f12a829b787d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1967328Reviewed-by: Joshua Litt <joshualitt@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#65451}
-
- 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}
-
- 31 Oct, 2019 1 commit
-
-
Tobias Tebbi authored
This has two advantages: - It improves error messages by avoiding wrong template instantiations. - More flexible overloads by disabling generics for overload resolution when their constraints are violated. Bug: v8:7793 Change-Id: I7d2b8ef736988e8de16d25a4a4b16b49e27c6a11 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1890097Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#64676}
-
- 30 Aug, 2019 1 commit
-
-
Georg Schmid authored
This CL adds a LocationReference specifically for slices to Torque. This allows us to safely reference arrays in objects and pass around such references. For an array of T-typed elements, referencing yields a Slice<T>. In addition, the traditional element access syntax ('o.array[i]') now internally produces a slice, indexes it at 'i' and dereferences the resulting HeapReference. Bug: v8:7793 Change-Id: I4af58e4d2feac547c55a1f6f9350a6c510383df2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1771782 Commit-Queue: Georg Schmid <gsps@google.com> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#63479}
-
- 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}
-
- 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
Due to bug chromium:893437, Torque has ASAN disabled on Windows, which makes it impossible to run unittests for Torque with ASAN being enabled in the unittests. To fix this, this skips Torque unittests in the unsupported configuration. Bug: chromium:893437 Change-Id: I6c8eee1448c63223af4d7336954190e649d125e9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1632214Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#61891}
-
- 24 May, 2019 1 commit
-
-
Tobias Tebbi authored
This is a reland of c33a1ef2 It seems the revert was based on a flake. Original change's description: > Reland "[torque] move class tests to unittests" > > This is a reland of f589d561 > > Now with an ASAN-container-overflow false positive workaround: > Somehow ASAN was unhappy about a simple > std::vector<std::string>::push_back. > Increasing the std::vector capacity before doing the push_back > strangely fixes the problem. > > Original change's description: > > [torque] move class tests to unittests > > > > This avoids the generation of fake external classes. > > > > Bug: v8:7793 > > Change-Id: I9744b299d3ec474d72b298b4f6143f95e345d1d9 > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1625991 > > Reviewed-by: Simon Zünd <szuend@chromium.org> > > Reviewed-by: Sigurd Schneider <sigurds@chromium.org> > > Commit-Queue: Tobias Tebbi <tebbi@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#61778} > > TBR: szuend@chromium.org, sigurds@chromium.org > Bug: v8:7793 > Change-Id: Ifa1958e4d6e850ba27632aa95c7efaf5ca4bfefa > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1627970 > Commit-Queue: Tobias Tebbi <tebbi@chromium.org> > Reviewed-by: Tobias Tebbi <tebbi@chromium.org> > Cr-Commit-Position: refs/heads/master@{#61807} Bug: v8:7793 Change-Id: Ia403f1b784500c0903172f13e74c0b325e82599f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1627980Reviewed-by: Simon Zünd <szuend@chromium.org> Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#61819}
-
- 23 May, 2019 2 commits
-
-
Francis McCabe authored
This reverts commit c33a1ef2. Reason for revert: fails win32 test: https://ci.chromium.org/p/v8/builders/ci/V8%20Win32%20-%20nosnap%20-%20shared/33658 Original change's description: > Reland "[torque] move class tests to unittests" > > This is a reland of f589d561 > > Now with an ASAN-container-overflow false positive workaround: > Somehow ASAN was unhappy about a simple > std::vector<std::string>::push_back. > Increasing the std::vector capacity before doing the push_back > strangely fixes the problem. > > Original change's description: > > [torque] move class tests to unittests > > > > This avoids the generation of fake external classes. > > > > Bug: v8:7793 > > Change-Id: I9744b299d3ec474d72b298b4f6143f95e345d1d9 > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1625991 > > Reviewed-by: Simon Zünd <szuend@chromium.org> > > Reviewed-by: Sigurd Schneider <sigurds@chromium.org> > > Commit-Queue: Tobias Tebbi <tebbi@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#61778} > > TBR: szuend@chromium.org, sigurds@chromium.org > Bug: v8:7793 > Change-Id: Ifa1958e4d6e850ba27632aa95c7efaf5ca4bfefa > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1627970 > Commit-Queue: Tobias Tebbi <tebbi@chromium.org> > Reviewed-by: Tobias Tebbi <tebbi@chromium.org> > Cr-Commit-Position: refs/heads/master@{#61807} TBR=sigurds@chromium.org,tebbi@chromium.org,szuend@chromium.org Change-Id: I079e3ccf2c7a4778e3e6aabee85313ab5a070ee3 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:7793 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1626834Reviewed-by: Francis McCabe <fgm@chromium.org> Commit-Queue: Francis McCabe <fgm@chromium.org> Cr-Commit-Position: refs/heads/master@{#61808}
-
Tobias Tebbi authored
This is a reland of f589d561 Now with an ASAN-container-overflow false positive workaround: Somehow ASAN was unhappy about a simple std::vector<std::string>::push_back. Increasing the std::vector capacity before doing the push_back strangely fixes the problem. Original change's description: > [torque] move class tests to unittests > > This avoids the generation of fake external classes. > > Bug: v8:7793 > Change-Id: I9744b299d3ec474d72b298b4f6143f95e345d1d9 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1625991 > Reviewed-by: Simon Zünd <szuend@chromium.org> > Reviewed-by: Sigurd Schneider <sigurds@chromium.org> > Commit-Queue: Tobias Tebbi <tebbi@chromium.org> > Cr-Commit-Position: refs/heads/master@{#61778} TBR: szuend@chromium.org, sigurds@chromium.org Bug: v8:7793 Change-Id: Ifa1958e4d6e850ba27632aa95c7efaf5ca4bfefa Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1627970 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#61807}
-
- 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}
-
- 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}
-
- 24 Apr, 2019 1 commit
-
-
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}
-
- 23 Apr, 2019 1 commit
-
-
Simon Zünd authored
This CL implements the first set of diagnostic notifications. When Torque compilation fails, the language server translates the Torque error into a diagnostics notification and pushes it to the client. Note that per specification, the server is responsible to manage the state of all published diagnostics. This means that the server is also responsible for clearing out previous notifications if they become stale. Bug: v8:8880 Change-Id: Ief46dc1d94d1e5b7fa3e0048df494bfc05974031 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1569434Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Simon Zünd <szuend@chromium.org> Cr-Commit-Position: refs/heads/master@{#60942}
-
- 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}
-
- 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}
-
- 27 Feb, 2019 2 commits
-
-
Daniel Clifford authored
Constructors have been removed. Initialization syntax with {} for structs and classes is now limited to the initialization expressions for the fields, so "constructors" deviating from that explicit and complete list of field initialization values must be declared as separate macros. Bug: v8:7793 Change-Id: Ibc26e685c0c8a182732df90b1631eae9371309cb Reviewed-on: https://chromium-review.googlesource.com/c/1489080 Commit-Queue: Daniel Clifford <danno@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#59917}
-
Simon Zünd authored
This CL changes a few AST nodes and one internal structure to use "Identifier" instead of a simple std::string, allowing the use of the exact source position of such a name. Drive-by change: Add new constructor to Binding that allows creation from an Identifier. It sets the declaration_position to the source position of the name instead of using "CurrentSourcePosition". R=tebbi@chromium.org Bug: v8:7793 Change-Id: I456d20822b6528d2e96400c28ebfebea3ca80613 Reviewed-on: https://chromium-review.googlesource.com/c/1491223 Commit-Queue: Simon Zünd <szuend@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#59899}
-
- 25 Feb, 2019 1 commit
-
-
Tobias Tebbi authored
Bug: v8:8863 Change-Id: I8907b7b0b7dfa53a2e1e607c0bad26939d312f4e Reviewed-on: https://chromium-review.googlesource.com/c/1485836Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#59816}
-
- 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}
-
- 28 Jan, 2019 1 commit
-
-
Daniel Clifford authored
Previously, macros that returned true for "ShouldBeInlined" were only compiled if they were called, which made it impossible to type/semantic check all Torque code (e.g. newly added methods to structs). One might argue that all code should be tested (and thus through inlining compiled), but for prototyping, the skipped compilations were definitely annoying. As part of this change, added a ShouldGenerateExternalCode method to declarables (by default returns !ShouldBeInlined) that makes it possible to suppresses C++ code generation for any method. To support this at the lowest level, a NullOStream classes is added as part of this patch. Finally, added support for generating C++ for passing structs as label parameters to run previously inlined methods through the implementation-visitor for non-inlined compilation. Bug: v8:7793 Change-Id: I8ce23382e12ddc25f46222c25729c82433040a73 Reviewed-on: https://chromium-review.googlesource.com/c/1434378 Commit-Queue: Daniel Clifford <danno@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#59134}
-
- 22 Jan, 2019 3 commits
-
-
Daniel Clifford authored
This is a reland of d11a0648 Original change's description: > [torque] Implement safe initialization of classes through hidden structs > > Initialization of classes now happens atomically at the end of the > class constructor only once all of the values for the class' fields > have been fully computed. This makes Torque constructors completely > GC safe, e.g. hardened against allocations or exceptions in > constructors. > > As part of this change, make the 'this' parameter for method calls > explicit rather than implicit. > > Drive by: add validation to check for duplicate field declarations > > Bug: v8:7793 > Change-Id: I8b5e85980d6a103ef9fc3262b76f6514f36ebf88 > Reviewed-on: https://chromium-review.googlesource.com/c/1411252 > Commit-Queue: Daniel Clifford <danno@chromium.org> > Reviewed-by: Tobias Tebbi <tebbi@chromium.org> > Cr-Commit-Position: refs/heads/master@{#58979} Bug: v8:7793 Change-Id: Ia8c23a36a661a73b5dc34437efd514a7c13a1ae8 Reviewed-on: https://chromium-review.googlesource.com/c/1426840Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Daniel Clifford <danno@chromium.org> Cr-Commit-Position: refs/heads/master@{#59005}
-
Daniel Clifford authored
This reverts commit d11a0648. Reason for revert: <INSERT REASONING HERE> Original change's description: > [torque] Implement safe initialization of classes through hidden structs > > Initialization of classes now happens atomically at the end of the > class constructor only once all of the values for the class' fields > have been fully computed. This makes Torque constructors completely > GC safe, e.g. hardened against allocations or exceptions in > constructors. > > As part of this change, make the 'this' parameter for method calls > explicit rather than implicit. > > Drive by: add validation to check for duplicate field declarations > > Bug: v8:7793 > Change-Id: I8b5e85980d6a103ef9fc3262b76f6514f36ebf88 > Reviewed-on: https://chromium-review.googlesource.com/c/1411252 > Commit-Queue: Daniel Clifford <danno@chromium.org> > Reviewed-by: Tobias Tebbi <tebbi@chromium.org> > Cr-Commit-Position: refs/heads/master@{#58979} TBR=danno@chromium.org,tebbi@chromium.org Change-Id: Id6c46c175f53c5a77db1e6ca242586fba34cd02e No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:7793 Reviewed-on: https://chromium-review.googlesource.com/c/1426121Reviewed-by: Daniel Clifford <danno@chromium.org> Commit-Queue: Daniel Clifford <danno@chromium.org> Cr-Commit-Position: refs/heads/master@{#58980}
-
Daniel Clifford authored
Initialization of classes now happens atomically at the end of the class constructor only once all of the values for the class' fields have been fully computed. This makes Torque constructors completely GC safe, e.g. hardened against allocations or exceptions in constructors. As part of this change, make the 'this' parameter for method calls explicit rather than implicit. Drive by: add validation to check for duplicate field declarations Bug: v8:7793 Change-Id: I8b5e85980d6a103ef9fc3262b76f6514f36ebf88 Reviewed-on: https://chromium-review.googlesource.com/c/1411252 Commit-Queue: Daniel Clifford <danno@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#58979}
-
- 17 Jan, 2019 1 commit
-
-
Tobias Tebbi authored
Bug: v8:7793 Change-Id: Ifb3f27c7da02c2040fdf5042dafa13b336007f94 Reviewed-on: https://chromium-review.googlesource.com/c/1413875 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#58890}
-