Commit Graph

1274 Commits

Author SHA1 Message Date
Svyatoslav Scherbina 24e7a11abc Native: fix losing Worker.executeAfter jobs on scheduled time clash
The implementation was keeping delayed jobs in std::set sorted
only by the scheduled execution time (in microseconds since epoch).
So two jobs submitted to a worker and having the same scheduled time
were considered equivalent by the set, and one of them got lost.

Fix this by using std::multiset instead of std::set.
2021-11-26 11:59:40 +00:00
Pavel Punegov 19031c88d9 [Native][test] Fix task dependencies
Apply dependencies on build task, not its provider, because otherwise
dependencies are being set during the task creation that makes them
circular.
2021-11-26 10:13:06 +00:00
Pavel Punegov 918d47d110 [Native][test] Use Distribution instead 2021-11-26 10:13:06 +00:00
Pavel Punegov 6981d9955b [Native][test] Don't build dist if non default home is set
Also build crossDist target in case it is missing in the specified
native home dir.
2021-11-26 10:13:06 +00:00
Pavel Punegov 8be2196ea9 [Native][test] Fix testLibrary dependency 2021-11-26 10:13:05 +00:00
Pavel Punegov 666ecf4bfb [Native][build] Set properties for Konan plugin 2021-11-26 10:13:05 +00:00
Pavel Punegov d73f8ea44e [Native][Test] Fix platformLibs dependencies
Sanity tests should not run tests that depend on platform libs. Also
fix platform libs dependency setting
2021-11-26 10:13:04 +00:00
Igor Chevdar 353f82f9e6 Revert "[K/N][runtime][interop] Refactoring to run cinterop in daemon"
This reverts commit 47858126da.
2021-11-26 14:05:59 +05:00
Igor Chevdar 0ccb271323 Revert "[K/N][interop] Made NativeMemoryAllocator lock-free"
This reverts commit d642cda8f0.
2021-11-26 14:05:02 +05:00
Igor Chevdar fed76a87af Revert "[K/N][build] Refactored K/N tool runner"
This reverts commit fa587a61fd.
2021-11-26 14:04:06 +05:00
Igor Chevdar 07adab561c Revert "[K/N][interop] A small optimization"
This reverts commit 2cbe946331.
2021-11-26 14:02:43 +05:00
Igor Chevdar 4b53a8e3c7 Revert "[K/N][gradle][interop] Refactored ToolConfig"
This reverts commit d9c1b1f6f7.
2021-11-26 14:01:40 +05:00
Igor Chevdar 031d92e21f Revert "[K/N][gradle] Automatic cleaning of the class loaders map"
This reverts commit 874b442a13.
2021-11-26 14:00:30 +05:00
Igor Chevdar 874b442a13 [K/N][gradle] Automatic cleaning of the class loaders map 2021-11-25 23:42:10 +05:00
Igor Chevdar d9c1b1f6f7 [K/N][gradle][interop] Refactored ToolConfig
Added possibility to create different strategies for loading libclang
2021-11-25 23:42:10 +05:00
Igor Chevdar 2cbe946331 [K/N][interop] A small optimization 2021-11-25 23:42:10 +05:00
Igor Chevdar fa587a61fd [K/N][build] Refactored K/N tool runner 2021-11-25 23:42:09 +05:00
Igor Chevdar d642cda8f0 [K/N][interop] Made NativeMemoryAllocator lock-free 2021-11-25 23:42:09 +05:00
Igor Chevdar 47858126da [K/N][runtime][interop] Refactoring to run cinterop in daemon 2021-11-25 23:42:09 +05:00
Sergey Bogolepov 4c45f71edb [K/N] Fix KT-49876
Use llvm-ar on Windows host when producing Linux static library.
2021-11-25 09:28:03 +00:00
Svyatoslav Scherbina ce0850be0a Native: fix watchos sample after 5020d5f 2021-11-25 08:09:41 +00:00
Pavel Punegov 0249b7ed74 [K/N] Stdlib: warnings as errors
Fix or suppress warnings in Native stdlib.
2021-11-25 08:08:38 +00:00
Ilya Matveev ae128348ac [K/N][runtime] Provide API for stack-allocated stacktraces 2021-11-25 06:56:34 +00:00
Nikolay Krasko af8faadca5 Update internal project junit dependency 4.12 -> 4.13.2 2021-11-24 19:35:31 +03:00
Pavel Kunyavskiy 98fa69c3d5 [K/N] Remove hack from suspend function inheritance to allow export
Before that commit, function in coroutine implementation class was
override for both SuspendFunctionN's and FunctionN+1's invoke,
which somehow works, but breaks exporting classes with such functions.

Now it's two separate functions, as it should be normally.

^KT-49395
2021-11-24 07:54:51 +00:00
Svyatoslav Scherbina 5020d5f2f9 Native: make SymbolName internal
See ^KT-46649
2021-11-23 08:09:44 +00:00
Svyatoslav Scherbina 8bd1d7b2be Native: allow jsinterop and cinterop (legacy sourcecode mode) using SymbolName
The interop Kotlin source generators still use `@SymbolName` to link
Kotlin code with platform code.
2021-11-23 08:09:44 +00:00
Svyatoslav Scherbina d70eacb1b2 Native: remove the opt-in for SymbolName from stdlib
This annotation is no longer used there.
2021-11-23 08:09:43 +00:00
Svyatoslav Scherbina 6e0a152f39 Revert "[K/N] Replace SymbolName with GCUnsafeCall in interop"
This reverts commit ca9ec76c08.
2021-11-23 08:09:43 +00:00
Svyatoslav Scherbina 7042d01271 Revert "[K/N] Emmit error on using @SymbolName with new mm"
This reverts commit 7e58660ce2.
2021-11-23 08:09:42 +00:00
Alexander Shabalin 48bb9ae069 fixup! Fix remote executable path 2021-11-22 10:19:39 +00:00
Elena Lepilkina 7667200ad8 fixup! Fix for linuxArm64 2021-11-22 10:19:39 +00:00
Elena Lepilkina fe2f82430f fixup! Added assert 2021-11-22 10:19:38 +00:00
Elena Lepilkina 74260bc138 [K/N][perf] Add possibility to cross compile benchmarks and run them on remote machine 2021-11-22 10:19:38 +00:00
Ilya Matveev cb0149cdca [K/N][build] Parallelize runtime building 2021-11-22 11:47:29 +03:00
Kristoffer Andersen be1c0bb9c1 [EE-IR] Support mutations by evaluator fragments
- box captured variables using `Ref`s, the same mechanism that's used
  for shared variables in closures.
2021-11-21 01:34:42 +01:00
Svyatoslav Scherbina 9476d4c647 Native: use Gradle exec for jsinterop invocation in jsinterop_math test
The previous implementation didn't log anything, including stdout,
stderr and the command line, and didn't detect non-zero exit code,
making it hard to investigate the test failures.
2021-11-19 11:54:46 +00:00
Pavel Punegov c5a02902a7 [K/N][build] Add artifacts depending on input in library task
Depending on noPack option compiler produces file or directory.
Artifact field that contains .klib file can't use @OutputDirectory
annotation. The same applies for @OutputFile with directory.
To workaround make an artifact field internal and use two optional
fields that return either file or directory depending on noPack option.
2021-11-19 11:29:53 +00:00
Pavel Punegov e3ac2b661a [K/N][build] Remove artifact overriding in library task
Depending on noPack option compiler produces file or directory.
Artifact field that contains .klib file can't use @OutputDirectory
annotation. The same applies for @OutputFile with directory.
2021-11-19 11:29:53 +00:00
Pavel Punegov cc7768e38f [K/N] Konan: override artifact property to use with OutputDirectory 2021-11-19 11:29:52 +00:00
Pavel Punegov f7e2572ccc [K/N][build] Add noPack option to Konan plugin
Make plugin aware of -nopack compiler option to correctly set outputs
without .klib suffix.
2021-11-19 11:29:52 +00:00
Igor Chevdar 0a4fe94717 [K/N][codegen] Removed FieldInfo.hasConstInitializer
If a property is a const val, it can't have non-const initializer
2021-11-18 17:52:57 +05:00
Igor Chevdar cb71240938 [K/N] Supported outer this references from cached inline bodies 2021-11-18 17:52:57 +05:00
Martin Petrov aedcfe78e1 [Native] Add -Xoverride-konan-properties to cinterop.
This aligns with the flag added to kotlinc in:
https://youtrack.jetbrains.com/issue/KT-40670

Hermetic builds would benefit from being able to override dependency paths or airplaneMode using this mechanism:

```
$ bin/cinterop -Xoverride-konan-properties "apple-llvm-20200714-macos-x64-essentials.default=/tmp/llvm;airplaneMode=true" -def baz.def
```
2021-11-18 13:18:14 +03:00
Nikolay Kasyanov 4dcfd38236 ObjCExport: remove KotlinUnit from suspend funs returning Unit (#4635)
With `unitSuspendFunctionObjCExport=proper` binary option,
for Unit-returning suspend functions ObjCExport now generates
completion handlers without redundant `KotlinUnit*` result parameter.

So Swift (5.5+) can import these functions as Void-returning async
functions.

^KT-47399 Fixed
2021-11-18 10:01:33 +03:00
Pavel Punegov 960ba3ffde [K/N] Excluded filecheck test on wasm32. See KT-49739 2021-11-17 09:40:52 +00:00
Svyatoslav Scherbina 2f5706597a IR: fix offsets in irTemporary
The variable generated by IrStatementBuilder.irTemporary doesn't inherit
startOffset and endOffset from the builder. In particular, as a result,
temporary variables generated for elvis operator left operand have
UNDEFINED_OFFSET.

Additionally, ProvisionalFunctionExpressionLowering copies the offsets
of a variable to lowered lambda in the variable initializer. With the
problem described above, this causes invalid debug information in
Kotlin/Native, see KT-49360.

Fix irTemporary by using builder's offsets for the variable.

^KT-49360 Fixed
2021-11-16 11:59:55 +00:00
Elena Lepilkina c06875b8e9 [K/N] Added test for exceptions behaviour in case of dynamic libs (KT-47828) 2021-11-16 10:44:53 +00:00
Pavel Kunyavskiy 21444d6be8 [K/N] Optimize and get rid of recursion in SCC search in Devirtualization 2021-11-16 08:27:41 +00:00
Dmitriy Dolovov a029b50755 [Native][tests] Enable codegen_box_callableReference/genericConstructorReference.kt 2021-11-15 18:15:42 +03:00