Ilya Chernikov
e9f59e8d1d
Move common diagnostics infrastructure to frontend.common
2021-10-27 22:17:39 +02:00
Dmitriy Novozhilov
bee44c6e0f
[FIR] Split :compiler:fir:resolve module into three different modules
...
Those modules are:
- :compiler:fir:providers, which contains Fir and Symbol providers,
scopes, and different utilities used by them
- :compiler:fir:semantics, which contains different abstractions and
entities which are used in resolution and in checkers
- :compiler:fir:resolve, which contains all stuff related to resolution
and inference
There are two pros of this change:
1. It may increase gradle build, because it allows to compile :fir:resolve
and :fir:checkers modules in parallel
2. Logic of working FIR (scopes, providers, DFA logic system, etc) is
now separated from logic of resolution phases, so for example checkers,
which are depend on scopes physically will not be able to run resolve
in any way
2021-10-18 11:10:47 +03:00
Dmitriy Novozhilov
eadb91f9b2
[FIR] Move accessors to main session components close to declarations of those components
2021-10-18 10:55:39 +03:00
Dmitriy Novozhilov
e933c7b6d9
[Build] Remove testApi(intellijDep()) dependencies from all modules
...
Since IDEA moved most of it's jars to java 11 it's illegal to use them
in our dependencies, so all modules which use `intellijDep()` should
carefully specify which jars they use
2021-09-30 14:41:31 +03:00
Mikhail Glukhikh
ad20d78a63
Add necessary optIn arguments to FIR full pipeline tests
2021-09-29 19:39:27 +03:00
Dmitriy Novozhilov
116a1c1e46
[FIR] Remove stubMode flag from RawFirBuilder and LightTree2Fir converter
2021-09-13 13:53:05 +03:00
Ivan Kochurkin
4907bc296f
[FIR] Turn on jvm-default in tests
2021-09-10 00:48:59 +03:00
Dmitriy Novozhilov
455ed1bdc0
[Test] Add flag to full pipeline test which allows to use build file instead of regular args
2021-08-27 19:02:58 +03:00
Simon Ogorodnik
4a75222491
[FP] Pass module data to compiler via build file
2021-08-27 19:02:58 +03:00
Ilya Chernikov
caa44e413d
Abstract FIR cli pipeline from core environment and related entities
2021-08-23 16:50:40 +03:00
Dmitriy Novozhilov
afd9b4935a
[FIR] Configure language version for FP test via env properties
2021-08-06 14:24:42 +03:00
Simon Ogorodnik
32b380e187
[FP] Fix compiler arguments for intellij-community building
2021-08-03 19:52:23 +03:00
Simon Ogorodnik
872b6b7e81
[FE 1.0 FP] Fix compiler arguments to avoid errors
2021-08-03 19:52:23 +03:00
Simon Ogorodnik
a7961a4a45
[FIR MT] Add reading of packagePrefix from model of java roots
2021-08-03 19:52:22 +03:00
Simon Ogorodnik
1188d311b3
[FIR MT] Add sorting by timestamp from model, reading of modularJdkRoot
2021-08-03 19:52:20 +03:00
Mikhail Glukhikh
40c3c317b2
RawFirBuilder: optimize package name calculation in compiler mode
2021-07-15 12:46:23 +00:00
Simon Ogorodnik
e102bdea20
[Build] Fix xerces usage in FIR modularized tests
2021-07-09 11:08:13 +00:00
Nikolay Krasko
32f811e0ec
Build: Cleanup old platforms from the build
2021-06-09 17:43:53 +03:00
Simon Ogorodnik
d3453e98b0
FIR Tests: Add async-profiler per-pass sampling to full pipeline
2021-06-07 19:43:28 +03:00
Simon Ogorodnik
718e9c11f5
FIR Tests: Fix FirMetaModularizedTest to run properly on Windows
2021-06-07 19:43:10 +03:00
Dmitriy Novozhilov
02c58b7a8f
[FIR] Refactor deserialized dependency providers and session factories with FirModuleData
2021-05-14 14:30:33 +03:00
Simon Ogorodnik
539d3e5df2
Add full-pipeline modularized tests for old frontend
2021-04-15 13:36:00 +03:00
Ilya Chernikov
0274c41919
[minor] FIR: fix deprecation in test
2021-04-12 10:08:54 +02:00
Simon Ogorodnik
0aca68e7c7
FIR: Add init time measurement to full pipeline
2021-03-25 18:05:51 +03:00
Dmitriy Novozhilov
01e8019c4c
[FIR] Properly handle friend modules in modularized and full-pipeline tests
2021-03-11 13:10:04 +03:00
Dmitriy Novozhilov
f82c7c4678
[FIR] Cleanup session creation utils
2021-03-11 13:10:04 +03:00
Simon Ogorodnik
1cf73203c7
[FIR-Test] Disable pre-release check in modularized tests
2021-02-25 14:03:30 +03:00
Simon Ogorodnik
2ea0e69a56
[FIR-Test] Fix incorrect file count
2021-02-25 14:03:29 +03:00
Simon Ogorodnik
0086ebe6f2
[FIR-Test] Increase code cache size
2021-02-25 14:03:28 +03:00
Simon Ogorodnik
1e73f7a5b2
[FIR-Test] Force min heap size
2021-02-25 14:03:27 +03:00
Simon Ogorodnik
b6fb3c9799
[FIR] Isolate benchmark thread, add jit log format events for passes
...
Add special output for pass events to match with LogCompilation
2021-02-25 14:03:26 +03:00
Georgy Bronnikov
9b6f95faa2
FIR: report lowering time in FullPipelineModularizedTest
2021-02-09 10:59:35 +03:00
Alexander Udalov
221f44da5f
Fix warnings in stdlib/compiler/plugins/test code
2021-01-13 19:18:20 +01:00
Dmitriy Novozhilov
537e4f0bb4
[Test] Move existing fir tests on old infrastructure to :legacy-fir-tests module
2020-12-21 18:34:55 +03:00
Vyacheslav Gerasimov
3feff16a77
Cleanup 193 compatibility fixes
2020-11-11 14:28:54 +03:00
Ilya Kirillov
3f9735dd5d
FIR: use enum in RawFirBuilder to indicate its mode: normals, stubs, or lazy bodies
2020-10-14 22:11:00 +03:00
Alexander Udalov
7fb7dc0210
Fix deprecation warnings related to Project extensions
2020-09-08 20:26:20 +02:00
Mikhail Glukhikh
7c0467944d
FullPipelineModularizedTest: fix compilation
2020-09-01 21:58:26 +03:00
Mikhail Glukhikh
0324c0d02f
FullPipelineModularizedTest: code cleanup
2020-09-01 21:51:49 +03:00
Dmitriy Novozhilov
94d58c714a
[FIR] Cleanup dependencies for fir modules
2020-09-01 12:00:12 +03:00
Mikhail Glukhikh
65739c50d3
FIR full pipeline test: output build status per-module
2020-09-01 11:40:32 +03:00
Alexander Udalov
a9ddf02556
Replace deprecated usages of max/min with maxOrNull/minOrNull
2020-08-25 20:33:59 +02:00
Dmitriy Novozhilov
41aa90ad71
[FIR-TEST] Add flag to take memory dumps in modularized test
2020-08-21 15:27:54 +03:00
Simon Ogorodnik
38477be484
[FIR] Make test fail if profiling requested, but misconfigured
2020-08-18 16:21:48 +03:00
Simon Ogorodnik
15d4333e81
[FIR] Add per-pass profiling support to modularized test
2020-08-18 16:21:48 +03:00
Simon Ogorodnik
83ded9badf
[FIR] Add pass argument to beforePass of modularized test
2020-08-18 16:21:48 +03:00
Alexander Udalov
c3cbcf6d7f
Slightly improve performance measurements rendering
...
Report the input module name and size once before any measurements
instead of duplicating it in all of them. Also, render measurements in a
table to improve readability.
Before:
info: PERF: INIT: Compiler initialized in 467 ms
info: PERF: ANALYZE: 1 files (2 lines) target main-java-production in 277 ms - 7.220 loc/s
info: PERF: IR: Translation 1 files (2 lines) target main-java-production in 291 ms - 6.873 loc/s
info: PERF: GENERATE: 1 files (2 lines) target main-java-production in 513 ms - 3.899 loc/s
info: PERF: IR: Generation 1 files (2 lines) target main-java-production in 142 ms - 14.085 loc/s
After:
info: PERF: main-java-production, 1 files (2 lines)
info: PERF: INIT: Compiler initialized in 421 ms
info: PERF: ANALYZE 342 ms 5.848 loc/s
info: PERF: IR TRANSLATION 296 ms 6.757 loc/s
info: PERF: GENERATE 453 ms 4.415 loc/s
info: PERF: IR GENERATION 137 ms 14.599 loc/s
2020-08-17 19:29:57 +02:00
simon.ogorodnik
689887c94d
[FIR] Fail test if no modules analyzed successfully
2020-07-10 16:25:22 +03:00
simon.ogorodnik
77ccb3767c
[FIR] Add system property selector for lightTree2fir / psi2fir
2020-07-07 21:47:24 +03:00
simon.ogorodnik
a460b8f2f4
[FIR] Support source directories for lightTree2fir
2020-07-07 21:47:24 +03:00