Roman Artemev
a0cccdf75c
[JS IR] Make backend work with new shared boxes
2020-06-19 12:23:15 +03:00
Mikhail Glukhikh
ab5cb13dae
Rename: DescriptorBasedIr -> ObsoleteDescriptorBasedAPI
2020-06-16 19:17:14 +03:00
Mikhail Glukhikh
cbbb497edf
Make descriptor-based API in ir:tree more granular
2020-06-16 19:17:12 +03:00
Mikhail Glukhikh
b05a1bb1a2
[IR] Extract IrExternalPackageFragmentImpl.createEmptyExternalPackageFragment
2020-05-25 15:40:37 +03:00
Roman Artemev
8335ce8665
[IR] Fix to make K/N work
2020-05-12 14:29:53 +03:00
Dmitry Petrov
05cb0e8994
KNVE: support in JVM_IR and JS_IR
2020-04-20 20:07:52 +03:00
Roman Artemev
a9788f9506
[KLIB] Create an abstract class for module deserializer
...
- Introduce Ir-based Functional interface factory
- Switch from LazyIr to pure
- Use kotlin library to access raw bytes
- Link dirty files against IC cache and dependencies instead of LazyIr
- Move `DescriptorByIdSignatureFinder` from K/N to common
- Support inline-bodies only MODE
2020-04-14 11:12:08 +03:00
Georgy Bronnikov
166b506f63
IR: only require all type parameter references to be local with new inference
2020-04-13 14:34:57 +03:00
Roman Artemev
cef9ed1dae
[IR] Implement new IrSymbol API
...
- Add predicate whether symbol is PublicAPI
- Split symbols into 2 types (Public/Private)
- Fix special implementations
2020-02-14 18:22:15 +03:00
Anton Bannykh
1e96c3d21e
DCE-driven mode
...
:js:js.tests:jsIrTest works same as before
:js:js.tests:jsPirTest runs tests in DCE-driven mode
2020-02-06 21:03:41 +03:00
Anton Bannykh
f6d4ea469c
PrimaryConstructorLowering
2020-02-06 21:03:39 +03:00
Anton Bannykh
76ff30b86e
ObjectLowering
2020-02-06 21:03:39 +03:00
Anton Bannykh
64a5039ebe
Refactor default arguments lowering
2020-02-06 21:03:36 +03:00
Anton Bannykh
9327776706
Rewrite inner class lowerings
2020-02-06 21:03:36 +03:00
Anton Bannykh
0d1c6e08c3
Refactor LateinitLowering into DeclarationTransformer's and a BodyLoweringPass
2020-02-06 21:03:35 +03:00
Anton Bannykh
6e96e271ae
Make InitializersLowering a BodyLoweringPass and add a InitializersCleanupLowering
2020-02-06 21:03:35 +03:00
Anton Bannykh
3d726fe5a2
Make InlineClassDeclarationLowering a DeclarationTransformer
2020-02-06 21:03:34 +03:00
Anton Bannykh
20dc3ccdb8
New mechanism for mappings between old and produced declarations
2020-02-06 21:03:33 +03:00
Alexander Udalov
e42a4b2fac
IR: extract JvmPropertiesLowering out of PropertiesLowering
2020-02-04 11:43:23 +01:00
Alexander Udalov
d27bb76fd0
Remove dependency of serialization.js on cli
...
To break up compilation dependency of JS IR/WASM backends on JVM
backend.
#KT-35854 Fixed
2020-01-29 18:03:22 +01:00
Svyatoslav Kuzmich
fbf71be30c
[JS IR BE] Support mode of linking multiple klibs without .kt files
2020-01-14 18:00:29 +03:00
Alexander Gorshenev
dc8240c24e
Expect/actual support in klibs under -Xklib-mpp
2019-12-18 19:29:56 +03:00
Georgy Bronnikov
08aeed3b46
IR: do not use lazyWrapper for Ir.Symbols
...
The reason for switching from lazyWrapper to SymbolTable itself is that
(at least in JS_IR) some of those lazily created structures could later
be deserialized, which created conflicts.
2019-12-04 16:05:53 +03:00
Georgy Bronnikov
1ed23d7c54
IR: reorganize IrProvider handling
...
Make DeclarationStubGenerator a subclass of IrProvider,
anticipating deserialization of IR structures for JVM_IR backend.
2019-11-27 20:02:27 +03:00
Alexander Udalov
608449f41d
IR: introduce StubGeneratorExtensions for ExternalDependenciesGenerator
...
This is a refactoring to simplify the API of
ExternalDependenciesGenerator and to constrain future additions of
platform-specific stub generator extensions.
2019-11-20 15:16:57 +01:00
Georgy Bronnikov
c5159d9cbe
IR: Add UniqId to IrSymbol
2019-11-13 20:07:57 +03:00
Alexander Udalov
9a55f418fa
IR: extract StaticInitializersLowering out of InitializersLowering
...
And use it in JVM backend only. Also remove unneeded
`patchDeclarationParents` call.
2019-11-12 19:21:46 +01:00
Roman Artemev
a343a57207
[IR] Refactor ir infrastructure
...
- Remove range-based uniq id indexes using to link built ins
- Limit KotlinType usages, replace them with corresponding IrType
2019-11-12 20:45:11 +03:00
Roman Artemev
78b29349c9
Fix lateinit isInitialized check in multi-file case
2019-10-31 14:45:15 +03:00
Vitaliy.Tikhonov
240abdb750
[JS IR BE] update current lowerings for IrScript
2019-10-10 12:52:05 +03:00
Georgy Bronnikov
2e3428bbe7
JVM_IR: incorporate validation into jvmPhases
2019-10-02 14:56:54 +03:00
Alexander Gorshenev
c227c13799
Commonizing klib metadata between native and js
2019-10-01 17:38:57 +03:00
Georgy Bronnikov
7e9cfbc91a
IR: use toLowerCaseAsciiOnly
2019-10-01 16:43:23 +03:00
Georgy Bronnikov
53b7766910
IR: call toLowerCase() with root locale
...
Preventing complexities with Turkish Iı vs. İi.
2019-09-30 22:55:19 +03:00
pyos
20626e4aaf
Make ReturnableBlockLowering common
...
and remove special handling in JVM_IR codegen.
2019-09-05 15:48:26 +02:00
Roman Artemev
f14107bf65
[IR] Sort dependencies a bit early
2019-09-03 14:21:29 +03:00
Svyatoslav Kuzmich
6e6ffa12a6
[WASM] Initial infrastructure
...
- New module ":compiler:backend.wasm"
- Initial compiler infra (driver, phaser, context)
- Subset of Wasm AST
- Skeleton of IR -> Wasm AST
- Wasm AST -> WAT transformer
- Testing infra
- SpiderMonkey jsshell tool
2019-08-22 15:59:54 +03:00