aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * don't cache parses twiceAleksey Kladov2019-06-025-33/+61
| | | | | | | | | | | | | | | | | | Before this commit, `Parse`s for original file ended up two times in salsa's db: first, when we parse original file, and second, when we parse macro or a file. Given that parse trees are the worst ofenders in terms of memory, it makes sense to make sure we store them only once.
* | Merge #1368bors[bot]2019-06-023-26/+28
|\ \ | |/ |/| | | | | | | | | | | | | | | 1368: Store referece instead of full token tree in tokenbuffer r=matklad a=edwin0cheng This PR try to minimize the memory allocation in converting `SyntaxNode` to `TokenTree` by using reference isnteead of full token tree in `TokenBuffer`. Note that the final goal is replace `TokenTree` with TokenBuffer such that there is no conversion between them. Co-authored-by: Edwin Cheng <[email protected]>
| * unnecessary paranthesisEdwin Cheng2019-06-021-1/+1
| |
| * Store referece in tokenbufferEdwin Cheng2019-06-023-26/+28
| |
* | Merge #1367bors[bot]2019-06-021-0/+3
|\ \ | | | | | | | | | | | | | | | | | | | | | 1367: collect macro queries r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * | collect macro queriesAleksey Kladov2019-06-021-0/+3
|/ /
* | Merge #1362bors[bot]2019-06-0217-98/+186
|\ \ | | | | | | | | | | | | | | | | | | | | | 1362: Introduce AST database r=matklad a=matklad The idea here is to separate fragile bits which look into the syntax directly from robust bits which are safe across reparses. This uses the new `salsa::requires` featue Co-authored-by: Aleksey Kladov <[email protected]>
| * | add AstDatabaseAleksey Kladov2019-06-0217-98/+186
|/ /
* | Merge #1366bors[bot]2019-06-021-0/+4
|\ \ | | | | | | | | | | | | | | | | | | | | | 1366: collect types and bodies r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * | collect types and bodiesAleksey Kladov2019-06-011-0/+4
| | |
* | | Merge #1363bors[bot]2019-06-014-19/+11
|\| | | |/ |/| | | | | | | | | | | 1363: some work on memory r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * collect impl source mapsAleksey Kladov2019-06-013-11/+2
| |
| * don't cache ast_id_to_nodeAleksey Kladov2019-06-012-1/+1
| |
| * show macro expanded trees in the stats as wellAleksey Kladov2019-06-011-7/+8
|/
* Merge #1360bors[bot]2019-06-016-9/+55
|\ | | | | | | | | | | | | | | | | | | 1360: Improve goto definition for MBE r=matklad a=edwin0cheng This PR improve the macro resolution for goto definition and expression macro invocation by using proper path resolution for external macros. Co-authored-by: Edwin Cheng <[email protected]>
| * Improve goto definition for MBEEdwin Cheng2019-06-016-9/+55
| |
* | Merge #1359bors[bot]2019-06-012-3/+5
|\ \ | | | | | | | | | | | | | | | | | | | | | 1359: don't poison mutex around chalk r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * | don't poison mutex around chalkAleksey Kladov2019-06-012-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | We use panics for cancellation, so we could trigger panic while holding the solver. std::sync::Mutex will be poisoned as a result, which and all further attempts to use solver (from other threads) will panic as well. This commit switches to parking_lot::Mutex which just unlocks on panic.
* | | Merge #1358bors[bot]2019-06-017-91/+94
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | 1358: apply profile filter to top-level entries only r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * | apply profile filter to top-level entries onlyAleksey Kladov2019-06-011-7/+6
| | |
| * | renameAleksey Kladov2019-06-016-80/+86
| | |
| * | move subs insideAleksey Kladov2019-06-011-4/+2
|/ /
* | Merge #1356bors[bot]2019-05-315-187/+263
|\ \ | |/ |/| | | | | | | | | | | 1356: move completed requests to a separate file r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * use sync queries for join lines and friendsAleksey Kladov2019-05-311-5/+11
| |
| * add sync requestsAleksey Kladov2019-05-312-43/+56
| |
| * cleanupAleksey Kladov2019-05-311-39/+42
| |
| * cleanupAleksey Kladov2019-05-311-35/+48
| |
| * simplifyAleksey Kladov2019-05-311-51/+52
| |
| * move completed requests to a separate fileAleksey Kladov2019-05-315-80/+114
| |
| * simplifyAleksey Kladov2019-05-311-3/+3
| |
| * introduce constantAleksey Kladov2019-05-311-7/+13
| |
| * minorAleksey Kladov2019-05-311-1/+1
|/
* Merge #1354bors[bot]2019-05-311-2/+8
|\ | | | | | | | | | | | | | | 1354: Sort hover results in tests r=matklad a=lnicola Co-authored-by: LaurenČ›iu Nicola <[email protected]>
| * Sort hover results in testsLaurențiu Nicola2019-05-301-2/+8
|/
* Merge #1353bors[bot]2019-05-301-1/+1
|\ | | | | | | | | | | | | | | 1353: Fix typo docs/user/README.md r=matklad a=eminence Co-authored-by: Andrew Chin <[email protected]>
| * Fix typo docs/user/README.mdAndrew Chin2019-05-301-1/+1
|/
* Merge #1352bors[bot]2019-05-3021-118/+261
|\ | | | | | | | | | | | | | | 1352: Builtins r=matklad a=matklad closes #1340 Co-authored-by: Aleksey Kladov <[email protected]>
| * update ra_ide_api to use builtinsAleksey Kladov2019-05-308-55/+82
| |
| * add tests for primitive typesAleksey Kladov2019-05-305-30/+44
| |
| * add built-in types to scopesAleksey Kladov2019-05-307-24/+49
| |
| * add list of builtin typesAleksey Kladov2019-05-302-3/+29
| |
| * add ModuleDef::BuiltInTypeAleksey Kladov2019-05-305-10/+61
|/
* Merge #1351bors[bot]2019-05-303-8/+7
|\ | | | | | | | | | | | | | | 1351: switch to upstream salsa r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * switch to upstream salsaAleksey Kladov2019-05-303-8/+7
| |
* | Merge #1350bors[bot]2019-05-307-88/+35
|\| | | | | | | | | | | | | | | 1350: :arrow_up: parking_lot r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * :arrow_up: parking_lotAleksey Kladov2019-05-307-88/+35
| |
* | Merge #1347bors[bot]2019-05-301-0/+34
|\ \ | |/ |/| | | | | | | | | | | 1347: Add status buffer function to emacs integration r=flodiebold a=flodiebold Also fix a minor race condition in the 'extend selection' initialization. Co-authored-by: Florian Diebold <[email protected]>
| * Add status buffer function to emacs integrationFlorian Diebold2019-05-291-0/+34
| | | | | | | | Also fix a minor race condition in the 'extend selection' initialization.
* | Merge #1349bors[bot]2019-05-301-1/+1
|\ \ | | | | | | | | | | | | | | | | | | | | | 1349: don't remove tools from cache r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * | don't remove tools from cacheAleksey Kladov2019-05-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | On CI, we remove this project's artifacts from ./target before caching it. This way, cache never changes, because it only caches deps. We do this approximatelly, and, together with our own tools crate, we also remove itertools, which are used by some other deps. Given that tools change rarely, let's just cache them?