Roman Artemev
b1eeb1fb27
[JS IC] Don't persist temporary copies of inline functions
...
- drop special `IrValueParameterPublicSymbol`
- drop special `IrAnonymousInitializerPublicSymbolImpl`
- drop hacky `useGlobalSignatures`
2021-08-06 20:49:06 +03:00
Roman Artemev
b1251c1716
[JS IC] Drop special IdSignatureSerializer for IC
2021-08-06 20:49:04 +03:00
Roman Artemev
4a601ebf95
[JS IC] Eradicate GlobalScopeLocalDeclaration from code
...
- Normalize proto names
2021-08-06 20:49:03 +03:00
Roman Artemev
74d8e16d09
[JS IC] Eradicate GlobalFileLocalSignature from code
...
- Reduce usage of global maps
2021-08-06 20:49:02 +03:00
Roman Artemev
a0449892b2
[JS IC] Simplify signatures, don't use GlobalScopeLocalDeclaration
2021-08-06 20:49:01 +03:00
Roman Artemev
3d3c70141c
[JS IC] Properly handle type parameters of Functional interfaces
...
- drop redundant `IrSymbolTable` and `IrIcModuleDeserializerWithBuiltIns`
2021-08-06 20:48:59 +03:00
Roman Artemev
6aed492703
[JS IR] Set proper visibility for static stub of private members
2021-08-06 20:48:58 +03:00
Yahor Berdnikau
bcf08e3293
Set jvm target validation mode to 'error'.
2021-08-06 17:53:45 +02:00
Yahor Berdnikau
d375c52830
Remove deprecated 'kotlin.useFallbackCompilerSearch' property.
...
^KT-46719 Fixed
2021-08-06 15:36:46 +00:00
Igor Laevsky
331681b40b
WASM: Add different debug levels to the test runner
2021-08-06 17:34:22 +03:00
Igor Laevsky
5db8ec6551
WASM: Don't use intrinsics to specify NaN's
2021-08-06 17:34:21 +03:00
Igor Laevsky
4ffed54f76
WASM: Fix JS runner for standalone compiles
2021-08-06 17:34:20 +03:00
Sergey Bogolepov
18bb287d3b
[K/N] Switch from cyclone to apple-a7 for Apple AArch64
...
This change shouldn't affect behaviour, but rather makes bitcode a bit
more consistent with what Xcode generates.
2021-08-06 14:19:42 +00:00
Sergey Bogolepov
d64cb24643
[K/N] Don't pass -target-cpu to clang
...
It is not supported by bitcode embedding on Apple platforms.
Instead, we set it in function attributes directly as Clang does.
2021-08-06 14:19:41 +00:00
Dmitriy Novozhilov
3a210f6c81
[Test] Temporary mute some tests because of problems with RepeatedAnnotationLowering
...
^KT-48131
2021-08-06 16:40:16 +03:00
Dmitriy Novozhilov
cbef031780
Advance bootstrap to 1.6.0-dev-2458
2021-08-06 16:40:07 +03:00
Aleksei.Cherepanov
a4a1d35021
Simplify nested errors
...
Replace incomprehensible IndexOutOfBoundsException with intelligible exception
#KT-47753 Fixed
2021-08-06 15:08:01 +03:00
Dmitriy Novozhilov
afd9b4935a
[FIR] Configure language version for FP test via env properties
2021-08-06 14:24:42 +03:00
Ivan Kylchik
4f15bd4817
Introduce a workaround in interpreter tests to make them pass
...
There is a problem with ranges and iterators. To work properly
they must be resolved firstly, before operator rangeTo.
2021-08-06 13:33:33 +03:00
Ivan Kylchik
44e1b61e6c
Move static cache from Wrapper into non-static container in environment
...
By this change it is possible to run multiple test in parallel
without running out of memory.
2021-08-06 13:33:32 +03:00
Ivan Kylchik
3932acf843
Fix interpretation of default varargs
2021-08-06 13:33:30 +03:00
Ivan Kylchik
0ce3dd117e
Drop unnecessary check for not static initializer in interpreter
...
Apparently initializers can become static only in lowering
2021-08-06 13:33:30 +03:00
Ivan Kylchik
0af918be4f
Use IrFactory to create IrFunction in interpreter
2021-08-06 13:33:29 +03:00
Ivan Kylchik
1002d076b3
Use StandardNames whenever it is possible in Wrapper
2021-08-06 13:33:28 +03:00
Ivan Kylchik
3cf4b8b108
Combine two caches from interpreter environment into single one
2021-08-06 13:33:28 +03:00
Ivan Kylchik
3fc5405d57
Implement simple cache for dynamically created wrapper for defaults
2021-08-06 13:33:27 +03:00
Ivan Kylchik
09c31b0900
Implement simple cache for dynamically created wrapper for lambda
2021-08-06 13:33:25 +03:00
Ivan Kylchik
6482abc602
Add CompileTimeCalculation annotation as helper to interpreter's tests
2021-08-06 13:33:25 +03:00
Ivan Kylchik
524189132b
Introduce new property fqName to make it easier to take element's name
2021-08-06 13:33:24 +03:00
Ivan Kylchik
fe74dd2689
Mute failing tests for IrInterpreterAfterPsi2IrTestGenerated
...
These tests are not passing because of the way how test system works.
To works properly interpreter needs source files. For now they are
passed as additional source files, but this method is not working
for old frontend, some conflicts appear in symbol table. Best way to
fix it is to wait until ir serialization.
2021-08-06 13:33:23 +03:00
Ivan Kylchik
295638b26e
Allow to interpret non const properties of compile time object
2021-08-06 13:33:22 +03:00
Ivan Kylchik
1978bfcd85
Rewrite rendering of meta info for CHECK_NOT_NULL in interpreter's test
...
This way it is possible to unify rendering of elements built by psi2ir
and fir2ir.
2021-08-06 13:33:22 +03:00
Ivan Kylchik
a9abf3b9b6
Drop redundant frames after some of exceptions in interpreter
...
Drop only last frame because it is pointing on function itself.
2021-08-06 13:33:21 +03:00
Ivan Kylchik
334d518aba
Change the way of getting name and ordinal for enum entry in interpreter
...
For now IrProperty doesn't have corresponding overridden symbol, so
it must be taken from getter.
2021-08-06 13:33:20 +03:00
Ivan Kylchik
f815f63fc5
Replace UNDEFINED_OFFSET with SYNTHETIC_OFFSET in IrTreeBuildUtils
...
This change is needed to avoid exception in `getLineNumber` method.
2021-08-06 13:33:20 +03:00
Ivan Kylchik
0c5fca31ec
Support early return from constructor interpretation
2021-08-06 13:33:19 +03:00
Ivan Kylchik
96cc74a752
Fix enum interpretation in case when primary constructor is missing
2021-08-06 13:33:18 +03:00
Ivan Kylchik
668bb4fd71
Fix equals check in interpreter in case when object is wrapped as Proxy
2021-08-06 13:33:18 +03:00
Ivan Kylchik
b9decc3b30
Support type check for deep nested arrays in interpreter
2021-08-06 13:33:17 +03:00
Ivan Kylchik
4ad88679fd
Unify logic of creation new ir tree nodes in interpreter
2021-08-06 13:33:17 +03:00
Ivan Kylchik
6ce2f8eb14
Drop unnecessary SubFrame creation from interpreter
2021-08-06 13:33:16 +03:00
Ivan Kylchik
10efbeb0c9
Add synthetic function in interpreter for default args evaluation
2021-08-06 13:33:16 +03:00
Ivan Kylchik
7852d01da6
Rewrite interpreter logic around arguments evaluation
...
For now calculated arguments will be stored on stack instead of memory.
At first this was done because of problems with default arguments, but
in the next commit this problem will be solved.
2021-08-06 13:33:15 +03:00
Ivan Kylchik
d41c6e900a
Place variables in interpreter's memory at the beginning
...
In case than in single SubFrame can appear several variables with
the same symbol, it is important to get the latest one. It is
relevant for local functions.
2021-08-06 13:33:14 +03:00
Ivan Kylchik
e5ca646de4
Move object creation logic into constructor interpretation
...
This newly created object is not used in arguments interpretation
so there is no need to create it in InstructionsUnfolder. Moreover
this object can interfere with other objects in memory, for example,
when creating outer object from inner.
2021-08-06 13:33:14 +03:00
Ivan Kylchik
1af1a3c84e
Support interpretation of Throwable constructor
...
For now every subclass of Throwable will be represented as
ExceptionState. This way it is easier to store stack trace and handle
`cause` property in exceptions.
2021-08-06 13:33:13 +03:00
Ivan Kylchik
c8cd000563
Simplify work with fake override methods in interpreter
2021-08-06 13:33:12 +03:00
Ivan Kylchik
8972fc5158
Interpret properties and init blocks in order of appearance
2021-08-06 13:33:12 +03:00
Ivan Kylchik
78475a5d9c
Support interpretation of toArray for collections
2021-08-06 13:33:11 +03:00
Ivan Kylchik
b10fdb919f
Support cast to array with reified argument in interpreter
2021-08-06 13:33:10 +03:00