Alexander Gorshenev
c2c88a9ee6
Use MessageCollector.NONE as a dummy logger collector for js library resolver
2019-10-08 16:56:29 +03:00
Alexander Gorshenev
71eb413350
Attached library resolver to messge collector
2019-10-08 16:56:29 +03:00
Alexander Gorshenev
47fba2ee4b
A couple of fixes for js library resolver
2019-10-08 16:56:29 +03:00
Alexander Gorshenev
e5dbec4523
Commonized FileRegistry with SourceFileMap for klib metadata
2019-10-08 16:56:29 +03:00
Alexander Gorshenev
c227c13799
Commonizing klib metadata between native and js
2019-10-01 17:38:57 +03:00
Svyatoslav Kuzmich
7592048437
[JS] Support typeOf
2019-09-25 18:12:55 +03:00
romanart
acd1cc5a57
[KLIB] Normalize path string to keep file order on Windows OS
2019-09-24 12:41:48 +03:00
Roman Artemev
0040298eac
Fix master
...
- improve assertion message
- compare correct file paths
- fix C JS BE testData
2019-09-04 14:37:14 +03:00
Roman Artemev
21c7c89dbc
[JS KLIB IC] Support incremental klib generation for JS IR
...
Note: the following test do not work yet because of IrField FO issue
testSecondaryConstructorAdded
testCompanionObjectInheritedMemberChanged
2019-09-03 14:21:32 +03:00
Roman Artemev
2e0ab8ba3f
[IR SERIALIZATION] Fix ONLY_DECLARATION_HEADERS mode
2019-09-03 14:21:31 +03:00
Roman Artemev
0c7454c918
[IR SERIALIZATION] Fix forward Declarations in deserializaer
2019-09-03 14:21:31 +03:00
Roman Artemev
125982841a
[IR SERIALIZATION] Fix clashes
2019-09-03 14:21:30 +03:00
Roman Artemev
55f06ecff5
[IR SERIALIZATION] Fix rebase
2019-09-03 14:21:30 +03:00
Roman Artemev
f6339bcf93
[IR SERIALIZATION] Handle UniqId clashes
2019-09-03 14:21:30 +03:00
Roman Artemev
5e14b94a88
[IR SERIALIZATION] Do not track non-metadata descriptors in descriptor table
2019-09-03 14:21:30 +03:00
Roman Artemev
df5f6a2a12
[IR SERIALIZATION] Refactored uniqId allocation
...
- split DeclarationTable into local and global one
- minimize usages of kotlin mangler
- clean up interfaces
2019-09-03 14:21:30 +03:00
Roman Artemev
d50eb5ce52
[IR SERIALIZATION] Make [de]serialization processes incremental
...
- Use local uniqID local indexation file-local
- Rethink the way declaration is looked for
- Store in public file index only publicly accessible symbols
- refactor API
- code clean up
2019-09-03 14:21:29 +03:00
Roman Artemev
96a2cc1f17
[JS IR] Clean up Declaration Table code
2019-09-03 14:21:29 +03:00
Roman Artemev
f14107bf65
[IR] Sort dependencies a bit early
2019-09-03 14:21:29 +03:00
Roman Artemev
1465121266
[IR] Split declaration & descriptor tables
2019-09-03 14:21:29 +03:00
Roman Artemev
a7714a5589
[JS IR BE] Split IrModule/IrFile serializers
2019-09-03 14:21:29 +03:00
Roman Artemev
94a03c9cb4
[IC KLIB] Serialization infrastructure refactoring
...
- remove IrModule header
- put IrDeclaration and its body into separate files
- use only one type of IrData index
- separate deserialization of declarations and its bodies
- introduce FqName message
2019-09-03 14:21:29 +03:00
Steven Schäfer
a90ac2438d
Set correct field visibility in psi2ir
2019-08-28 19:41:11 +02: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
Svyatoslav Kuzmich
812083ee05
[WASM] Initial runtime library
...
Add directory libraries/stdlib/wasm as a placeholder for WASM runtime library
Copy built-ins from core/builtins
Add ExcludeFromCodegen annotation for internal needs
2019-08-22 15:59:49 +03:00
Ilya Chernikov
2ed8fa7624
Convert main task creating helper to lazy API, refactor accordingly
2019-08-21 20:20:08 +02:00
Alexey Tsvetkov
3366ac4b18
Save incremental data with KLIB compiler
2019-08-15 15:11:52 +03:00
Alexey Tsvetkov
fc49510049
Add tests for IC with JS IR BE
2019-08-15 15:11:52 +03:00
Alexander Udalov
b970a57adb
Generate version requirement on inline functions since API version 1.4
...
The old compiler will crash if it tries to inline a function that's
passing a lambda parameter into the new parameter null check method
`Intrinsics.checkNotNullParameter` because that usage is not considered as
inlinable by the old compiler (it only knows about
`Intrinsics.checkParameterIsNotNull`). Therefore we require that these
functions can only be read by compilers of version 1.3.50 or greater.
#KT-22275 Fixed
2019-08-12 16:09:23 +02:00
Igor Chevdar
226013353d
[IrSerializer] Removed hacks with functional interfaces
2019-08-12 17:07:43 +03:00
Igor Chevdar
00dc335559
[IrSerializer] Preparations for functional interfaces handling
2019-08-12 17:07:43 +03:00
Dmitry Petrov
f590d4da9e
IR: IrTypeAlias: serialize/deserialize new IR objects
...
Add uniqId for typealias declarations.
Implement WrappedTypeAliasDescriptor.
2019-08-06 12:42:43 +03:00
Roman Artemev
d7cb3e05ef
[JS IR BE] Replace 32bit default String.hashcode with 64bit cityhash for UniqID
...
Split uniqID space into two part 63 bit each.
2019-07-04 12:49:30 +03:00
Igor Chevdar
dff0ac8866
[Serializer] UniqId clashes handling
2019-06-27 19:04:00 +03:00
Ilya Gorbunov
95139252b7
Exclude kotlin.time.* from reduced js runtime
2019-06-18 03:59:52 +03:00
Roman Artemev
008cf03b06
[IR] Consider TypeParameter as public declaration and serialize it properly
...
- Add test case when TypeParameter of generic property is exposed outside its module
2019-06-14 18:40:59 +03:00
Vyacheslav Gerasimov
9f5b1a5101
Build: Fix runtime for generateFullRuntimeKLib
2019-06-14 01:06:06 +03:00
Vyacheslav Gerasimov
5a39c637c2
Build: Fix intellij dependency leak from ir tree module
2019-06-13 21:03:55 +03:00
Igor Chevdar
3e8f3e6f00
[Klib] Split up IR header tables onto three parts
...
There was one monolith protobuf at irHeader.knd, it was
split up onto 4 parts due to performance issues:
- a small irHeader with some basic info about a module
- symbols table
- types table
- strings table
These 3 tables are then mmapped and accessed by index.
2019-06-10 13:41:57 +03:00
Svyatoslav Kuzmich
cd651be461
[JS IR BE] Migrate JS BE to common klib utils
2019-06-05 11:15:45 +03:00
Roman Artemev
5686de7e09
[JS IR BE] Make kotlinx.io compile
...
- Fix expect/actual default arguments
- Fix dynamic type in inliner
- Fix external varargs
2019-05-31 13:14:43 +03:00
Igor Chevdar
b060acf01d
KotlinMangler: added IrType.isInlined
...
Added possibility to specify when IrType corresponds to an inline class
2019-05-30 14:12:03 +03:00
Alexander Udalov
8dc34ae7b9
IR: rename {name,fqName}Safe -> {name,fqName}ForIrSerialization
...
These properties have a very specific detail in their behavior, in that
the constructor's name is set to be "<init>". While this is OK for the
IR serialization, this may not always be expected in other cases, and
their rather common names (`name`, `fqNameSafe`) suggested that these
properties could be used in generic contexts.
Change all usages outside IR serialization to use
`IrDeclarationWithName.name` and nullable
`IrDeclarationWithName.fqNameWhenAvailable` instead
2019-05-24 14:09:09 +02:00
Svyatoslav Kuzmich
91d16ee947
[CLI] Extract :compiler:cli-js from :compiler:cli
2019-05-14 15:49:50 +03:00
Svyatoslav Kuzmich
f4bb1354c9
[JS IR BE] Support friend modules
2019-05-08 23:34:00 +03:00
Svyatoslav Kuzmich
e3bcabeae3
[JS IR] stdlib: Fix bugs in Long.toString(radix)
2019-05-07 21:49:12 +03:00
Svyatoslav Kuzmich
b0bd5802bb
Remove optionalExpectation hacks
...
Add common sources to Generate IR Runtime
2019-04-24 13:06:58 +03:00
nikita.movshin
65244b4bea
Update copyright.
...
Change the copyright from "JetBrains s.r.o." to
"JetBrains s.r.o. and Kotlin Project contributors"
Update only 2 lines copyright.
2019-04-23 20:09:22 +03:00
Svyatoslav Kuzmich
b1d303b027
Reorganize stdlib-js sources specific to the current JS backend
...
Move kotlin-stdlib-js project and the sources specific to the current backend to 'stdlib/js-v1' directory,
but leave sources that can be shared with the new IR backend in the common 'stdlib/js' location
with exception for 'stdlib/js/src/generated', which is used exclusively for current backend.
This simplifies sourceset configuration when building stdlib with the new backend.
2019-04-22 20:30:57 +03:00
Abduqodiri Qurbonzoda
3f08753f87
Move string-related files to text directory
2019-04-19 03:51:20 +03:00