- 29 Jan, 2019 1 commit
-
-
Daniel Clifford authored
Bug: v8:7793 Change-Id: I28a60cdbce211fadf3b749b582a81ae78ff76548 Reviewed-on: https://chromium-review.googlesource.com/c/1435945 Commit-Queue: Daniel Clifford <danno@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#59150}
-
- 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}
-
- 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}
-
- 05 Nov, 2018 1 commit
-
-
Tobias Tebbi authored
- Name lookup in module scopes has namespace semantics now: All overloads from all parent modules are combined before overload resolution. - Allow overloads of different callables: runtime-functions, macros, builtins, and generics. - The duplication between the DeclarationVisitor and the ImplementationVisitor is removed: The DeclarationVisitor creates declarables for everything except for implicit generic specializations. The ImplementationVisitor iterates over declarables. The DeclarationVisitor only looks at the header of declarations, not at the body. - Modules become Declarable's, which will enable them to be nested. - Modules replace the existing Scope chain mechanism, which will make it easier to inline macros. - The DeclarationVisitor and Declarations become stateless. All state is moved to contextual variables and the GlobalContext. - Implicit specializations are created directly from the ImplementationVisitor. This will enable template parameter inference. - As a consequence, the list of all builtins is only available after the ImplementationVisitor has run. Thus GenerateBuiltinDefinitions has to move to the ImplementationVisitor. Also, this makes it necessary to resolve the link from function pointer types to example builtins only at this point. Bug: v8:7793 Change-Id: I61cef2fd3e954ab148c252974344a6e38ee2d01d Reviewed-on: https://chromium-review.googlesource.com/c/1304294 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Daniel Clifford <danno@chromium.org> Cr-Commit-Position: refs/heads/master@{#57231}
-
- 11 Sep, 2018 1 commit
-
-
Simon Zünd authored
This CL adds a contextual variable that tracks lint errors and will cause the Torque compiler to abort if there were any. R=tebbi@chromium.org Bug: v8:7793 Change-Id: Ia7c2b5b6c7cb12d489b12596afa84f933fc3f337 Reviewed-on: https://chromium-review.googlesource.com/1219388Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Simon Zünd <szuend@google.com> Cr-Commit-Position: refs/heads/master@{#55797}
-
- 24 Jul, 2018 1 commit
-
-
Tobias Tebbi authored
Change-Id: I02c117ef66480eb73eb9cc1d4f80bbc64e9d3624 Reviewed-on: https://chromium-review.googlesource.com/1146655 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#54649}
-
- 20 Jul, 2018 1 commit
-
-
Tobias Tebbi authored
Bug: v8:7793 Change-Id: I208edf856f0283d840358f3c11bab97af0397056 Reviewed-on: https://chromium-review.googlesource.com/1095192Reviewed-by: Daniel Clifford <danno@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#54574}
-
- 13 Jun, 2018 1 commit
-
-
Daniel Clifford authored
In the process and as a test case of the module/file-handling, separate Array.p.forEach into its own Torque file. Bug: v8:7793 Change-Id: If45103a9df3bf8fade34e7bcf7c7c9c060e25966 Reviewed-on: https://chromium-review.googlesource.com/1097755Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Daniel Clifford <danno@chromium.org> Cr-Commit-Position: refs/heads/master@{#53703}
-
- 30 May, 2018 1 commit
-
-
Tobias Tebbi authored
In Torque, we have several global singleton classes. Using the contextual variable pattern instead of passing around pointers in random places makes the code more readable. This CL does this for TypeOracle, we plan to do it for more classes in the future. Bug: v8:7754 Change-Id: Ib744b476ce51a4932c52274b2210149515f1663d Reviewed-on: https://chromium-review.googlesource.com/1078729 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/master@{#53444}
-
- 23 May, 2018 1 commit
-
-
Simon Zünd authored
This CL replaces the default ConsoleErrorListener with a custom one. The only difference is that the error message now also includes the file name where the lexer/parser error happened. R=tebbi@chromium.org Change-Id: Ifa22501a55066b82b32234c76df180db41ee8b62 Reviewed-on: https://chromium-review.googlesource.com/1069137 Commit-Queue: Simon Zünd <szuend@google.com> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#53309}
-
- 16 May, 2018 1 commit
-
-
Tobias Tebbi authored
Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng Change-Id: I20e30f0c19c887b1e093b02e39c7bd3d53d15182 Reviewed-on: https://chromium-review.googlesource.com/1054073 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Daniel Clifford <danno@chromium.org> Cr-Commit-Position: refs/heads/master@{#53221}
-
- 03 May, 2018 1 commit
-
-
Daniel Clifford authored
This is a preparatory step for implementing generics. Along the way, clean up and encapsulate a bunch of code, including: * Fully encapsulate Scope by adding the new class ScopeChain that provide an abstraction for creating and activating scopes. * Untangle Modules and Scopes. * Unify scope activation so that it is always associated with an AST node and triggered by a RAII helper class. * Unify (somewhat) how builtins and macros are created, fixing a few inconsistencies with when and how parameters and their types are declared. * Create a new Declarations class that brokers between the visitor classes and the ScopeChain. This moves handling of declaration-related errors out of the visitors but also makes it possible to do so without polluting Scope and ScopeChain with details about resolving SourcePositions in error cases. Change-Id: I180017d4cf39ccf5ef1d20b84f53284c252f8d87 Reviewed-on: https://chromium-review.googlesource.com/1038504 Commit-Queue: Daniel Clifford <danno@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#52947}
-
- 24 Apr, 2018 1 commit
-
-
Daniel Clifford authored
Bug: v8:7666 Change-Id: Ida9b6f964261bad75a4eb5d567ad37ec82569bcc Reviewed-on: https://chromium-review.googlesource.com/1023061 Commit-Queue: Daniel Clifford <danno@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#52751}
-
- 16 Apr, 2018 1 commit
-
-
Daniel Clifford authored
An overview of motivation behind Torque and some of its principles can be found here: https://bit.ly/2qAI5Ep Note that there is quite a bit of work left to do in order to get Torque production-ready for any non-trivial amount of code, but landing the prototype as-is will allow for much faster iteration. Bugs will be filed for all of the big-ticket items that are not landing blockers but called out in this patch as important to fix. Cq-Include-Trybots: luci.v8.try:v8_linux_nosnap_rel;luci.v8.try:v8_linux_noi18n_rel_ng Change-Id: Ib07af70966d5133dc57344928885478b9c6b8b73 Reviewed-on: https://chromium-review.googlesource.com/845682 Commit-Queue: Daniel Clifford <danno@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#52618}
-