Commit Graph

379 Commits

Author SHA1 Message Date
Commander Tvis
f7f9ce7817
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:08:54 +07:00
Iaroslav
fffc752153
Add more tests and improve current, fix type stack underflow exception 2020-06-24 21:17:06 +07:00
b565b7f312 Merge SCI-MR-9 from adv-expr-eliminate-bridging 2020-06-24 14:01:42 +00:00
Iaroslav
02f42ee56a
Eliminate bridging 2020-06-24 20:55:48 +07:00
Iaroslav
f16ebb1682
Remove accidentally left debug main function 2020-06-24 15:55:25 +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
Alexander Nozik
24828e7a26
Merge pull request #111 from CommanderTvis/adv-expr-readme
Update readme, accident documentation-related refactor
2020-06-21 22:05:29 +03:00
Iaroslav
62ebda3302
Update readme, accident documentation-related refactor 2020-06-21 20:23:50 +07:00
Alexander Nozik
8adfef22a2
Merge pull request #109 from CommanderTvis/adv-expr-more-docs
Fill in the lack of documentation of kmath-ast module for adv-expr
2020-06-19 21:16:43 +03: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
a1f0188b8b Functional expression builders 2020-06-16 16:29:52 +03: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
Alexander Nozik
7c769bf74a
Merge pull request #105 from CommanderTvis/adv-expr-refactor-agc
Refactor ASM generation code
2020-06-16 10:30:05 +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
Alexander Nozik
878d1379e1
Merge pull request #94 from CommanderTvis/adv-expr
Optimization of expressions via ASM Bytecode Generation
2020-06-13 21:07:14 +03: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
28cecde05b
Fix compilation problems found after merge 2020-06-14 00:24:10 +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