D:\WorkProjects\MicroTESK\microtesk-mips64\src\main\arch\mips64\templates>D:\WorkProjects\MicroTESK\microtesk-mips64\build\target\bin\generate.bat mips64 load_store.rb --code-file-prefix generated_tests/load_store --code-file-extension s -v D:\WorkProjects\MicroTESK\microtesk-mips64\src\main\arch\mips64\templates>java -ea -jar "D:\WorkProjects\MicroTESK\microtesk-mips64\build\target/lib/jars/microtesk.jar" -g mips64 load_store.rb --code-file-prefix generated_tests/load_store --code-file-extension s -v Home: D:\WorkProjects\MicroTESK\microtesk-mips64\build\target Current directory: D:\WorkProjects\MicroTESK\microtesk-mips64\src\main\arch\mips64\templates Model name: mips64 Template file: load_store.rb Loaded template Mips64BaseTemplate defined in D:/WorkProjects/MicroTESK/microtesk-mips64/src/main/arch/mips64/templates/mips64_base.rb Loaded template LoadStoreTemplate defined in D:/WorkProjects/MicroTESK/microtesk-mips64/src/main/arch/mips64/templates/load_store.rb Processing template LoadStoreTemplate defined in D:/WorkProjects/MicroTESK/microtesk-mips64/src/main/arch/mips64/templates/load_store.rb... Instance number: 1 ----------------------- Initializing Processing Elements ----------------------- The 'instantiate' operation is undefined. Creating MMU model... ------------------------- Started Processing Template -------------------------- ------------------ Started Processing Initialization Section ------------------- ------------------------- Processing Exception Handler ------------------------- ----------------- Printing exception handler to test_except.s ------------------ ------------------- Ended Processing Initialization Section -------------------- ------------------- Started Processing Finalization Section -------------------- -------------------- Ended Processing Finalization Section --------------------- ----------------------- Started Processing Main Section ------------------------ ------------------------------- Allocating code -------------------------------- Section: .text [pa=0x0000000000000000, va=0xffffffff80000000] Code allocator: directive: .org 0x200 0x0000000000000200 (PA): mfc0 $ra, $14, 0 (0x401F7000) 0x0000000000000204 (PA): addiu $ra, $ra, 4 (0x27FF0004) 0x0000000000000208 (PA): jr $ra (0x03E00008) 0x000000000000020c (PA): nop (0x00000000) Code allocator: register the remaining block: [0xffffffff80000200..0xffffffff80000210) (5 calls) ------------------------------- Allocating code -------------------------------- Section: .text [pa=0x0000000000000000, va=0xffffffff80000000] Code allocator: directive: .org 0x280 0x0000000000000280 (PA): mfc0 $ra, $14, 0 (0x401F7000) 0x0000000000000284 (PA): addiu $ra, $ra, 4 (0x27FF0004) 0x0000000000000288 (PA): jr $ra (0x03E00008) 0x000000000000028c (PA): nop (0x00000000) Code allocator: register the remaining block: [0xffffffff80000280..0xffffffff80000290) (5 calls) ------------------------------- Allocating code -------------------------------- Section: .text [pa=0x0000000000000000, va=0xffffffff80000000] Code allocator: directive: .org 0x380 0x0000000000000380 (PA): mfc0 $ra, $14, 0 (0x401F7000) 0x0000000000000384 (PA): addiu $ra, $ra, 4 (0x27FF0004) 0x0000000000000388 (PA): jr $ra (0x03E00008) 0x000000000000038c (PA): nop (0x00000000) Code allocator: register the remaining block: [0xffffffff80000380..0xffffffff80000390) (5 calls) ------------------- Constructed Prologue (mips64_base.rb:85) ------------------- boot [pa=0x000000001fc00000, va=0xffffffffbfc00000] .text .set noreorder .list mfc0 $t0, $12, 0 lui $t2, 0x40 ori $t2, $t2, 0x4 lui $t1, 0x400 ori $t1, $t1, 0x80 nor $t2, $0, $t2 and $t0, $t0, $t2 or $t0, $t0, $t1 mtc0 $t0, $12, 0 mfc0 $t0, $16, 0 lui $t2, 0x20 ori $t2, $t2, 0x7 lui $t1, 0x0 ori $t1, $t1, 0x3 nor $t2, $0, $t2 and $t0, $t0, $t2 or $t0, $t0, $t1 mtc0 $t0, $16, 0 mtc0 $0, $11, 0 lui $t0, 0xbfc0 ori $t0, $t0, 0x0 lui $t1, 0x8000 ori $t1, $t1, 0x0 ld $t2, 512($t0) sd $t2, 0($t1) sd $t2, 128($t1) sd $t2, 384($t1) ld $t2, 520($t0) sd $t2, 8($t1) sd $t2, 136($t1) sd $t2, 392($t1) ld $t2, 528($t0) sd $t2, 16($t1) sd $t2, 144($t1) sd $t2, 400($t1) ld $t2, 536($t0) sd $t2, 24($t1) sd $t2, 152($t1) sd $t2, 408($t1) lui $t0, 0x8000 ori $t0, $t0, 0x2000 jr $t0 nop .org 0x200 mthi $t0 mfc0 $t0, $14, 0 addiu $t0, $t0, 4 mtc0 $t0, $14, 0 mfhi $t0 ssnop ssnop eret .org 0x280 mthi $t0 mfc0 $t0, $14, 0 addiu $t0, $t0, 4 mtc0 $t0, $14, 0 mfhi $t0 ssnop ssnop eret .org 0x380 mthi $t0 mfc0 $t0, $14, 0 addiu $t0, $t0, 4 mtc0 $t0, $14, 0 mfhi $t0 ssnop ssnop eret nop nop nop nop ------------------------------- Allocating code -------------------------------- Section: boot [pa=0x000000001fc00000, va=0xffffffffbfc00000] 0x000000001fc00000 (PA): mfc0 $t0, $12, 0 (0x40086000) 0x000000001fc00004 (PA): lui $t2, 0x40 (0x3C0A0040) 0x000000001fc00008 (PA): ori $t2, $t2, 0x4 (0x354A0004) 0x000000001fc0000c (PA): lui $t1, 0x400 (0x3C090400) 0x000000001fc00010 (PA): ori $t1, $t1, 0x80 (0x35290080) 0x000000001fc00014 (PA): nor $t2, $0, $t2 (0x000A5027) 0x000000001fc00018 (PA): and $t0, $t0, $t2 (0x010A4024) 0x000000001fc0001c (PA): or $t0, $t0, $t1 (0x01094025) 0x000000001fc00020 (PA): mtc0 $t0, $12, 0 (0x40886000) 0x000000001fc00024 (PA): mfc0 $t0, $16, 0 (0x40088000) 0x000000001fc00028 (PA): lui $t2, 0x20 (0x3C0A0020) 0x000000001fc0002c (PA): ori $t2, $t2, 0x7 (0x354A0007) 0x000000001fc00030 (PA): lui $t1, 0x0 (0x3C090000) 0x000000001fc00034 (PA): ori $t1, $t1, 0x3 (0x35290003) 0x000000001fc00038 (PA): nor $t2, $0, $t2 (0x000A5027) 0x000000001fc0003c (PA): and $t0, $t0, $t2 (0x010A4024) 0x000000001fc00040 (PA): or $t0, $t0, $t1 (0x01094025) 0x000000001fc00044 (PA): mtc0 $t0, $16, 0 (0x40888000) 0x000000001fc00048 (PA): mtc0 $0, $11, 0 (0x40805800) 0x000000001fc0004c (PA): lui $t0, 0xbfc0 (0x3C08BFC0) 0x000000001fc00050 (PA): ori $t0, $t0, 0x0 (0x35080000) 0x000000001fc00054 (PA): lui $t1, 0x8000 (0x3C098000) 0x000000001fc00058 (PA): ori $t1, $t1, 0x0 (0x35290000) 0x000000001fc0005c (PA): ld $t2, 512($t0) (0xDD0A0200) 0x000000001fc00060 (PA): sd $t2, 0($t1) (0xFD2A0000) 0x000000001fc00064 (PA): sd $t2, 128($t1) (0xFD2A0080) 0x000000001fc00068 (PA): sd $t2, 384($t1) (0xFD2A0180) 0x000000001fc0006c (PA): ld $t2, 520($t0) (0xDD0A0208) 0x000000001fc00070 (PA): sd $t2, 8($t1) (0xFD2A0008) 0x000000001fc00074 (PA): sd $t2, 136($t1) (0xFD2A0088) 0x000000001fc00078 (PA): sd $t2, 392($t1) (0xFD2A0188) 0x000000001fc0007c (PA): ld $t2, 528($t0) (0xDD0A0210) 0x000000001fc00080 (PA): sd $t2, 16($t1) (0xFD2A0010) 0x000000001fc00084 (PA): sd $t2, 144($t1) (0xFD2A0090) 0x000000001fc00088 (PA): sd $t2, 400($t1) (0xFD2A0190) 0x000000001fc0008c (PA): ld $t2, 536($t0) (0xDD0A0218) 0x000000001fc00090 (PA): sd $t2, 24($t1) (0xFD2A0018) 0x000000001fc00094 (PA): sd $t2, 152($t1) (0xFD2A0098) 0x000000001fc00098 (PA): sd $t2, 408($t1) (0xFD2A0198) 0x000000001fc0009c (PA): lui $t0, 0x8000 (0x3C088000) 0x000000001fc000a0 (PA): ori $t0, $t0, 0x2000 (0x35082000) 0x000000001fc000a4 (PA): jr $t0 (0x01000008) 0x000000001fc000a8 (PA): nop (0x00000000) Code allocator: directive: .org 0x200 Code allocator: register the block: [0xffffffffbfc00000..0xffffffffbfc000ac) (43 calls) 0x000000001fc00200 (PA): mthi $t0 (0x01000011) 0x000000001fc00204 (PA): mfc0 $t0, $14, 0 (0x40087000) 0x000000001fc00208 (PA): addiu $t0, $t0, 4 (0x25080004) 0x000000001fc0020c (PA): mtc0 $t0, $14, 0 (0x40887000) 0x000000001fc00210 (PA): mfhi $t0 (0x00004010) 0x000000001fc00214 (PA): ssnop (0x00000040) 0x000000001fc00218 (PA): ssnop (0x00000040) 0x000000001fc0021c (PA): eret (0x42000018) Code allocator: directive: .org 0x280 Code allocator: register the block: [0xffffffffbfc00200..0xffffffffbfc00220) (8 calls) 0x000000001fc00280 (PA): mthi $t0 (0x01000011) 0x000000001fc00284 (PA): mfc0 $t0, $14, 0 (0x40087000) 0x000000001fc00288 (PA): addiu $t0, $t0, 4 (0x25080004) 0x000000001fc0028c (PA): mtc0 $t0, $14, 0 (0x40887000) 0x000000001fc00290 (PA): mfhi $t0 (0x00004010) 0x000000001fc00294 (PA): ssnop (0x00000040) 0x000000001fc00298 (PA): ssnop (0x00000040) 0x000000001fc0029c (PA): eret (0x42000018) Code allocator: directive: .org 0x380 Code allocator: register the block: [0xffffffffbfc00280..0xffffffffbfc002a0) (8 calls) 0x000000001fc00380 (PA): mthi $t0 (0x01000011) 0x000000001fc00384 (PA): mfc0 $t0, $14, 0 (0x40087000) 0x000000001fc00388 (PA): addiu $t0, $t0, 4 (0x25080004) 0x000000001fc0038c (PA): mtc0 $t0, $14, 0 (0x40887000) 0x000000001fc00390 (PA): mfhi $t0 (0x00004010) 0x000000001fc00394 (PA): ssnop (0x00000040) 0x000000001fc00398 (PA): ssnop (0x00000040) 0x000000001fc0039c (PA): eret (0x42000018) 0x000000001fc003a0 (PA): nop (0x00000000) 0x000000001fc003a4 (PA): nop (0x00000000) 0x000000001fc003a8 (PA): nop (0x00000000) 0x000000001fc003ac (PA): nop (0x00000000) Code allocator: register the remaining block: [0xffffffffbfc00380..0xffffffffbfc003b0) (12 calls) ------------------ Constructed Prologue (mips64_base.rb:544) ------------------- .text .org 0x2000 __start: .nolist .set noreorder #include "regdef_mips64.h" #include "kernel_mips64.h" .list .text .globl __start j test nop test: mfc0 $t8, $16, 0 lui $t9, 0xffff ori $t9, $t9, 0xfffa and $t8, $t8, $t9 mtc0 $t8, $16, 0 ssnop ssnop ------------------------------- Allocating code -------------------------------- Section: .text [pa=0x0000000000000000, va=0xffffffff80000000] Code allocator: directive: .org 0x2000 Code allocator: directive: __start: 0x0000000000002000 (PA): j test (0x08000000) 0x0000000000002004 (PA): nop (0x00000000) Code allocator: directive: test: 0x0000000000002008 (PA): mfc0 $t8, $16, 0 (0x40188000) 0x000000000000200c (PA): lui $t9, 0xffff (0x3C19FFFF) 0x0000000000002010 (PA): ori $t9, $t9, 0xfffa (0x3739FFFA) 0x0000000000002014 (PA): and $t8, $t8, $t9 (0x0319C024) 0x0000000000002018 (PA): mtc0 $t8, $16, 0 (0x40988000) 0x000000000000201c (PA): ssnop (0x00000040) 0x0000000000002020 (PA): ssnop (0x00000040) Code allocator: register the remaining block: [0xffffffff80002000..0xffffffff80002024) (9 calls) Processing of block defined at load_store.rb:72 is postponed. ------------------------ Ended Processing Main Section ------------------------- ------------- Running Execution from Prologue (mips64_base.rb:85) -------------- ---------------------------------- Instance 0 ---------------------------------- Execution status: 0xffffffffbfc00000 boot start (EPC = 0x0) 0xffffffffbfc00000 mfc0 $t0, $12, 0 0xffffffffbfc00004 lui $t2, 0x40 0xffffffffbfc00008 ori $t2, $t2, 0x4 0xffffffffbfc0000c lui $t1, 0x400 0xffffffffbfc00010 ori $t1, $t1, 0x80 0xffffffffbfc00014 nor $t2, $0, $t2 0xffffffffbfc00018 and $t0, $t0, $t2 0xffffffffbfc0001c or $t0, $t0, $t1 0xffffffffbfc00020 mtc0 $t0, $12, 0 0xffffffffbfc00024 mfc0 $t0, $16, 0 0xffffffffbfc00028 lui $t2, 0x20 0xffffffffbfc0002c ori $t2, $t2, 0x7 0xffffffffbfc00030 lui $t1, 0x0 0xffffffffbfc00034 ori $t1, $t1, 0x3 0xffffffffbfc00038 nor $t2, $0, $t2 0xffffffffbfc0003c and $t0, $t0, $t2 0xffffffffbfc00040 or $t0, $t0, $t1 0xffffffffbfc00044 mtc0 $t0, $16, 0 0xffffffffbfc00048 mtc0 $0, $11, 0 0xffffffffbfc0004c lui $t0, 0xbfc0 0xffffffffbfc00050 ori $t0, $t0, 0x0 0xffffffffbfc00054 lui $t1, 0x8000 0xffffffffbfc00058 ori $t1, $t1, 0x0 0xffffffffbfc0005c ld $t2, 512($t0) KSEG1: va=FFFFFFFFBFC00200, pa=1FC00200 0xffffffffbfc00060 sd $t2, 0($t1) KSEG0: va=FFFFFFFF80000000, pa=0 isCached = 0x1 KSEG0: va=FFFFFFFF80000000, pa=0 isCached = 0x1 0xffffffffbfc00064 sd $t2, 128($t1) KSEG0: va=FFFFFFFF80000080, pa=80 isCached = 0x1 KSEG0: va=FFFFFFFF80000080, pa=80 isCached = 0x1 0xffffffffbfc00068 sd $t2, 384($t1) KSEG0: va=FFFFFFFF80000180, pa=180 isCached = 0x1 KSEG0: va=FFFFFFFF80000180, pa=180 isCached = 0x1 0xffffffffbfc0006c ld $t2, 520($t0) KSEG1: va=FFFFFFFFBFC00208, pa=1FC00208 0xffffffffbfc00070 sd $t2, 8($t1) KSEG0: va=FFFFFFFF80000008, pa=8 isCached = 0x1 KSEG0: va=FFFFFFFF80000008, pa=8 isCached = 0x1 0xffffffffbfc00074 sd $t2, 136($t1) KSEG0: va=FFFFFFFF80000088, pa=88 isCached = 0x1 KSEG0: va=FFFFFFFF80000088, pa=88 isCached = 0x1 0xffffffffbfc00078 sd $t2, 392($t1) KSEG0: va=FFFFFFFF80000188, pa=188 isCached = 0x1 KSEG0: va=FFFFFFFF80000188, pa=188 isCached = 0x1 0xffffffffbfc0007c ld $t2, 528($t0) KSEG1: va=FFFFFFFFBFC00210, pa=1FC00210 0xffffffffbfc00080 sd $t2, 16($t1) KSEG0: va=FFFFFFFF80000010, pa=10 isCached = 0x1 KSEG0: va=FFFFFFFF80000010, pa=10 isCached = 0x1 0xffffffffbfc00084 sd $t2, 144($t1) KSEG0: va=FFFFFFFF80000090, pa=90 isCached = 0x1 KSEG0: va=FFFFFFFF80000090, pa=90 isCached = 0x1 0xffffffffbfc00088 sd $t2, 400($t1) KSEG0: va=FFFFFFFF80000190, pa=190 isCached = 0x1 KSEG0: va=FFFFFFFF80000190, pa=190 isCached = 0x1 0xffffffffbfc0008c ld $t2, 536($t0) KSEG1: va=FFFFFFFFBFC00218, pa=1FC00218 0xffffffffbfc00090 sd $t2, 24($t1) KSEG0: va=FFFFFFFF80000018, pa=18 isCached = 0x1 KSEG0: va=FFFFFFFF80000018, pa=18 isCached = 0x1 0xffffffffbfc00094 sd $t2, 152($t1) KSEG0: va=FFFFFFFF80000098, pa=98 isCached = 0x1 KSEG0: va=FFFFFFFF80000098, pa=98 isCached = 0x1 0xffffffffbfc00098 sd $t2, 408($t1) KSEG0: va=FFFFFFFF80000198, pa=198 isCached = 0x1 KSEG0: va=FFFFFFFF80000198, pa=198 isCached = 0x1 0xffffffffbfc0009c lui $t0, 0x8000 0xffffffffbfc000a0 ori $t0, $t0, 0x2000 0xffffffffbfc000a4 jr $t0 0xffffffffbfc000a8 nop Jump to 0xffffffff80002000 .org 0x2000 __start: 0xffffffff80002000 j test 0xffffffff80002004 nop test: 0xffffffff80002008 mfc0 $t8, $16, 0 0xffffffff8000200c lui $t9, 0xffff 0xffffffff80002010 ori $t9, $t9, 0xfffa 0xffffffff80002014 and $t8, $t8, $t9 0xffffffff80002018 mtc0 $t8, $16, 0 0xffffffff8000201c ssnop 0xffffffff80002020 ssnop ------------------ Processing Abstract Sequence (Instance 0) ------------------- Memory engine configuration: classifier=BUFFER_ACCESS, preparator=true, iterator=RANDOM, recursion-limit=1, count=100 MemoryEngine.solve: [instruction call (root: ld, preparator: null, data: false, atomic: false, allocatorAction: null), instruction call (root: sd, preparator: null, data: false, atomic: false, allocatorAction: null)] MemoryEngine.solve: globalConstraints=MemoryAccessConstraints [null, [], []] MemoryEngine.solve: accessTypes=[LOAD[DWORD], LOAD[DWORD]] MemoryEngine.solve: accessConstraints=[MemoryAccessConstraints [null, [], []], MemoryAccessConstraints [null, [], []]] Number of trajectories is 18 Trajectories are [[DTLB, DTLB, JTLB, DTLB, L1, L1], [DTLB, DTLB, JTLB, DTLB, L1, L2, L2, L1], [DTLB, DTLB, JTLB, DTLB, L1, L2, MEM, L2, L1], [DTLB, DTLB, JTLB, DTLB, L1, MEM, L1], [DTLB, DTLB, JTLB, DTLB, MEM], [DTLB, DTLB, JTLB], [JTLB, JTLB, DTLB, L1, L1], [JTLB, JTLB, DTLB, L1, L2, L2, L1], [JTLB, JTLB, DTLB, L1, L2, MEM, L2, L1], [JTLB, JTLB, DTLB, L1, MEM, L1], [JTLB, JTLB, DTLB, MEM], [JTLB, JTLB], [DTLB, JTLB], [L1, L1], [L1, L2, L2, L1], [L1, L2, MEM, L2, L1], [L1, MEM, L1], [MEM]] Creating memory access chooser: MemoryAccessConstraints [null, [], []] Add iterator for the trajectory: [DTLB, DTLB, JTLB, DTLB, L1, L1] Creating memory access chooser: MemoryAccessConstraints [null, [], []] Add iterator for the trajectory: [DTLB, DTLB, JTLB, DTLB, L1, L2, L2, L1] Creating memory access chooser: MemoryAccessConstraints [null, [], []] Add iterator for the trajectory: [DTLB, DTLB, JTLB, DTLB, L1, L2, MEM, L2, L1] Creating memory access chooser: MemoryAccessConstraints [null, [], []] Add iterator for the trajectory: [DTLB, DTLB, JTLB, DTLB, L1, MEM, L1] Creating memory access chooser: MemoryAccessConstraints [null, [], []] Add iterator for the trajectory: [DTLB, DTLB, JTLB, DTLB, MEM] Creating memory access chooser: MemoryAccessConstraints [null, [], []] Add iterator for the trajectory: [DTLB, DTLB, JTLB] Creating memory access chooser: MemoryAccessConstraints [null, [], []] Add iterator for the trajectory: [JTLB, JTLB, DTLB, L1, L1] Creating memory access chooser: MemoryAccessConstraints [null, [], []] Add iterator for the trajectory: [JTLB, JTLB, DTLB, L1, L2, L2, L1] Creating memory access chooser: MemoryAccessConstraints [null, [], []] Add iterator for the trajectory: [JTLB, JTLB, DTLB, L1, L2, MEM, L2, L1] Creating memory access chooser: MemoryAccessConstraints [null, [], []] Add iterator for the trajectory: [JTLB, JTLB, DTLB, L1, MEM, L1] Creating memory access chooser: MemoryAccessConstraints [null, [], []] Add iterator for the trajectory: [JTLB, JTLB, DTLB, MEM] Creating memory access chooser: MemoryAccessConstraints [null, [], []] Add iterator for the trajectory: [JTLB, JTLB] Creating memory access chooser: MemoryAccessConstraints [null, [], []] Add iterator for the trajectory: [DTLB, JTLB] Creating memory access chooser: MemoryAccessConstraints [null, [], []] Add iterator for the trajectory: [L1, L1] Creating memory access chooser: MemoryAccessConstraints [null, [], []] Add iterator for the trajectory: [L1, L2, L2, L1] Creating memory access chooser: MemoryAccessConstraints [null, [], []] Add iterator for the trajectory: [L1, L2, MEM, L2, L1] Creating memory access chooser: MemoryAccessConstraints [null, [], []] Add iterator for the trajectory: [L1, MEM, L1] Creating memory access chooser: MemoryAccessConstraints [null, [], []] Add iterator for the trajectory: [MEM] Classifying memory access paths: LOAD[DWORD] 18 classes Classifying memory access paths: LOAD[DWORD] 18 classes Searching for a memory access path: [DTLB, JTLB] Constraint: VA:VA.value[64] in [120000, FFFFFFFF] Checking feasibility of the memory access: MemoryAccessConstraints [null, [], []] General constraints: [] Solving path constraints Constraint: VA:VA.value[64] in [120000, FFFFFFFF] Solving result: [Variable[name=VA.value(0), data=Data[type=(BIT_VECTOR 64), value=0000000000000000000000000000000000000000000100100000000000000000]], Variable[name=VA.value_DTLB_1(1), data=Data[type=(BIT_VECTOR 64), value=0000000000000000000000000000000000000000000100100000000000000000]], Variable[name=VA.value_JTLB_1(1), data=Data[type=(BIT_VECTOR 64), value=0000000000000000000000000000000000000000000100100000000000000000]], Variable[name=VA.value_DTLB_1, data=Data[type=(BIT_VECTOR 64), value=0000000000000000000000000000000000000000000100100000000000000000]], Variable[name=VA.value, data=Data[type=(BIT_VECTOR 64), value=0000000000000000000000000000000000000000000100100000000000000000]], Variable[name=VA.value_JTLB_1, data=Data[type=(BIT_VECTOR 64), value=0000000000000000000000000000000000000000000100100000000000000000]]] Memory access path of length 7 for trajectory [DTLB, JTLB] Success Searching for a memory access path: [DTLB, JTLB] No feasible memory access path has been found Searching for a memory access path: [DTLB, DTLB, JTLB, DTLB, L1, L1] Constraint: VA:VA.value[64] in [120000, FFFFFFFF] ******************************************************************************** ATTENTION! An unexpected error has occurred: java.lang.ClassCastException: class ru.ispras.fortress.solver.constraint.Formulas cannot be cast to class ru.ispras.fortress.expression.Node (ru.ispras.fortress.solver.constraint.Formulas and ru.ispras.fortress.expression.Node are in unnamed module of loader 'app') The program will be terminated. Please contact us at: microtesk-support@ispras.ru We are sorry for the inconvenience. Exception stack: java.lang.ClassCastException: class ru.ispras.fortress.solver.constraint.Formulas cannot be cast to class ru.ispras.fortress.expression.Node (ru.ispras.fortress.solver.constraint.Formulas and ru.ispras.fortress.expression.Node are in unnamed module of loader 'app') at ru.ispras.microtesk.mmu.test.engine.memory.SymbolicExecutor.executeStatement(ru/ispras/microtesk/mmu/test/engine/memory/SymbolicExecutor.java:598) at ru.ispras.microtesk.mmu.test.engine.memory.SymbolicExecutor.executeProgram(ru/ispras/microtesk/mmu/test/engine/memory/SymbolicExecutor.java:467) at ru.ispras.microtesk.mmu.test.engine.memory.SymbolicExecutor.executeEntry(ru/ispras/microtesk/mmu/test/engine/memory/SymbolicExecutor.java:366) at ru.ispras.microtesk.mmu.test.engine.memory.SymbolicExecutor.execute(ru/ispras/microtesk/mmu/test/engine/memory/SymbolicExecutor.java:100) at ru.ispras.microtesk.mmu.test.engine.memory.MemoryEngineUtils.isFeasibleEntry(ru/ispras/microtesk/mmu/test/engine/memory/MemoryEngineUtils.java:180) at ru.ispras.microtesk.mmu.test.engine.memory.AccessIterator.getNext(ru/ispras/microtesk/mmu/test/engine/memory/AccessIterator.java:524) at ru.ispras.microtesk.mmu.test.engine.memory.AccessIterator.hasNext(ru/ispras/microtesk/mmu/test/engine/memory/AccessIterator.java:324) at ru.ispras.microtesk.mmu.test.engine.memory.AccessChooser.get(ru/ispras/microtesk/mmu/test/engine/memory/AccessChooser.java:103) at ru.ispras.microtesk.mmu.test.engine.memory.AccessesIteratorRandom.next(ru/ispras/microtesk/mmu/test/engine/memory/AccessesIteratorRandom.java:63) at ru.ispras.microtesk.mmu.test.engine.memory.AccessesIteratorRandom.init(ru/ispras/microtesk/mmu/test/engine/memory/AccessesIteratorRandom.java:43) at ru.ispras.microtesk.mmu.test.engine.memory.AccessesIterator.initAccesses(ru/ispras/microtesk/mmu/test/engine/memory/AccessesIterator.java:265) at ru.ispras.microtesk.mmu.test.engine.memory.AccessesIterator.init(ru/ispras/microtesk/mmu/test/engine/memory/AccessesIterator.java:140) at ru.ispras.microtesk.mmu.test.engine.memory.MemoryEngine$1.init(ru/ispras/microtesk/mmu/test/engine/memory/MemoryEngine.java:265) at ru.ispras.microtesk.test.sequence.combinator.CombinatorBase.init(ru/ispras/microtesk/test/sequence/combinator/CombinatorBase.java:84) at ru.ispras.microtesk.test.sequence.combinator.CombinatorDiagonal.init(ru/ispras/microtesk/test/sequence/combinator/CombinatorDiagonal.java:27) at ru.ispras.microtesk.test.engine.SequenceMerger.init(ru/ispras/microtesk/test/engine/SequenceMerger.java:49) at ru.ispras.microtesk.test.engine.AbstractSequenceIterator.init(ru/ispras/microtesk/test/engine/AbstractSequenceIterator.java:37) at ru.ispras.microtesk.test.engine.AbstractSequenceTestDataIterator.init(ru/ispras/microtesk/test/engine/AbstractSequenceTestDataIterator.java:56) at ru.ispras.microtesk.test.engine.SequenceConcretizer.init(ru/ispras/microtesk/test/engine/SequenceConcretizer.java:90) at ru.ispras.microtesk.test.engine.SequenceProcessor$ConcreteSequenceIterator.newConcreteSequenceIterator(ru/ispras/microtesk/test/engine/SequenceProcessor.java:211) at ru.ispras.microtesk.test.engine.SequenceProcessor$ConcreteSequenceIterator.init(ru/ispras/microtesk/test/engine/SequenceProcessor.java:162) at ru.ispras.microtesk.test.TemplateProcessor.processPostponedBlock(ru/ispras/microtesk/test/TemplateProcessor.java:433) at ru.ispras.microtesk.test.TemplateProcessor.processPostponedBlocks(ru/ispras/microtesk/test/TemplateProcessor.java:328) at ru.ispras.microtesk.test.TemplateProcessor.finish(ru/ispras/microtesk/test/TemplateProcessor.java:212) at ru.ispras.microtesk.test.template.Template.endMainSection(ru/ispras/microtesk/test/template/Template.java:224) at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(jdk/internal/reflect/NativeMethodAccessorImpl.java:62) at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(jdk/internal/reflect/DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(java/lang/reflect/Method.java:566) at RUBY.generate(D:/WorkProjects/MicroTESK/microtesk-mips64/build/target/lib/ruby/template.rb:1020) at RUBY.main(D:\WorkProjects\MicroTESK\microtesk-mips64\build\target\lib\ruby\microtesk.rb:33) at org.jruby.RubyHash.each(org/jruby/RubyHash.java:1342) at RUBY.main(D:\WorkProjects\MicroTESK\microtesk-mips64\build\target\lib\ruby\microtesk.rb:29) at RUBY.(root)(D:\WorkProjects\MicroTESK\microtesk-mips64\build\target\lib\ruby\microtesk.rb:52) at ru.ispras.microtesk.RubyRunner.run(ru/ispras/microtesk/RubyRunner.java:68) at ru.ispras.microtesk.ScriptRunner.run(ru/ispras/microtesk/ScriptRunner.java:43) at ru.ispras.microtesk.test.TestEngine.generate(ru/ispras/microtesk/test/TestEngine.java:171) at ru.ispras.microtesk.MicroTESK.generate(ru/ispras/microtesk/MicroTESK.java:372) at ru.ispras.microtesk.MicroTESK.runTask(ru/ispras/microtesk/MicroTESK.java:144) at ru.ispras.microtesk.MicroTESK.main(ru/ispras/microtesk/MicroTESK.java:85) ********************************************************************************