Commit Graph

1660 Commits

Author SHA1 Message Date
Igor Chevdar 7fa44ebc0d Rewrote vtable building taking into account possibility of multiple bridges for a single method 2017-02-22 15:35:13 +03:00
Ilya Matveev ab0f8cb6cd buildSrc: Count skipped tests 2017-02-22 14:02:38 +03:00
Ilya Matveev 3f0903fdc8 buildSrc: Report actual and expected test output. 2017-02-22 14:02:38 +03:00
Nikolay Igotti 234e704226 Fix string.h/String.h mismatch. 2017-02-22 13:53:41 +03:00
Vasily Levchenko c5fe02f537 IR: default arguments support 32+ arguments with default values 2017-02-22 13:37:02 +03:00
Alexander Gorshenev 42b644b45e Introduced HACKING.md to document some tools. 2017-02-22 13:16:00 +04:00
Alexander Gorshenev 9179a962a8 Produce binaries for 10.10 as minimal MacOs version. 2017-02-22 13:16:00 +04:00
Alexander Gorshenev fa70e566fc Preserve frame pointer when compiling without optimization. 2017-02-22 13:16:00 +04:00
Svyatoslav Scherbina 90149063c3 backend/tests: add disabled 'vararg_of_literals' 2017-02-22 11:03:37 +07:00
Svyatoslav Scherbina 6b68033972 backend: simplify vararg handling in codegen 2017-02-22 11:03:37 +07:00
Svyatoslav Scherbina 32d9a68925 backend: lower varargs after callable references
Because callable reference lowering creates IrVararg.
2017-02-22 11:03:37 +07:00
Svyatoslav Scherbina 72ff0c87cc runtime: improve integer overflow handling in bounds checks 2017-02-22 11:03:37 +07:00
Ilya Matveev 9e2fe888e4 buildSrc: split tests into testSuites for teamcity 2017-02-21 18:56:52 +03:00
Ilya Matveev 84cb52afed backend/tests: Add test error number reporting to stdout 2017-02-21 18:56:52 +03:00
Vasily Levchenko f372ddea4d reporting: TC integration escaping issues fix.
- error: testFailed ignored if message or details isn't correctly escaped
- fail: testFailed's message should be escaped also.
2017-02-21 16:38:49 +03:00
Vasily Levchenko e59f3c0805 TEST: goldValue: s/<\(null\)>/\1/g 2017-02-21 14:21:49 +03:00
Vasily Levchenko c14813068b STDLIB: null.toString() == "null" 2017-02-21 14:21:49 +03:00
KonstantinAnisimov ab7c879633 Merge pull request #258 from JetBrains/inline3
Inline3
2017-02-21 17:18:41 +07:00
Svyatoslav Scherbina 4e6ad59d9f backend/tests: improve interop_echo_server code 2017-02-21 16:42:14 +07:00
Svyatoslav Scherbina f8d54fc8f7 Interop: extract constants defined as (preprocessor) macros
Support all macros extending to integer and floating-point constant expressions.

Also do some refactoring.
2017-02-21 16:42:14 +07:00
Svyatoslav Scherbina 01dd86d3b5 Interop, backend: add bitsTo{Float,Double} intrinsics 2017-02-21 16:42:14 +07:00
Svyatoslav Scherbina 9afd9360b3 backend: handle initializers in interop lowering
Also add lowering utils.
2017-02-21 16:42:14 +07:00
Svyatoslav Scherbina 9a7d036b33 build, Interop/Indexer: update LLVM and clang to 3.9.0 2017-02-21 16:42:14 +07:00
Svyatoslav Scherbina 9052e08e59 build: fix compilation on Linux when using libclang 2017-02-21 16:42:14 +07:00
Svyatoslav Scherbina 53b347b75a Interop/Indexer: simplify native memory management by using memScoped 2017-02-21 16:42:14 +07:00
Konstantin Anisimov bf0fc7ec03 Test excluded using "disable" directive 2017-02-21 16:14:30 +07:00
Konstantin Anisimov 666cd712b2 Test output removed 2017-02-21 16:12:53 +07:00
Konstantin Anisimov a71cd69f72 Kotlin methods are excluded from inlining 2017-02-21 16:12:53 +07:00
Konstantin Anisimov 3b5c16076e TESTS: New tests added 2017-02-21 16:12:52 +07:00
Vasily Levchenko a52a51b7fa IR: do not split declaration and initialization of temporary varable in two stages and create temporary variable for parameter as well 2017-02-20 15:42:31 +03:00
Vasily Levchenko 4a65afd76e compiler: 1.1-20170217.175209-427 2017-02-20 06:27:21 +03:00
Nikolay Igotti 9ba7d65297 Remove some oldish experiments. 2017-02-17 23:07:31 +03:00
Vasily Levchenko 837bb06625 IR: makes vararg friendly to inlining 2017-02-17 18:30:37 +03:00
Vasily Levchenko 7912852622 UTILS: String.synthesizedString added 2017-02-17 18:30:37 +03:00
Ilya Matveev c68c4d3b6d backend: Use simple DFS during closure building.
Now closure builder can contain includes. Includes
are another builders which closures must be added
to the building one.
Includes are:

For function closure:
	call targets (including constructors)
	callable reference targets

For class:
	all children declarations
	call targets (including constructors)
        callable reference targets

For constructor:
	call and callable reference targets
	delegating constructor call target
	constructing class closure
2017-02-17 15:17:46 +03:00
Ilya Matveev 95a9f65afd backend/tests: Add tests for local function closures 2017-02-17 15:17:46 +03:00
Ilya Matveev 8004b3d096 backend: Fix issues with closures for nested cases 2017-02-17 15:17:46 +03:00
Ilya Matveev 33f04a8cf8 backend: Add closures of calls in function closure 2017-02-17 15:17:46 +03:00
Ilya Matveev 7f2cab6666 buildSrc: Fix package regexp pattern 2017-02-17 15:17:46 +03:00
Nikolay Igotti 45bb2fdb8b Add some string operations, refactor runtime. (#249) 2017-02-17 14:31:28 +03:00
Ilya Matveev 316ed73bd5 Rename variable 2017-02-17 12:53:09 +03:00
Ilya Matveev 9bc13264a7 backend: Generate exit block for "when" if it has no unconditional branch 2017-02-17 12:53:09 +03:00
Nikolay Igotti c0f9c9fd5d Implement reverse of lists, fixes few tests. 2017-02-17 12:44:06 +03:00
Igor Chevdar 5d004c06bf default implementation of interface methods support 2017-02-16 18:16:46 +03:00
Vasily Levchenko 7470acaeba IR: don't generate IrReturn for IrDelegationCall in constructor 2017-02-16 17:22:45 +03:00
Nikolay Igotti 38c6b5e9ad More stdlib: sorting, better Appendable, other minor changes. (#245) 2017-02-16 17:00:37 +03:00
Vasily Levchenko f0a99963a7 IR: build primitive array only when required 2017-02-16 16:40:01 +03:00
Ilya Matveev e3c2f78b63 buildSrc: print command to reproduce for failed/crashed tests. 2017-02-16 16:34:35 +03:00
Vasily Levchenko acf54d9895 reporting: fixed escaping pipe for teamcity 2017-02-16 15:42:19 +03:00
Igor Chevdar c746da3ce4 Bridges (#240)
* - bridges building
- bridges support in vtable and methods table

* FunctionDescriptor.signature fix + some assertions

* tests

* refactoring

* refactoring

* removed debug output

* refactoring

* review fixes

* implemented bridge construction for parameters

* tests

* refactoring

* removed custom box/unbox

* added bridge for extension receiver
2017-02-16 15:26:57 +05:00