Commit Graph

13241 Commits

Author SHA1 Message Date
Alexander Udalov 9ba562ba3d Add more info to exception message (EA-52595) 2013-12-07 02:42:00 +04:00
Nikolay Krasko 5d62805711 Stable order for generated tests 2013-12-06 21:29:39 +04:00
Evgeny Gerashchenko e80af77c31 Added max() and min() for CharArrays. 2013-12-06 20:35:31 +04:00
nik f439604b57 standard library: 'max' and 'min' functions reimplemented to avoid unnecessary null checks
(as proposed for minBy/maxBy in https://github.com/JetBrains/kotlin/pull/324)
2013-12-06 20:22:53 +04:00
Nikolay Krasko ba96538a14 Extend range of compatible versions 2013-12-06 18:39:33 +04:00
Svetlana Isakova 4c4e192914 Fixed: control flow graph building for array of functions.
'get' call for array should be get from INDEXED_LVALUE_GET
2013-12-06 15:58:45 +04:00
Nikolay Krasko 3966f36b0c Reindex files with manual virtual file and index refresh 2013-12-06 13:15:15 +04:00
Nikolay Krasko d2b948dc2c Fix path util to return dist paths in tests 2013-12-06 13:15:14 +04:00
Andrey Breslav 71be3bcec5 All tests for TCO moved to box (with diagnostics marked up) 2013-12-06 11:29:28 +04:00
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