Commit Graph

96570 Commits

Author SHA1 Message Date
Evgeniy.Zhelenskiy f2d98eac5e [IR] Make use a temp variable for flattened non-local non-MFVC getters
Signed-off-by: Evgeniy.Zhelenskiy <Evgeniy.Zhelenskiy@jetbrains.com>

#KT-1179
2022-11-30 18:55:37 +00:00
Evgeniy.Zhelenskiy 9f01ccc304 [IR] Support user-defined equals for MFVC
Signed-off-by: Evgeniy.Zhelenskiy <Evgeniy.Zhelenskiy@jetbrains.com>

#KT-1179
2022-11-30 18:55:36 +00:00
Evgeniy.Zhelenskiy 51f9f31a0a [IR] Remove suffix from MFVC specialized equals function
Signed-off-by: Evgeniy.Zhelenskiy <Evgeniy.Zhelenskiy@jetbrains.com>

#KT-1179
2022-11-30 18:55:36 +00:00
Evgeniy.Zhelenskiy 6107caa8e2 [FE1.0, FIR] Support secondary constructors for Value Classes
Signed-off-by: Evgeniy.Zhelenskiy <Evgeniy.Zhelenskiy@jetbrains.com>

#KT-1179
2022-11-30 18:55:35 +00:00
Evgeniy.Zhelenskiy 8c3fa6f09f [IR] Escape removing extra boxes if no box was are in the function
Signed-off-by: Evgeniy.Zhelenskiy <Evgeniy.Zhelenskiy@jetbrains.com>

#KT-1179
2022-11-30 18:55:35 +00:00
Evgeniy.Zhelenskiy 962265531e [IR] Weaken pressure on Local storage to fix performance issue
Signed-off-by: Evgeniy.Zhelenskiy <Evgeniy.Zhelenskiy@jetbrains.com>

#KT-1179
2022-11-30 18:55:35 +00:00
Evgeniy.Zhelenskiy 89d5592622 [IR] Support function references
Signed-off-by: Evgeniy.Zhelenskiy <Evgeniy.Zhelenskiy@jetbrains.com>

#KT-1179
2022-11-30 18:55:34 +00:00
Evgeniy.Zhelenskiy b45f2baff5 [IR] Fix performance regression
Signed-off-by: Evgeniy.Zhelenskiy <Evgeniy.Zhelenskiy@jetbrains.com>

#KT-1179
2022-11-30 18:55:34 +00:00
Evgeniy.Zhelenskiy 51e76aa19a [IR] Support default arguments
Signed-off-by: Evgeniy.Zhelenskiy <Evgeniy.Zhelenskiy@jetbrains.com>

#KT-1179
2022-11-30 18:55:33 +00:00
Evgeniy.Zhelenskiy 0c70b60988 [IR] Add context receiver test on MFVC
Signed-off-by: Evgeniy.Zhelenskiy <Evgeniy.Zhelenskiy@jetbrains.com>

#KT-1179
2022-11-30 18:55:33 +00:00
Dmitrii Gridin fe1647096f [SLC] cleanup 'equals' code
^KT-54051
2022-11-30 12:59:12 +00:00
Dmitrii Gridin 2329bd1fe7 [SLC] SymbolLightAccessorMethod: simplify equals for psi case
^KT-54051
2022-11-30 12:59:12 +00:00
Dmitriy Novozhilov 5c3af11188 Advance bootstrap to 1.8.20-dev-3308 2022-11-30 12:25:20 +00:00
Artem Kobzar 67048151fb [K/JS] Change js-call inlining strategy and + ability to referencethis safely from the js call ^Fixed KT-54134 2022-11-30 11:43:22 +00:00
Sergey Bogolepov b1f2f733fe [K/N] Enable dynamic driver for klib output by default 2022-11-30 11:24:41 +00:00
Sergey Bogolepov 39656209f0 [K/N] Enable klib IR phases in dynamic driver
Support SpecialBackendChecksPhase and CopyDefaultValuesToActualPhase
2022-11-30 11:24:41 +00:00
Sergey Bogolepov 73a52b6081 [K/N] Support CompilerOutputKind.LIBRARY in the dynamic driver 2022-11-30 11:24:40 +00:00
Sergey Bogolepov b828672a2e [K/N] Untie PsiToIr phase from Context 2022-11-30 11:24:40 +00:00
Sergey Bogolepov 182662f7ed [K/N] A proper FrontendPhase
Rewrite frontend compiler phase using the new machinery.
As a side effect, some lateinit context properties are not lazy anymore.
2022-11-30 11:24:39 +00:00
Sergey Bogolepov 4bae6d794c [K/N] Introduce PhaseEngine and PhaseContext
These two classes represents a core of a new dynamic K/N driver.
2022-11-30 11:24:39 +00:00
Sergey Bogolepov 0b2bc06870 Extract ErrorReportingContext from CommonBackendContext 2022-11-30 11:24:39 +00:00
Sergey Bogolepov c22cad07ed Introduce FlexiblePhaseConfig
For dynamic Kotlin/Native driver we need a PhaseConfigurationService
that does not force us to provide a list of phases upfront.
2022-11-30 11:24:38 +00:00
Sergey Bogolepov cd3dece726 Introduce SimpleNamedCompilerPhase
Dynamic Kotlin/Native compiler driver relies on a more "pure"
approach when data is explicitly passed between different phases.
SameTypeNamedCompilerPhase is not suitable for this purpose, so we need
a new type for that.
2022-11-30 11:24:38 +00:00
Yahor Berdnikau 2fac6fb125 Revert "Native: fix benchmarksAnalyzer build configuration"
This reverts commit 6979271998.

Better approach via JVM toolchain was added in this commit: 737fdf31f9

Toolchain approach ensures both Java and Kotlin compilation are using
the same JDK version.
2022-11-30 12:02:59 +01:00
Vladimir Sukharev b883dc5434 [KT-39120] Add "-fmodules" argument support to Cinterop
Merge-request: KT-MR-6921
Merged-by: Vladimir Sukharev <Vladimir.Sukharev@jetbrains.com>
2022-11-30 08:46:40 +00:00
Yan Zhulanow 10fc86ef92 [FE] Add tests for 'containingClassForStaticMemberAttr' 2022-11-30 04:12:28 +00:00
Yan Zhulanow 4489ccf864 Simplify registering new debug diagnostics in FirDiagnosticsHandler 2022-11-30 04:12:27 +00:00
Yan Zhulanow c7f9d7f027 [FE] Pass the derived class tag to more places (KTIJ-22808) 2022-11-30 04:12:27 +00:00
Yan Zhulanow 0e050ae7f1 [FE] Consider derived class tag on caching substitution scopes 2022-11-30 04:12:27 +00:00
Yan Zhulanow fe69b21aed [FE] Fix 'containingClassForStaticMemberAttr' for fake overrides (KTIJ-22808) 2022-11-30 04:12:26 +00:00
Nikolay Lunyak 2e9f9f987b [FIR] KT-44698: Print file:line:offset on K2 crash
^KT-44698 Fixed
2022-11-29 22:35:51 +00:00
Ilya Kirillov bba5b87733 Fix binary compatibility with org.jetbrains.kotlin.descriptors.explicitParameters 2022-11-29 21:52:56 +00:00
Jinseong Jeon 8eccb552a3 Migrate descriptor-related util from IR to FE1.0
so that FE1.0 UAST can avoid depending on backend IR

^KTIJ-23602
2022-11-29 21:52:55 +00:00
Svyatoslav Scherbina 972a54788b Bump Kotlin/Native version to 1.8.20-dev-3138 2022-11-29 21:21:20 +00:00
wrongwrong 2439c22ff6 Improve performance of KCallableImpl.callBy
#KT-55178 Fixed

Co-authored-by: Alexander Udalov <alexander.udalov@jetbrains.com>
2022-11-29 22:16:05 +01:00
Vladimir Dolzhenko f54e7abe1d Reduce memory footprint
#KTIJ-23785
2022-11-29 21:01:43 +00:00
Bogdan Mukvich 99b33747b9 Remove codebase tests from compiler tests gradle task
KTI-975
2022-11-29 18:53:15 +00:00
Mikhail Glukhikh 8a74c1956a Add compiler core team as an alternative owner of JVM bytecode tests 2022-11-29 15:24:18 +00:00
Marco Pennekamp d4e6a4ad54 [FIR] KT-54978 Prohibit explicit type arguments in property accesses
- Add a checker which ensures that property accesses have no explicit
  type arguments. If an error on the property access's callee reference
  already exists, the new error is not reported in favor of the existing
  error, as the property access may have been intended to be a function
  call.
- `complicatedLTGT.fir.kt`: The underlying parser issue is not yet
  solved, which is why `x` is parsed as a property access with explicit
  type arguments.
- `reservedExpressionSyntax` tests: This new check makes a lot of the
  access expressions in these tests illegal, so valid lines have been
  added and invalid lines appropriately marked with
  `EXPLICIT_TYPE_ARGUMENTS_IN_PROPERTY_ACCESS` errors.

^KT-54978 fixed
2022-11-29 14:47:59 +00:00
Yahor Berdnikau 4d20b43619 Set jvm target validation to error only for builds with Gradle 8+
^KT54993 Fixed
2022-11-29 14:34:54 +00:00
Yahor Berdnikau 737fdf31f9 Add missing JVM toolchain into :benchmarksAnalyzer:buildSrc
It fixes Java and Kotlin targets non-equality.
2022-11-29 14:31:48 +00:00
Yahor Berdnikau a14d0d148b Simplify Kotlin bootstrap application in the project
Move all the code to apply Kotlin bootstrap into settings script plugin
which does following:
- configures based either on the repo root 'local.properties' or on the
root project gradle properties or on the repo root 'gradle.properties'
current type of bootstrap
- automatically adds Kotlin bootstrap repository with
exclusive content, so bootstrap dependencies will not be by mistake
downloaded from other repository
- automatically forces all Kotlin plugins applied in the build to use
bootstrap version

This script should be applied only in project settings.gradle and then
it does all the configuration by itself.
2022-11-29 14:31:48 +00:00
Igor Chevdar 97b68d111c [K/N][IR] Replaced lazyMapMember with mapping 2022-11-29 13:34:35 +00:00
Igor Chevdar 6a3229b9ed [K/N][codegen] Use generationState instead of context wherever possible 2022-11-29 13:34:35 +00:00
Igor Chevdar 87abb7ea3e [K/N][codegen] Split CAdapterGenerator on two parts 2022-11-29 13:34:34 +00:00
Igor Chevdar f8b8cbb9f2 [K/N] Moved llvmModuleSpecification from context to generation state 2022-11-29 13:34:34 +00:00
Dmitrii Gridin 945e0d9b3f [AA] KtPsiBasedSymbolPointer: drop redundant api
^KT-54051
2022-11-29 13:33:53 +00:00
Dmitrii Gridin 3b1ec3752d [SLC] compareSymbolPointers: result of comparison of two 'null' symbols should be 'false'
^KT-54051
2022-11-29 13:33:52 +00:00
Dmitrii Gridin 94df0465d6 [SLC] SymbolLightConstructor: drop redundant LightMemberOrigin parameter
^KT-54051
2022-11-29 13:33:52 +00:00
Dmitrii Gridin 870fdf51d3 [SLC] add more 'inline' modifiers to symbol utils functions
^KT-54051
2022-11-29 13:33:52 +00:00