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
Ivan Kylchik
cc56acc2c2
Add configuration into IrInterpreterEnvironment
...
This configuration will contains all necessary setting for interpreter
and will be replenished over time
2021-08-06 13:33:10 +03:00
Ivan Kylchik
b150cc9537
Implement better support for default args in interpreter
...
Now supported default args:
1. from super class or interface;
2. with field access, declared in interface;
3. with field access, declared in outer class.
2021-08-06 13:33:09 +03:00
Ivan Kylchik
42ea17b151
Support interpretation of dataClassArrayMemberToString method
2021-08-06 13:33:09 +03:00
Ivan Kylchik
15808cb376
Lower priority of captured variables in interpreter
2021-08-06 13:33:08 +03:00
Ivan Kylchik
4f3d47eed3
Remove unused equals and hashCode methods from Primitive class
...
They were used only when primitive objects were put in the collection
as they were, in Primitive state wrapper
2021-08-06 13:33:07 +03:00
Ivan Kylchik
0716c557fe
Allow inner class to has outer super class in interpreter
2021-08-06 13:33:07 +03:00
Ivan Kylchik
574c607f1c
Support proper subtype check in interpreter for KFunction
2021-08-06 13:33:06 +03:00
Ivan Kylchik
9638af042d
Support proper behavior in interpreter for cast of null value
2021-08-06 13:33:05 +03:00
Ivan Kylchik
c2fc017d96
Move doubleArrayOf test file to proper place in interpreter test data
2021-08-06 13:33:04 +03:00
Ivan Kylchik
b44fd1a6fe
Simplify logic of interpreting invoke method for lambdas
...
For now will be created separate invoke method that will contains
a call to lambda. This way it is clearer and more intuitive
2021-08-06 13:33:04 +03:00
Ivan Kylchik
06a8156376
Change logic of returning object from constructor in interpreter
...
For now there is no need to place object on stack before evaluation.
The result will be taken from memory and all unnecessary values on
stack will be removed
2021-08-06 13:33:02 +03:00