Alexander Udalov
75b8d44be5
Minor, fix some typos/errors in test-infrastructure ReadMe
2021-08-24 12:28:31 +02:00
Alexander Udalov
8d4f26cf84
IR: use inlineClassRepresentation in getInlineClassUnderlyingType
...
Looking for the primary constructor manually doesn't work if it's
private in the other module on JVM, because private declarations are
skipped in IrLazyClass.
2021-08-24 12:28:31 +02:00
Alexander Udalov
66dbd91851
IR: minor, remove unused 'isInlined'
2021-08-24 12:28:31 +02:00
Alexander Udalov
8b44b69982
Minor, add definitelyNonNull type flag in metadata as a comment
2021-08-24 12:28:31 +02:00
Svyatoslav Scherbina
5e789f86ee
Support Native binary options in Gradle
...
Both project properties and per-binary DSL are available.
2021-08-24 09:36:24 +00:00
Svyatoslav Scherbina
9877a7271a
Native: use binary options machinery for memory model
...
Old compiler flag (-memory-model) will work too.
2021-08-24 09:36:23 +00:00
Svyatoslav Scherbina
ee3663afa4
Native: use binary options machinery for runtime assertions mode
2021-08-24 09:36:23 +00:00
Svyatoslav Scherbina
7cc1ea8801
Native: introduce binary options machinery
2021-08-24 09:36:22 +00:00
Mikhail Glukhikh
18cc498763
Fix deprecated smart casts in sources (around KT-48101)
2021-08-24 12:32:30 +03:00
Mikhail Glukhikh
12726bde15
Deprecate smart cast on alien derived property #KT-48101 Fixed
2021-08-24 12:32:30 +03:00
Mikhail Glukhikh
3f8734f694
FIR: determine synthetic accessor modality more precisely
...
Related to KT-47542
2021-08-24 12:32:30 +03:00
Mikhail Glukhikh
bbb76aae3f
Provide more precise check for ABSTRACT_CLASS_MEMBER_NOT_IMPLEMENTED
...
#KT-47542 Fixed
2021-08-24 12:32:30 +03:00
Svyatoslav Scherbina
7f12cda233
Native: quick fix lazy init order problem
...
Initialize main-thread-bound properties along with shared properties
^KT-48364 Fixed
2021-08-24 09:24:16 +00:00
Svyatoslav Scherbina
ff46a63ffa
Native: quick fix lazy init boxing issue
...
FileInitializersLowering shouldn't expect codegen to initialize field
statically if constant literal is going to be boxed
^KT-48364
2021-08-24 09:24:16 +00:00
Sergey Bogolepov
9dd8266bee
[K/N] Add trivial test for llvm.objc.clang.arc.use lowering
2021-08-24 10:19:33 +03:00
Sergey Bogolepov
690d0689a1
[K/N] Add ObjCARCContract LLVM pass.
2021-08-24 10:19:31 +03:00
Sergey Bogolepov
1eb960783a
Bump native version
...
The new version has MinGW enabled as cross-target.
2021-08-24 11:05:39 +07:00
Roman Artemev
22cd20781e
[JS IC] Support per-file invalidation in CLI
...
- now disabled
2021-08-24 01:09:18 +03:00
Roman Artemev
001d3d8bc2
[JS IC] Implement per-file cache invalidation algorithm
...
- track inline graph
- not finished yet, it's a POW
2021-08-24 01:09:18 +03:00
Roman Artemev
cccca56c18
[JS IC] Implement inline call graph tracker and inline hash computer
2021-08-24 01:09:17 +03:00
Roman Artemev
1f11aa00c0
[JS IC] Implement IC cache provider and consumer to access IC data
2021-08-24 01:09:16 +03:00
Roman Artemev
76690c081a
[KLIB] Provide required API for IC invalidation
2021-08-24 01:09:16 +03:00
Roman Artemev
4ad2572085
[JS IC] Delete only PIR related part of IC Cache, not the whole dir
2021-08-24 01:09:14 +03:00
Roman Artemev
03b66ab51e
[IR] Add API into IdSignature to filter inaccessible function in IC
2021-08-24 01:09:14 +03:00
Roman Artemev
35e16d2db6
[JS IC] Extract PIR cache IO into separate functions
2021-08-24 01:09:13 +03:00
Roman Artemev
7d8c86caf1
[KLIB] Add API to access file's part of data as ByteArray
...
It requires for computing fingerprint of IrFile in IC infra
2021-08-24 01:09:12 +03:00
Roman Artemev
e4c2d4937f
[KLIB] Extract signature deserialization into separate class
2021-08-24 01:09:11 +03:00
Steven Schäfer
f05f9882ab
IR: Handle annotation instantiations in constructor calls
2021-08-23 23:04:35 +02:00
Steven Schäfer
fc6c2c9631
jvm-abi-gen: Reformat files and add comments
2021-08-23 18:25:33 +02:00
Steven Schäfer
023db4f376
jvm-abi-gen: Use the configured MessageCollector to write ABI jars
2021-08-23 18:25:33 +02:00
Steven Schäfer
6d518c8e57
JVM IR: Mark annotation implementation classes as anonymous
...
And add tests to ensure that annotation implementation classes are
handled correctly in jvm-abi-gen.
2021-08-23 18:25:33 +02:00
Steven Schäfer
19660f11a7
jvm-abi-gen: Remove WhenMapping classes from ABI if possible
2021-08-23 18:25:33 +02:00
Steven Schäfer
ec4d7b2bb6
jvm-abi-gen: Add tests for uses of private Kotlin classes from Java
2021-08-23 18:25:33 +02:00
Steven Schäfer
8de6a5224f
jvm-abi-gen: Mark annotation implementation classes as public...
...
...if they are used from public inline functions in the same file.
2021-08-23 18:25:33 +02:00
Steven Schäfer
6756420725
jvm-abi-gen: Add tests for KT-40133 and KT-40340
2021-08-23 18:25:33 +02:00
Steven Schäfer
5059513106
jvm-abi-gen: Strip inline functions in private classes
...
Inline functions in private classes can only be accessed from Java and
we do not need to preserve their bodies for the abi.
2021-08-23 18:25:33 +02:00
Steven Schäfer
3ffe495346
jvm-abi-gen: Mark all anonymous objects in inline function scope as public
...
Anonymous objects inside of a private inline function nested in a public
inline function can still escape.
2021-08-23 18:25:33 +02:00
Steven Schäfer
d94817cfb6
jvm-abi-gen: Don't strip nested classes from the Kotlin Metadata
2021-08-23 18:25:33 +02:00
Steven Schäfer
4a59af3b8b
jvm-abi-gen: Update metadata version if needed
2021-08-23 18:25:33 +02:00
Steven Schäfer
1b5214a2dc
JVM: Fix usage of ClassBuilder API in AnonymousObjectTransformer
2021-08-23 18:25:33 +02:00
Steven Schäfer
c156613141
jvm-abi-gen: always keep annotation classes
2021-08-23 18:25:33 +02:00
Steven Schäfer
c9b0cc5b32
JVM: Only produce inline SAM wrappers in public inline scope
2021-08-23 18:25:33 +02:00
Steven Schäfer
50bbf4f269
JVM IR: Remove special descriptor origin for lambdas.
...
This was a hack to allow plugins to identify anonymous classes in
inline function scope. However, this stopped working for anonymous
objects with the introduction of IrBasedDescriptors and became redundant
with the public ABI bit in the Kotlin Metadata annotation.
2021-08-23 18:25:33 +02:00
Steven Schäfer
8efb955ab5
JVM: Add more tests to jvm-abi-gen
2021-08-23 18:25:33 +02:00
Steven Schäfer
d08990ebb4
JVM: New single-pass implementation for jvm-abi-gen
2021-08-23 18:25:33 +02:00
Steven Schäfer
a54503cede
JVM: Add an extension point for file output
2021-08-23 18:25:33 +02:00
Steven Schäfer
de9d2919a8
JVM Metadata: Add a bit to mark anonymous objects in inline functions
...
Anonymous objects in the scope of an inline functions are copied to
all call-sites. This makes them part of the public ABI of a Kotlin
library.
We introduce a flag to mark all classes in the scope of an inline
function. When compiling with assertions enabled, we check that
this flag is set whenever we inline an anonymous object from another
module.
2021-08-23 18:25:33 +02:00
Sergey Bogolepov
254fc53b17
[K/N] Disable mimalloc for MinGW on Linux and Windows
...
There is a case-sensitivity problem when cross-compiling to MinGW.
https://github.com/microsoft/mimalloc/commit/71ac98a fixes the problem,
but it is not included into our current version of mimalloc.
2021-08-23 16:01:37 +00:00
Sergey Bogolepov
c50ae1ffe6
[K/N] Don't check for MSVC on Linux and macOS hosts
2021-08-23 16:01:36 +00:00
Sergey Bogolepov
1381221ef8
[K/N] Use smaller mingw-w64-i686 toolchain as well
2021-08-23 16:01:36 +00:00