Andrey Breslav
|
1849643e52
|
Got rid of HAS_TAIL_CALL slice
|
2013-12-06 00:28:13 +04:00 |
|
Andrey Breslav
|
934d8ee199
|
Rename class
|
2013-12-06 00:28:13 +04:00 |
|
Andrey Breslav
|
d5941e90eb
|
Unused code removed
|
2013-12-06 00:28:13 +04:00 |
|
Andrey Breslav
|
fe33fbe79b
|
Properly detect changing 'this' reference in tail calls to members
|
2013-12-06 00:28:12 +04:00 |
|
Andrey Breslav
|
97319808b6
|
Detecting tail calls through CFA
|
2013-12-06 00:28:12 +04:00 |
|
Andrey Breslav
|
9f319e8b24
|
TCO: Re-use parameter values already loaded onto the stack for a recursive call
|
2013-12-06 00:28:12 +04:00 |
|
Andrey Breslav
|
2a03d40233
|
TCO: Optimize all function calls, not only JetCallExpressions
|
2013-12-06 00:28:11 +04:00 |
|
Andrey Breslav
|
6d369b985f
|
Do not rely on JetCallExpressions in tail-call detection
Calls come in other forms too
|
2013-12-06 00:28:11 +04:00 |
|
Andrey Breslav
|
9ed0b009d4
|
No need to store a list of recursive call expressions in trace
|
2013-12-06 00:28:11 +04:00 |
|
Andrey Breslav
|
0316e6cb8d
|
Indirect tests for tail call diagnostics removed
|
2013-12-06 00:28:10 +04:00 |
|
Andrey Breslav
|
94500bd968
|
Use codegen box tests for tail calls as diagnostic tests too
|
2013-12-06 00:28:04 +04:00 |
|
Andrey Breslav
|
bb6ceffbbb
|
Missing tests added
|
2013-12-06 00:27:31 +04:00 |
|
Andrey Breslav
|
c70a54306f
|
Rename directory for back-end tests
|
2013-12-05 23:53:08 +04:00 |
|
Andrey Breslav
|
fe00b03279
|
Rename directory for diagnostic tests
|
2013-12-05 23:53:07 +04:00 |
|
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 |
|