Commit Graph

90993 Commits

Author SHA1 Message Date
Igor Yakovlev c3a6d0b499 [WASM] Fix invalid constructors call flow for exceptions 2022-02-03 21:25:58 +01:00
Igor Yakovlev e30b449454 [WASM] Replace non-performance way of building String from CharArray 2022-02-03 21:25:58 +01:00
Igor Yakovlev a44b103da9 [WASM] Fix invalid equals/hashCode for Double.NaN and Float.NaN 2022-02-03 21:25:58 +01:00
Igor Yakovlev ea76501f9e [WASM] Implement ConstrainedOnceSequence 2022-02-03 21:25:58 +01:00
Igor Yakovlev d0370bd145 [WASM] Fix invalid Array.fill methods implementations 2022-02-03 21:25:58 +01:00
Igor Yakovlev 5ed104063d [WASM] Implement missing test asserter 2022-02-03 21:25:58 +01:00
Igor Yakovlev ece0f83ab2 [WASM] Implement std kotlin.time 2022-02-03 21:25:57 +01:00
Igor Yakovlev 1052ebb44d [WASM] Fix invalid rounding for Double to Int/Long conversion 2022-02-03 21:25:57 +01:00
Igor Yakovlev b4435fe091 [WASM] Escape wasm trap on division of s32/s64 min values on -1 2022-02-03 21:25:57 +01:00
Igor Yakovlev 0acb1c0c05 [WASM] Implemented Wasm unhandled exceptions on JS site 2022-02-03 21:25:57 +01:00
Igor Yakovlev e32f9eb2ce [WASM] throwableExtensions implementation 2022-02-03 21:25:57 +01:00
Alexander Korepanov 28b1f1c50f [JS IR] Add IC invalidation tests 2022-02-03 20:19:17 +00:00
Alexander Udalov 210cc67041 Android extensions: do not produce unbound symbol for mutableMapOf
#KT-50784 Fixed
2022-02-03 19:14:52 +01:00
Ilya Goncharov a2167200d6 [JS IR] IR module to name
Merge-request: KT-MR-5672
Merged-by: Ilya Goncharov <Ilya.Goncharov@jetbrains.com>
2022-02-03 17:28:46 +00:00
Mikhail Glukhikh 11bbd79c4b FIR: replace ConeKotlinType with more concrete type when possible 2022-02-03 19:12:18 +03:00
Mikhail Glukhikh 27d4c745cb ConeSimpleKotlinType: introduce & use unwrapDefinitelyNotNull 2022-02-03 19:12:17 +03:00
Mikhail Glukhikh d1194e5fd2 FIR: drop some usages of ConeTypeContext 2022-02-03 19:12:17 +03:00
Mikhail Glukhikh 81ff9b820a FIR: make ConeSimpleKotlinType the only original for definitely not-null 2022-02-03 19:12:16 +03:00
Alexander Shabalin 434213f416 [K/N] Add ScopedThread
* thread that by default joins in the destructor (like C++20 jthread)
* can be given a name

Merge-request: KT-MR-5619
Merged-by: Alexander Shabalin <Alexander.Shabalin@jetbrains.com>
2022-02-03 15:38:07 +00:00
Alexander Udalov 9826172720 CLI: support "arg=value" for argument's deprecatedName
#KT-51093 Fixed
2022-02-03 16:23:12 +01:00
Igor Laevsky 4e84e14d34 [Wasm] Don't squish modules together 2022-02-03 18:19:30 +03:00
nataliya.valtman 259d6b82c4 Advance bootstrap to 1.7.0-dev-1452 2022-02-03 17:47:47 +03:00
Xin Wang fdbcb64d39 JVM_IR: frame optimization for cast to IntProgression
#KT-29199
2022-02-03 17:45:06 +03:00
Mikhael Bogdanov 15e08893aa FIR: support DefinitelyNotNull types
#KT-49465 Fixed
2022-02-03 14:07:20 +01:00
Mikhail Glukhikh bd31cbaebf Unmute some FIR2IR tests 2022-02-03 15:03:33 +03:00
Vyacheslav Gerasimov 87d813d780 Add space warmup job for gateway and fleet
#KTI-776
2022-02-03 11:53:00 +03:00
Vyacheslav Gerasimov c7a165e6f7 Add Dockerfile for jb-gateway and fleet dev environment
#KTI-776
2022-02-03 11:53:00 +03:00
Pavel Kunyavskiy 85633771da [K/N] Replace escape analysis correctness check to RuntimeAssert to avoid checks in release mode 2022-02-03 08:08:21 +00:00
Ilya Matveev 23d606b053 [K/N][tests] Support setting GC scheduler in the new infra 2022-02-03 07:30:33 +00:00
Ilya Matveev 8668797afd [K/N][tests] Do not run backed.native tests with aggressive GC 2022-02-03 07:30:33 +00:00
Alexander Udalov 6379fe4c4c JVM IR: link via descriptors instead of signatures by default
Doing so speeds up psi2ir ~2 times, and thus improves total compiler
performance by about 6-8%.

Unless JVM IR is in the mode where linking via signatures is the only
way (-Xserialize-ir, -Xklib), signatures are actually not needed at all,
SymbolTable can use the frontend representation (descriptors for FE1.0,
and hopefully FIR elements for K2) as hash table keys. The only catch is
that since other backends still need to work with signatures, all the
common IR utilities, such as irTypePredicates.kt, need to work correctly
for IR elements both with signatures and without.

Also, introduce a fallback compiler flag -Xlink-via-signatures, in case
something goes wrong, to be able to troubleshoot and workaround any
issues.

 #KT-48233
2022-02-03 02:48:05 +01:00
Alexander Udalov 6e4131de8e IR: improve toString for symbols 2022-02-03 02:48:05 +01:00
Kristoffer Andersen cd118e4723 [EE-IR] Minor: Generate valid bytecode for Fragment Class in PSI2IR
Testing revealed buggy generation of classes: the prior code is
rejected by the JVM verifier due to missing call to `this()` or
`super()`.
2022-02-02 23:45:41 +01:00
Igor Chevdar c0715cfb0c [K/N][IR][caches] Fixed problems with inline classes
Fixes https://youtrack.jetbrains.com/issue/KT-50978
2022-02-02 22:46:16 +05:00
Igor Chevdar 949e222305 [IR] Fixed a problem with signature search
The function findDescriptorBySignature should return null if no such signature has been found
letting the caller to handle this correctly. Fixes https://youtrack.jetbrains.com/issue/KT-50976
2022-02-02 22:46:16 +05:00
Igor Chevdar 554e94a322 [K/N][IR] Never consider a enum a final class
Unfortunately, neither descriptors nor Lazy IR have enough information
to correctly deduce a enum's modality as psi2ir does, so to avoid the RTTI generator
generating different vtables in different setups (whether a klib is cached or not),
conservatively consider all enums non-final.
2022-02-02 22:46:15 +05:00
Igor Chevdar 97a28df43d [K/N][IR] Handle some corner cases for enums when building caches
Helps workaround https://youtrack.jetbrains.com/issue/KT-50977
2022-02-02 22:43:53 +05:00
nataliya.valtman 0382610120 Report build reports for http in separate executor 2022-02-02 19:51:18 +03:00
Roman Golyshev 7e1a9e2b9a KTIJ-20637 Group files by module in getFacadeClassesInPackage also
Fixup for 35e2561dab, since these changes
were overlooked in the initial commit.

^KTIJ-20637 Fixed
2022-02-02 19:02:23 +03:00
Nikita Bobko ce2a469a88 coop dev: make it obvious how to resolve problems with outdated iml mapping 2022-02-02 15:41:07 +00:00
Igor Yakovlev 0ae7e00ed8 Revert "[WASM] Remove ignore from passing tests"
This reverts commit a655f9da58.
2022-02-02 16:44:48 +03:00
Igor Yakovlev 1446914ba9 [WASM] Run box tests with dce and non-dce modes 2022-02-02 16:44:47 +03:00
Svyatoslav Scherbina 9a967952b5 ObjCExport: fix crash when KotlinBase +initialize is called before +load
This generally shouldn't happen, but sometimes it does.

^KT-50982 Fixed
2022-02-02 12:57:20 +00:00
Dmitriy Novozhilov c23624380e [FE 1.0] Enable StopPropagatingDeprecationThroughOverrides in progressive mode
^KT-47902
2022-02-02 15:07:44 +03:00
Dmitry Petrov bbad3e9e94 JVM collect additional performance metrics in FE1.0 + JVM_IR pipeline 2022-02-02 11:56:01 +00:00
Pavel Punegov 74cf792b41 [K/N][test] Don't rebuild platform libs in non default dist if exist 2022-02-02 10:53:07 +00:00
Dmitriy Novozhilov e544c404b9 [FIR] Fix error message for CONFLICTING_INHERITED_MEMBERS 2022-02-02 10:55:40 +03:00
Dmitriy Novozhilov ee1a842b6c [FIR] Fix error message for LEAKED_IN_PLACE_LAMBDA 2022-02-02 10:52:54 +03:00
Ilya Matveev 6c173b2b6c [K/N] Add mmap to thread state checker exclude list 2022-02-02 05:22:59 +00:00
Roman Golyshev 35e2561dab KTIJ-20637 Group files by module and create facade class for each one
Before all files were going to `getOrCreateSymbolLightFacade`. If there
were both compiled and source files, it caused exceptions later
(see `SymbolLightClassFacadeCache.getOrCreateFirLightFacadeNoCache`).

When grouped by the `KtModule`, each file group should contain either
only sources or only compiled classes.

^KTIJ-20637 Fixed
2022-02-01 22:00:51 +03:00