Andrey Breslav
|
bf8bfc63c5
|
Don't analyze tail calls when only declaration headers are processed
Otherwise we are getting spurious "NO_TAIL_CALLS" warnings
|
2013-12-05 23:53:07 +04:00 |
|
Sergey Mashkov
|
fb0ec573e0
|
Tests for JVM back-end support of tail-call optimization
|
2013-12-05 23:53:07 +04:00 |
|
Sergey Mashkov
|
9da3d2f051
|
Support tail-call optimization in the JVM back-end
|
2013-12-05 23:53:06 +04:00 |
|
Sergey Mashkov
|
cfbcbb80f5
|
Store methodStartLabel in MethodContext
|
2013-12-05 23:53:06 +04:00 |
|
Sergey Mashkov
|
e4382ff95b
|
Minor: better assertions and warnings removed
|
2013-12-05 23:53:06 +04:00 |
|
Sergey Mashkov
|
1c81102941
|
Tail-call detection support in the front-end
|
2013-12-05 23:53:05 +04:00 |
|
Sergey Mashkov
|
83b4ad4eac
|
Add binary attribute to generated built-ins data
|
2013-12-05 23:53:05 +04:00 |
|
Sergey Mashkov
|
b62e5e3ef5
|
Add [tailRecursive] annotation to built-ins
|
2013-12-05 21:41:02 +04:00 |
|
Andrey Breslav
|
d2a31d88cd
|
Subroutine exit knows when it's an error
|
2013-12-05 21:41:02 +04:00 |
|
Andrey Breslav
|
2197c7e8c6
|
InstructionVisitorWithResult introduced
|
2013-12-05 21:41:02 +04:00 |
|
Andrey Breslav
|
66e3743cc5
|
Useful method extracted + visiting strategy added
|
2013-12-05 21:41:02 +04:00 |
|
Andrey Breslav
|
da1397b5bd
|
Marker interface ReturnInstruction extracted
|
2013-12-05 21:33:51 +04:00 |
|
Svetlana Isakova
|
e44fe3769a
|
fixed compilation after return requirement for local functions added
|
2013-12-05 15:51:57 +04:00 |
|
Svetlana Isakova
|
8e27877817
|
check definite return in local functions
|
2013-12-05 15:51:57 +04:00 |
|
Svetlana Isakova
|
d27c8b7d61
|
added test for obsolete task
#KT-4034 Fixed
|
2013-12-05 15:51:57 +04:00 |
|
Svetlana Isakova
|
3df37ee113
|
moved method
|
2013-12-05 15:51:57 +04:00 |
|
Svetlana Isakova
|
29acef7842
|
find pseudocodeVariablesData lazily
|
2013-12-05 15:51:57 +04:00 |
|
Natalia Ukhorskaya
|
a9da88b425
|
Remove NumberValueTypeConstructor
|
2013-12-05 15:23:42 +04:00 |
|
Natalia Ukhorskaya
|
27e602133d
|
Small fixes after review: do not set is_pure=true for named constants refactoring
|
2013-12-05 15:23:41 +04:00 |
|
Natalia Ukhorskaya
|
155cbbfc02
|
Add evaluator for java property initializer
|
2013-12-05 15:23:40 +04:00 |
|
Natalia Ukhorskaya
|
e5a3518248
|
Parse longs with 'L' suffix. Report error if 'l' used.
|
2013-12-05 15:23:40 +04:00 |
|
Natalia Ukhorskaya
|
53d17bc4ce
|
Rename CompileTimeConstantResolver to CompileTimeConstantChecker
|
2013-12-05 15:23:39 +04:00 |
|
Natalia Ukhorskaya
|
b6ce6c5e5a
|
Parse floats with 'F' or 'f' suffix
|
2013-12-05 15:22:01 +04:00 |
|
Natalia Ukhorskaya
|
fb9a7e3c4c
|
Create error value for division by zero
|
2013-12-05 15:22:00 +04:00 |
|
Natalia Ukhorskaya
|
e805478d6c
|
Get call expression type from compile time value if possible
|
2013-12-05 15:22:00 +04:00 |
|
Natalia Ukhorskaya
|
e6c442ba04
|
Remove set of PROCESSED flag in updateRecordedType
|
2013-12-05 15:21:59 +04:00 |
|
Natalia Ukhorskaya
|
17152c39e0
|
Tear down for test
|
2013-12-05 15:21:59 +04:00 |
|
Natalia Ukhorskaya
|
53a5264aaf
|
Use type from compile time value for binary expression
|
2013-12-05 15:21:58 +04:00 |
|
Natalia Ukhorskaya
|
6331dd2308
|
Fix toFloat in stdlib
|
2013-12-05 15:21:57 +04:00 |
|
Natalia Ukhorskaya
|
cbcca6c08e
|
Support IntegerValueTypeConstant in java backend
|
2013-12-05 15:21:57 +04:00 |
|
Natalia Ukhorskaya
|
f329e245ad
|
Support IntegerValueTypeConstant in js backend
|
2013-12-05 15:21:56 +04:00 |
|
Natalia Ukhorskaya
|
2a023c16a9
|
Use type from compile time value for prefix expression
|
2013-12-05 15:21:55 +04:00 |
|
Natalia Ukhorskaya
|
9c176ddaa8
|
Warning for integer overflow
|
2013-12-05 15:21:55 +04:00 |
|
Natalia Ukhorskaya
|
b4b7988eec
|
Refactoring
|
2013-12-05 15:21:54 +04:00 |
|
Natalia Ukhorskaya
|
a99ce06e78
|
Move methods
|
2013-12-05 15:21:53 +04:00 |
|
Natalia Ukhorskaya
|
8da528a018
|
Add common method to parse char value
|
2013-12-05 15:21:53 +04:00 |
|
Natalia Ukhorskaya
|
888b747feb
|
Rename
|
2013-12-05 15:21:52 +04:00 |
|
Natalia Ukhorskaya
|
f996860f83
|
Move methods
|
2013-12-05 15:21:52 +04:00 |
|
Natalia Ukhorskaya
|
02e19ea8fd
|
Add compileTimeConstant to checkConstantExpressionType method
|
2013-12-05 15:21:51 +04:00 |
|
Natalia Ukhorskaya
|
33d973f016
|
Delete DoubleValueTypeConstructor
|
2013-12-05 15:21:51 +04:00 |
|
Natalia Ukhorskaya
|
d63f6843c8
|
Merge ConstantExpressionEvaluator and CompileTimeConstantResolver
|
2013-12-05 15:21:50 +04:00 |
|
Natalia Ukhorskaya
|
e6923ba29e
|
create StringValue only for primitive compile time values
|
2013-12-05 15:20:23 +04:00 |
|
Natalia Ukhorskaya
|
9593edc6e7
|
Rename Unary(Binary)OperationKey
|
2013-12-05 15:20:22 +04:00 |
|
Natalia Ukhorskaya
|
0bf7b60382
|
Generate map for ConstantExpressionEvaluator
|
2013-12-05 15:20:21 +04:00 |
|
Natalia Ukhorskaya
|
0bffa9f0ac
|
Improve creation of compile constants for equals and compareTo
|
2013-12-05 15:20:20 +04:00 |
|
Natalia Ukhorskaya
|
cbe04a6adf
|
Simplify if (..==null) {return null}
|
2013-12-05 15:20:19 +04:00 |
|
Natalia Ukhorskaya
|
06cb48e300
|
Add inner visitor for StringEntries
|
2013-12-05 15:20:19 +04:00 |
|
Natalia Ukhorskaya
|
dd0122a482
|
Rewrite evaluator to kotlin. Small refactoring
|
2013-12-05 15:20:18 +04:00 |
|
Natalia Ukhorskaya
|
e23ef2dc98
|
Record compile time constants to trace
|
2013-12-05 15:20:16 +04:00 |
|
svtk
|
1bd63fefa4
|
Support equlas in ConstantExpressionEvaluator
|
2013-12-05 15:20:14 +04:00 |
|