Commit Graph

146 Commits

Author SHA1 Message Date
Commander Tvis
e47ec1aeb9
Delete AsmCompiledExpression abstract class, implement dynamic field generation to reduce quantity of cast instructions, minor refactor and renaming of internal APIs 2020-06-25 10:07:36 +07:00
Iaroslav
fffc752153
Add more tests and improve current, fix type stack underflow exception 2020-06-24 21:17:06 +07:00
Iaroslav
02f42ee56a
Eliminate bridging 2020-06-24 20:55:48 +07:00
Iaroslav
9a3709624d
Use hashMap instead of map 2020-06-24 15:54:17 +07:00
Iaroslav
f475335df1
Merge remote-tracking branch 'origin/adv-expr' into adv-expr-eliminate-bridging
# Conflicts:
#	kmath-ast/src/jvmMain/kotlin/scientifik/kmath/asm/asm.kt
#	kmath-ast/src/jvmMain/kotlin/scientifik/kmath/asm/internal/AsmBuilder.kt
2020-06-24 15:53:19 +07:00
Iaroslav
7c7065542a
Merge remote-tracking branch 'mipt-npm/adv-expr' into adv-expr-lconst 2020-06-23 03:08:25 +07:00
Iaroslav
29c6d25967
Optimize constant pooling for Byte and Short 2020-06-22 15:15:46 +07:00
Iaroslav
e99f7ad360
Optimize constant pooling 2020-06-22 04:05:52 +07:00
Iaroslav
62ebda3302
Update readme, accident documentation-related refactor 2020-06-21 20:23:50 +07:00
Iaroslav
635d708de5
Add missing KDoc comments 2020-06-20 00:08:53 +07:00
Iaroslav
ba499da2da
More KDoc comments 2020-06-20 00:05:00 +07:00
Iaroslav
e9ff33c4f9
Write KDoc comments for AsmBuilder, minimal refactor of it 2020-06-19 23:56:35 +07:00
Iaroslav
d6e7eb8143
Add advanced specialization for primitive non-bridge methods 2020-06-18 11:35:20 +07:00
8264806958 Algebra delegates update. 2020-06-16 14:52:02 +03:00
d73f564fb4 Merge remote-tracking branch 'origin/adv-expr' into adv-expr 2020-06-16 10:33:16 +03:00
3d5036c982 Fix MSTAlgebra delegation 2020-06-16 10:27:54 +03:00
Iaroslav
c3cecc5a16
Rename variable 2020-06-16 14:21:13 +07:00
Iaroslav
91a9e2a5e9
Remove @PublishedApi 2020-06-16 14:20:17 +07:00
Iaroslav
15d7a20b43
Add removed AsmCompiledExpression, move buildName to buildName.kt, refactor compileWith 2020-06-16 14:16:36 +07:00
Iaroslav
fe64537cbc
Merge remote-tracking branch 'mipt-npm/adv-expr' into adv-expr-refactor-agc
# Conflicts:
#	kmath-ast/src/jvmMain/kotlin/scientifik/kmath/asm/AsmExpressions.kt
#	kmath-ast/src/jvmMain/kotlin/scientifik/kmath/asm/asm.kt
#	kmath-ast/src/jvmMain/kotlin/scientifik/kmath/asm/internal/AsmBuilder.kt
#	kmath-ast/src/jvmMain/kotlin/scientifik/kmath/asm/internal/optimization.kt
2020-06-16 13:28:25 +07:00
96550922cd Removal of AsmExpression 2020-06-15 22:07:31 +03:00
Iaroslav
2580ab347e
Make ClassWriter extensions internal 2020-06-15 17:37:11 +07:00
Iaroslav
521ea8bddc
Rename ClassWriters.kt to be consistent with local code style, rename AsmBuilders.kt to asm.kt, rename AsmNode back to AsmExpression, rename AsmGenerator to AsmBuilder 2020-06-15 17:36:30 +07:00
Iaroslav
b57b55ec1a
Merge remote-tracking branch 'mipt-npm/adv-expr' into adv-expr-refactor-agc
# Conflicts:
#	kmath-ast/src/jvmMain/kotlin/scientifik/kmath/asm/AsmBuilders.kt
#	kmath-ast/src/jvmMain/kotlin/scientifik/kmath/asm/AsmExpressions.kt
#	kmath-ast/src/jvmMain/kotlin/scientifik/kmath/asm/internal/AsmBuilder.kt
#	kmath-ast/src/jvmMain/kotlin/scientifik/kmath/asm/internal/optimization.kt
2020-06-15 17:23:35 +07:00
3434dde1d1 ASM API simplification 2020-06-15 11:02:13 +03:00
Iaroslav
a7302f49ff
Convert to expression body 2020-06-14 23:13:26 +07:00
Iaroslav
a8fa385497
Rename loadFromVariables to loadVariable 2020-06-14 23:01:34 +07:00
Iaroslav
4e28ad7d4e
Minor refactor 2020-06-14 23:00:26 +07:00
Iaroslav
635aac5f30
Refactor ex-AsmGenerationContext, introduce many bytecode utility functions to make its code readable, update compile method 2020-06-14 22:58:09 +07:00
Iaroslav
d3d348620a
Rename AsmExpression to AsmNode, encapsulate AsmGenerationContext, make AsmNode (ex-AsmExpression) an abstract class instead of interface 2020-06-14 00:30:39 +07:00
Iaroslav
cedfd3fe09
Merge remote-tracking branch 'mipt-npm/adv-expr' into adv-expr-asm
# Conflicts:
#	kmath-ast/build.gradle.kts
#	kmath-ast/src/commonMain/kotlin/scientifik/kmath/ast/parser.kt
#	kmath-ast/src/jvmMain/kotlin/scientifik/kmath/ast/Parser.kt
#	kmath-ast/src/jvmMain/kotlin/scientifik/kmath/ast/parser.kt
2020-06-14 00:21:07 +07:00
Iaroslav
af410dde70
Apply the suggested changes 2020-06-14 00:18:40 +07:00
0950580b85 Moe better-parse to common.
Watch for https://github.com/h0tk3y/better-parse/issues/27
2020-06-13 18:26:18 +03:00
Iaroslav
e91f6470d3
Implement constants inlining 2020-06-13 17:07:22 +07:00
Iaroslav
f9835979ea
Fix specification bug 2020-06-13 16:48:45 +07:00
Iaroslav
e65d1e43cf
Write tests 2020-06-13 16:16:57 +07:00
Iaroslav
223d238c43
Encapsulate MethodVisitor extensions 2020-06-13 15:53:54 +07:00
Iaroslav
834d1e1397
Move specific optimization functions to Optimization 2020-06-13 15:53:25 +07:00
Iaroslav
1582fde091
Replace JUnit @Test with kotlin-test @Test 2020-06-13 15:51:42 +07:00
866ae47239 replace raw by symbol in algebra 2020-06-13 11:51:33 +03:00
Iaroslav
fec8c7f9d1
Minor refactor and encapsulation 2020-06-13 15:50:21 +07:00
Iaroslav
36ad1fcf58
Minor refactor and document 2020-06-13 15:44:54 +07:00
Iaroslav
3ec1f7b5f1
Merge kmath-asm and kmath-ast modules, make all the ExpressionAlgebras concise and consistent, implement new-styled builders both for ASM and F. expressions 2020-06-13 02:26:12 +07:00
09641a5c9c Documentation 2020-06-12 16:59:36 +03:00
2751cee926 MST expression 2020-06-12 16:56:58 +03:00
5e92d85c46 Separate ast module 2020-06-12 10:40:59 +03:00