@specy/risc-v 3.6.1 → 3.6.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/dist/index.js +1658 -1659
  2. package/dist/index.mjs +1658 -1659
  3. package/package.json +2 -2
package/dist/index.js CHANGED
@@ -8672,7 +8672,7 @@ var jur_Pattern_processSubExpression = ($this, $last) => {
8672
8672
  $cur = new jur_UnifiedQuantifierSet();
8673
8673
  $term = $term.$innerSet;
8674
8674
  var$8 = var$8;
8675
- jur_LeafQuantifierSet__init_($cur, $term, var$8.$next4, var$8.$type0);
8675
+ jur_LeafQuantifierSet__init_($cur, $term, var$8.$next4, var$8.$type1);
8676
8676
  $cur.$innerSet.$setNext($cur);
8677
8677
  }
8678
8678
  }
@@ -9674,7 +9674,7 @@ function jur_AbstractSet() {
9674
9674
  a.$next4 = null;
9675
9675
  a.$isSecondPassVisited = 0;
9676
9676
  a.$index2 = null;
9677
- a.$type0 = 0;
9677
+ a.$type1 = 0;
9678
9678
  }
9679
9679
  var jur_AbstractSet_counter = 0;
9680
9680
  var jur_AbstractSet_$callClinit = () => {
@@ -9719,7 +9719,7 @@ var jur_AbstractSet_findBack = ($this, $stringIndex, $startSearch, $testString,
9719
9719
  return $startSearch;
9720
9720
  };
9721
9721
  var jur_AbstractSet_getType = ($this) => {
9722
- return $this.$type0;
9722
+ return $this.$type1;
9723
9723
  };
9724
9724
  var jur_AbstractSet_getQualifiedName = ($this) => {
9725
9725
  let var$1, var$2, var$3;
@@ -11574,7 +11574,7 @@ var jur_EmptySet = $rt_classWithoutFields(jur_LeafSet);
11574
11574
  var jur_EmptySet__init_0 = ($this, $next) => {
11575
11575
  jur_AbstractSet__init_0($this, $next);
11576
11576
  $this.$charCount0 = 1;
11577
- $this.$type0 = 1;
11577
+ $this.$type1 = 1;
11578
11578
  $this.$charCount0 = 0;
11579
11579
  };
11580
11580
  var jur_EmptySet__init_ = (var_0) => {
@@ -12864,7 +12864,7 @@ function jur_QuantifierSet() {
12864
12864
  var jur_QuantifierSet__init_ = ($this, $innerSet, $next, $type) => {
12865
12865
  jur_AbstractSet__init_0($this, $next);
12866
12866
  $this.$innerSet = $innerSet;
12867
- $this.$type0 = $type;
12867
+ $this.$type1 = $type;
12868
12868
  };
12869
12869
  var jur_QuantifierSet_first = ($this, $set) => {
12870
12870
  return !$this.$innerSet.$first($set) && !$this.$next4.$first($set) ? 0 : 1;
@@ -17294,6 +17294,90 @@ var otci_Base46_decode = ($seq) => {
17294
17294
  $result = -$result | 0;
17295
17295
  return $result;
17296
17296
  };
17297
+ function asr_JsProgramStatement() {
17298
+ let a = this;
17299
+ jl_Object.call(a);
17300
+ a.$sourceLine5 = 0;
17301
+ a.$sourcePath2 = null;
17302
+ a.$address2 = 0;
17303
+ a.$binaryStatement0 = 0;
17304
+ a.$source2 = null;
17305
+ a.$assemblyStatement = null;
17306
+ a.$machineStatement0 = null;
17307
+ }
17308
+ var asr_JsProgramStatement__init_0 = ($this, $programStatement) => {
17309
+ let var$2, var$3, var$4, var$5, var$6;
17310
+ $this.$sourceLine5 = $programStatement.$sourceLine1;
17311
+ $this.$sourcePath2 = $programStatement.$sourcePath;
17312
+ $this.$address2 = $programStatement.$textAddress0;
17313
+ $this.$binaryStatement0 = $programStatement.$binaryStatement;
17314
+ $this.$source2 = $programStatement.$source;
17315
+ var$2 = $programStatement.$basicStatementList;
17316
+ var$3 = asr_Globals_getSettings();
17317
+ asr_Settings$Bool_$callClinit();
17318
+ var$4 = !asr_Settings_getBooleanSetting(var$3, asr_Settings$Bool_DISPLAY_ADDRESSES_IN_HEX) ? 10 : 16;
17319
+ var$5 = !asr_Settings_getBooleanSetting(asr_Globals_getSettings(), asr_Settings$Bool_DISPLAY_ADDRESSES_IN_HEX) ? 10 : 16;
17320
+ var$3 = new jl_StringBuffer();
17321
+ jl_AbstractStringBuilder__init_(var$3);
17322
+ var$6 = ju_AbstractList_iterator(var$2.$list);
17323
+ while (ju_AbstractList$1_hasNext(var$6)) {
17324
+ a: {
17325
+ var$2 = ju_AbstractList$1_next(var$6);
17326
+ switch (var$2.$type3) {
17327
+ case 0:
17328
+ break;
17329
+ case 1:
17330
+ if (var$4 == 10) {
17331
+ jl_AbstractStringBuilder_append0(var$3, var$2.$iValue);
17332
+ break a;
17333
+ }
17334
+ jl_AbstractStringBuilder_append1(var$3, asru_Binary_intToHexString(var$2.$iValue));
17335
+ break a;
17336
+ case 2:
17337
+ if (var$5 == 10) {
17338
+ jl_AbstractStringBuilder_append0(var$3, var$2.$iValue);
17339
+ break a;
17340
+ }
17341
+ jl_AbstractStringBuilder_append1(var$3, asru_Binary_intToHexString(var$2.$iValue));
17342
+ break a;
17343
+ case 3:
17344
+ jl_AbstractStringBuilder_append0(var$3, var$2.$iValue);
17345
+ break a;
17346
+ default:
17347
+ break a;
17348
+ }
17349
+ jl_AbstractStringBuilder_append1(var$3, var$2.$sValue);
17350
+ }
17351
+ }
17352
+ $this.$assemblyStatement = jl_AbstractStringBuilder_toString(var$3);
17353
+ $this.$machineStatement0 = $programStatement.$machineStatement;
17354
+ };
17355
+ var asr_JsProgramStatement__init_ = (var_0) => {
17356
+ let var_1 = new asr_JsProgramStatement();
17357
+ asr_JsProgramStatement__init_0(var_1, var_0);
17358
+ return var_1;
17359
+ };
17360
+ var asr_JsProgramStatement_getSourceLine$exported$0 = (var$1) => {
17361
+ return var$1.$sourceLine5;
17362
+ };
17363
+ var asr_JsProgramStatement_getSourcePath$exported$1 = (var$1) => {
17364
+ return $rt_ustr(var$1.$sourcePath2);
17365
+ };
17366
+ var asr_JsProgramStatement_getAssemblyStatement$exported$2 = (var$1) => {
17367
+ return $rt_ustr(var$1.$assemblyStatement);
17368
+ };
17369
+ var asr_JsProgramStatement_getSource$exported$3 = (var$1) => {
17370
+ return $rt_ustr(var$1.$source2);
17371
+ };
17372
+ var asr_JsProgramStatement_getAddress$exported$4 = (var$1) => {
17373
+ return var$1.$address2;
17374
+ };
17375
+ var asr_JsProgramStatement_getBinaryStatement$exported$5 = (var$1) => {
17376
+ return var$1.$binaryStatement0;
17377
+ };
17378
+ var asr_JsProgramStatement_getMachineStatement$exported$6 = (var$1) => {
17379
+ return $rt_ustr(var$1.$machineStatement0);
17380
+ };
17297
17381
  var ju_Observer = $rt_classWithoutFields(0);
17298
17382
  function asr_JsMemoryObserver() {
17299
17383
  let a = this;
@@ -17325,6 +17409,147 @@ var asr_JsMemoryObserver__init_ = (var_0, var_1, var_2, var_3, var_4, var_5) =>
17325
17409
  var asr_JsMemoryObserver_isNullish$js_body$_1 = (var$1) => {
17326
17410
  return var$1 === null || var$1 === void 0;
17327
17411
  };
17412
+ var asrrh_ControlAndStatusRegisterFile = $rt_classWithoutFields();
17413
+ var asrrh_ControlAndStatusRegisterFile_instance = null;
17414
+ var asrrh_ControlAndStatusRegisterFile_pendingCounterTicks = 0;
17415
+ var asrrh_ControlAndStatusRegisterFile_$callClinit = () => {
17416
+ asrrh_ControlAndStatusRegisterFile_$callClinit = $rt_eraseClinit(asrrh_ControlAndStatusRegisterFile);
17417
+ asrrh_ControlAndStatusRegisterFile__clinit_();
17418
+ };
17419
+ var asrrh_ControlAndStatusRegisterFile_updateRegister0 = (var$1, $val) => {
17420
+ let $target, $old, var$5, var$6;
17421
+ asrrh_ControlAndStatusRegisterFile_$callClinit();
17422
+ asrrh_ControlAndStatusRegisterFile_settleCounters();
17423
+ $target = asrrh_RegisterBlock_getRegister0(asrrh_ControlAndStatusRegisterFile_instance, var$1);
17424
+ if ($target instanceof asrrh_ReadOnlyRegister)
17425
+ return 1;
17426
+ if (var$1 >= 3200 && var$1 <= 3202)
17427
+ return 1;
17428
+ if (asr_Settings_getBackSteppingEnabled(asr_Globals_getSettings()) && $target !== null) {
17429
+ $old = asrrh_RegisterBlock_updateRegister0(asrrh_ControlAndStatusRegisterFile_instance, $target, $val);
17430
+ var$5 = asr_Globals_program.$backStepper;
17431
+ $val = $target.$getValueNoNotify();
17432
+ var$6 = var$5.$backSteps;
17433
+ asrs_BackStepper$Action_$callClinit();
17434
+ asrs_BackStepper$BackstepStack_push(var$6, asrs_BackStepper$Action_CONTROL_AND_STATUS_REGISTER_RESTORE, asrs_BackStepper_pc(var$5), var$1, $old, 0, $val);
17435
+ } else
17436
+ asrrh_RegisterBlock_updateRegister0(asrrh_ControlAndStatusRegisterFile_instance, $target, $val);
17437
+ return 0;
17438
+ };
17439
+ var asrrh_ControlAndStatusRegisterFile_updateRegister = ($name, $val) => {
17440
+ asrrh_ControlAndStatusRegisterFile_$callClinit();
17441
+ asrrh_ControlAndStatusRegisterFile_settleCounters();
17442
+ asrrh_ControlAndStatusRegisterFile_updateRegister0(asrrh_RegisterBlock_getRegister(asrrh_ControlAndStatusRegisterFile_instance, $name).$number, $val);
17443
+ };
17444
+ var asrrh_ControlAndStatusRegisterFile_updateRegisterBackdoor = ($register, $val, $programCounter) => {
17445
+ let $old, var$5, var$6;
17446
+ asrrh_ControlAndStatusRegisterFile_$callClinit();
17447
+ asrrh_ControlAndStatusRegisterFile_settleCounters();
17448
+ $old = asrrh_Register_setValueBackdoor($register, $val);
17449
+ if (Long_eq($old, $val))
17450
+ return;
17451
+ if (asr_Settings_getBackSteppingEnabled(asr_Globals_getSettings())) {
17452
+ var$5 = asr_Globals_program.$backStepper;
17453
+ var$6 = $register.$number;
17454
+ var$5 = var$5.$backSteps;
17455
+ asrs_BackStepper$Action_$callClinit();
17456
+ asrs_BackStepper$BackstepStack_push(var$5, asrs_BackStepper$Action_CONTROL_AND_STATUS_REGISTER_BACKDOOR, $programCounter, var$6, $old, 0, $val);
17457
+ }
17458
+ };
17459
+ var asrrh_ControlAndStatusRegisterFile_orRegister0 = ($num, $val) => {
17460
+ asrrh_ControlAndStatusRegisterFile_$callClinit();
17461
+ asrrh_ControlAndStatusRegisterFile_settleCounters();
17462
+ return asrrh_ControlAndStatusRegisterFile_updateRegister0($num, Long_or(asrrh_RegisterBlock_getValue(asrrh_ControlAndStatusRegisterFile_instance, $num), $val));
17463
+ };
17464
+ var asrrh_ControlAndStatusRegisterFile_orRegister = ($name, $val) => {
17465
+ asrrh_ControlAndStatusRegisterFile_$callClinit();
17466
+ asrrh_ControlAndStatusRegisterFile_settleCounters();
17467
+ asrrh_ControlAndStatusRegisterFile_updateRegister($name, Long_or(asrrh_RegisterBlock_getValue0(asrrh_ControlAndStatusRegisterFile_instance, $name), $val));
17468
+ };
17469
+ var asrrh_ControlAndStatusRegisterFile_clearRegister0 = ($num, $val) => {
17470
+ asrrh_ControlAndStatusRegisterFile_$callClinit();
17471
+ asrrh_ControlAndStatusRegisterFile_settleCounters();
17472
+ return asrrh_ControlAndStatusRegisterFile_updateRegister0($num, Long_and(asrrh_RegisterBlock_getValue(asrrh_ControlAndStatusRegisterFile_instance, $num), Long_xor($val, Long_fromInt(-1))));
17473
+ };
17474
+ var asrrh_ControlAndStatusRegisterFile_clearRegister = ($name, $val) => {
17475
+ asrrh_ControlAndStatusRegisterFile_$callClinit();
17476
+ asrrh_ControlAndStatusRegisterFile_settleCounters();
17477
+ asrrh_ControlAndStatusRegisterFile_updateRegister($name, Long_and(asrrh_RegisterBlock_getValue0(asrrh_ControlAndStatusRegisterFile_instance, $name), Long_xor($val, Long_fromInt(-1))));
17478
+ };
17479
+ var asrrh_ControlAndStatusRegisterFile_getValueLong = ($num) => {
17480
+ asrrh_ControlAndStatusRegisterFile_$callClinit();
17481
+ asrrh_ControlAndStatusRegisterFile_settleCounters();
17482
+ return asrrh_RegisterBlock_getValue(asrrh_ControlAndStatusRegisterFile_instance, $num);
17483
+ };
17484
+ var asrrh_ControlAndStatusRegisterFile_getValue = ($name) => {
17485
+ asrrh_ControlAndStatusRegisterFile_$callClinit();
17486
+ asrrh_ControlAndStatusRegisterFile_settleCounters();
17487
+ return Long_lo(asrrh_RegisterBlock_getValue0(asrrh_ControlAndStatusRegisterFile_instance, $name));
17488
+ };
17489
+ var asrrh_ControlAndStatusRegisterFile_getRegisters = () => {
17490
+ asrrh_ControlAndStatusRegisterFile_$callClinit();
17491
+ asrrh_ControlAndStatusRegisterFile_settleCounters();
17492
+ return asrrh_ControlAndStatusRegisterFile_instance.$regFile;
17493
+ };
17494
+ var asrrh_ControlAndStatusRegisterFile_incrementCounters = ($backStepping, $pc) => {
17495
+ let var$3;
17496
+ asrrh_ControlAndStatusRegisterFile_$callClinit();
17497
+ asrrh_ControlAndStatusRegisterFile_pendingCounterTicks = asrrh_ControlAndStatusRegisterFile_pendingCounterTicks + 1 | 0;
17498
+ if ($backStepping) {
17499
+ asr_Globals_$callClinit();
17500
+ var$3 = asr_Globals_program.$backStepper.$backSteps;
17501
+ asrs_BackStepper$Action_$callClinit();
17502
+ asrs_BackStepper$BackstepStack_push0(var$3, asrs_BackStepper$Action_CONTROL_AND_STATUS_COUNTERS_DECREMENT, $pc);
17503
+ }
17504
+ };
17505
+ var asrrh_ControlAndStatusRegisterFile_settleCounters = () => {
17506
+ let $ticks, $cycle, $instret, var$4, var$5;
17507
+ asrrh_ControlAndStatusRegisterFile_$callClinit();
17508
+ $ticks = asrrh_ControlAndStatusRegisterFile_pendingCounterTicks;
17509
+ if (!$ticks)
17510
+ return;
17511
+ asrrh_ControlAndStatusRegisterFile_pendingCounterTicks = 0;
17512
+ $cycle = asrrh_RegisterBlock_getRegister(asrrh_ControlAndStatusRegisterFile_instance, $rt_s(494));
17513
+ $instret = asrrh_RegisterBlock_getRegister(asrrh_ControlAndStatusRegisterFile_instance, $rt_s(495));
17514
+ var$4 = $cycle.$getValueNoNotify();
17515
+ var$5 = Long_fromInt($ticks);
17516
+ asrrh_Register_setValueBackdoor($cycle, Long_add(var$4, var$5));
17517
+ asrrh_Register_setValueBackdoor($instret, Long_add($instret.$getValueNoNotify(), var$5));
17518
+ };
17519
+ var asrrh_ControlAndStatusRegisterFile_getRegister = ($name) => {
17520
+ asrrh_ControlAndStatusRegisterFile_$callClinit();
17521
+ asrrh_ControlAndStatusRegisterFile_settleCounters();
17522
+ return asrrh_RegisterBlock_getRegister(asrrh_ControlAndStatusRegisterFile_instance, $name);
17523
+ };
17524
+ var asrrh_ControlAndStatusRegisterFile__clinit_ = () => {
17525
+ let $tmp_0, var$2;
17526
+ $tmp_0 = $rt_createArray(asrrh_Register, 17);
17527
+ var$2 = $tmp_0.data;
17528
+ var$2[0] = asrrh_MaskedRegister__init_($rt_s(496), 0, Long_ZERO, Long_fromInt(-18));
17529
+ var$2[1] = null;
17530
+ var$2[2] = null;
17531
+ var$2[3] = asrrh_MaskedRegister__init_($rt_s(497), 3, Long_ZERO, Long_fromInt(-256));
17532
+ var$2[4] = asrrh_Register__init_($rt_s(498), 4, Long_ZERO);
17533
+ var$2[5] = asrrh_Register__init_($rt_s(499), 5, Long_ZERO);
17534
+ var$2[6] = asrrh_Register__init_($rt_s(500), 64, Long_ZERO);
17535
+ var$2[7] = asrrh_Register__init_($rt_s(501), 65, Long_ZERO);
17536
+ var$2[8] = asrrh_Register__init_($rt_s(502), 66, Long_ZERO);
17537
+ var$2[9] = asrrh_Register__init_($rt_s(503), 67, Long_ZERO);
17538
+ var$2[10] = asrrh_Register__init_($rt_s(504), 68, Long_ZERO);
17539
+ var$2[11] = asrrh_ReadOnlyRegister__init_($rt_s(494), 3072, 0);
17540
+ var$2[12] = asrrh_ReadOnlyRegister__init_($rt_s(505), 3073, 0);
17541
+ var$2[13] = asrrh_ReadOnlyRegister__init_($rt_s(495), 3074, 0);
17542
+ var$2[14] = null;
17543
+ var$2[15] = null;
17544
+ var$2[16] = null;
17545
+ var$2[1] = asrrh_LinkedRegister__init_($rt_s(506), 1, var$2[3], Long_fromInt(31));
17546
+ var$2[2] = asrrh_LinkedRegister__init_($rt_s(507), 2, var$2[3], Long_fromInt(224));
17547
+ var$2[14] = asrrh_LinkedRegister__init_($rt_s(508), 3200, var$2[11], Long_create(0, 4294967295));
17548
+ var$2[15] = asrrh_LinkedRegister__init_($rt_s(509), 3201, var$2[12], Long_create(0, 4294967295));
17549
+ var$2[16] = asrrh_LinkedRegister__init_($rt_s(510), 3202, var$2[13], Long_create(0, 4294967295));
17550
+ asrrh_ControlAndStatusRegisterFile_instance = asrrh_RegisterBlock__init_0(95, $tmp_0);
17551
+ asrrh_ControlAndStatusRegisterFile_pendingCounterTicks = 0;
17552
+ };
17328
17553
  var asrrh_RegisterFile = $rt_classWithoutFields();
17329
17554
  var asrrh_RegisterFile_instance = null;
17330
17555
  var asrrh_RegisterFile_programCounter = null;
@@ -17333,18 +17558,18 @@ var asrrh_RegisterFile_$callClinit = () => {
17333
17558
  asrrh_RegisterFile_$callClinit = $rt_eraseClinit(asrrh_RegisterFile);
17334
17559
  asrrh_RegisterFile__clinit_();
17335
17560
  };
17336
- var asrrh_RegisterFile_updateRegister = (var$1, $val) => {
17561
+ var asrrh_RegisterFile_updateRegister = ($num, $val) => {
17337
17562
  let var$3, var$4, var$5;
17338
17563
  asrrh_RegisterFile_$callClinit();
17339
- if (var$1) {
17564
+ if ($num) {
17340
17565
  if (!asr_Settings_getBackSteppingEnabled(asr_Globals_getSettings()))
17341
- asrrh_RegisterBlock_updateRegister(asrrh_RegisterFile_instance, var$1, $val);
17566
+ asrrh_RegisterBlock_updateRegister(asrrh_RegisterFile_instance, $num, $val);
17342
17567
  else {
17343
17568
  var$3 = asr_Globals_program.$backStepper;
17344
- var$4 = asrrh_RegisterBlock_updateRegister(asrrh_RegisterFile_instance, var$1, $val);
17569
+ var$4 = asrrh_RegisterBlock_updateRegister(asrrh_RegisterFile_instance, $num, $val);
17345
17570
  var$5 = var$3.$backSteps;
17346
17571
  asrs_BackStepper$Action_$callClinit();
17347
- asrs_BackStepper$BackstepStack_push(var$5, asrs_BackStepper$Action_REGISTER_RESTORE, asrs_BackStepper_pc(var$3), var$1, var$4, 0, $val);
17572
+ asrs_BackStepper$BackstepStack_push(var$5, asrs_BackStepper$Action_REGISTER_RESTORE, asrs_BackStepper_pc(var$3), $num, var$4, 0, $val);
17348
17573
  }
17349
17574
  }
17350
17575
  };
@@ -17370,9 +17595,9 @@ var asrrh_RegisterFile_getRegisters = () => {
17370
17595
  };
17371
17596
  var asrrh_RegisterFile_getRegister = ($name) => {
17372
17597
  asrrh_RegisterFile_$callClinit();
17373
- if (!jl_String_equals($name, $rt_s(494)))
17598
+ if (!jl_String_equals($name, $rt_s(511)))
17374
17599
  return asrrh_RegisterBlock_getRegister(asrrh_RegisterFile_instance, $name);
17375
- return asrrh_RegisterBlock_getRegister(asrrh_RegisterFile_instance, $rt_s(495));
17600
+ return asrrh_RegisterBlock_getRegister(asrrh_RegisterFile_instance, $rt_s(512));
17376
17601
  };
17377
17602
  var asrrh_RegisterFile_initializeProgramCounter = ($value) => {
17378
17603
  asrrh_RegisterFile_$callClinit();
@@ -17425,179 +17650,57 @@ var asrrh_RegisterFile_resetRegisters = () => {
17425
17650
  asr_Settings$Bool_$callClinit();
17426
17651
  asrrh_RegisterFile_initializeProgramCounter0(asr_Settings_getBooleanSetting(var$1, asr_Settings$Bool_START_AT_MAIN));
17427
17652
  };
17653
+ var asrrh_RegisterFile_incrementPC = () => {
17654
+ asrrh_RegisterFile_$callClinit();
17655
+ asrrh_RegisterFile_programCounterValue = asrrh_RegisterFile_programCounterValue + 4 | 0;
17656
+ };
17428
17657
  var asrrh_RegisterFile__clinit_ = () => {
17429
17658
  let var$1, var$2, var$3, var$4;
17430
17659
  var$1 = new asrrh_RegisterBlock();
17431
17660
  var$2 = $rt_createArray(asrrh_Register, 32);
17432
17661
  var$3 = var$2.data;
17433
- var$3[0] = asrrh_Register__init_($rt_s(496), 0, Long_ZERO);
17434
- var$3[1] = asrrh_Register__init_($rt_s(497), 1, Long_ZERO);
17662
+ var$3[0] = asrrh_Register__init_($rt_s(513), 0, Long_ZERO);
17663
+ var$3[1] = asrrh_Register__init_($rt_s(514), 1, Long_ZERO);
17435
17664
  var$4 = new asrrh_Register();
17436
17665
  asrrh_Memory_$callClinit();
17437
17666
  asrrh_Register__init_0(var$4, $rt_s(208), 2, Long_fromInt(asrrh_Memory_stackPointer));
17438
17667
  var$3[2] = var$4;
17439
17668
  var$3[3] = asrrh_Register__init_($rt_s(207), 3, Long_fromInt(asrrh_Memory_globalPointer));
17440
- var$3[4] = asrrh_Register__init_($rt_s(498), 4, Long_ZERO);
17441
- var$3[5] = asrrh_Register__init_($rt_s(499), 5, Long_ZERO);
17442
- var$3[6] = asrrh_Register__init_($rt_s(500), 6, Long_ZERO);
17443
- var$3[7] = asrrh_Register__init_($rt_s(501), 7, Long_ZERO);
17444
- var$3[8] = asrrh_Register__init_($rt_s(495), 8, Long_ZERO);
17445
- var$3[9] = asrrh_Register__init_($rt_s(502), 9, Long_ZERO);
17446
- var$3[10] = asrrh_Register__init_($rt_s(503), 10, Long_ZERO);
17447
- var$3[11] = asrrh_Register__init_($rt_s(504), 11, Long_ZERO);
17448
- var$3[12] = asrrh_Register__init_($rt_s(505), 12, Long_ZERO);
17449
- var$3[13] = asrrh_Register__init_($rt_s(506), 13, Long_ZERO);
17450
- var$3[14] = asrrh_Register__init_($rt_s(507), 14, Long_ZERO);
17451
- var$3[15] = asrrh_Register__init_($rt_s(508), 15, Long_ZERO);
17452
- var$3[16] = asrrh_Register__init_($rt_s(509), 16, Long_ZERO);
17453
- var$3[17] = asrrh_Register__init_($rt_s(510), 17, Long_ZERO);
17454
- var$3[18] = asrrh_Register__init_($rt_s(511), 18, Long_ZERO);
17455
- var$3[19] = asrrh_Register__init_($rt_s(512), 19, Long_ZERO);
17456
- var$3[20] = asrrh_Register__init_($rt_s(513), 20, Long_ZERO);
17457
- var$3[21] = asrrh_Register__init_($rt_s(514), 21, Long_ZERO);
17458
- var$3[22] = asrrh_Register__init_($rt_s(515), 22, Long_ZERO);
17459
- var$3[23] = asrrh_Register__init_($rt_s(516), 23, Long_ZERO);
17460
- var$3[24] = asrrh_Register__init_($rt_s(517), 24, Long_ZERO);
17461
- var$3[25] = asrrh_Register__init_($rt_s(518), 25, Long_ZERO);
17462
- var$3[26] = asrrh_Register__init_($rt_s(519), 26, Long_ZERO);
17463
- var$3[27] = asrrh_Register__init_($rt_s(520), 27, Long_ZERO);
17464
- var$3[28] = asrrh_Register__init_($rt_s(521), 28, Long_ZERO);
17465
- var$3[29] = asrrh_Register__init_($rt_s(522), 29, Long_ZERO);
17466
- var$3[30] = asrrh_Register__init_($rt_s(523), 30, Long_ZERO);
17467
- var$3[31] = asrrh_Register__init_($rt_s(524), 31, Long_ZERO);
17669
+ var$3[4] = asrrh_Register__init_($rt_s(515), 4, Long_ZERO);
17670
+ var$3[5] = asrrh_Register__init_($rt_s(516), 5, Long_ZERO);
17671
+ var$3[6] = asrrh_Register__init_($rt_s(517), 6, Long_ZERO);
17672
+ var$3[7] = asrrh_Register__init_($rt_s(518), 7, Long_ZERO);
17673
+ var$3[8] = asrrh_Register__init_($rt_s(512), 8, Long_ZERO);
17674
+ var$3[9] = asrrh_Register__init_($rt_s(519), 9, Long_ZERO);
17675
+ var$3[10] = asrrh_Register__init_($rt_s(520), 10, Long_ZERO);
17676
+ var$3[11] = asrrh_Register__init_($rt_s(521), 11, Long_ZERO);
17677
+ var$3[12] = asrrh_Register__init_($rt_s(522), 12, Long_ZERO);
17678
+ var$3[13] = asrrh_Register__init_($rt_s(523), 13, Long_ZERO);
17679
+ var$3[14] = asrrh_Register__init_($rt_s(524), 14, Long_ZERO);
17680
+ var$3[15] = asrrh_Register__init_($rt_s(525), 15, Long_ZERO);
17681
+ var$3[16] = asrrh_Register__init_($rt_s(526), 16, Long_ZERO);
17682
+ var$3[17] = asrrh_Register__init_($rt_s(527), 17, Long_ZERO);
17683
+ var$3[18] = asrrh_Register__init_($rt_s(528), 18, Long_ZERO);
17684
+ var$3[19] = asrrh_Register__init_($rt_s(529), 19, Long_ZERO);
17685
+ var$3[20] = asrrh_Register__init_($rt_s(530), 20, Long_ZERO);
17686
+ var$3[21] = asrrh_Register__init_($rt_s(531), 21, Long_ZERO);
17687
+ var$3[22] = asrrh_Register__init_($rt_s(532), 22, Long_ZERO);
17688
+ var$3[23] = asrrh_Register__init_($rt_s(533), 23, Long_ZERO);
17689
+ var$3[24] = asrrh_Register__init_($rt_s(534), 24, Long_ZERO);
17690
+ var$3[25] = asrrh_Register__init_($rt_s(535), 25, Long_ZERO);
17691
+ var$3[26] = asrrh_Register__init_($rt_s(536), 26, Long_ZERO);
17692
+ var$3[27] = asrrh_Register__init_($rt_s(537), 27, Long_ZERO);
17693
+ var$3[28] = asrrh_Register__init_($rt_s(538), 28, Long_ZERO);
17694
+ var$3[29] = asrrh_Register__init_($rt_s(539), 29, Long_ZERO);
17695
+ var$3[30] = asrrh_Register__init_($rt_s(540), 30, Long_ZERO);
17696
+ var$3[31] = asrrh_Register__init_($rt_s(541), 31, Long_ZERO);
17468
17697
  asrrh_RegisterBlock__init_(var$1, 120, var$2);
17469
17698
  asrrh_RegisterFile_instance = var$1;
17470
- asrrh_RegisterFile_programCounter = asrrh_Register__init_($rt_s(525), -1, Long_fromInt(asrrh_Memory_textBaseAddress));
17699
+ asrrh_RegisterFile_programCounter = asrrh_Register__init_($rt_s(542), -1, Long_fromInt(asrrh_Memory_textBaseAddress));
17471
17700
  asrrh_RegisterFile_programCounterValue = asrrh_Memory_textBaseAddress;
17472
17701
  };
17473
- var asr_JsRiscV$Body = $rt_classWithoutFields(0);
17474
- function asr_JsRiscV$simulateWithBreakpointsAndLimit$lambda$_17_0() {
17475
- let a = this;
17476
- jl_Object.call(a);
17477
- a.$_05 = null;
17478
- a.$_12 = 0;
17479
- a.$_2 = null;
17480
- }
17481
- var asr_JsRiscV$simulateWithBreakpointsAndLimit$lambda$_17_0_run = (var$0) => {
17482
- let var$1, var$2, var$3, var$4, $ptr, $tmp;
17483
- $ptr = 0;
17484
- if ($rt_resuming()) {
17485
- let $thread = $rt_nativeThread();
17486
- $ptr = $thread.pop();
17487
- var$4 = $thread.pop();
17488
- var$3 = $thread.pop();
17489
- var$2 = $thread.pop();
17490
- var$1 = $thread.pop();
17491
- var$0 = $thread.pop();
17492
- }
17493
- main: while (true) {
17494
- switch ($ptr) {
17495
- case 0:
17496
- var$1 = var$0.$_05;
17497
- var$2 = var$0.$_12;
17498
- var$3 = var$0.$_2;
17499
- var$1 = var$1.$main;
17500
- asr_RARS_requireAssembled(var$1);
17501
- var$4 = var$1.$main0;
17502
- $ptr = 1;
17503
- case 1:
17504
- $tmp = asr_RISCVprogram_simulate(var$4, var$2, var$3);
17505
- if ($rt_suspending()) {
17506
- break main;
17507
- }
17508
- var$4 = $tmp;
17509
- var$1.$stopReason = var$4;
17510
- return var$4.$ordinal0;
17511
- default:
17512
- $rt_invalidPointer();
17513
- }
17514
- }
17515
- $rt_nativeThread().push(var$0, var$1, var$2, var$3, var$4, $ptr);
17516
- };
17517
- function asr_JsProgramStatement() {
17518
- let a = this;
17519
- jl_Object.call(a);
17520
- a.$sourceLine5 = 0;
17521
- a.$sourcePath2 = null;
17522
- a.$address2 = 0;
17523
- a.$binaryStatement0 = 0;
17524
- a.$source2 = null;
17525
- a.$assemblyStatement = null;
17526
- a.$machineStatement0 = null;
17527
- }
17528
- var asr_JsProgramStatement__init_0 = ($this, $programStatement) => {
17529
- let var$2, var$3, var$4, var$5, var$6;
17530
- $this.$sourceLine5 = $programStatement.$sourceLine1;
17531
- $this.$sourcePath2 = $programStatement.$sourcePath;
17532
- $this.$address2 = $programStatement.$textAddress0;
17533
- $this.$binaryStatement0 = $programStatement.$binaryStatement;
17534
- $this.$source2 = $programStatement.$source;
17535
- var$2 = $programStatement.$basicStatementList;
17536
- var$3 = asr_Globals_getSettings();
17537
- asr_Settings$Bool_$callClinit();
17538
- var$4 = !asr_Settings_getBooleanSetting(var$3, asr_Settings$Bool_DISPLAY_ADDRESSES_IN_HEX) ? 10 : 16;
17539
- var$5 = !asr_Settings_getBooleanSetting(asr_Globals_getSettings(), asr_Settings$Bool_DISPLAY_ADDRESSES_IN_HEX) ? 10 : 16;
17540
- var$3 = new jl_StringBuffer();
17541
- jl_AbstractStringBuilder__init_(var$3);
17542
- var$6 = ju_AbstractList_iterator(var$2.$list);
17543
- while (ju_AbstractList$1_hasNext(var$6)) {
17544
- a: {
17545
- var$2 = ju_AbstractList$1_next(var$6);
17546
- switch (var$2.$type3) {
17547
- case 0:
17548
- break;
17549
- case 1:
17550
- if (var$4 == 10) {
17551
- jl_AbstractStringBuilder_append0(var$3, var$2.$iValue);
17552
- break a;
17553
- }
17554
- jl_AbstractStringBuilder_append1(var$3, asru_Binary_intToHexString(var$2.$iValue));
17555
- break a;
17556
- case 2:
17557
- if (var$5 == 10) {
17558
- jl_AbstractStringBuilder_append0(var$3, var$2.$iValue);
17559
- break a;
17560
- }
17561
- jl_AbstractStringBuilder_append1(var$3, asru_Binary_intToHexString(var$2.$iValue));
17562
- break a;
17563
- case 3:
17564
- jl_AbstractStringBuilder_append0(var$3, var$2.$iValue);
17565
- break a;
17566
- default:
17567
- break a;
17568
- }
17569
- jl_AbstractStringBuilder_append1(var$3, var$2.$sValue);
17570
- }
17571
- }
17572
- $this.$assemblyStatement = jl_AbstractStringBuilder_toString(var$3);
17573
- $this.$machineStatement0 = $programStatement.$machineStatement;
17574
- };
17575
- var asr_JsProgramStatement__init_ = (var_0) => {
17576
- let var_1 = new asr_JsProgramStatement();
17577
- asr_JsProgramStatement__init_0(var_1, var_0);
17578
- return var_1;
17579
- };
17580
- var asr_JsProgramStatement_getSourceLine$exported$0 = (var$1) => {
17581
- return var$1.$sourceLine5;
17582
- };
17583
- var asr_JsProgramStatement_getSourcePath$exported$1 = (var$1) => {
17584
- return $rt_ustr(var$1.$sourcePath2);
17585
- };
17586
- var asr_JsProgramStatement_getAssemblyStatement$exported$2 = (var$1) => {
17587
- return $rt_ustr(var$1.$assemblyStatement);
17588
- };
17589
- var asr_JsProgramStatement_getSource$exported$3 = (var$1) => {
17590
- return $rt_ustr(var$1.$source2);
17591
- };
17592
- var asr_JsProgramStatement_getAddress$exported$4 = (var$1) => {
17593
- return var$1.$address2;
17594
- };
17595
- var asr_JsProgramStatement_getBinaryStatement$exported$5 = (var$1) => {
17596
- return var$1.$binaryStatement0;
17597
- };
17598
- var asr_JsProgramStatement_getMachineStatement$exported$6 = (var$1) => {
17599
- return $rt_ustr(var$1.$machineStatement0);
17600
- };
17702
+ var juf_ToIntFunction = $rt_classWithoutFields(0);
17703
+ var asr_JsRiscV$getRegistersValues$lambda$_28_0 = $rt_classWithoutFields();
17601
17704
  var otjc_JSArrayReader = $rt_classWithoutFields(0);
17602
17705
  var otjc_JSArray = $rt_classWithoutFields();
17603
17706
  var otjc_JSArray_of = ($items) => {
@@ -17674,7 +17777,7 @@ var asrs_BackStepper_applyRestore = ($action, $param1, $param2) => {
17674
17777
  case 8:
17675
17778
  asrrh_ControlAndStatusRegisterFile_$callClinit();
17676
17779
  asrrh_ControlAndStatusRegisterFile_settleCounters();
17677
- asrrh_ControlAndStatusRegisterFile_updateRegisterBackdoor(asrrh_RegisterBlock_getRegister0(asrrh_ControlAndStatusRegisterFile_instance, $param1), $param2);
17780
+ asrrh_ControlAndStatusRegisterFile_updateRegisterBackdoor(asrrh_RegisterBlock_getRegister0(asrrh_ControlAndStatusRegisterFile_instance, $param1), $param2, asrrh_RegisterFile_getProgramCounter() - 4 | 0);
17678
17781
  break a;
17679
17782
  case 9:
17680
17783
  asrrh_FloatingPointRegisterFile_updateRegisterLong($param1, $param2);
@@ -17687,8 +17790,8 @@ var asrs_BackStepper_applyRestore = ($action, $param1, $param2) => {
17687
17790
  if ($param1 > 0)
17688
17791
  asrrh_ControlAndStatusRegisterFile_pendingCounterTicks = $param1 - 1 | 0;
17689
17792
  else {
17690
- $action = asrrh_RegisterBlock_getRegister(asrrh_ControlAndStatusRegisterFile_instance, $rt_s(526));
17691
- var$7 = asrrh_RegisterBlock_getRegister(asrrh_ControlAndStatusRegisterFile_instance, $rt_s(527));
17793
+ $action = asrrh_RegisterBlock_getRegister(asrrh_ControlAndStatusRegisterFile_instance, $rt_s(494));
17794
+ var$7 = asrrh_RegisterBlock_getRegister(asrrh_ControlAndStatusRegisterFile_instance, $rt_s(495));
17692
17795
  asrrh_Register_setValueBackdoor($action, Long_sub($action.$getValueNoNotify(), Long_fromInt(1)));
17693
17796
  asrrh_Register_setValueBackdoor(var$7, Long_sub(var$7.$getValueNoNotify(), Long_fromInt(1)));
17694
17797
  }
@@ -17777,15 +17880,157 @@ var asr_JsUndoGroup = $rt_classWithoutFields();
17777
17880
  var asr_JsUndoGroup_create$js_body$_3 = (var$1, var$2, var$3, var$4) => {
17778
17881
  return { kind: var$1, pc: var$2, steps: var$3, writes: var$4 };
17779
17882
  };
17883
+ var asr_JsRiscV$Body = $rt_classWithoutFields(0);
17884
+ function asr_JsRiscV$simulateWithBreakpointsAndLimit$lambda$_17_0() {
17885
+ let a = this;
17886
+ jl_Object.call(a);
17887
+ a.$_05 = null;
17888
+ a.$_12 = 0;
17889
+ a.$_2 = null;
17890
+ }
17891
+ var asr_JsRiscV$simulateWithBreakpointsAndLimit$lambda$_17_0_run = (var$0) => {
17892
+ let var$1, var$2, var$3, var$4, $ptr, $tmp;
17893
+ $ptr = 0;
17894
+ if ($rt_resuming()) {
17895
+ let $thread = $rt_nativeThread();
17896
+ $ptr = $thread.pop();
17897
+ var$4 = $thread.pop();
17898
+ var$3 = $thread.pop();
17899
+ var$2 = $thread.pop();
17900
+ var$1 = $thread.pop();
17901
+ var$0 = $thread.pop();
17902
+ }
17903
+ main: while (true) {
17904
+ switch ($ptr) {
17905
+ case 0:
17906
+ var$1 = var$0.$_05;
17907
+ var$2 = var$0.$_12;
17908
+ var$3 = var$0.$_2;
17909
+ var$1 = var$1.$main;
17910
+ asr_RARS_requireAssembled(var$1);
17911
+ var$4 = var$1.$main0;
17912
+ $ptr = 1;
17913
+ case 1:
17914
+ $tmp = asr_RISCVprogram_simulate(var$4, var$2, var$3);
17915
+ if ($rt_suspending()) {
17916
+ break main;
17917
+ }
17918
+ var$4 = $tmp;
17919
+ var$1.$stopReason = var$4;
17920
+ return var$4.$ordinal0;
17921
+ default:
17922
+ $rt_invalidPointer();
17923
+ }
17924
+ }
17925
+ $rt_nativeThread().push(var$0, var$1, var$2, var$3, var$4, $ptr);
17926
+ };
17927
+ function asr_JsRiscV$simulate$lambda$_12_0() {
17928
+ jl_Object.call(this);
17929
+ this.$_06 = null;
17930
+ }
17931
+ var asr_JsRiscV$simulate$lambda$_12_0_run = (var$0) => {
17932
+ let var$1, var$2, $ptr, $tmp;
17933
+ $ptr = 0;
17934
+ if ($rt_resuming()) {
17935
+ let $thread = $rt_nativeThread();
17936
+ $ptr = $thread.pop();
17937
+ var$2 = $thread.pop();
17938
+ var$1 = $thread.pop();
17939
+ var$0 = $thread.pop();
17940
+ }
17941
+ main: while (true) {
17942
+ switch ($ptr) {
17943
+ case 0:
17944
+ var$1 = var$0.$_06.$main;
17945
+ var$2 = -1;
17946
+ $ptr = 1;
17947
+ case 1:
17948
+ $tmp = asr_RARS_simulate(var$1, var$2);
17949
+ if ($rt_suspending()) {
17950
+ break main;
17951
+ }
17952
+ var$1 = $tmp;
17953
+ return var$1.$ordinal0;
17954
+ default:
17955
+ $rt_invalidPointer();
17956
+ }
17957
+ }
17958
+ $rt_nativeThread().push(var$0, var$1, var$2, $ptr);
17959
+ };
17960
+ function asr_JsCompilationResult() {
17961
+ let a = this;
17962
+ jl_Object.call(a);
17963
+ a.$report = null;
17964
+ a.$errors1 = null;
17965
+ }
17966
+ var asr_JsCompilationResult__init_0 = ($this, $errorReport) => {
17967
+ let var$2, var$3, var$4;
17968
+ $this.$report = asr_ErrorList_generateErrorAndWarningReport($errorReport);
17969
+ $errorReport = ju_Collection_stream($errorReport.$messages);
17970
+ var$2 = new asr_JsCompilationResult$_init_$lambda$_0_0();
17971
+ var$2.$_019 = $this;
17972
+ $errorReport = jusi_SimpleStreamImpl_map($errorReport, var$2);
17973
+ var$2 = new asr_JsCompilationResult$_init_$lambda$_0_2();
17974
+ $errorReport = $errorReport;
17975
+ var$3 = ju_ArrayList__init_();
17976
+ var$4 = $errorReport;
17977
+ while (true) {
17978
+ $errorReport = new jusi_SimpleStreamImpl$collect$lambda$_25_0();
17979
+ $errorReport.$_024 = var$2;
17980
+ $errorReport.$_19 = var$3;
17981
+ if (!jusi_WrappingStreamImpl_next(var$4, $errorReport))
17982
+ break;
17983
+ }
17984
+ $this.$errors1 = var$3;
17985
+ };
17986
+ var asr_JsCompilationResult__init_ = (var_0) => {
17987
+ let var_1 = new asr_JsCompilationResult();
17988
+ asr_JsCompilationResult__init_0(var_1, var_0);
17989
+ return var_1;
17990
+ };
17991
+ var asr_JsCompilationResult_hasWarnings$exported$0 = (var$1) => {
17992
+ let var$2;
17993
+ var$1 = ju_Collection_stream(var$1.$errors1);
17994
+ var$2 = new asr_JsCompilationResult$hasWarnings$lambda$_3_0();
17995
+ return !!jusi_SimpleStreamImpl_anyMatch(var$1, var$2);
17996
+ };
17997
+ var asr_JsCompilationResult_getErrors$exported$1 = (var$1) => {
17998
+ let var$2;
17999
+ var$1 = var$1.$errors1;
18000
+ var$2 = $rt_createArray(asr_JsCompilationResult$JsCompilationError, 0);
18001
+ return otji_JS_wrap(ju_AbstractCollection_toArray(var$1, var$2));
18002
+ };
18003
+ var asr_JsCompilationResult_hasErrors$exported$2 = (var$1) => {
18004
+ let var$2;
18005
+ var$1 = ju_Collection_stream(var$1.$errors1);
18006
+ var$2 = new asr_JsCompilationResult$hasErrors$lambda$_2_0();
18007
+ return !!jusi_SimpleStreamImpl_anyMatch(var$1, var$2);
18008
+ };
18009
+ var asr_JsCompilationResult_getReport$exported$3 = (var$1) => {
18010
+ return $rt_ustr(var$1.$report);
18011
+ };
18012
+ function asr_AssemblyException() {
18013
+ jl_Exception.call(this);
18014
+ this.$errs = null;
18015
+ }
18016
+ var asr_AssemblyException__init_0 = ($this, $errs) => {
18017
+ jl_Throwable__init_0($this, asr_ErrorList_generateErrorAndWarningReport($errs));
18018
+ $this.$errs = $errs;
18019
+ };
18020
+ var asr_AssemblyException__init_ = (var_0) => {
18021
+ let var_1 = new asr_AssemblyException();
18022
+ asr_AssemblyException__init_0(var_1, var_0);
18023
+ return var_1;
18024
+ };
17780
18025
  var asrrh_FloatingPointRegisterFile = $rt_classWithoutFields();
17781
18026
  var asrrh_FloatingPointRegisterFile_instance = null;
17782
18027
  var asrrh_FloatingPointRegisterFile_$callClinit = () => {
17783
18028
  asrrh_FloatingPointRegisterFile_$callClinit = $rt_eraseClinit(asrrh_FloatingPointRegisterFile);
17784
18029
  asrrh_FloatingPointRegisterFile__clinit_();
17785
18030
  };
17786
- var asrrh_FloatingPointRegisterFile_setRegisterToFloat = (var$1, var$2) => {
18031
+ var asrrh_FloatingPointRegisterFile_setRegisterToFloat = ($reg, $val) => {
17787
18032
  asrrh_FloatingPointRegisterFile_$callClinit();
17788
- asrrh_FloatingPointRegisterFile_updateRegister(var$1, $rt_floatToRawIntBits(var$2));
18033
+ asrrh_FloatingPointRegisterFile_updateRegister($reg, $rt_floatToRawIntBits($val));
17789
18034
  };
17790
18035
  var asrrh_FloatingPointRegisterFile_updateRegister = ($num, $val) => {
17791
18036
  let $lval;
@@ -17836,41 +18081,77 @@ var asrrh_FloatingPointRegisterFile__clinit_ = () => {
17836
18081
  var$1 = new asrrh_RegisterBlock();
17837
18082
  var$2 = $rt_createArray(asrrh_Register, 32);
17838
18083
  var$3 = var$2.data;
17839
- var$3[0] = asrrh_Register__init_($rt_s(528), 0, Long_ZERO);
17840
- var$3[1] = asrrh_Register__init_($rt_s(529), 1, Long_ZERO);
17841
- var$3[2] = asrrh_Register__init_($rt_s(530), 2, Long_ZERO);
17842
- var$3[3] = asrrh_Register__init_($rt_s(531), 3, Long_ZERO);
17843
- var$3[4] = asrrh_Register__init_($rt_s(532), 4, Long_ZERO);
17844
- var$3[5] = asrrh_Register__init_($rt_s(533), 5, Long_ZERO);
17845
- var$3[6] = asrrh_Register__init_($rt_s(534), 6, Long_ZERO);
17846
- var$3[7] = asrrh_Register__init_($rt_s(535), 7, Long_ZERO);
17847
- var$3[8] = asrrh_Register__init_($rt_s(536), 8, Long_ZERO);
17848
- var$3[9] = asrrh_Register__init_($rt_s(537), 9, Long_ZERO);
17849
- var$3[10] = asrrh_Register__init_($rt_s(538), 10, Long_ZERO);
17850
- var$3[11] = asrrh_Register__init_($rt_s(539), 11, Long_ZERO);
17851
- var$3[12] = asrrh_Register__init_($rt_s(540), 12, Long_ZERO);
17852
- var$3[13] = asrrh_Register__init_($rt_s(541), 13, Long_ZERO);
17853
- var$3[14] = asrrh_Register__init_($rt_s(542), 14, Long_ZERO);
17854
- var$3[15] = asrrh_Register__init_($rt_s(543), 15, Long_ZERO);
17855
- var$3[16] = asrrh_Register__init_($rt_s(544), 16, Long_ZERO);
17856
- var$3[17] = asrrh_Register__init_($rt_s(545), 17, Long_ZERO);
17857
- var$3[18] = asrrh_Register__init_($rt_s(546), 18, Long_ZERO);
17858
- var$3[19] = asrrh_Register__init_($rt_s(547), 19, Long_ZERO);
17859
- var$3[20] = asrrh_Register__init_($rt_s(548), 20, Long_ZERO);
17860
- var$3[21] = asrrh_Register__init_($rt_s(549), 21, Long_ZERO);
17861
- var$3[22] = asrrh_Register__init_($rt_s(550), 22, Long_ZERO);
17862
- var$3[23] = asrrh_Register__init_($rt_s(551), 23, Long_ZERO);
17863
- var$3[24] = asrrh_Register__init_($rt_s(552), 24, Long_ZERO);
17864
- var$3[25] = asrrh_Register__init_($rt_s(553), 25, Long_ZERO);
17865
- var$3[26] = asrrh_Register__init_($rt_s(554), 26, Long_ZERO);
17866
- var$3[27] = asrrh_Register__init_($rt_s(555), 27, Long_ZERO);
17867
- var$3[28] = asrrh_Register__init_($rt_s(556), 28, Long_ZERO);
17868
- var$3[29] = asrrh_Register__init_($rt_s(557), 29, Long_ZERO);
17869
- var$3[30] = asrrh_Register__init_($rt_s(558), 30, Long_ZERO);
17870
- var$3[31] = asrrh_Register__init_($rt_s(559), 31, Long_ZERO);
18084
+ var$3[0] = asrrh_Register__init_($rt_s(543), 0, Long_ZERO);
18085
+ var$3[1] = asrrh_Register__init_($rt_s(544), 1, Long_ZERO);
18086
+ var$3[2] = asrrh_Register__init_($rt_s(545), 2, Long_ZERO);
18087
+ var$3[3] = asrrh_Register__init_($rt_s(546), 3, Long_ZERO);
18088
+ var$3[4] = asrrh_Register__init_($rt_s(547), 4, Long_ZERO);
18089
+ var$3[5] = asrrh_Register__init_($rt_s(548), 5, Long_ZERO);
18090
+ var$3[6] = asrrh_Register__init_($rt_s(549), 6, Long_ZERO);
18091
+ var$3[7] = asrrh_Register__init_($rt_s(550), 7, Long_ZERO);
18092
+ var$3[8] = asrrh_Register__init_($rt_s(551), 8, Long_ZERO);
18093
+ var$3[9] = asrrh_Register__init_($rt_s(552), 9, Long_ZERO);
18094
+ var$3[10] = asrrh_Register__init_($rt_s(553), 10, Long_ZERO);
18095
+ var$3[11] = asrrh_Register__init_($rt_s(554), 11, Long_ZERO);
18096
+ var$3[12] = asrrh_Register__init_($rt_s(555), 12, Long_ZERO);
18097
+ var$3[13] = asrrh_Register__init_($rt_s(556), 13, Long_ZERO);
18098
+ var$3[14] = asrrh_Register__init_($rt_s(557), 14, Long_ZERO);
18099
+ var$3[15] = asrrh_Register__init_($rt_s(558), 15, Long_ZERO);
18100
+ var$3[16] = asrrh_Register__init_($rt_s(559), 16, Long_ZERO);
18101
+ var$3[17] = asrrh_Register__init_($rt_s(560), 17, Long_ZERO);
18102
+ var$3[18] = asrrh_Register__init_($rt_s(561), 18, Long_ZERO);
18103
+ var$3[19] = asrrh_Register__init_($rt_s(562), 19, Long_ZERO);
18104
+ var$3[20] = asrrh_Register__init_($rt_s(563), 20, Long_ZERO);
18105
+ var$3[21] = asrrh_Register__init_($rt_s(564), 21, Long_ZERO);
18106
+ var$3[22] = asrrh_Register__init_($rt_s(565), 22, Long_ZERO);
18107
+ var$3[23] = asrrh_Register__init_($rt_s(566), 23, Long_ZERO);
18108
+ var$3[24] = asrrh_Register__init_($rt_s(567), 24, Long_ZERO);
18109
+ var$3[25] = asrrh_Register__init_($rt_s(568), 25, Long_ZERO);
18110
+ var$3[26] = asrrh_Register__init_($rt_s(569), 26, Long_ZERO);
18111
+ var$3[27] = asrrh_Register__init_($rt_s(570), 27, Long_ZERO);
18112
+ var$3[28] = asrrh_Register__init_($rt_s(571), 28, Long_ZERO);
18113
+ var$3[29] = asrrh_Register__init_($rt_s(572), 29, Long_ZERO);
18114
+ var$3[30] = asrrh_Register__init_($rt_s(573), 30, Long_ZERO);
18115
+ var$3[31] = asrrh_Register__init_($rt_s(574), 31, Long_ZERO);
17871
18116
  asrrh_RegisterBlock__init_(var$1, 102, var$2);
17872
18117
  asrrh_FloatingPointRegisterFile_instance = var$1;
17873
18118
  };
18119
+ function asr_JsRiscV$simulateWithLimit$lambda$_13_0() {
18120
+ let a = this;
18121
+ jl_Object.call(a);
18122
+ a.$_022 = null;
18123
+ a.$_112 = 0;
18124
+ }
18125
+ var asr_JsRiscV$simulateWithLimit$lambda$_13_0_run = (var$0) => {
18126
+ let var$1, var$2, $ptr, $tmp;
18127
+ $ptr = 0;
18128
+ if ($rt_resuming()) {
18129
+ let $thread = $rt_nativeThread();
18130
+ $ptr = $thread.pop();
18131
+ var$2 = $thread.pop();
18132
+ var$1 = $thread.pop();
18133
+ var$0 = $thread.pop();
18134
+ }
18135
+ main: while (true) {
18136
+ switch ($ptr) {
18137
+ case 0:
18138
+ var$1 = var$0.$_022;
18139
+ var$2 = var$0.$_112;
18140
+ var$1 = var$1.$main;
18141
+ $ptr = 1;
18142
+ case 1:
18143
+ $tmp = asr_RARS_simulate(var$1, var$2);
18144
+ if ($rt_suspending()) {
18145
+ break main;
18146
+ }
18147
+ var$1 = $tmp;
18148
+ return var$1.$ordinal0;
18149
+ default:
18150
+ $rt_invalidPointer();
18151
+ }
18152
+ }
18153
+ $rt_nativeThread().push(var$0, var$1, var$2, $ptr);
18154
+ };
17874
18155
  function jm_BigInteger() {
17875
18156
  let a = this;
17876
18157
  jl_Number.call(a);
@@ -18084,7 +18365,7 @@ var jm_BigInteger_testBit = ($this, $n) => {
18084
18365
  return !($this.$digits.data[0] & 1) ? 0 : 1;
18085
18366
  if ($n < 0) {
18086
18367
  var$2 = new jl_ArithmeticException();
18087
- jl_Throwable__init_0(var$2, $rt_s(560));
18368
+ jl_Throwable__init_0(var$2, $rt_s(575));
18088
18369
  $rt_throw(var$2);
18089
18370
  }
18090
18371
  $intCount = $n >> 5;
@@ -18112,7 +18393,7 @@ var jm_BigInteger_intValueExact = ($this) => {
18112
18393
  if ($this.$numberLength <= 1 && jm_BigInteger_bitLength($this) <= 31)
18113
18394
  return $rt_imul($this.$sign0, $this.$digits.data[0]);
18114
18395
  var$1 = new jl_ArithmeticException();
18115
- jl_Throwable__init_0(var$1, $rt_s(561));
18396
+ jl_Throwable__init_0(var$1, $rt_s(576));
18116
18397
  $rt_throw(var$1);
18117
18398
  };
18118
18399
  var jm_BigInteger_longValue = ($this) => {
@@ -18130,7 +18411,7 @@ var jm_BigInteger_longValueExact = ($this) => {
18130
18411
  if ($this.$numberLength <= 2 && jm_BigInteger_bitLength($this) <= 63)
18131
18412
  return jm_BigInteger_longValue($this);
18132
18413
  var$1 = new jl_ArithmeticException();
18133
- jl_Throwable__init_0(var$1, $rt_s(562));
18414
+ jl_Throwable__init_0(var$1, $rt_s(577));
18134
18415
  $rt_throw(var$1);
18135
18416
  };
18136
18417
  var jm_BigInteger_compareTo = ($this, $val) => {
@@ -18278,241 +18559,6 @@ var jm_BigInteger__clinit_ = () => {
18278
18559
  $i = $i + 1 | 0;
18279
18560
  }
18280
18561
  };
18281
- function asr_JsRiscV$simulateWithBreakpoints$lambda$_16_0() {
18282
- let a = this;
18283
- jl_Object.call(a);
18284
- a.$_03 = null;
18285
- a.$_10 = null;
18286
- }
18287
- var asr_JsRiscV$simulateWithBreakpoints$lambda$_16_0_run = (var$0) => {
18288
- let var$1, var$2, var$3, var$4, $ptr, $tmp;
18289
- $ptr = 0;
18290
- if ($rt_resuming()) {
18291
- let $thread = $rt_nativeThread();
18292
- $ptr = $thread.pop();
18293
- var$4 = $thread.pop();
18294
- var$3 = $thread.pop();
18295
- var$2 = $thread.pop();
18296
- var$1 = $thread.pop();
18297
- var$0 = $thread.pop();
18298
- }
18299
- main: while (true) {
18300
- switch ($ptr) {
18301
- case 0:
18302
- var$1 = var$0.$_03;
18303
- var$2 = var$0.$_10;
18304
- var$1 = var$1.$main;
18305
- asr_RARS_requireAssembled(var$1);
18306
- var$3 = var$1.$main0;
18307
- var$4 = -1;
18308
- $ptr = 1;
18309
- case 1:
18310
- $tmp = asr_RISCVprogram_simulate(var$3, var$4, var$2);
18311
- if ($rt_suspending()) {
18312
- break main;
18313
- }
18314
- var$3 = $tmp;
18315
- var$1.$stopReason = var$3;
18316
- return var$3.$ordinal0;
18317
- default:
18318
- $rt_invalidPointer();
18319
- }
18320
- }
18321
- $rt_nativeThread().push(var$0, var$1, var$2, var$3, var$4, $ptr);
18322
- };
18323
- var jl_IllegalStateException = $rt_classWithoutFields(jl_RuntimeException);
18324
- function asr_JsRiscV$PokeJournal() {
18325
- let a = this;
18326
- jl_Object.call(a);
18327
- a.$group1 = 0;
18328
- a.$registers = null;
18329
- a.$registersByName = null;
18330
- a.$memoryOldBytes = null;
18331
- }
18332
- function asr_JsRiscV$PokeRecord() {
18333
- let a = this;
18334
- jl_Object.call(a);
18335
- a.$group0 = 0;
18336
- a.$writes = null;
18337
- }
18338
- function asr_JsRiscV$step$lambda$_10_0() {
18339
- jl_Object.call(this);
18340
- this.$_014 = null;
18341
- }
18342
- var asr_JsRiscV$step$lambda$_10_0_run = (var$0) => {
18343
- let var$1, var$2, var$3, $ptr, $tmp;
18344
- $ptr = 0;
18345
- if ($rt_resuming()) {
18346
- let $thread = $rt_nativeThread();
18347
- $ptr = $thread.pop();
18348
- var$3 = $thread.pop();
18349
- var$2 = $thread.pop();
18350
- var$1 = $thread.pop();
18351
- var$0 = $thread.pop();
18352
- }
18353
- main: while (true) {
18354
- switch ($ptr) {
18355
- case 0:
18356
- var$1 = var$0.$_014.$main;
18357
- asr_RARS_requireAssembled(var$1);
18358
- var$2 = var$1.$main0;
18359
- var$3 = 1;
18360
- $ptr = 1;
18361
- case 1:
18362
- $tmp = asr_RISCVprogram_simulate0(var$2, var$3);
18363
- if ($rt_suspending()) {
18364
- break main;
18365
- }
18366
- var$2 = $tmp;
18367
- var$1.$stopReason = var$2;
18368
- return var$2.$ordinal0;
18369
- default:
18370
- $rt_invalidPointer();
18371
- }
18372
- }
18373
- $rt_nativeThread().push(var$0, var$1, var$2, var$3, $ptr);
18374
- };
18375
- var asrrh_ControlAndStatusRegisterFile = $rt_classWithoutFields();
18376
- var asrrh_ControlAndStatusRegisterFile_instance = null;
18377
- var asrrh_ControlAndStatusRegisterFile_pendingCounterTicks = 0;
18378
- var asrrh_ControlAndStatusRegisterFile_$callClinit = () => {
18379
- asrrh_ControlAndStatusRegisterFile_$callClinit = $rt_eraseClinit(asrrh_ControlAndStatusRegisterFile);
18380
- asrrh_ControlAndStatusRegisterFile__clinit_();
18381
- };
18382
- var asrrh_ControlAndStatusRegisterFile_updateRegister0 = ($num, $val) => {
18383
- let $target, $old, var$5, var$6;
18384
- asrrh_ControlAndStatusRegisterFile_$callClinit();
18385
- asrrh_ControlAndStatusRegisterFile_settleCounters();
18386
- $target = asrrh_RegisterBlock_getRegister0(asrrh_ControlAndStatusRegisterFile_instance, $num);
18387
- if ($target instanceof asrrh_ReadOnlyRegister)
18388
- return 1;
18389
- if ($num >= 3200 && $num <= 3202)
18390
- return 1;
18391
- if (asr_Settings_getBackSteppingEnabled(asr_Globals_getSettings()) && $target !== null) {
18392
- $old = asrrh_RegisterBlock_updateRegister0(asrrh_ControlAndStatusRegisterFile_instance, $target, $val);
18393
- var$5 = asr_Globals_program.$backStepper;
18394
- $val = $target.$getValueNoNotify();
18395
- var$6 = var$5.$backSteps;
18396
- asrs_BackStepper$Action_$callClinit();
18397
- asrs_BackStepper$BackstepStack_push(var$6, asrs_BackStepper$Action_CONTROL_AND_STATUS_REGISTER_RESTORE, asrs_BackStepper_pc(var$5), $num, $old, 0, $val);
18398
- } else
18399
- asrrh_RegisterBlock_updateRegister0(asrrh_ControlAndStatusRegisterFile_instance, $target, $val);
18400
- return 0;
18401
- };
18402
- var asrrh_ControlAndStatusRegisterFile_updateRegister = ($name, $val) => {
18403
- asrrh_ControlAndStatusRegisterFile_$callClinit();
18404
- asrrh_ControlAndStatusRegisterFile_settleCounters();
18405
- asrrh_ControlAndStatusRegisterFile_updateRegister0(asrrh_RegisterBlock_getRegister(asrrh_ControlAndStatusRegisterFile_instance, $name).$number, $val);
18406
- };
18407
- var asrrh_ControlAndStatusRegisterFile_updateRegisterBackdoor = ($register, $val) => {
18408
- let $old, var$4, var$5, var$6;
18409
- asrrh_ControlAndStatusRegisterFile_$callClinit();
18410
- asrrh_ControlAndStatusRegisterFile_settleCounters();
18411
- $old = asrrh_Register_setValueBackdoor($register, $val);
18412
- if (Long_eq($old, $val))
18413
- return;
18414
- if (asr_Settings_getBackSteppingEnabled(asr_Globals_getSettings())) {
18415
- var$4 = asr_Globals_program.$backStepper;
18416
- var$5 = $register.$number;
18417
- var$6 = var$4.$backSteps;
18418
- asrs_BackStepper$Action_$callClinit();
18419
- asrs_BackStepper$BackstepStack_push(var$6, asrs_BackStepper$Action_CONTROL_AND_STATUS_REGISTER_BACKDOOR, asrs_BackStepper_pc(var$4), var$5, $old, 0, $val);
18420
- }
18421
- };
18422
- var asrrh_ControlAndStatusRegisterFile_orRegister0 = ($num, $val) => {
18423
- asrrh_ControlAndStatusRegisterFile_$callClinit();
18424
- asrrh_ControlAndStatusRegisterFile_settleCounters();
18425
- return asrrh_ControlAndStatusRegisterFile_updateRegister0($num, Long_or(asrrh_RegisterBlock_getValue(asrrh_ControlAndStatusRegisterFile_instance, $num), $val));
18426
- };
18427
- var asrrh_ControlAndStatusRegisterFile_orRegister = ($name, $val) => {
18428
- asrrh_ControlAndStatusRegisterFile_$callClinit();
18429
- asrrh_ControlAndStatusRegisterFile_settleCounters();
18430
- asrrh_ControlAndStatusRegisterFile_updateRegister($name, Long_or(asrrh_RegisterBlock_getValue0(asrrh_ControlAndStatusRegisterFile_instance, $name), $val));
18431
- };
18432
- var asrrh_ControlAndStatusRegisterFile_clearRegister0 = ($num, $val) => {
18433
- asrrh_ControlAndStatusRegisterFile_$callClinit();
18434
- asrrh_ControlAndStatusRegisterFile_settleCounters();
18435
- return asrrh_ControlAndStatusRegisterFile_updateRegister0($num, Long_and(asrrh_RegisterBlock_getValue(asrrh_ControlAndStatusRegisterFile_instance, $num), Long_xor($val, Long_fromInt(-1))));
18436
- };
18437
- var asrrh_ControlAndStatusRegisterFile_clearRegister = ($name, $val) => {
18438
- asrrh_ControlAndStatusRegisterFile_$callClinit();
18439
- asrrh_ControlAndStatusRegisterFile_settleCounters();
18440
- asrrh_ControlAndStatusRegisterFile_updateRegister($name, Long_and(asrrh_RegisterBlock_getValue0(asrrh_ControlAndStatusRegisterFile_instance, $name), Long_xor($val, Long_fromInt(-1))));
18441
- };
18442
- var asrrh_ControlAndStatusRegisterFile_getValueLong = ($num) => {
18443
- asrrh_ControlAndStatusRegisterFile_$callClinit();
18444
- asrrh_ControlAndStatusRegisterFile_settleCounters();
18445
- return asrrh_RegisterBlock_getValue(asrrh_ControlAndStatusRegisterFile_instance, $num);
18446
- };
18447
- var asrrh_ControlAndStatusRegisterFile_getValue = ($name) => {
18448
- asrrh_ControlAndStatusRegisterFile_$callClinit();
18449
- asrrh_ControlAndStatusRegisterFile_settleCounters();
18450
- return Long_lo(asrrh_RegisterBlock_getValue0(asrrh_ControlAndStatusRegisterFile_instance, $name));
18451
- };
18452
- var asrrh_ControlAndStatusRegisterFile_getRegisters = () => {
18453
- asrrh_ControlAndStatusRegisterFile_$callClinit();
18454
- asrrh_ControlAndStatusRegisterFile_settleCounters();
18455
- return asrrh_ControlAndStatusRegisterFile_instance.$regFile;
18456
- };
18457
- var asrrh_ControlAndStatusRegisterFile_incrementCounters = ($backStepping, $pc) => {
18458
- let var$3;
18459
- asrrh_ControlAndStatusRegisterFile_$callClinit();
18460
- asrrh_ControlAndStatusRegisterFile_pendingCounterTicks = asrrh_ControlAndStatusRegisterFile_pendingCounterTicks + 1 | 0;
18461
- if ($backStepping) {
18462
- asr_Globals_$callClinit();
18463
- var$3 = asr_Globals_program.$backStepper.$backSteps;
18464
- asrs_BackStepper$Action_$callClinit();
18465
- asrs_BackStepper$BackstepStack_push0(var$3, asrs_BackStepper$Action_CONTROL_AND_STATUS_COUNTERS_DECREMENT, $pc);
18466
- }
18467
- };
18468
- var asrrh_ControlAndStatusRegisterFile_settleCounters = () => {
18469
- let $ticks, $cycle, $instret, var$4, var$5;
18470
- asrrh_ControlAndStatusRegisterFile_$callClinit();
18471
- $ticks = asrrh_ControlAndStatusRegisterFile_pendingCounterTicks;
18472
- if (!$ticks)
18473
- return;
18474
- asrrh_ControlAndStatusRegisterFile_pendingCounterTicks = 0;
18475
- $cycle = asrrh_RegisterBlock_getRegister(asrrh_ControlAndStatusRegisterFile_instance, $rt_s(526));
18476
- $instret = asrrh_RegisterBlock_getRegister(asrrh_ControlAndStatusRegisterFile_instance, $rt_s(527));
18477
- var$4 = $cycle.$getValueNoNotify();
18478
- var$5 = Long_fromInt($ticks);
18479
- asrrh_Register_setValueBackdoor($cycle, Long_add(var$4, var$5));
18480
- asrrh_Register_setValueBackdoor($instret, Long_add($instret.$getValueNoNotify(), var$5));
18481
- };
18482
- var asrrh_ControlAndStatusRegisterFile_getRegister = ($name) => {
18483
- asrrh_ControlAndStatusRegisterFile_$callClinit();
18484
- asrrh_ControlAndStatusRegisterFile_settleCounters();
18485
- return asrrh_RegisterBlock_getRegister(asrrh_ControlAndStatusRegisterFile_instance, $name);
18486
- };
18487
- var asrrh_ControlAndStatusRegisterFile__clinit_ = () => {
18488
- let $tmp_0, var$2;
18489
- $tmp_0 = $rt_createArray(asrrh_Register, 17);
18490
- var$2 = $tmp_0.data;
18491
- var$2[0] = asrrh_MaskedRegister__init_($rt_s(563), 0, Long_ZERO, Long_fromInt(-18));
18492
- var$2[1] = null;
18493
- var$2[2] = null;
18494
- var$2[3] = asrrh_MaskedRegister__init_($rt_s(564), 3, Long_ZERO, Long_fromInt(-256));
18495
- var$2[4] = asrrh_Register__init_($rt_s(565), 4, Long_ZERO);
18496
- var$2[5] = asrrh_Register__init_($rt_s(566), 5, Long_ZERO);
18497
- var$2[6] = asrrh_Register__init_($rt_s(567), 64, Long_ZERO);
18498
- var$2[7] = asrrh_Register__init_($rt_s(568), 65, Long_ZERO);
18499
- var$2[8] = asrrh_Register__init_($rt_s(569), 66, Long_ZERO);
18500
- var$2[9] = asrrh_Register__init_($rt_s(570), 67, Long_ZERO);
18501
- var$2[10] = asrrh_Register__init_($rt_s(571), 68, Long_ZERO);
18502
- var$2[11] = asrrh_ReadOnlyRegister__init_($rt_s(526), 3072, 0);
18503
- var$2[12] = asrrh_ReadOnlyRegister__init_($rt_s(572), 3073, 0);
18504
- var$2[13] = asrrh_ReadOnlyRegister__init_($rt_s(527), 3074, 0);
18505
- var$2[14] = null;
18506
- var$2[15] = null;
18507
- var$2[16] = null;
18508
- var$2[1] = asrrh_LinkedRegister__init_($rt_s(573), 1, var$2[3], Long_fromInt(31));
18509
- var$2[2] = asrrh_LinkedRegister__init_($rt_s(574), 2, var$2[3], Long_fromInt(224));
18510
- var$2[14] = asrrh_LinkedRegister__init_($rt_s(575), 3200, var$2[11], Long_create(0, 4294967295));
18511
- var$2[15] = asrrh_LinkedRegister__init_($rt_s(576), 3201, var$2[12], Long_create(0, 4294967295));
18512
- var$2[16] = asrrh_LinkedRegister__init_($rt_s(577), 3202, var$2[13], Long_create(0, 4294967295));
18513
- asrrh_ControlAndStatusRegisterFile_instance = asrrh_RegisterBlock__init_0(95, $tmp_0);
18514
- asrrh_ControlAndStatusRegisterFile_pendingCounterTicks = 0;
18515
- };
18516
18562
  var jl_Double = $rt_classWithoutFields(jl_Number);
18517
18563
  var jl_Double_TYPE = null;
18518
18564
  var jl_Double_$callClinit = () => {
@@ -18684,6 +18730,63 @@ var asr_JsRiscV$getStatementsAtSourceLocation$lambda$_63_1_apply = (var$0, var$1
18684
18730
  asr_JsRiscV_$callClinit();
18685
18731
  return $rt_createArray(asr_JsProgramStatement, var$1);
18686
18732
  };
18733
+ var jl_IllegalStateException = $rt_classWithoutFields(jl_RuntimeException);
18734
+ function asr_JsRiscV$PokeRecord() {
18735
+ let a = this;
18736
+ jl_Object.call(a);
18737
+ a.$group0 = 0;
18738
+ a.$writes = null;
18739
+ }
18740
+ function asr_JsRiscV$PokeJournal() {
18741
+ let a = this;
18742
+ jl_Object.call(a);
18743
+ a.$group1 = 0;
18744
+ a.$registers = null;
18745
+ a.$registersByName = null;
18746
+ a.$memoryOldBytes = null;
18747
+ }
18748
+ function asr_JsRiscV$simulateWithBreakpoints$lambda$_16_0() {
18749
+ let a = this;
18750
+ jl_Object.call(a);
18751
+ a.$_03 = null;
18752
+ a.$_10 = null;
18753
+ }
18754
+ var asr_JsRiscV$simulateWithBreakpoints$lambda$_16_0_run = (var$0) => {
18755
+ let var$1, var$2, var$3, var$4, $ptr, $tmp;
18756
+ $ptr = 0;
18757
+ if ($rt_resuming()) {
18758
+ let $thread = $rt_nativeThread();
18759
+ $ptr = $thread.pop();
18760
+ var$4 = $thread.pop();
18761
+ var$3 = $thread.pop();
18762
+ var$2 = $thread.pop();
18763
+ var$1 = $thread.pop();
18764
+ var$0 = $thread.pop();
18765
+ }
18766
+ main: while (true) {
18767
+ switch ($ptr) {
18768
+ case 0:
18769
+ var$1 = var$0.$_03;
18770
+ var$2 = var$0.$_10;
18771
+ var$1 = var$1.$main;
18772
+ asr_RARS_requireAssembled(var$1);
18773
+ var$3 = var$1.$main0;
18774
+ var$4 = -1;
18775
+ $ptr = 1;
18776
+ case 1:
18777
+ $tmp = asr_RISCVprogram_simulate(var$3, var$4, var$2);
18778
+ if ($rt_suspending()) {
18779
+ break main;
18780
+ }
18781
+ var$3 = $tmp;
18782
+ var$1.$stopReason = var$3;
18783
+ return var$3.$ordinal0;
18784
+ default:
18785
+ $rt_invalidPointer();
18786
+ }
18787
+ }
18788
+ $rt_nativeThread().push(var$0, var$1, var$2, var$3, var$4, $ptr);
18789
+ };
18687
18790
  function asr_JsStackFrame() {
18688
18791
  let a = this;
18689
18792
  jl_Object.call(a);
@@ -18708,6 +18811,43 @@ var asr_JsStackFrame_getSp$exported$3 = (var$1) => {
18708
18811
  var asr_JsStackFrame_getFp$exported$4 = (var$1) => {
18709
18812
  return var$1.$fp;
18710
18813
  };
18814
+ function asr_JsRiscV$step$lambda$_10_0() {
18815
+ jl_Object.call(this);
18816
+ this.$_014 = null;
18817
+ }
18818
+ var asr_JsRiscV$step$lambda$_10_0_run = (var$0) => {
18819
+ let var$1, var$2, var$3, $ptr, $tmp;
18820
+ $ptr = 0;
18821
+ if ($rt_resuming()) {
18822
+ let $thread = $rt_nativeThread();
18823
+ $ptr = $thread.pop();
18824
+ var$3 = $thread.pop();
18825
+ var$2 = $thread.pop();
18826
+ var$1 = $thread.pop();
18827
+ var$0 = $thread.pop();
18828
+ }
18829
+ main: while (true) {
18830
+ switch ($ptr) {
18831
+ case 0:
18832
+ var$1 = var$0.$_014.$main;
18833
+ asr_RARS_requireAssembled(var$1);
18834
+ var$2 = var$1.$main0;
18835
+ var$3 = 1;
18836
+ $ptr = 1;
18837
+ case 1:
18838
+ $tmp = asr_RISCVprogram_simulate0(var$2, var$3);
18839
+ if ($rt_suspending()) {
18840
+ break main;
18841
+ }
18842
+ var$2 = $tmp;
18843
+ var$1.$stopReason = var$2;
18844
+ return var$2.$ordinal0;
18845
+ default:
18846
+ $rt_invalidPointer();
18847
+ }
18848
+ }
18849
+ $rt_nativeThread().push(var$0, var$1, var$2, var$3, $ptr);
18850
+ };
18711
18851
  function asr_JsRiscVTokenizedLine() {
18712
18852
  let a = this;
18713
18853
  jl_Object.call(a);
@@ -18859,142 +18999,6 @@ var asr_JsRiscVToken_getSourceColumn$exported$1 = (var$1) => {
18859
18999
  var asr_JsRiscVToken_getValue$exported$2 = (var$1) => {
18860
19000
  return $rt_ustr(var$1.$value8);
18861
19001
  };
18862
- function asr_JsCompilationResult() {
18863
- let a = this;
18864
- jl_Object.call(a);
18865
- a.$report = null;
18866
- a.$errors1 = null;
18867
- }
18868
- var asr_JsCompilationResult__init_0 = ($this, $errorReport) => {
18869
- let var$2, var$3, var$4;
18870
- $this.$report = asr_ErrorList_generateErrorAndWarningReport($errorReport);
18871
- $errorReport = ju_Collection_stream($errorReport.$messages);
18872
- var$2 = new asr_JsCompilationResult$_init_$lambda$_0_0();
18873
- var$2.$_019 = $this;
18874
- $errorReport = jusi_SimpleStreamImpl_map($errorReport, var$2);
18875
- var$2 = new asr_JsCompilationResult$_init_$lambda$_0_2();
18876
- $errorReport = $errorReport;
18877
- var$3 = ju_ArrayList__init_();
18878
- var$4 = $errorReport;
18879
- while (true) {
18880
- $errorReport = new jusi_SimpleStreamImpl$collect$lambda$_25_0();
18881
- $errorReport.$_024 = var$2;
18882
- $errorReport.$_19 = var$3;
18883
- if (!jusi_WrappingStreamImpl_next(var$4, $errorReport))
18884
- break;
18885
- }
18886
- $this.$errors1 = var$3;
18887
- };
18888
- var asr_JsCompilationResult__init_ = (var_0) => {
18889
- let var_1 = new asr_JsCompilationResult();
18890
- asr_JsCompilationResult__init_0(var_1, var_0);
18891
- return var_1;
18892
- };
18893
- var asr_JsCompilationResult_hasWarnings$exported$0 = (var$1) => {
18894
- let var$2;
18895
- var$1 = ju_Collection_stream(var$1.$errors1);
18896
- var$2 = new asr_JsCompilationResult$hasWarnings$lambda$_3_0();
18897
- return !!jusi_SimpleStreamImpl_anyMatch(var$1, var$2);
18898
- };
18899
- var asr_JsCompilationResult_getErrors$exported$1 = (var$1) => {
18900
- let var$2;
18901
- var$1 = var$1.$errors1;
18902
- var$2 = $rt_createArray(asr_JsCompilationResult$JsCompilationError, 0);
18903
- return otji_JS_wrap(ju_AbstractCollection_toArray(var$1, var$2));
18904
- };
18905
- var asr_JsCompilationResult_hasErrors$exported$2 = (var$1) => {
18906
- let var$2;
18907
- var$1 = ju_Collection_stream(var$1.$errors1);
18908
- var$2 = new asr_JsCompilationResult$hasErrors$lambda$_2_0();
18909
- return !!jusi_SimpleStreamImpl_anyMatch(var$1, var$2);
18910
- };
18911
- var asr_JsCompilationResult_getReport$exported$3 = (var$1) => {
18912
- return $rt_ustr(var$1.$report);
18913
- };
18914
- function asr_AssemblyException() {
18915
- jl_Exception.call(this);
18916
- this.$errs = null;
18917
- }
18918
- var asr_AssemblyException__init_0 = ($this, $errs) => {
18919
- jl_Throwable__init_0($this, asr_ErrorList_generateErrorAndWarningReport($errs));
18920
- $this.$errs = $errs;
18921
- };
18922
- var asr_AssemblyException__init_ = (var_0) => {
18923
- let var_1 = new asr_AssemblyException();
18924
- asr_AssemblyException__init_0(var_1, var_0);
18925
- return var_1;
18926
- };
18927
- function asr_JsRiscV$simulateWithLimit$lambda$_13_0() {
18928
- let a = this;
18929
- jl_Object.call(a);
18930
- a.$_022 = null;
18931
- a.$_112 = 0;
18932
- }
18933
- var asr_JsRiscV$simulateWithLimit$lambda$_13_0_run = (var$0) => {
18934
- let var$1, var$2, $ptr, $tmp;
18935
- $ptr = 0;
18936
- if ($rt_resuming()) {
18937
- let $thread = $rt_nativeThread();
18938
- $ptr = $thread.pop();
18939
- var$2 = $thread.pop();
18940
- var$1 = $thread.pop();
18941
- var$0 = $thread.pop();
18942
- }
18943
- main: while (true) {
18944
- switch ($ptr) {
18945
- case 0:
18946
- var$1 = var$0.$_022;
18947
- var$2 = var$0.$_112;
18948
- var$1 = var$1.$main;
18949
- $ptr = 1;
18950
- case 1:
18951
- $tmp = asr_RARS_simulate(var$1, var$2);
18952
- if ($rt_suspending()) {
18953
- break main;
18954
- }
18955
- var$1 = $tmp;
18956
- return var$1.$ordinal0;
18957
- default:
18958
- $rt_invalidPointer();
18959
- }
18960
- }
18961
- $rt_nativeThread().push(var$0, var$1, var$2, $ptr);
18962
- };
18963
- function asr_JsRiscV$simulate$lambda$_12_0() {
18964
- jl_Object.call(this);
18965
- this.$_06 = null;
18966
- }
18967
- var asr_JsRiscV$simulate$lambda$_12_0_run = (var$0) => {
18968
- let var$1, var$2, $ptr, $tmp;
18969
- $ptr = 0;
18970
- if ($rt_resuming()) {
18971
- let $thread = $rt_nativeThread();
18972
- $ptr = $thread.pop();
18973
- var$2 = $thread.pop();
18974
- var$1 = $thread.pop();
18975
- var$0 = $thread.pop();
18976
- }
18977
- main: while (true) {
18978
- switch ($ptr) {
18979
- case 0:
18980
- var$1 = var$0.$_06.$main;
18981
- var$2 = -1;
18982
- $ptr = 1;
18983
- case 1:
18984
- $tmp = asr_RARS_simulate(var$1, var$2);
18985
- if ($rt_suspending()) {
18986
- break main;
18987
- }
18988
- var$1 = $tmp;
18989
- return var$1.$ordinal0;
18990
- default:
18991
- $rt_invalidPointer();
18992
- }
18993
- }
18994
- $rt_nativeThread().push(var$0, var$1, var$2, $ptr);
18995
- };
18996
- var juf_ToIntFunction = $rt_classWithoutFields(0);
18997
- var asr_JsRiscV$getRegistersValues$lambda$_28_0 = $rt_classWithoutFields();
18998
19002
  var ju_Map$Entry = $rt_classWithoutFields(0);
18999
19003
  function ju_MapEntry() {
19000
19004
  let a = this;
@@ -19666,75 +19670,152 @@ function jur_CharClass$16() {
19666
19670
  var jur_CharClass$16_contains = ($this, $ch) => {
19667
19671
  return $this.$val$curAlt6 ^ $this.$val$nb.$contains1($ch) && jur_CharClass_contains($this.$val$clazz7, $ch) ? 0 : 1;
19668
19672
  };
19669
- var otjc_JSPromise$Executor = $rt_classWithoutFields(0);
19670
- function asr_JsRiscV$run$lambda$_9_0() {
19673
+ function asr_RISCVprogram() {
19671
19674
  let a = this;
19672
19675
  jl_Object.call(a);
19673
- a.$_017 = null;
19674
- a.$_17 = null;
19676
+ a.$steppedExecution = 0;
19677
+ a.$filename = null;
19678
+ a.$sourceList = null;
19679
+ a.$tokenList1 = null;
19680
+ a.$parsedList = null;
19681
+ a.$machineList = null;
19682
+ a.$backStepper = null;
19683
+ a.$localSymbolTable = null;
19684
+ a.$macroPool = null;
19685
+ a.$sourceLineList = null;
19686
+ a.$tokenizer = null;
19687
+ a.$machineListPCMap = null;
19675
19688
  }
19676
- var asr_JsRiscV$run$lambda$_9_0__init_0 = (var$0, var$1, var$2) => {
19677
- var$0.$_017 = var$1;
19678
- var$0.$_17 = var$2;
19689
+ var asr_RISCVprogram__init_0 = ($this) => {
19690
+ $this.$steppedExecution = 0;
19679
19691
  };
19680
- var asr_JsRiscV$run$lambda$_9_0__init_ = (var_0, var_1) => {
19681
- let var_2 = new asr_JsRiscV$run$lambda$_9_0();
19682
- asr_JsRiscV$run$lambda$_9_0__init_0(var_2, var_0, var_1);
19683
- return var_2;
19692
+ var asr_RISCVprogram__init_ = () => {
19693
+ let var_0 = new asr_RISCVprogram();
19694
+ asr_RISCVprogram__init_0(var_0);
19695
+ return var_0;
19684
19696
  };
19685
- var asr_JsRiscV$run$lambda$_9_0_onExecute$exported$0 = (var$1, var$2, var$3) => {
19686
- let var$4, var$5;
19687
- var$2 = otji_JS_functionAsObject(var$2, "accept");
19688
- var$3 = otji_JS_functionAsObject(var$3, "accept");
19689
- var$1 = var$1;
19690
- var$4 = var$1.$_017;
19691
- var$1 = var$1.$_17;
19692
- var$5 = new asr_JsRiscV$lambda$run$2$lambda$_75_0();
19693
- var$5.$_011 = var$4;
19694
- var$5.$_16 = var$1;
19695
- var$5.$_21 = var$3;
19696
- var$5.$_30 = var$2;
19697
- asr_JsRiscV_$callClinit();
19698
- ju_ArrayDeque_add(asr_JsRiscV_tasks, var$5);
19699
- if (asr_JsRiscV_workerStarted) {
19700
- var$1 = asr_JsRiscV_unpark;
19701
- if (var$1 !== null) {
19702
- asr_JsRiscV_unpark = null;
19703
- var$1.accept(null);
19697
+ var asr_RISCVprogram_setSourceLineList = ($this, $sourceLineList) => {
19698
+ let var$2, $sl;
19699
+ $this.$sourceLineList = $sourceLineList;
19700
+ $this.$sourceList = ju_ArrayList__init_();
19701
+ var$2 = ju_AbstractList_iterator($sourceLineList);
19702
+ while (ju_AbstractList$1_hasNext(var$2)) {
19703
+ $sl = ju_AbstractList$1_next(var$2);
19704
+ ju_ArrayList_add($this.$sourceList, $sl.$processedSource);
19705
+ }
19706
+ };
19707
+ var asr_RISCVprogram_getSourceLineList = ($this) => {
19708
+ return $this.$sourceLineList;
19709
+ };
19710
+ var asr_RISCVprogram_getSourceLineInfo = ($this, $expandedLineNumber) => {
19711
+ let var$2;
19712
+ var$2 = $this.$sourceLineList;
19713
+ if (var$2 !== null && $expandedLineNumber >= 1 && $expandedLineNumber <= var$2.$size0)
19714
+ return ju_ArrayList_get(var$2, $expandedLineNumber - 1 | 0);
19715
+ return null;
19716
+ };
19717
+ var asr_RISCVprogram_getFilename = ($this) => {
19718
+ return $this.$filename;
19719
+ };
19720
+ var asr_RISCVprogram_getTokenList = ($this) => {
19721
+ return $this.$tokenList1;
19722
+ };
19723
+ var asr_RISCVprogram_getTokenizer = ($this) => {
19724
+ return $this.$tokenizer;
19725
+ };
19726
+ var asr_RISCVprogram_createParsedList = ($this) => {
19727
+ let var$1;
19728
+ var$1 = ju_ArrayList__init_();
19729
+ $this.$parsedList = var$1;
19730
+ return var$1;
19731
+ };
19732
+ var asr_RISCVprogram_getParsedList = ($this) => {
19733
+ return $this.$parsedList;
19734
+ };
19735
+ var asr_RISCVprogram_getLocalSymbolTable = ($this) => {
19736
+ return $this.$localSymbolTable;
19737
+ };
19738
+ var asr_RISCVprogram_readSource = ($this, $file, $source) => {
19739
+ $this.$filename = $file;
19740
+ $this.$sourceList = ju_ArrayList__init_0(ju_Arrays_asList(jl_String_split($source, $rt_s(16), -1)));
19741
+ };
19742
+ var asr_RISCVprogram_simulate0 = ($this, $maxSteps) => {
19743
+ let $sim, var$3, var$4, $ptr, $tmp;
19744
+ $ptr = 0;
19745
+ if ($rt_resuming()) {
19746
+ let $thread = $rt_nativeThread();
19747
+ $ptr = $thread.pop();
19748
+ var$4 = $thread.pop();
19749
+ var$3 = $thread.pop();
19750
+ $sim = $thread.pop();
19751
+ $maxSteps = $thread.pop();
19752
+ $this = $thread.pop();
19753
+ }
19754
+ main: while (true) {
19755
+ switch ($ptr) {
19756
+ case 0:
19757
+ $sim = asrs_Simulator_getInstance();
19758
+ var$3 = asrrh_RegisterFile_getProgramCounter();
19759
+ var$4 = null;
19760
+ $ptr = 1;
19761
+ case 1:
19762
+ $tmp = asrs_Simulator_simulate($sim, var$3, $maxSteps, var$4);
19763
+ if ($rt_suspending()) {
19764
+ break main;
19765
+ }
19766
+ $sim = $tmp;
19767
+ return $sim;
19768
+ default:
19769
+ $rt_invalidPointer();
19704
19770
  }
19705
- } else {
19706
- asr_JsRiscV_workerStarted = 1;
19707
- var$1 = new asr_JsRiscV$submit$lambda$_8_0();
19708
- var$2 = new otjc_JSPromise$runAsync$lambda$_15_0();
19709
- var$2.$_01 = var$1;
19710
- new Promise(otji_JS_function(otji_JSWrapper_unwrap(var$2), "onExecute"));
19711
19771
  }
19772
+ $rt_nativeThread().push($this, $maxSteps, $sim, var$3, var$4, $ptr);
19712
19773
  };
19713
- var otjc_JSPromise = $rt_classWithoutFields();
19714
- var otjc_JSPromise_await$static = ($this) => {
19715
- let $ptr, $tmp;
19774
+ var asr_RISCVprogram_simulate = ($this, $maxSteps, $breakPoints) => {
19775
+ let $sim, var$4, $ptr, $tmp;
19716
19776
  $ptr = 0;
19717
19777
  if ($rt_resuming()) {
19718
19778
  let $thread = $rt_nativeThread();
19719
19779
  $ptr = $thread.pop();
19780
+ var$4 = $thread.pop();
19781
+ $sim = $thread.pop();
19782
+ $breakPoints = $thread.pop();
19783
+ $maxSteps = $thread.pop();
19720
19784
  $this = $thread.pop();
19721
19785
  }
19722
19786
  main: while (true) {
19723
19787
  switch ($ptr) {
19724
19788
  case 0:
19789
+ $sim = asrs_Simulator_getInstance();
19790
+ var$4 = asrrh_RegisterFile_getProgramCounter();
19725
19791
  $ptr = 1;
19726
19792
  case 1:
19727
- $tmp = otjc_JSPromiseHelper_await$_asyncCall_$($this);
19793
+ $tmp = asrs_Simulator_simulate($sim, var$4, $maxSteps, $breakPoints);
19728
19794
  if ($rt_suspending()) {
19729
19795
  break main;
19730
19796
  }
19731
- $this = $tmp;
19732
- return $this;
19797
+ $sim = $tmp;
19798
+ return $sim;
19733
19799
  default:
19734
19800
  $rt_invalidPointer();
19735
19801
  }
19736
19802
  }
19737
- $rt_nativeThread().push($this, $ptr);
19803
+ $rt_nativeThread().push($this, $maxSteps, $breakPoints, $sim, var$4, $ptr);
19804
+ };
19805
+ var asr_RISCVprogram_createMacroPool = ($this) => {
19806
+ let var$1;
19807
+ var$1 = new asra_MacroPool();
19808
+ var$1.$program1 = $this;
19809
+ var$1.$macroList = ju_ArrayList__init_();
19810
+ var$1.$callStack = ju_ArrayList__init_();
19811
+ var$1.$callStackLocations = ju_ArrayList__init_();
19812
+ var$1.$current = null;
19813
+ var$1.$counter = 0;
19814
+ $this.$macroPool = var$1;
19815
+ return var$1;
19816
+ };
19817
+ var asr_RISCVprogram_getLocalMacroPool = ($this) => {
19818
+ return $this.$macroPool;
19738
19819
  };
19739
19820
  function asrrh_Register() {
19740
19821
  let a = this;
@@ -19810,159 +19891,75 @@ var asrrh_Register_notifyAnyObservers = ($this, $type) => {
19810
19891
  ju_Observable_notifyObservers(var$2, var$3);
19811
19892
  }
19812
19893
  };
19813
- function asr_JsRiscV$PokeRegisterWrite() {
19814
- let a = this;
19815
- jl_Object.call(a);
19816
- a.$register = null;
19817
- a.$oldValue = Long_ZERO;
19818
- }
19819
- function asr_RISCVprogram() {
19820
- let a = this;
19821
- jl_Object.call(a);
19822
- a.$steppedExecution = 0;
19823
- a.$filename = null;
19824
- a.$sourceList = null;
19825
- a.$tokenList1 = null;
19826
- a.$parsedList = null;
19827
- a.$machineList = null;
19828
- a.$backStepper = null;
19829
- a.$localSymbolTable = null;
19830
- a.$macroPool = null;
19831
- a.$sourceLineList = null;
19832
- a.$tokenizer = null;
19833
- a.$machineListPCMap = null;
19834
- }
19835
- var asr_RISCVprogram__init_0 = ($this) => {
19836
- $this.$steppedExecution = 0;
19837
- };
19838
- var asr_RISCVprogram__init_ = () => {
19839
- let var_0 = new asr_RISCVprogram();
19840
- asr_RISCVprogram__init_0(var_0);
19841
- return var_0;
19842
- };
19843
- var asr_RISCVprogram_setSourceLineList = ($this, $sourceLineList) => {
19844
- let var$2, $sl;
19845
- $this.$sourceLineList = $sourceLineList;
19846
- $this.$sourceList = ju_ArrayList__init_();
19847
- var$2 = ju_AbstractList_iterator($sourceLineList);
19848
- while (ju_AbstractList$1_hasNext(var$2)) {
19849
- $sl = ju_AbstractList$1_next(var$2);
19850
- ju_ArrayList_add($this.$sourceList, $sl.$processedSource);
19851
- }
19852
- };
19853
- var asr_RISCVprogram_getSourceLineList = ($this) => {
19854
- return $this.$sourceLineList;
19894
+ var jl_AutoCloseable = $rt_classWithoutFields(0);
19895
+ var jus_BaseStream = $rt_classWithoutFields(0);
19896
+ var jus_Stream = $rt_classWithoutFields(0);
19897
+ var jus_Stream_toList = ($this) => {
19898
+ return ju_TemplateCollections$ImmutableArrayList__init_(jusi_SimpleStreamImpl_toArray0($this));
19855
19899
  };
19856
- var asr_RISCVprogram_getSourceLineInfo = ($this, $expandedLineNumber) => {
19900
+ var jusi_SimpleStreamImpl = $rt_classWithoutFields();
19901
+ var jusi_SimpleStreamImpl_map = ($this, $mapper) => {
19857
19902
  let var$2;
19858
- var$2 = $this.$sourceLineList;
19859
- if (var$2 !== null && $expandedLineNumber >= 1 && $expandedLineNumber <= var$2.$size0)
19860
- return ju_ArrayList_get(var$2, $expandedLineNumber - 1 | 0);
19861
- return null;
19862
- };
19863
- var asr_RISCVprogram_getFilename = ($this) => {
19864
- return $this.$filename;
19865
- };
19866
- var asr_RISCVprogram_getTokenList = ($this) => {
19867
- return $this.$tokenList1;
19868
- };
19869
- var asr_RISCVprogram_getTokenizer = ($this) => {
19870
- return $this.$tokenizer;
19871
- };
19872
- var asr_RISCVprogram_createParsedList = ($this) => {
19873
- let var$1;
19874
- var$1 = ju_ArrayList__init_();
19875
- $this.$parsedList = var$1;
19876
- return var$1;
19877
- };
19878
- var asr_RISCVprogram_getParsedList = ($this) => {
19879
- return $this.$parsedList;
19880
- };
19881
- var asr_RISCVprogram_getLocalSymbolTable = ($this) => {
19882
- return $this.$localSymbolTable;
19903
+ var$2 = new jusi_MappingStreamImpl();
19904
+ jusi_WrappingStreamImpl__init_(var$2, $this);
19905
+ var$2.$mapper = $mapper;
19906
+ return var$2;
19883
19907
  };
19884
- var asr_RISCVprogram_readSource = ($this, $file, $source) => {
19885
- $this.$filename = $file;
19886
- $this.$sourceList = ju_ArrayList__init_0(ju_Arrays_asList(jl_String_split($source, $rt_s(16), -1)));
19908
+ var jusi_SimpleStreamImpl_toArray0 = ($this) => {
19909
+ return jusi_SimpleStreamImpl_toArray($this, new jusi_SimpleStreamImpl$toArray$lambda$_20_0());
19887
19910
  };
19888
- var asr_RISCVprogram_simulate0 = ($this, $maxSteps) => {
19889
- let $sim, var$3, var$4, $ptr, $tmp;
19890
- $ptr = 0;
19891
- if ($rt_resuming()) {
19892
- let $thread = $rt_nativeThread();
19893
- $ptr = $thread.pop();
19894
- var$4 = $thread.pop();
19895
- var$3 = $thread.pop();
19896
- $sim = $thread.pop();
19897
- $maxSteps = $thread.pop();
19898
- $this = $thread.pop();
19899
- }
19900
- main: while (true) {
19901
- switch ($ptr) {
19902
- case 0:
19903
- $sim = asrs_Simulator_getInstance();
19904
- var$3 = asrrh_RegisterFile_getProgramCounter();
19905
- var$4 = null;
19906
- $ptr = 1;
19907
- case 1:
19908
- $tmp = asrs_Simulator_simulate($sim, var$3, $maxSteps, var$4);
19909
- if ($rt_suspending()) {
19910
- break main;
19911
- }
19912
- $sim = $tmp;
19913
- return $sim;
19914
- default:
19915
- $rt_invalidPointer();
19911
+ var jusi_SimpleStreamImpl_toArray = ($this, $generator) => {
19912
+ let var$2, $estimatedSize, $array, $consumer, var$6, $list, $i;
19913
+ var$2 = $this;
19914
+ $estimatedSize = jusi_WrappingStreamImpl_estimateSize(var$2);
19915
+ if ($estimatedSize >= 0) {
19916
+ $array = $generator.$apply($estimatedSize);
19917
+ $consumer = new jusi_SimpleStreamImpl$ArrayFillingConsumer();
19918
+ $consumer.$array6 = $array;
19919
+ while (jusi_WrappingStreamImpl_next(var$2, $consumer)) {
19916
19920
  }
19921
+ var$6 = $array.data;
19922
+ $estimatedSize = $consumer.$index3;
19923
+ if ($estimatedSize < var$6.length)
19924
+ $array = ju_Arrays_copyOf0($array, $estimatedSize);
19925
+ return $array;
19917
19926
  }
19918
- $rt_nativeThread().push($this, $maxSteps, $sim, var$3, var$4, $ptr);
19919
- };
19920
- var asr_RISCVprogram_simulate = ($this, $maxSteps, $breakPoints) => {
19921
- let $sim, var$4, $ptr, $tmp;
19922
- $ptr = 0;
19923
- if ($rt_resuming()) {
19924
- let $thread = $rt_nativeThread();
19925
- $ptr = $thread.pop();
19926
- var$4 = $thread.pop();
19927
- $sim = $thread.pop();
19928
- $breakPoints = $thread.pop();
19929
- $maxSteps = $thread.pop();
19930
- $this = $thread.pop();
19927
+ $list = ju_ArrayList__init_();
19928
+ while (true) {
19929
+ ju_Objects_requireNonNull($list);
19930
+ $consumer = new jusi_SimpleStreamImpl$toArray$lambda$_21_0();
19931
+ $consumer.$_012 = $list;
19932
+ if (!jusi_WrappingStreamImpl_next(var$2, $consumer))
19933
+ break;
19931
19934
  }
19932
- main: while (true) {
19933
- switch ($ptr) {
19934
- case 0:
19935
- $sim = asrs_Simulator_getInstance();
19936
- var$4 = asrrh_RegisterFile_getProgramCounter();
19937
- $ptr = 1;
19938
- case 1:
19939
- $tmp = asrs_Simulator_simulate($sim, var$4, $maxSteps, $breakPoints);
19940
- if ($rt_suspending()) {
19941
- break main;
19942
- }
19943
- $sim = $tmp;
19944
- return $sim;
19945
- default:
19946
- $rt_invalidPointer();
19947
- }
19935
+ $list = $list;
19936
+ $array = $generator.$apply($list.$size0);
19937
+ $i = 0;
19938
+ while (true) {
19939
+ var$6 = $array.data;
19940
+ if ($i >= var$6.length)
19941
+ break;
19942
+ var$6[$i] = ju_ArrayList_get($list, $i);
19943
+ $i = $i + 1 | 0;
19948
19944
  }
19949
- $rt_nativeThread().push($this, $maxSteps, $breakPoints, $sim, var$4, $ptr);
19950
- };
19951
- var asr_RISCVprogram_createMacroPool = ($this) => {
19952
- let var$1;
19953
- var$1 = new asra_MacroPool();
19954
- var$1.$program1 = $this;
19955
- var$1.$macroList = ju_ArrayList__init_();
19956
- var$1.$callStack = ju_ArrayList__init_();
19957
- var$1.$callStackLocations = ju_ArrayList__init_();
19958
- var$1.$current = null;
19959
- var$1.$counter = 0;
19960
- $this.$macroPool = var$1;
19961
- return var$1;
19945
+ return $array;
19962
19946
  };
19963
- var asr_RISCVprogram_getLocalMacroPool = ($this) => {
19964
- return $this.$macroPool;
19947
+ var jusi_SimpleStreamImpl_anyMatch = ($this, $predicate) => {
19948
+ let $consumer;
19949
+ $consumer = new jusi_AnyMatchConsumer();
19950
+ $consumer.$predicate = $predicate;
19951
+ while (!$consumer.$matched && jusi_StreamOverSpliterator_next($this, $consumer)) {
19952
+ }
19953
+ return $consumer.$matched;
19965
19954
  };
19955
+ function jusi_ArrayStreamImpl() {
19956
+ let a = this;
19957
+ jusi_SimpleStreamImpl.call(a);
19958
+ a.$array8 = null;
19959
+ a.$index1 = 0;
19960
+ a.$end1 = 0;
19961
+ a.$size3 = 0;
19962
+ }
19966
19963
  function asrs_BackStepper$BackstepStack() {
19967
19964
  let a = this;
19968
19965
  jl_Object.call(a);
@@ -20400,6 +20397,109 @@ var otji_JSWrapper$Helper__clinit_ = () => {
20400
20397
  otji_JSWrapper$Helper_numberFinalizationRegistry = var$1;
20401
20398
  };
20402
20399
  var otjc_JSUndefined = $rt_classWithoutFields();
20400
+ var otjc_JSPromise$Executor = $rt_classWithoutFields(0);
20401
+ function asr_JsRiscV$run$lambda$_9_0() {
20402
+ let a = this;
20403
+ jl_Object.call(a);
20404
+ a.$_017 = null;
20405
+ a.$_17 = null;
20406
+ }
20407
+ var asr_JsRiscV$run$lambda$_9_0__init_0 = (var$0, var$1, var$2) => {
20408
+ var$0.$_017 = var$1;
20409
+ var$0.$_17 = var$2;
20410
+ };
20411
+ var asr_JsRiscV$run$lambda$_9_0__init_ = (var_0, var_1) => {
20412
+ let var_2 = new asr_JsRiscV$run$lambda$_9_0();
20413
+ asr_JsRiscV$run$lambda$_9_0__init_0(var_2, var_0, var_1);
20414
+ return var_2;
20415
+ };
20416
+ var asr_JsRiscV$run$lambda$_9_0_onExecute$exported$0 = (var$1, var$2, var$3) => {
20417
+ let var$4, var$5;
20418
+ var$2 = otji_JS_functionAsObject(var$2, "accept");
20419
+ var$3 = otji_JS_functionAsObject(var$3, "accept");
20420
+ var$1 = var$1;
20421
+ var$4 = var$1.$_017;
20422
+ var$1 = var$1.$_17;
20423
+ var$5 = new asr_JsRiscV$lambda$run$2$lambda$_75_0();
20424
+ var$5.$_011 = var$4;
20425
+ var$5.$_16 = var$1;
20426
+ var$5.$_21 = var$3;
20427
+ var$5.$_30 = var$2;
20428
+ asr_JsRiscV_$callClinit();
20429
+ ju_ArrayDeque_add(asr_JsRiscV_tasks, var$5);
20430
+ if (asr_JsRiscV_workerStarted) {
20431
+ var$1 = asr_JsRiscV_unpark;
20432
+ if (var$1 !== null) {
20433
+ asr_JsRiscV_unpark = null;
20434
+ var$1.accept(null);
20435
+ }
20436
+ } else {
20437
+ asr_JsRiscV_workerStarted = 1;
20438
+ var$1 = new asr_JsRiscV$submit$lambda$_8_0();
20439
+ var$2 = new otjc_JSPromise$runAsync$lambda$_15_0();
20440
+ var$2.$_01 = var$1;
20441
+ new Promise(otji_JS_function(otji_JSWrapper_unwrap(var$2), "onExecute"));
20442
+ }
20443
+ };
20444
+ var otjc_JSPromise = $rt_classWithoutFields();
20445
+ var otjc_JSPromise_await$static = ($this) => {
20446
+ let $ptr, $tmp;
20447
+ $ptr = 0;
20448
+ if ($rt_resuming()) {
20449
+ let $thread = $rt_nativeThread();
20450
+ $ptr = $thread.pop();
20451
+ $this = $thread.pop();
20452
+ }
20453
+ main: while (true) {
20454
+ switch ($ptr) {
20455
+ case 0:
20456
+ $ptr = 1;
20457
+ case 1:
20458
+ $tmp = otjc_JSPromiseHelper_await$_asyncCall_$($this);
20459
+ if ($rt_suspending()) {
20460
+ break main;
20461
+ }
20462
+ $this = $tmp;
20463
+ return $this;
20464
+ default:
20465
+ $rt_invalidPointer();
20466
+ }
20467
+ }
20468
+ $rt_nativeThread().push($this, $ptr);
20469
+ };
20470
+ function asr_JsCompilationResult$_init_$lambda$_0_0() {
20471
+ jl_Object.call(this);
20472
+ this.$_019 = null;
20473
+ }
20474
+ var asr_JsCompilationResult$_init_$lambda$_0_0_apply = (var$0, var$1) => {
20475
+ let var$2, var$3, var$4;
20476
+ var$1 = var$1;
20477
+ var$2 = var$0.$_019;
20478
+ var$3 = new asr_JsCompilationResult$JsCompilationError();
20479
+ var$3.$this$017 = var$2;
20480
+ var$3.$isWarning0 = var$1.$isWarning;
20481
+ var$3.$message2 = var$1.$message0;
20482
+ var$2 = ju_Collection_stream(ju_ArrayList__init_0(var$1.$macroExpansionTrace));
20483
+ var$4 = new asr_JsCompilationResult$JsCompilationError$_init_$lambda$_0_0();
20484
+ var$2 = jusi_SimpleStreamImpl_map(var$2, var$4);
20485
+ var$4 = new asr_JsCompilationResult$JsCompilationError$_init_$lambda$_0_1();
20486
+ var$3.$macroExpansionTrace1 = jusi_SimpleStreamImpl_toArray(var$2, var$4);
20487
+ var$3.$sourcePath3 = var$1.$sourcePath0;
20488
+ var$3.$sourceLine6 = var$1.$sourceLine0;
20489
+ var$3.$sourceColumn0 = var$1.$sourceColumn;
20490
+ return var$3;
20491
+ };
20492
+ var juf_Supplier = $rt_classWithoutFields(0);
20493
+ var asr_JsCompilationResult$_init_$lambda$_0_1 = $rt_classWithoutFields();
20494
+ var juf_BiConsumer = $rt_classWithoutFields(0);
20495
+ var asr_JsCompilationResult$_init_$lambda$_0_2 = $rt_classWithoutFields();
20496
+ var asr_JsCompilationResult$_init_$lambda$_0_3 = $rt_classWithoutFields();
20497
+ function asr_JsRiscV$PokeRegisterWrite() {
20498
+ let a = this;
20499
+ jl_Object.call(a);
20500
+ a.$register = null;
20501
+ a.$oldValue = Long_ZERO;
20502
+ }
20403
20503
  var asr_JsPokeWrite = $rt_classWithoutFields();
20404
20504
  var asr_JsPokeWrite_toNumberArray = ($values) => {
20405
20505
  let var$2, $array, $i, var$5;
@@ -20424,7 +20524,7 @@ function asrrh_AddressErrorException() {
20424
20524
  let a = this;
20425
20525
  jl_Exception.call(a);
20426
20526
  a.$address1 = 0;
20427
- a.$type1 = 0;
20527
+ a.$type0 = 0;
20428
20528
  }
20429
20529
  var asrrh_AddressErrorException__init_0 = ($this, var$1, var$2, var$3) => {
20430
20530
  let var$4, var$5;
@@ -20434,7 +20534,7 @@ var asrrh_AddressErrorException__init_0 = ($this, var$1, var$2, var$3) => {
20434
20534
  jl_StringBuilder_append(jl_StringBuilder_append(var$5, var$1), var$4);
20435
20535
  jl_Throwable__init_0($this, jl_AbstractStringBuilder_toString(var$5));
20436
20536
  $this.$address1 = var$3;
20437
- $this.$type1 = var$2;
20537
+ $this.$type0 = var$2;
20438
20538
  };
20439
20539
  var asrrh_AddressErrorException__init_ = (var_0, var_1, var_2) => {
20440
20540
  let var_3 = new asrrh_AddressErrorException();
@@ -20444,9 +20544,6 @@ var asrrh_AddressErrorException__init_ = (var_0, var_1, var_2) => {
20444
20544
  var asrrh_AddressErrorException_getAddress = ($this) => {
20445
20545
  return $this.$address1;
20446
20546
  };
20447
- var asrrh_AddressErrorException_getType = ($this) => {
20448
- return $this.$type1;
20449
- };
20450
20547
  var asra_TokenTypes = $rt_classWithoutFields(jl_Enum);
20451
20548
  var asra_TokenTypes_COMMENT = null;
20452
20549
  var asra_TokenTypes_DIRECTIVE = null;
@@ -20768,102 +20865,6 @@ var asra_TokenTypes__clinit_ = () => {
20768
20865
  var$3[28] = var$1;
20769
20866
  asra_TokenTypes_$VALUES = var$2;
20770
20867
  };
20771
- function asr_JsCompilationResult$_init_$lambda$_0_0() {
20772
- jl_Object.call(this);
20773
- this.$_019 = null;
20774
- }
20775
- var asr_JsCompilationResult$_init_$lambda$_0_0_apply = (var$0, var$1) => {
20776
- let var$2, var$3, var$4;
20777
- var$1 = var$1;
20778
- var$2 = var$0.$_019;
20779
- var$3 = new asr_JsCompilationResult$JsCompilationError();
20780
- var$3.$this$017 = var$2;
20781
- var$3.$isWarning0 = var$1.$isWarning;
20782
- var$3.$message2 = var$1.$message0;
20783
- var$2 = ju_Collection_stream(ju_ArrayList__init_0(var$1.$macroExpansionTrace));
20784
- var$4 = new asr_JsCompilationResult$JsCompilationError$_init_$lambda$_0_0();
20785
- var$2 = jusi_SimpleStreamImpl_map(var$2, var$4);
20786
- var$4 = new asr_JsCompilationResult$JsCompilationError$_init_$lambda$_0_1();
20787
- var$3.$macroExpansionTrace1 = jusi_SimpleStreamImpl_toArray(var$2, var$4);
20788
- var$3.$sourcePath3 = var$1.$sourcePath0;
20789
- var$3.$sourceLine6 = var$1.$sourceLine0;
20790
- var$3.$sourceColumn0 = var$1.$sourceColumn;
20791
- return var$3;
20792
- };
20793
- var juf_Supplier = $rt_classWithoutFields(0);
20794
- var asr_JsCompilationResult$_init_$lambda$_0_1 = $rt_classWithoutFields();
20795
- var juf_BiConsumer = $rt_classWithoutFields(0);
20796
- var asr_JsCompilationResult$_init_$lambda$_0_2 = $rt_classWithoutFields();
20797
- var asr_JsCompilationResult$_init_$lambda$_0_3 = $rt_classWithoutFields();
20798
- var jl_AutoCloseable = $rt_classWithoutFields(0);
20799
- var jus_BaseStream = $rt_classWithoutFields(0);
20800
- var jus_Stream = $rt_classWithoutFields(0);
20801
- var jus_Stream_toList = ($this) => {
20802
- return ju_TemplateCollections$ImmutableArrayList__init_(jusi_SimpleStreamImpl_toArray0($this));
20803
- };
20804
- var jusi_SimpleStreamImpl = $rt_classWithoutFields();
20805
- var jusi_SimpleStreamImpl_map = ($this, $mapper) => {
20806
- let var$2;
20807
- var$2 = new jusi_MappingStreamImpl();
20808
- jusi_WrappingStreamImpl__init_(var$2, $this);
20809
- var$2.$mapper = $mapper;
20810
- return var$2;
20811
- };
20812
- var jusi_SimpleStreamImpl_toArray0 = ($this) => {
20813
- return jusi_SimpleStreamImpl_toArray($this, new jusi_SimpleStreamImpl$toArray$lambda$_20_0());
20814
- };
20815
- var jusi_SimpleStreamImpl_toArray = ($this, $generator) => {
20816
- let var$2, $estimatedSize, $array, $consumer, var$6, $list, $i;
20817
- var$2 = $this;
20818
- $estimatedSize = jusi_WrappingStreamImpl_estimateSize(var$2);
20819
- if ($estimatedSize >= 0) {
20820
- $array = $generator.$apply($estimatedSize);
20821
- $consumer = new jusi_SimpleStreamImpl$ArrayFillingConsumer();
20822
- $consumer.$array6 = $array;
20823
- while (jusi_WrappingStreamImpl_next(var$2, $consumer)) {
20824
- }
20825
- var$6 = $array.data;
20826
- $estimatedSize = $consumer.$index3;
20827
- if ($estimatedSize < var$6.length)
20828
- $array = ju_Arrays_copyOf0($array, $estimatedSize);
20829
- return $array;
20830
- }
20831
- $list = ju_ArrayList__init_();
20832
- while (true) {
20833
- ju_Objects_requireNonNull($list);
20834
- $consumer = new jusi_SimpleStreamImpl$toArray$lambda$_21_0();
20835
- $consumer.$_012 = $list;
20836
- if (!jusi_WrappingStreamImpl_next(var$2, $consumer))
20837
- break;
20838
- }
20839
- $list = $list;
20840
- $array = $generator.$apply($list.$size0);
20841
- $i = 0;
20842
- while (true) {
20843
- var$6 = $array.data;
20844
- if ($i >= var$6.length)
20845
- break;
20846
- var$6[$i] = ju_ArrayList_get($list, $i);
20847
- $i = $i + 1 | 0;
20848
- }
20849
- return $array;
20850
- };
20851
- var jusi_SimpleStreamImpl_anyMatch = ($this, $predicate) => {
20852
- let $consumer;
20853
- $consumer = new jusi_AnyMatchConsumer();
20854
- $consumer.$predicate = $predicate;
20855
- while (!$consumer.$matched && jusi_StreamOverSpliterator_next($this, $consumer)) {
20856
- }
20857
- return $consumer.$matched;
20858
- };
20859
- function jusi_ArrayStreamImpl() {
20860
- let a = this;
20861
- jusi_SimpleStreamImpl.call(a);
20862
- a.$array8 = null;
20863
- a.$index1 = 0;
20864
- a.$end1 = 0;
20865
- a.$size3 = 0;
20866
- }
20867
20868
  var asrri_Arithmetic = $rt_classWithoutFields(asrr_BasicInstruction);
20868
20869
  var asrri_Arithmetic__init_ = ($this, $usage, $description, $funct7, $funct3) => {
20869
20870
  let var$5, var$6;
@@ -21424,7 +21425,7 @@ var asrri_ECALL_simulate = ($this, $statement) => {
21424
21425
  main: while (true) {
21425
21426
  switch ($ptr) {
21426
21427
  case 0:
21427
- var$2 = asrrh_RegisterFile_getValue0($rt_s(510));
21428
+ var$2 = asrrh_RegisterFile_getValue0($rt_s(527));
21428
21429
  asrr_InstructionSet_$callClinit();
21429
21430
  var$3 = asrr_SyscallLoader_findSyscall(var$2);
21430
21431
  if (var$3 === null) {
@@ -21583,11 +21584,11 @@ var asrri_Floating_setfflags = ($e) => {
21583
21584
  var$3 = asrj_Flags_invalid;
21584
21585
  $fflags = $fflags + (!ju_GenericEnumSet_contains($e, var$3) ? 0 : 16) | 0;
21585
21586
  if ($fflags)
21586
- asrrh_ControlAndStatusRegisterFile_orRegister($rt_s(573), Long_fromInt($fflags));
21587
+ asrrh_ControlAndStatusRegisterFile_orRegister($rt_s(506), Long_fromInt($fflags));
21587
21588
  };
21588
21589
  var asrri_Floating_getRoundingMode = ($RM, $statement) => {
21589
21590
  let $frm, var$4, var$5, var$6;
21590
- $frm = asrrh_ControlAndStatusRegisterFile_getValue($rt_s(574));
21591
+ $frm = asrrh_ControlAndStatusRegisterFile_getValue($rt_s(507));
21591
21592
  switch ($RM == 7 ? $frm : $RM) {
21592
21593
  case 0:
21593
21594
  break;
@@ -22617,7 +22618,7 @@ var asrri_JAL_simulate = ($this, $statement) => {
22617
22618
  var$4 = new asrrh_StackFrame();
22618
22619
  var$5 = asrrh_RegisterFile_getProgramCounter();
22619
22620
  var$6 = Long_lo(asrrh_RegisterFile_getStackPointerRegister().$getValue());
22620
- var$7 = Long_lo(asrrh_RegisterBlock_getRegister(asrrh_RegisterFile_instance, $rt_s(495)).$getValue());
22621
+ var$7 = Long_lo(asrrh_RegisterBlock_getRegister(asrrh_RegisterFile_instance, $rt_s(512)).$getValue());
22621
22622
  var$8 = asrrh_RegisterFile_instance.$regFile.data.length;
22622
22623
  $operands = $rt_createIntArray(var$8);
22623
22624
  var$9 = $operands.data;
@@ -23090,13 +23091,13 @@ var asrri_URET__init_ = () => {
23090
23091
  };
23091
23092
  var asrri_URET_simulate = ($this, $statement) => {
23092
23093
  let $upie;
23093
- $upie = (asrrh_ControlAndStatusRegisterFile_getValue($rt_s(563)) & 16) != 16 ? 0 : 1;
23094
- asrrh_ControlAndStatusRegisterFile_clearRegister($rt_s(563), Long_fromInt(16));
23094
+ $upie = (asrrh_ControlAndStatusRegisterFile_getValue($rt_s(496)) & 16) != 16 ? 0 : 1;
23095
+ asrrh_ControlAndStatusRegisterFile_clearRegister($rt_s(496), Long_fromInt(16));
23095
23096
  if (!$upie)
23096
- asrrh_ControlAndStatusRegisterFile_clearRegister($rt_s(563), Long_fromInt(1));
23097
+ asrrh_ControlAndStatusRegisterFile_clearRegister($rt_s(496), Long_fromInt(1));
23097
23098
  else
23098
- asrrh_ControlAndStatusRegisterFile_orRegister($rt_s(563), Long_fromInt(1));
23099
- asrrh_RegisterFile_setProgramCounter(asrrh_ControlAndStatusRegisterFile_getValue($rt_s(568)));
23099
+ asrrh_ControlAndStatusRegisterFile_orRegister($rt_s(496), Long_fromInt(1));
23100
+ asrrh_RegisterFile_setProgramCounter(asrrh_ControlAndStatusRegisterFile_getValue($rt_s(501)));
23100
23101
  };
23101
23102
  var asrri_WFI = $rt_classWithoutFields(asrr_BasicInstruction);
23102
23103
  var asrri_WFI__init_0 = ($this) => {
@@ -25388,6 +25389,77 @@ var ju_Comparator$NaturalOrder__clinit_ = () => {
25388
25389
  ju_Comparator$NaturalOrder_$callClinit();
25389
25390
  ju_Comparator$NaturalOrder_INSTANCE = var$1;
25390
25391
  };
25392
+ function asrrh_MaskedRegister() {
25393
+ asrrh_Register.call(this);
25394
+ this.$mask2 = Long_ZERO;
25395
+ }
25396
+ var asrrh_MaskedRegister__init_0 = ($this, $name, $num, $val, $mask) => {
25397
+ asrrh_Register__init_0($this, $name, $num, $val);
25398
+ $this.$mask2 = $mask;
25399
+ };
25400
+ var asrrh_MaskedRegister__init_ = (var_0, var_1, var_2, var_3) => {
25401
+ let var_4 = new asrrh_MaskedRegister();
25402
+ asrrh_MaskedRegister__init_0(var_4, var_0, var_1, var_2, var_3);
25403
+ return var_4;
25404
+ };
25405
+ var asrrh_MaskedRegister_setValue = ($this, $val) => {
25406
+ let $current, var$3;
25407
+ $current = asrrh_Register_getValue($this);
25408
+ var$3 = $this.$mask2;
25409
+ asrrh_Register_setValue($this, Long_or(Long_and($current, var$3), Long_and($val, Long_xor(var$3, Long_fromInt(-1)))));
25410
+ return $current;
25411
+ };
25412
+ var asrrh_ReadOnlyRegister = $rt_classWithoutFields(asrrh_Register);
25413
+ var asrrh_ReadOnlyRegister__init_0 = ($this, $name, $num, $val) => {
25414
+ asrrh_Register__init_0($this, $name, $num, Long_fromInt($val));
25415
+ };
25416
+ var asrrh_ReadOnlyRegister__init_ = (var_0, var_1, var_2) => {
25417
+ let var_3 = new asrrh_ReadOnlyRegister();
25418
+ asrrh_ReadOnlyRegister__init_0(var_3, var_0, var_1, var_2);
25419
+ return var_3;
25420
+ };
25421
+ function asrrh_LinkedRegister() {
25422
+ let a = this;
25423
+ asrrh_Register.call(a);
25424
+ a.$base = null;
25425
+ a.$mask1 = Long_ZERO;
25426
+ a.$shift = 0;
25427
+ }
25428
+ var asrrh_LinkedRegister__init_0 = ($this, $name, $num, $base, $mask) => {
25429
+ asrrh_Register__init_0($this, $name, $num, Long_ZERO);
25430
+ $this.$base = $base;
25431
+ $this.$mask1 = $mask;
25432
+ $this.$shift = 0;
25433
+ while (Long_ne($mask, Long_ZERO) && Long_eq(Long_and($mask, Long_fromInt(1)), Long_ZERO)) {
25434
+ $this.$shift = $this.$shift + 1 | 0;
25435
+ $mask = Long_shru($mask, 1);
25436
+ }
25437
+ };
25438
+ var asrrh_LinkedRegister__init_ = (var_0, var_1, var_2, var_3) => {
25439
+ let var_4 = new asrrh_LinkedRegister();
25440
+ asrrh_LinkedRegister__init_0(var_4, var_0, var_1, var_2, var_3);
25441
+ return var_4;
25442
+ };
25443
+ var asrrh_LinkedRegister_getValue = ($this) => {
25444
+ asrrh_Register_getValue($this);
25445
+ return asrrh_LinkedRegister_getValueNoNotify($this);
25446
+ };
25447
+ var asrrh_LinkedRegister_getValueNoNotify = ($this) => {
25448
+ return Long_shru(Long_and($this.$base.$getValueNoNotify(), $this.$mask1), $this.$shift);
25449
+ };
25450
+ var asrrh_LinkedRegister_setValue = ($this, $val) => {
25451
+ let $old, var$3, var$4;
25452
+ $old = $this.$base.$getValueNoNotify();
25453
+ var$3 = $this.$base;
25454
+ $val = Long_shl($val, $this.$shift);
25455
+ var$4 = $this.$mask1;
25456
+ var$3.$setValue(Long_or(Long_and($val, var$4), Long_and($old, Long_xor(var$4, Long_fromInt(-1)))));
25457
+ asrrh_Register_setValue($this, Long_ZERO);
25458
+ return Long_shru(Long_and($old, $this.$mask1), $this.$shift);
25459
+ };
25460
+ var asrrh_LinkedRegister_resetValue = ($this) => {
25461
+ $this.$base.$resetValue();
25462
+ };
25391
25463
  function asrrh_RegisterBlock() {
25392
25464
  let a = this;
25393
25465
  jl_Object.call(a);
@@ -25494,133 +25566,6 @@ var asrrh_RegisterBlock_resetRegisters = ($this) => {
25494
25566
  var$3 = var$3 + 1 | 0;
25495
25567
  }
25496
25568
  };
25497
- function asrrh_MaskedRegister() {
25498
- asrrh_Register.call(this);
25499
- this.$mask2 = Long_ZERO;
25500
- }
25501
- var asrrh_MaskedRegister__init_0 = ($this, $name, $num, $val, $mask) => {
25502
- asrrh_Register__init_0($this, $name, $num, $val);
25503
- $this.$mask2 = $mask;
25504
- };
25505
- var asrrh_MaskedRegister__init_ = (var_0, var_1, var_2, var_3) => {
25506
- let var_4 = new asrrh_MaskedRegister();
25507
- asrrh_MaskedRegister__init_0(var_4, var_0, var_1, var_2, var_3);
25508
- return var_4;
25509
- };
25510
- var asrrh_MaskedRegister_setValue = ($this, $val) => {
25511
- let $current, var$3;
25512
- $current = asrrh_Register_getValue($this);
25513
- var$3 = $this.$mask2;
25514
- asrrh_Register_setValue($this, Long_or(Long_and($current, var$3), Long_and($val, Long_xor(var$3, Long_fromInt(-1)))));
25515
- return $current;
25516
- };
25517
- var asrrh_ReadOnlyRegister = $rt_classWithoutFields(asrrh_Register);
25518
- var asrrh_ReadOnlyRegister__init_0 = ($this, $name, $num, $val) => {
25519
- asrrh_Register__init_0($this, $name, $num, Long_fromInt($val));
25520
- };
25521
- var asrrh_ReadOnlyRegister__init_ = (var_0, var_1, var_2) => {
25522
- let var_3 = new asrrh_ReadOnlyRegister();
25523
- asrrh_ReadOnlyRegister__init_0(var_3, var_0, var_1, var_2);
25524
- return var_3;
25525
- };
25526
- function asrrh_LinkedRegister() {
25527
- let a = this;
25528
- asrrh_Register.call(a);
25529
- a.$base = null;
25530
- a.$mask1 = Long_ZERO;
25531
- a.$shift = 0;
25532
- }
25533
- var asrrh_LinkedRegister__init_0 = ($this, $name, $num, $base, $mask) => {
25534
- asrrh_Register__init_0($this, $name, $num, Long_ZERO);
25535
- $this.$base = $base;
25536
- $this.$mask1 = $mask;
25537
- $this.$shift = 0;
25538
- while (Long_ne($mask, Long_ZERO) && Long_eq(Long_and($mask, Long_fromInt(1)), Long_ZERO)) {
25539
- $this.$shift = $this.$shift + 1 | 0;
25540
- $mask = Long_shru($mask, 1);
25541
- }
25542
- };
25543
- var asrrh_LinkedRegister__init_ = (var_0, var_1, var_2, var_3) => {
25544
- let var_4 = new asrrh_LinkedRegister();
25545
- asrrh_LinkedRegister__init_0(var_4, var_0, var_1, var_2, var_3);
25546
- return var_4;
25547
- };
25548
- var asrrh_LinkedRegister_getValue = ($this) => {
25549
- asrrh_Register_getValue($this);
25550
- return asrrh_LinkedRegister_getValueNoNotify($this);
25551
- };
25552
- var asrrh_LinkedRegister_getValueNoNotify = ($this) => {
25553
- return Long_shru(Long_and($this.$base.$getValueNoNotify(), $this.$mask1), $this.$shift);
25554
- };
25555
- var asrrh_LinkedRegister_setValue = ($this, $val) => {
25556
- let $old, var$3, var$4;
25557
- $old = $this.$base.$getValueNoNotify();
25558
- var$3 = $this.$base;
25559
- $val = Long_shl($val, $this.$shift);
25560
- var$4 = $this.$mask1;
25561
- var$3.$setValue(Long_or(Long_and($val, var$4), Long_and($old, Long_xor(var$4, Long_fromInt(-1)))));
25562
- asrrh_Register_setValue($this, Long_ZERO);
25563
- return Long_shru(Long_and($old, $this.$mask1), $this.$shift);
25564
- };
25565
- var asrrh_LinkedRegister_resetValue = ($this) => {
25566
- $this.$base.$resetValue();
25567
- };
25568
- function asrrh_StackFrame() {
25569
- let a = this;
25570
- jl_Object.call(a);
25571
- a.$pc3 = 0;
25572
- a.$toAddress0 = 0;
25573
- a.$sp0 = 0;
25574
- a.$fp0 = 0;
25575
- a.$registers1 = null;
25576
- }
25577
- function asra_Token() {
25578
- let a = this;
25579
- jl_Object.call(a);
25580
- a.$type = null;
25581
- a.$value = null;
25582
- a.$sourceProgram = null;
25583
- a.$sourceLine = 0;
25584
- a.$sourcePos = 0;
25585
- a.$originalProgram = null;
25586
- a.$originalSourceLine = 0;
25587
- }
25588
- var asra_Token__init_0 = ($this, $type, $value, $sourceProgram, $line, $start) => {
25589
- $this.$type = $type;
25590
- $this.$value = $value;
25591
- $this.$sourceProgram = $sourceProgram;
25592
- $this.$sourceLine = $line;
25593
- $this.$sourcePos = $start;
25594
- $this.$originalProgram = $sourceProgram;
25595
- $this.$originalSourceLine = $line;
25596
- };
25597
- var asra_Token__init_ = (var_0, var_1, var_2, var_3, var_4) => {
25598
- let var_5 = new asra_Token();
25599
- asra_Token__init_0(var_5, var_0, var_1, var_2, var_3, var_4);
25600
- return var_5;
25601
- };
25602
- var asra_Token_setOriginal = ($this, $origProgram, $origSourceLine) => {
25603
- $this.$originalProgram = $origProgram;
25604
- $this.$originalSourceLine = $origSourceLine;
25605
- };
25606
- var asra_Token_getType = ($this) => {
25607
- return $this.$type;
25608
- };
25609
- var asra_Token_getValue = ($this) => {
25610
- return $this.$value;
25611
- };
25612
- var asra_Token_toString = ($this) => {
25613
- return $this.$value;
25614
- };
25615
- var asra_Token_getSourceProgram = ($this) => {
25616
- return $this.$sourceProgram;
25617
- };
25618
- var asra_Token_getSourceLine = ($this) => {
25619
- return $this.$sourceLine;
25620
- };
25621
- var asra_Token_getStartPos = ($this) => {
25622
- return $this.$sourcePos;
25623
- };
25624
25569
  function asr_ErrorList() {
25625
25570
  let a = this;
25626
25571
  jl_Object.call(a);
@@ -25706,6 +25651,62 @@ var asr_ErrorList_generateReport = ($this, $isWarning) => {
25706
25651
  }
25707
25652
  return jl_AbstractStringBuilder_toString($report);
25708
25653
  };
25654
+ function asrrh_StackFrame() {
25655
+ let a = this;
25656
+ jl_Object.call(a);
25657
+ a.$pc3 = 0;
25658
+ a.$toAddress0 = 0;
25659
+ a.$sp0 = 0;
25660
+ a.$fp0 = 0;
25661
+ a.$registers1 = null;
25662
+ }
25663
+ function asra_Token() {
25664
+ let a = this;
25665
+ jl_Object.call(a);
25666
+ a.$type = null;
25667
+ a.$value = null;
25668
+ a.$sourceProgram = null;
25669
+ a.$sourceLine = 0;
25670
+ a.$sourcePos = 0;
25671
+ a.$originalProgram = null;
25672
+ a.$originalSourceLine = 0;
25673
+ }
25674
+ var asra_Token__init_0 = ($this, $type, $value, $sourceProgram, $line, $start) => {
25675
+ $this.$type = $type;
25676
+ $this.$value = $value;
25677
+ $this.$sourceProgram = $sourceProgram;
25678
+ $this.$sourceLine = $line;
25679
+ $this.$sourcePos = $start;
25680
+ $this.$originalProgram = $sourceProgram;
25681
+ $this.$originalSourceLine = $line;
25682
+ };
25683
+ var asra_Token__init_ = (var_0, var_1, var_2, var_3, var_4) => {
25684
+ let var_5 = new asra_Token();
25685
+ asra_Token__init_0(var_5, var_0, var_1, var_2, var_3, var_4);
25686
+ return var_5;
25687
+ };
25688
+ var asra_Token_setOriginal = ($this, $origProgram, $origSourceLine) => {
25689
+ $this.$originalProgram = $origProgram;
25690
+ $this.$originalSourceLine = $origSourceLine;
25691
+ };
25692
+ var asra_Token_getType = ($this) => {
25693
+ return $this.$type;
25694
+ };
25695
+ var asra_Token_getValue = ($this) => {
25696
+ return $this.$value;
25697
+ };
25698
+ var asra_Token_toString = ($this) => {
25699
+ return $this.$value;
25700
+ };
25701
+ var asra_Token_getSourceProgram = ($this) => {
25702
+ return $this.$sourceProgram;
25703
+ };
25704
+ var asra_Token_getSourceLine = ($this) => {
25705
+ return $this.$sourceLine;
25706
+ };
25707
+ var asra_Token_getStartPos = ($this) => {
25708
+ return $this.$sourcePos;
25709
+ };
25709
25710
  function asrrh_MemoryConfiguration() {
25710
25711
  let a = this;
25711
25712
  jl_Object.call(a);
@@ -25856,7 +25857,7 @@ var asrrs_SyscallClose_simulate = ($this, $statement) => {
25856
25857
  main: while (true) {
25857
25858
  switch ($ptr) {
25858
25859
  case 0:
25859
- var$2 = asrrh_RegisterFile_getValue0($rt_s(503));
25860
+ var$2 = asrrh_RegisterFile_getValue0($rt_s(520));
25860
25861
  asru_SystemIO_$callClinit();
25861
25862
  asru_SystemIO$FileIOData_$callClinit();
25862
25863
  if (var$2 > 2) {
@@ -25924,7 +25925,7 @@ var asrrs_SyscallConfirmDialog_simulate = ($this, $statement) => {
25924
25925
  switch ($ptr) {
25925
25926
  case 0:
25926
25927
  $message = asrrs_NullString_get($statement);
25927
- $statement = $rt_s(503);
25928
+ $statement = $rt_s(520);
25928
25929
  var$3 = $this.$io0;
25929
25930
  var$4 = $rt_s(1569);
25930
25931
  var$5 = $rt_createArray(jl_Object, 1);
@@ -25955,7 +25956,7 @@ var asrrs_SyscallExit_simulate = ($this, $statement) => {
25955
25956
  var asrrs_SyscallExit2 = $rt_classWithoutFields(asrr_AbstractSyscall);
25956
25957
  var asrrs_SyscallExit2_simulate = ($this, $statement) => {
25957
25958
  let var$2;
25958
- var$2 = asrrh_RegisterFile_getValue0($rt_s(503));
25959
+ var$2 = asrrh_RegisterFile_getValue0($rt_s(520));
25959
25960
  asr_Globals_$callClinit();
25960
25961
  asr_Globals_exitCode = var$2;
25961
25962
  $statement = new asr_ExitingException();
@@ -26026,18 +26027,18 @@ var asrrs_SyscallInputDialogDouble_simulate = ($this, $statement) => {
26026
26027
  try {
26027
26028
  asrrh_FloatingPointRegisterFile_updateRegisterLong(0, Long_ZERO);
26028
26029
  if ($statement === null)
26029
- asrrh_RegisterFile_updateRegister0($rt_s(504), Long_fromInt(-2));
26030
+ asrrh_RegisterFile_updateRegister0($rt_s(521), Long_fromInt(-2));
26030
26031
  else if (!jl_String_length($statement))
26031
- asrrh_RegisterFile_updateRegister0($rt_s(504), Long_fromInt(-3));
26032
+ asrrh_RegisterFile_updateRegister0($rt_s(521), Long_fromInt(-3));
26032
26033
  else {
26033
26034
  asrrh_FloatingPointRegisterFile_updateRegisterLong(10, $rt_doubleToRawLongBits(jl_Double_parseDouble($statement)));
26034
- asrrh_RegisterFile_updateRegister0($rt_s(504), Long_ZERO);
26035
+ asrrh_RegisterFile_updateRegister0($rt_s(521), Long_ZERO);
26035
26036
  }
26036
26037
  break a;
26037
26038
  } catch ($$e) {
26038
26039
  $$je = $rt_wrapException($$e);
26039
26040
  if ($$je instanceof jl_NumberFormatException) {
26040
- asrrh_RegisterFile_updateRegister0($rt_s(504), Long_fromInt(-1));
26041
+ asrrh_RegisterFile_updateRegister0($rt_s(521), Long_fromInt(-1));
26041
26042
  break a;
26042
26043
  } else {
26043
26044
  throw $$e;
@@ -26081,18 +26082,18 @@ var asrrs_SyscallInputDialogFloat_simulate = ($this, $statement) => {
26081
26082
  try {
26082
26083
  asrrh_FloatingPointRegisterFile_setRegisterToFloat(0, 0);
26083
26084
  if ($statement === null)
26084
- asrrh_RegisterFile_updateRegister0($rt_s(504), Long_fromInt(-2));
26085
+ asrrh_RegisterFile_updateRegister0($rt_s(521), Long_fromInt(-2));
26085
26086
  else if (!jl_String_length($statement))
26086
- asrrh_RegisterFile_updateRegister0($rt_s(504), Long_fromInt(-3));
26087
+ asrrh_RegisterFile_updateRegister0($rt_s(521), Long_fromInt(-3));
26087
26088
  else {
26088
26089
  asrrh_FloatingPointRegisterFile_setRegisterToFloat(0, jl_Float_parseFloat($statement));
26089
- asrrh_RegisterFile_updateRegister0($rt_s(504), Long_ZERO);
26090
+ asrrh_RegisterFile_updateRegister0($rt_s(521), Long_ZERO);
26090
26091
  }
26091
26092
  break a;
26092
26093
  } catch ($$e) {
26093
26094
  $$je = $rt_wrapException($$e);
26094
26095
  if ($$je instanceof jl_NumberFormatException) {
26095
- asrrh_RegisterFile_updateRegister0($rt_s(504), Long_fromInt(-1));
26096
+ asrrh_RegisterFile_updateRegister0($rt_s(521), Long_fromInt(-1));
26096
26097
  break a;
26097
26098
  } else {
26098
26099
  throw $$e;
@@ -26134,21 +26135,21 @@ var asrrs_SyscallInputDialogInt_simulate = ($this, $statement) => {
26134
26135
  }
26135
26136
  $statement = $tmp;
26136
26137
  if ($statement === null) {
26137
- asrrh_RegisterFile_updateRegister0($rt_s(503), Long_ZERO);
26138
- asrrh_RegisterFile_updateRegister0($rt_s(504), Long_fromInt(-2));
26138
+ asrrh_RegisterFile_updateRegister0($rt_s(520), Long_ZERO);
26139
+ asrrh_RegisterFile_updateRegister0($rt_s(521), Long_fromInt(-2));
26139
26140
  } else if (!$statement.$nativeString.length) {
26140
- asrrh_RegisterFile_updateRegister0($rt_s(503), Long_ZERO);
26141
- asrrh_RegisterFile_updateRegister0($rt_s(504), Long_fromInt(-3));
26141
+ asrrh_RegisterFile_updateRegister0($rt_s(520), Long_ZERO);
26142
+ asrrh_RegisterFile_updateRegister0($rt_s(521), Long_fromInt(-3));
26142
26143
  } else
26143
26144
  try {
26144
- asrrh_RegisterFile_updateRegister0($rt_s(503), Long_fromInt(jl_Integer_parseInt0($statement)));
26145
- asrrh_RegisterFile_updateRegister0($rt_s(504), Long_ZERO);
26145
+ asrrh_RegisterFile_updateRegister0($rt_s(520), Long_fromInt(jl_Integer_parseInt0($statement)));
26146
+ asrrh_RegisterFile_updateRegister0($rt_s(521), Long_ZERO);
26146
26147
  break a;
26147
26148
  } catch ($$e) {
26148
26149
  $$je = $rt_wrapException($$e);
26149
26150
  if ($$je instanceof jl_NumberFormatException) {
26150
- asrrh_RegisterFile_updateRegister0($rt_s(503), Long_ZERO);
26151
- asrrh_RegisterFile_updateRegister0($rt_s(504), Long_fromInt(-1));
26151
+ asrrh_RegisterFile_updateRegister0($rt_s(520), Long_ZERO);
26152
+ asrrh_RegisterFile_updateRegister0($rt_s(521), Long_fromInt(-1));
26152
26153
  break a;
26153
26154
  } else {
26154
26155
  throw $$e;
@@ -26195,14 +26196,14 @@ var asrrs_SyscallInputDialogString_simulate = ($this, $statement) => {
26195
26196
  break main;
26196
26197
  }
26197
26198
  $message = $tmp;
26198
- $byteAddress = asrrh_RegisterFile_getValue0($rt_s(504));
26199
- $maxLength = asrrh_RegisterFile_getValue0($rt_s(505));
26199
+ $byteAddress = asrrh_RegisterFile_getValue0($rt_s(521));
26200
+ $maxLength = asrrh_RegisterFile_getValue0($rt_s(522));
26200
26201
  a: {
26201
26202
  try {
26202
26203
  if ($message === null)
26203
- asrrh_RegisterFile_updateRegister0($rt_s(504), Long_fromInt(-2));
26204
+ asrrh_RegisterFile_updateRegister0($rt_s(521), Long_fromInt(-2));
26204
26205
  else if (!jl_String_length($message))
26205
- asrrh_RegisterFile_updateRegister0($rt_s(504), Long_fromInt(-3));
26206
+ asrrh_RegisterFile_updateRegister0($rt_s(521), Long_fromInt(-3));
26206
26207
  else {
26207
26208
  jnc_StandardCharsets_$callClinit();
26208
26209
  $utf8BytesList = jl_String_getBytes($message, jnc_StandardCharsets_UTF_8).data;
@@ -26223,9 +26224,9 @@ var asrrs_SyscallInputDialogString_simulate = ($this, $statement) => {
26223
26224
  asr_Globals_$callClinit();
26224
26225
  asrrh_Memory_setByte(asr_Globals_memory, $byteAddress + $stringLength | 0, 0);
26225
26226
  if (var$7 <= $maxLength)
26226
- asrrh_RegisterFile_updateRegister0($rt_s(504), Long_ZERO);
26227
+ asrrh_RegisterFile_updateRegister0($rt_s(521), Long_ZERO);
26227
26228
  else
26228
- asrrh_RegisterFile_updateRegister0($rt_s(504), Long_fromInt(-4));
26229
+ asrrh_RegisterFile_updateRegister0($rt_s(521), Long_fromInt(-4));
26229
26230
  }
26230
26231
  } catch ($$e) {
26231
26232
  $$je = $rt_wrapException($$e);
@@ -26265,7 +26266,7 @@ var asrrs_SyscallMessageDialog_simulate = ($this, $statement) => {
26265
26266
  main: while (true) {
26266
26267
  switch ($ptr) {
26267
26268
  case 0:
26268
- $msgType = asrrh_RegisterFile_getValue0($rt_s(504));
26269
+ $msgType = asrrh_RegisterFile_getValue0($rt_s(521));
26269
26270
  if (!($msgType >= 0 && $msgType <= 3))
26270
26271
  $msgType = -1;
26271
26272
  var$3 = $this.$io3;
@@ -26308,7 +26309,7 @@ var asrrs_SyscallMessageDialogDouble_simulate = ($this, $statement) => {
26308
26309
  switch ($ptr) {
26309
26310
  case 0:
26310
26311
  $message = jl_String__init_3();
26311
- $byteAddress = asrrh_RegisterFile_getValue0($rt_s(503));
26312
+ $byteAddress = asrrh_RegisterFile_getValue0($rt_s(520));
26312
26313
  $ch = $rt_createCharArray(1);
26313
26314
  var$5 = $ch.data;
26314
26315
  var$5[0] = 32;
@@ -26382,7 +26383,7 @@ var asrrs_SyscallMessageDialogFloat_simulate = ($this, $statement) => {
26382
26383
  $message = asrrs_NullString_get($statement);
26383
26384
  var$3 = $this.$io7;
26384
26385
  asrrh_FloatingPointRegisterFile_$callClinit();
26385
- $statement = jl_Float_toString($rt_intBitsToFloat(asrrh_FloatingPointRegisterFile_getValue0($rt_s(539))));
26386
+ $statement = jl_Float_toString($rt_intBitsToFloat(asrrh_FloatingPointRegisterFile_getValue0($rt_s(554))));
26386
26387
  var$4 = new jl_StringBuilder();
26387
26388
  jl_AbstractStringBuilder__init_(var$4);
26388
26389
  jl_StringBuilder_append(jl_StringBuilder_append(var$4, $message), $statement);
@@ -26424,7 +26425,7 @@ var asrrs_SyscallMessageDialogInt_simulate = ($this, $statement) => {
26424
26425
  case 0:
26425
26426
  $message = asrrs_NullString_get($statement);
26426
26427
  var$3 = $this.$io5;
26427
- $statement = jl_Integer_toString(asrrh_RegisterFile_getValue0($rt_s(504)));
26428
+ $statement = jl_Integer_toString(asrrh_RegisterFile_getValue0($rt_s(521)));
26428
26429
  var$4 = new jl_StringBuilder();
26429
26430
  jl_AbstractStringBuilder__init_(var$4);
26430
26431
  jl_StringBuilder_append(jl_StringBuilder_append(var$4, $message), $statement);
@@ -26466,7 +26467,7 @@ var asrrs_SyscallMessageDialogString_simulate = ($this, $statement) => {
26466
26467
  case 0:
26467
26468
  var$2 = $this.$io8;
26468
26469
  var$3 = asrrs_NullString_get($statement);
26469
- $statement = asrrs_NullString_get0($statement, $rt_s(504));
26470
+ $statement = asrrs_NullString_get0($statement, $rt_s(521));
26470
26471
  var$4 = new jl_StringBuilder();
26471
26472
  jl_AbstractStringBuilder__init_(var$4);
26472
26473
  jl_StringBuilder_append(jl_StringBuilder_append(var$4, var$3), $statement);
@@ -26507,7 +26508,7 @@ var asrrs_SyscallOpen_simulate = ($this, $statement) => {
26507
26508
  switch ($ptr) {
26508
26509
  case 0:
26509
26510
  var$2 = asrrs_NullString_get($statement);
26510
- var$3 = asrrh_RegisterFile_getValue0($rt_s(504));
26511
+ var$3 = asrrh_RegisterFile_getValue0($rt_s(521));
26511
26512
  asru_SystemIO_$callClinit();
26512
26513
  asru_SystemIO$FileIOData_releaseHostDescriptors();
26513
26514
  $retValue = 0;
@@ -26604,7 +26605,7 @@ var asrrs_SyscallOpen_simulate = ($this, $statement) => {
26604
26605
  }
26605
26606
  }
26606
26607
  }
26607
- asrrh_RegisterFile_updateRegister0($rt_s(503), Long_fromInt($retValue));
26608
+ asrrh_RegisterFile_updateRegister0($rt_s(520), Long_fromInt($retValue));
26608
26609
  return;
26609
26610
  case 1:
26610
26611
  a: {
@@ -26632,7 +26633,7 @@ var asrrs_SyscallOpen_simulate = ($this, $statement) => {
26632
26633
  }
26633
26634
  }
26634
26635
  }
26635
- asrrh_RegisterFile_updateRegister0($rt_s(503), Long_fromInt($retValue));
26636
+ asrrh_RegisterFile_updateRegister0($rt_s(520), Long_fromInt($retValue));
26636
26637
  return;
26637
26638
  case 2:
26638
26639
  a: {
@@ -26660,7 +26661,7 @@ var asrrs_SyscallOpen_simulate = ($this, $statement) => {
26660
26661
  }
26661
26662
  }
26662
26663
  }
26663
- asrrh_RegisterFile_updateRegister0($rt_s(503), Long_fromInt($retValue));
26664
+ asrrh_RegisterFile_updateRegister0($rt_s(520), Long_fromInt($retValue));
26664
26665
  return;
26665
26666
  default:
26666
26667
  $rt_invalidPointer();
@@ -26681,7 +26682,7 @@ var asrrs_SyscallPrintChar_simulate = ($this, $statement) => {
26681
26682
  main: while (true) {
26682
26683
  switch ($ptr) {
26683
26684
  case 0:
26684
- $statement = jl_Character_toString(asrrh_RegisterFile_getValue0($rt_s(503)) & 255 & 65535);
26685
+ $statement = jl_Character_toString(asrrh_RegisterFile_getValue0($rt_s(520)) & 255 & 65535);
26685
26686
  $ptr = 1;
26686
26687
  case 1:
26687
26688
  asru_SystemIO_printString($statement);
@@ -26739,7 +26740,7 @@ var asrrs_SyscallPrintFloat_simulate = ($this, $statement) => {
26739
26740
  main: while (true) {
26740
26741
  switch ($ptr) {
26741
26742
  case 0:
26742
- $statement = jl_Float_toString($rt_intBitsToFloat(asrrh_FloatingPointRegisterFile_getValue0($rt_s(538))));
26743
+ $statement = jl_Float_toString($rt_intBitsToFloat(asrrh_FloatingPointRegisterFile_getValue0($rt_s(553))));
26743
26744
  $ptr = 1;
26744
26745
  case 1:
26745
26746
  asru_SystemIO_printString($statement);
@@ -26766,7 +26767,7 @@ var asrrs_SyscallPrintInt_simulate = ($this, $statement) => {
26766
26767
  main: while (true) {
26767
26768
  switch ($ptr) {
26768
26769
  case 0:
26769
- $statement = jl_Integer_toString(asrrh_RegisterFile_getValue0($rt_s(503)));
26770
+ $statement = jl_Integer_toString(asrrh_RegisterFile_getValue0($rt_s(520)));
26770
26771
  $ptr = 1;
26771
26772
  case 1:
26772
26773
  asru_SystemIO_printString($statement);
@@ -26794,7 +26795,7 @@ var asrrs_SyscallPrintIntBinary_simulate = ($this, $statement) => {
26794
26795
  main: while (true) {
26795
26796
  switch ($ptr) {
26796
26797
  case 0:
26797
- var$2 = asrrh_RegisterFile_getValue0($rt_s(503));
26798
+ var$2 = asrrh_RegisterFile_getValue0($rt_s(520));
26798
26799
  asru_Binary_$callClinit();
26799
26800
  $statement = asru_Binary_intToBinaryString(var$2, 32);
26800
26801
  $ptr = 1;
@@ -26823,7 +26824,7 @@ var asrrs_SyscallPrintIntHex_simulate = ($this, $statement) => {
26823
26824
  main: while (true) {
26824
26825
  switch ($ptr) {
26825
26826
  case 0:
26826
- $statement = asru_Binary_intToHexString(asrrh_RegisterFile_getValue0($rt_s(503)));
26827
+ $statement = asru_Binary_intToHexString(asrrh_RegisterFile_getValue0($rt_s(520)));
26827
26828
  $ptr = 1;
26828
26829
  case 1:
26829
26830
  asru_SystemIO_printString($statement);
@@ -26851,7 +26852,7 @@ var asrrs_SyscallPrintIntUnsigned_simulate = ($this, $statement) => {
26851
26852
  main: while (true) {
26852
26853
  switch ($ptr) {
26853
26854
  case 0:
26854
- var$2 = asrrh_RegisterFile_getValue0($rt_s(503));
26855
+ var$2 = asrrh_RegisterFile_getValue0($rt_s(520));
26855
26856
  asru_Binary_$callClinit();
26856
26857
  $statement = var$2 >= 0 ? jl_Integer_toString(var$2) : jl_Long_toString(Long_add(Long_create(0, 1), Long_fromInt(var$2)));
26857
26858
  $ptr = 1;
@@ -26897,7 +26898,7 @@ var asrrs_SyscallPrintString_simulate = ($this, $statement) => {
26897
26898
  var asrrs_SyscallRandDouble = $rt_classWithoutFields(asrr_AbstractSyscall);
26898
26899
  var asrrs_SyscallRandDouble_simulate = ($this, $statement) => {
26899
26900
  let $index, $stream;
26900
- $index = jl_Integer_valueOf(asrrh_RegisterFile_getValue0($rt_s(503)));
26901
+ $index = jl_Integer_valueOf(asrrh_RegisterFile_getValue0($rt_s(520)));
26901
26902
  asrrs_RandomStreams_$callClinit();
26902
26903
  $stream = ju_HashMap_get(asrrs_RandomStreams_randomStreams, $index);
26903
26904
  if ($stream === null) {
@@ -26908,20 +26909,20 @@ var asrrs_SyscallRandDouble_simulate = ($this, $statement) => {
26908
26909
  };
26909
26910
  var asrrs_SyscallRandFloat = $rt_classWithoutFields(asrr_AbstractSyscall);
26910
26911
  var asrrs_SyscallRandFloat_simulate = ($this, $statement) => {
26911
- asrrh_FloatingPointRegisterFile_setRegisterToFloat(10, ju_Random_next(asrrs_RandomStreams_get($rt_s(503)), 24) * 5960464477539063e-23);
26912
+ asrrh_FloatingPointRegisterFile_setRegisterToFloat(10, ju_Random_next(asrrs_RandomStreams_get($rt_s(520)), 24) * 5960464477539063e-23);
26912
26913
  };
26913
26914
  var asrrs_SyscallRandInt = $rt_classWithoutFields(asrr_AbstractSyscall);
26914
26915
  var asrrs_SyscallRandInt_simulate = ($this, $statement) => {
26915
- asrrh_RegisterFile_updateRegister0($rt_s(503), Long_fromInt(ju_Random_nextInt(asrrs_RandomStreams_get($rt_s(503)))));
26916
+ asrrh_RegisterFile_updateRegister0($rt_s(520), Long_fromInt(ju_Random_nextInt(asrrs_RandomStreams_get($rt_s(520)))));
26916
26917
  };
26917
26918
  var asrrs_SyscallRandIntRange = $rt_classWithoutFields(asrr_AbstractSyscall);
26918
26919
  var asrrs_SyscallRandIntRange_simulate = ($this, $statement) => {
26919
26920
  let $stream, var$3, var$4, var$5, $$je;
26920
- $stream = asrrs_RandomStreams_get($rt_s(503));
26921
+ $stream = asrrs_RandomStreams_get($rt_s(520));
26921
26922
  a: {
26922
26923
  try {
26923
- var$3 = asrrh_RegisterFile_getValue0($rt_s(504));
26924
- asrrh_RegisterFile_updateRegister0($rt_s(503), Long_fromInt(jur_RandomGenerator_nextInt($stream, var$3)));
26924
+ var$3 = asrrh_RegisterFile_getValue0($rt_s(521));
26925
+ asrrh_RegisterFile_updateRegister0($rt_s(520), Long_fromInt(jur_RandomGenerator_nextInt($stream, var$3)));
26925
26926
  } catch ($$e) {
26926
26927
  $$je = $rt_wrapException($$e);
26927
26928
  if ($$je instanceof jl_IllegalArgumentException) {
@@ -26965,11 +26966,11 @@ var asrrs_SyscallRead_simulate = ($this, $statement) => {
26965
26966
  switch ($ptr) {
26966
26967
  case 0:
26967
26968
  a: {
26968
- $byteAddress = asrrh_RegisterFile_getValue0($rt_s(504));
26969
+ $byteAddress = asrrh_RegisterFile_getValue0($rt_s(521));
26969
26970
  $index = 0;
26970
- $length = asrrh_RegisterFile_getValue0($rt_s(505));
26971
+ $length = asrrh_RegisterFile_getValue0($rt_s(522));
26971
26972
  $myBuffer = $rt_createByteArray($length);
26972
- var$6 = asrrh_RegisterFile_getValue0($rt_s(503));
26973
+ var$6 = asrrh_RegisterFile_getValue0($rt_s(520));
26973
26974
  asru_SystemIO_$callClinit();
26974
26975
  if (!asru_SystemIO$FileIOData_fdInUse(var$6, 0)) {
26975
26976
  $e = new jl_StringBuilder();
@@ -27027,7 +27028,7 @@ var asrrs_SyscallRead_simulate = ($this, $statement) => {
27027
27028
  }
27028
27029
  }
27029
27030
  $myBuffer = $myBuffer.data;
27030
- asrrh_RegisterFile_updateRegister0($rt_s(503), Long_fromInt($retLength));
27031
+ asrrh_RegisterFile_updateRegister0($rt_s(520), Long_fromInt($retLength));
27031
27032
  d: {
27032
27033
  try {
27033
27034
  while ($index < $retLength) {
@@ -27096,7 +27097,7 @@ var asrrs_SyscallRead_simulate = ($this, $statement) => {
27096
27097
  $retLength = -1;
27097
27098
  }
27098
27099
  $myBuffer = $myBuffer.data;
27099
- asrrh_RegisterFile_updateRegister0($rt_s(503), Long_fromInt($retLength));
27100
+ asrrh_RegisterFile_updateRegister0($rt_s(520), Long_fromInt($retLength));
27100
27101
  c: {
27101
27102
  try {
27102
27103
  while ($index < $retLength) {
@@ -27167,7 +27168,7 @@ var asrrs_SyscallRead_simulate = ($this, $statement) => {
27167
27168
  $retLength = -1;
27168
27169
  }
27169
27170
  $myBuffer = $myBuffer.data;
27170
- asrrh_RegisterFile_updateRegister0($rt_s(503), Long_fromInt($retLength));
27171
+ asrrh_RegisterFile_updateRegister0($rt_s(520), Long_fromInt($retLength));
27171
27172
  f: {
27172
27173
  try {
27173
27174
  while ($index < $retLength) {
@@ -27222,10 +27223,10 @@ var asrrs_SyscallWrite_simulate = ($this, $statement) => {
27222
27223
  main: while (true) {
27223
27224
  switch ($ptr) {
27224
27225
  case 0:
27225
- $byteAddress = asrrh_RegisterFile_getValue0($rt_s(504));
27226
- $reqLength = asrrh_RegisterFile_getValue0($rt_s(505));
27226
+ $byteAddress = asrrh_RegisterFile_getValue0($rt_s(521));
27227
+ $reqLength = asrrh_RegisterFile_getValue0($rt_s(522));
27227
27228
  if ($reqLength < 0) {
27228
- asrrh_RegisterFile_updateRegister0($rt_s(503), Long_fromInt(-1));
27229
+ asrrh_RegisterFile_updateRegister0($rt_s(520), Long_fromInt(-1));
27229
27230
  return;
27230
27231
  }
27231
27232
  $index = 0;
@@ -27271,8 +27272,8 @@ var asrrs_SyscallWrite_simulate = ($this, $statement) => {
27271
27272
  $rt_throw(var$9);
27272
27273
  }
27273
27274
  c: {
27274
- $byteAddress = asrrh_RegisterFile_getValue0($rt_s(503));
27275
- $retValue = asrrh_RegisterFile_getValue0($rt_s(505));
27275
+ $byteAddress = asrrh_RegisterFile_getValue0($rt_s(520));
27276
+ $retValue = asrrh_RegisterFile_getValue0($rt_s(522));
27276
27277
  asru_SystemIO_$callClinit();
27277
27278
  if (!asru_SystemIO$FileIOData_fdInUse($byteAddress, 1)) {
27278
27279
  $statement = new jl_StringBuilder();
@@ -27400,7 +27401,7 @@ var asrrs_SyscallWrite_simulate = ($this, $statement) => {
27400
27401
  $retValue = -1;
27401
27402
  }
27402
27403
  }
27403
- asrrh_RegisterFile_updateRegister0($rt_s(503), Long_fromInt($retValue));
27404
+ asrrh_RegisterFile_updateRegister0($rt_s(520), Long_fromInt($retValue));
27404
27405
  return;
27405
27406
  case 1:
27406
27407
  i: {
@@ -27443,7 +27444,7 @@ var asrrs_SyscallWrite_simulate = ($this, $statement) => {
27443
27444
  asru_SystemIO_fileErrorString = jl_AbstractStringBuilder_toString($statement);
27444
27445
  $retValue = -1;
27445
27446
  }
27446
- asrrh_RegisterFile_updateRegister0($rt_s(503), Long_fromInt($retValue));
27447
+ asrrh_RegisterFile_updateRegister0($rt_s(520), Long_fromInt($retValue));
27447
27448
  return;
27448
27449
  case 2:
27449
27450
  i: {
@@ -27486,7 +27487,7 @@ var asrrs_SyscallWrite_simulate = ($this, $statement) => {
27486
27487
  asru_SystemIO_fileErrorString = jl_AbstractStringBuilder_toString($statement);
27487
27488
  $retValue = -1;
27488
27489
  }
27489
- asrrh_RegisterFile_updateRegister0($rt_s(503), Long_fromInt($retValue));
27490
+ asrrh_RegisterFile_updateRegister0($rt_s(520), Long_fromInt($retValue));
27490
27491
  return;
27491
27492
  case 3:
27492
27493
  i: {
@@ -27529,7 +27530,7 @@ var asrrs_SyscallWrite_simulate = ($this, $statement) => {
27529
27530
  asru_SystemIO_fileErrorString = jl_AbstractStringBuilder_toString($statement);
27530
27531
  $retValue = -1;
27531
27532
  }
27532
- asrrh_RegisterFile_updateRegister0($rt_s(503), Long_fromInt($retValue));
27533
+ asrrh_RegisterFile_updateRegister0($rt_s(520), Long_fromInt($retValue));
27533
27534
  return;
27534
27535
  default:
27535
27536
  $rt_invalidPointer();
@@ -27555,7 +27556,7 @@ var asrrs_SyscallReadChar_simulate = ($this, $statement) => {
27555
27556
  switch ($ptr) {
27556
27557
  case 0:
27557
27558
  try {
27558
- var$2 = $rt_s(503);
27559
+ var$2 = $rt_s(520);
27559
27560
  var$3 = asrr_AbstractSyscall_getNumber($this);
27560
27561
  $ptr = 1;
27561
27562
  continue main;
@@ -27771,7 +27772,7 @@ var asrrs_SyscallReadInt_simulate = ($this, $statement) => {
27771
27772
  switch ($ptr) {
27772
27773
  case 0:
27773
27774
  try {
27774
- var$2 = $rt_s(503);
27775
+ var$2 = $rt_s(520);
27775
27776
  var$3 = asrr_AbstractSyscall_getNumber($this);
27776
27777
  $ptr = 1;
27777
27778
  continue main;
@@ -27846,8 +27847,8 @@ var asrrs_SyscallReadString_simulate = ($this, $statement) => {
27846
27847
  main: while (true) {
27847
27848
  switch ($ptr) {
27848
27849
  case 0:
27849
- $buf = asrrh_RegisterFile_getValue0($rt_s(503));
27850
- $maxLength = asrrh_RegisterFile_getValue0($rt_s(504)) - 1 | 0;
27850
+ $buf = asrrh_RegisterFile_getValue0($rt_s(520));
27851
+ $maxLength = asrrh_RegisterFile_getValue0($rt_s(521)) - 1 | 0;
27851
27852
  $addNullByte = 1;
27852
27853
  if ($maxLength < 0) {
27853
27854
  $maxLength = 0;
@@ -27914,7 +27915,7 @@ var asrrs_SyscallSbrk_simulate = ($this, $statement) => {
27914
27915
  a: {
27915
27916
  try {
27916
27917
  asr_Globals_$callClinit();
27917
- asrrh_RegisterFile_updateRegister0($rt_s(503), Long_fromInt(asrrh_Memory_allocateBytesFromHeap(asr_Globals_memory, asrrh_RegisterFile_getValue0($rt_s(503)))));
27918
+ asrrh_RegisterFile_updateRegister0($rt_s(520), Long_fromInt(asrrh_Memory_allocateBytesFromHeap(asr_Globals_memory, asrrh_RegisterFile_getValue0($rt_s(520)))));
27918
27919
  } catch ($$e) {
27919
27920
  $$je = $rt_wrapException($$e);
27920
27921
  if ($$je instanceof jl_IllegalArgumentException) {
@@ -27961,7 +27962,7 @@ var asrrs_SyscallSleep_simulate = ($this, $statement) => {
27961
27962
  main: while (true) {
27962
27963
  switch ($ptr) {
27963
27964
  case 0:
27964
- var$2 = asrrh_RegisterFile_getValue0($rt_s(503));
27965
+ var$2 = asrrh_RegisterFile_getValue0($rt_s(520));
27965
27966
  asru_SystemIO_$callClinit();
27966
27967
  $statement = asru_SystemIO_io;
27967
27968
  var$3 = $rt_s(1595);
@@ -28007,7 +28008,7 @@ var asrrs_SyscallTime_simulate = ($this, $statement) => {
28007
28008
  case 0:
28008
28009
  asru_SystemIO_$callClinit();
28009
28010
  $statement = asru_SystemIO_io;
28010
- var$2 = $rt_s(572);
28011
+ var$2 = $rt_s(505);
28011
28012
  var$3 = $rt_createArray(jl_Object, 0);
28012
28013
  $ptr = 1;
28013
28014
  case 1:
@@ -28018,8 +28019,8 @@ var asrrs_SyscallTime_simulate = ($this, $statement) => {
28018
28019
  var$4 = $tmp;
28019
28020
  $value = Long_fromNumber(var$4);
28020
28021
  asru_Binary_$callClinit();
28021
- asrrh_RegisterFile_updateRegister0($rt_s(503), Long_fromInt(Long_hi(Long_shl($value, 32))));
28022
- asrrh_RegisterFile_updateRegister0($rt_s(504), Long_fromInt(Long_hi($value)));
28022
+ asrrh_RegisterFile_updateRegister0($rt_s(520), Long_fromInt(Long_hi(Long_shl($value, 32))));
28023
+ asrrh_RegisterFile_updateRegister0($rt_s(521), Long_fromInt(Long_hi($value)));
28023
28024
  return;
28024
28025
  default:
28025
28026
  $rt_invalidPointer();
@@ -28058,13 +28059,13 @@ var asrrs_SyscallGetCWD_simulate = ($this, $statement) => {
28058
28059
  jl_System_properties = $path;
28059
28060
  }
28060
28061
  $path = ju_Properties_getProperty(jl_System_properties, $rt_s(1615));
28061
- $buf = asrrh_RegisterFile_getValue0($rt_s(503));
28062
- $length = asrrh_RegisterFile_getValue0($rt_s(504));
28062
+ $buf = asrrh_RegisterFile_getValue0($rt_s(520));
28063
+ $length = asrrh_RegisterFile_getValue0($rt_s(521));
28063
28064
  jnc_StandardCharsets_$callClinit();
28064
28065
  $utf8BytesList = jl_String_getBytes($path, jnc_StandardCharsets_UTF_8).data;
28065
28066
  var$8 = $utf8BytesList.length;
28066
28067
  if ($length < (var$8 + 1 | 0)) {
28067
- asrrh_RegisterFile_updateRegister0($rt_s(503), Long_fromInt(-1));
28068
+ asrrh_RegisterFile_updateRegister0($rt_s(520), Long_fromInt(-1));
28068
28069
  return;
28069
28070
  }
28070
28071
  a: {
@@ -28324,6 +28325,40 @@ var jur_BackReferencedSingleSet_findBack = ($this, $stringIndex, $startSearch, $
28324
28325
  var jur_BackReferencedSingleSet_processBackRefReplacement = ($this) => {
28325
28326
  return null;
28326
28327
  };
28328
+ var jus_IntStream = $rt_classWithoutFields(0);
28329
+ var jusi_SimpleIntStreamImpl = $rt_classWithoutFields();
28330
+ function jusi_MappingToIntStreamImpl() {
28331
+ let a = this;
28332
+ jusi_SimpleIntStreamImpl.call(a);
28333
+ a.$source0 = null;
28334
+ a.$mapper0 = null;
28335
+ }
28336
+ var jusi_MappingToIntStreamImpl_next = ($this, $consumer) => {
28337
+ let var$2, var$3, var$4, var$5, var$6;
28338
+ var$2 = $this.$source0;
28339
+ var$3 = new jusi_MappingToIntStreamImpl$next$lambda$_1_0();
28340
+ var$3.$_025 = $this;
28341
+ var$3.$_110 = $consumer;
28342
+ $consumer = var$2;
28343
+ a: {
28344
+ while (true) {
28345
+ var$4 = $consumer.$index1;
28346
+ if (var$4 >= $consumer.$end1)
28347
+ break a;
28348
+ var$5 = $consumer.$array8.data;
28349
+ $consumer.$index1 = var$4 + 1 | 0;
28350
+ var$2 = var$5[var$4];
28351
+ var$6 = var$3.$_110;
28352
+ var$2 = var$2;
28353
+ asr_JsRiscV_$callClinit();
28354
+ if (var$6.$test0(Long_lo(var$2.$getValue())))
28355
+ continue;
28356
+ else
28357
+ break;
28358
+ }
28359
+ }
28360
+ return $consumer.$index1 >= $consumer.$end1 ? 0 : 1;
28361
+ };
28327
28362
  var jm_Conversion = $rt_classWithoutFields();
28328
28363
  var jm_Conversion_digitFitInInt = null;
28329
28364
  var jm_Conversion_bigRadices = null;
@@ -28519,39 +28554,44 @@ var jm_Conversion__clinit_ = () => {
28519
28554
  jm_Conversion_digitFitInInt = $rt_createIntArrayFromData([-1, -1, 31, 19, 15, 13, 11, 11, 10, 9, 9, 8, 8, 8, 8, 7, 7, 7, 7, 7, 7, 7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 5]);
28520
28555
  jm_Conversion_bigRadices = $rt_createIntArrayFromData([-2147483648, 1162261467, 1073741824, 1220703125, 362797056, 1977326743, 1073741824, 387420489, 1e9, 214358881, 429981696, 815730721, 1475789056, 170859375, 268435456, 410338673, 612220032, 893871739, 128e7, 1801088541, 113379904, 148035889, 191102976, 244140625, 308915776, 387420489, 481890304, 594823321, 729e6, 887503681, 1073741824, 1291467969, 1544804416, 1838265625, 60466176]);
28521
28556
  };
28522
- var jus_IntStream = $rt_classWithoutFields(0);
28523
- var jusi_SimpleIntStreamImpl = $rt_classWithoutFields();
28524
- function jusi_MappingToIntStreamImpl() {
28557
+ function ju_AbstractList$1() {
28525
28558
  let a = this;
28526
- jusi_SimpleIntStreamImpl.call(a);
28527
- a.$source0 = null;
28528
- a.$mapper0 = null;
28559
+ jl_Object.call(a);
28560
+ a.$index4 = 0;
28561
+ a.$modCount1 = 0;
28562
+ a.$size2 = 0;
28563
+ a.$removeIndex = 0;
28564
+ a.$this$03 = null;
28529
28565
  }
28530
- var jusi_MappingToIntStreamImpl_next = ($this, $consumer) => {
28531
- let var$2, var$3, var$4, var$5, var$6;
28532
- var$2 = $this.$source0;
28533
- var$3 = new jusi_MappingToIntStreamImpl$next$lambda$_1_0();
28534
- var$3.$_025 = $this;
28535
- var$3.$_110 = $consumer;
28536
- $consumer = var$2;
28537
- a: {
28538
- while (true) {
28539
- var$4 = $consumer.$index1;
28540
- if (var$4 >= $consumer.$end1)
28541
- break a;
28542
- var$5 = $consumer.$array8.data;
28543
- $consumer.$index1 = var$4 + 1 | 0;
28544
- var$2 = var$5[var$4];
28545
- var$6 = var$3.$_110;
28546
- var$2 = var$2;
28547
- asr_JsRiscV_$callClinit();
28548
- if (var$6.$test0(Long_lo(var$2.$getValue())))
28549
- continue;
28550
- else
28551
- break;
28552
- }
28566
+ var ju_AbstractList$1_hasNext = ($this) => {
28567
+ return $this.$index4 >= $this.$size2 ? 0 : 1;
28568
+ };
28569
+ var ju_AbstractList$1_next = ($this) => {
28570
+ let var$1, var$2, var$3;
28571
+ var$1 = $this.$modCount1;
28572
+ var$2 = $this.$this$03;
28573
+ if (var$1 != var$2.$modCount) {
28574
+ var$2 = new ju_ConcurrentModificationException();
28575
+ jl_Throwable__init_(var$2);
28576
+ $rt_throw(var$2);
28553
28577
  }
28554
- return $consumer.$index1 >= $consumer.$end1 ? 0 : 1;
28578
+ var$3 = $this.$index4;
28579
+ $this.$removeIndex = var$3;
28580
+ $this.$index4 = var$3 + 1 | 0;
28581
+ return var$2.$get0(var$3);
28582
+ };
28583
+ function ju_HashMap$1() {
28584
+ ju_AbstractSet.call(this);
28585
+ this.$this$0 = null;
28586
+ }
28587
+ var ju_HashMap$1_size = ($this) => {
28588
+ return $this.$this$0.$elementCount;
28589
+ };
28590
+ var ju_HashMap$1_iterator = ($this) => {
28591
+ let var$1;
28592
+ var$1 = new ju_HashMap$KeyIterator();
28593
+ ju_HashMap$AbstractMapIterator__init_(var$1, $this.$this$0);
28594
+ return var$1;
28555
28595
  };
28556
28596
  var asru_Binary = $rt_classWithoutFields();
28557
28597
  var asru_Binary_chars = null;
@@ -28795,31 +28835,68 @@ var asru_Binary_bitValue = ($value, $bit) => {
28795
28835
  var asru_Binary__clinit_ = () => {
28796
28836
  asru_Binary_chars = $rt_createCharArrayFromData([48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 97, 98, 99, 100, 101, 102]);
28797
28837
  };
28798
- function ju_AbstractList$1() {
28838
+ var asrs_Simulator$Reason = $rt_classWithoutFields(jl_Enum);
28839
+ var asrs_Simulator$Reason_BREAKPOINT = null;
28840
+ var asrs_Simulator$Reason_EXCEPTION = null;
28841
+ var asrs_Simulator$Reason_MAX_STEPS = null;
28842
+ var asrs_Simulator$Reason_NORMAL_TERMINATION = null;
28843
+ var asrs_Simulator$Reason_CLIFF_TERMINATION = null;
28844
+ var asrs_Simulator$Reason_PAUSE = null;
28845
+ var asrs_Simulator$Reason_STOP = null;
28846
+ var asrs_Simulator$Reason_$VALUES = null;
28847
+ var asrs_Simulator$Reason_$callClinit = () => {
28848
+ asrs_Simulator$Reason_$callClinit = $rt_eraseClinit(asrs_Simulator$Reason);
28849
+ asrs_Simulator$Reason__clinit_();
28850
+ };
28851
+ var asrs_Simulator$Reason__init_0 = ($this, var$1, var$2) => {
28852
+ asrs_Simulator$Reason_$callClinit();
28853
+ jl_Enum__init_($this, var$1, var$2);
28854
+ };
28855
+ var asrs_Simulator$Reason__init_ = (var_0, var_1) => {
28856
+ let var_2 = new asrs_Simulator$Reason();
28857
+ asrs_Simulator$Reason__init_0(var_2, var_0, var_1);
28858
+ return var_2;
28859
+ };
28860
+ var asrs_Simulator$Reason__clinit_ = () => {
28861
+ let var$1, var$2, var$3;
28862
+ asrs_Simulator$Reason_BREAKPOINT = asrs_Simulator$Reason__init_($rt_s(1624), 0);
28863
+ asrs_Simulator$Reason_EXCEPTION = asrs_Simulator$Reason__init_($rt_s(1625), 1);
28864
+ asrs_Simulator$Reason_MAX_STEPS = asrs_Simulator$Reason__init_($rt_s(1626), 2);
28865
+ asrs_Simulator$Reason_NORMAL_TERMINATION = asrs_Simulator$Reason__init_($rt_s(1627), 3);
28866
+ asrs_Simulator$Reason_CLIFF_TERMINATION = asrs_Simulator$Reason__init_($rt_s(1628), 4);
28867
+ asrs_Simulator$Reason_PAUSE = asrs_Simulator$Reason__init_($rt_s(1629), 5);
28868
+ var$1 = asrs_Simulator$Reason__init_($rt_s(1630), 6);
28869
+ asrs_Simulator$Reason_STOP = var$1;
28870
+ var$2 = $rt_createArray(asrs_Simulator$Reason, 7);
28871
+ var$3 = var$2.data;
28872
+ var$3[0] = asrs_Simulator$Reason_BREAKPOINT;
28873
+ var$3[1] = asrs_Simulator$Reason_EXCEPTION;
28874
+ var$3[2] = asrs_Simulator$Reason_MAX_STEPS;
28875
+ var$3[3] = asrs_Simulator$Reason_NORMAL_TERMINATION;
28876
+ var$3[4] = asrs_Simulator$Reason_CLIFF_TERMINATION;
28877
+ var$3[5] = asrs_Simulator$Reason_PAUSE;
28878
+ var$3[6] = var$1;
28879
+ asrs_Simulator$Reason_$VALUES = var$2;
28880
+ };
28881
+ var juf_Predicate = $rt_classWithoutFields(0);
28882
+ function asr_RARS$getStatementsAtSourceLocation$lambda$_6_0() {
28799
28883
  let a = this;
28800
28884
  jl_Object.call(a);
28801
- a.$index4 = 0;
28802
- a.$modCount1 = 0;
28803
- a.$size2 = 0;
28804
- a.$removeIndex = 0;
28805
- a.$this$03 = null;
28885
+ a.$_08 = null;
28886
+ a.$_14 = 0;
28806
28887
  }
28807
- var ju_AbstractList$1_hasNext = ($this) => {
28808
- return $this.$index4 >= $this.$size2 ? 0 : 1;
28888
+ var asrrh_Stack = $rt_classWithoutFields();
28889
+ var asrrh_Stack_callStack = null;
28890
+ var asrrh_Stack_$callClinit = () => {
28891
+ asrrh_Stack_$callClinit = $rt_eraseClinit(asrrh_Stack);
28892
+ asrrh_Stack__clinit_();
28809
28893
  };
28810
- var ju_AbstractList$1_next = ($this) => {
28811
- let var$1, var$2, var$3;
28812
- var$1 = $this.$modCount1;
28813
- var$2 = $this.$this$03;
28814
- if (var$1 != var$2.$modCount) {
28815
- var$2 = new ju_ConcurrentModificationException();
28816
- jl_Throwable__init_(var$2);
28817
- $rt_throw(var$2);
28818
- }
28819
- var$3 = $this.$index4;
28820
- $this.$removeIndex = var$3;
28821
- $this.$index4 = var$3 + 1 | 0;
28822
- return var$2.$get0(var$3);
28894
+ var asrrh_Stack_getCallStack = () => {
28895
+ asrrh_Stack_$callClinit();
28896
+ return asrrh_Stack_callStack;
28897
+ };
28898
+ var asrrh_Stack__clinit_ = () => {
28899
+ asrrh_Stack_callStack = ju_ArrayList__init_();
28823
28900
  };
28824
28901
  var asrrh_InterruptController = $rt_classWithoutFields();
28825
28902
  var asrrh_InterruptController_lock = null;
@@ -28855,14 +28932,14 @@ var asrrh_InterruptController_timerPending = () => {
28855
28932
  var asrrh_InterruptController_claimExternal = () => {
28856
28933
  asrrh_InterruptController_$callClinit();
28857
28934
  if (!asrrh_InterruptController_$assertionsDisabled && !asrrh_InterruptController_externalPending0)
28858
- $rt_throw(jl_AssertionError__init_($rt_s(1624)));
28935
+ $rt_throw(jl_AssertionError__init_($rt_s(1631)));
28859
28936
  asrrh_InterruptController_externalPending0 = 0;
28860
28937
  return asrrh_InterruptController_externalValue;
28861
28938
  };
28862
28939
  var asrrh_InterruptController_claimTimer = () => {
28863
28940
  asrrh_InterruptController_$callClinit();
28864
28941
  if (!asrrh_InterruptController_$assertionsDisabled && !asrrh_InterruptController_timerPending0)
28865
- $rt_throw(jl_AssertionError__init_($rt_s(1625)));
28942
+ $rt_throw(jl_AssertionError__init_($rt_s(1632)));
28866
28943
  asrrh_InterruptController_timerPending0 = 0;
28867
28944
  return asrrh_InterruptController_timerValue;
28868
28945
  };
@@ -28871,9 +28948,9 @@ var asrrh_InterruptController_claimTrap = () => {
28871
28948
  asrrh_InterruptController_$callClinit();
28872
28949
  var$1 = asrrh_InterruptController_$assertionsDisabled;
28873
28950
  if (!var$1 && !asrrh_InterruptController_trapPending)
28874
- $rt_throw(jl_AssertionError__init_($rt_s(1626)));
28951
+ $rt_throw(jl_AssertionError__init_($rt_s(1633)));
28875
28952
  if (!var$1 && asrrh_InterruptController_trapPC != (asrrh_RegisterFile_getProgramCounter() - 4 | 0))
28876
- $rt_throw(jl_AssertionError__init_($rt_s(1627)));
28953
+ $rt_throw(jl_AssertionError__init_($rt_s(1634)));
28877
28954
  asrrh_InterruptController_trapPending = 0;
28878
28955
  return asrrh_InterruptController_trapSE;
28879
28956
  };
@@ -28910,69 +28987,6 @@ var asrrh_ReservationTable__clinit_ = () => {
28910
28987
  asrrh_ReservationTable_address = 0;
28911
28988
  asrrh_ReservationTable_valid = 0;
28912
28989
  };
28913
- var asrrh_Stack = $rt_classWithoutFields();
28914
- var asrrh_Stack_callStack = null;
28915
- var asrrh_Stack_$callClinit = () => {
28916
- asrrh_Stack_$callClinit = $rt_eraseClinit(asrrh_Stack);
28917
- asrrh_Stack__clinit_();
28918
- };
28919
- var asrrh_Stack_getCallStack = () => {
28920
- asrrh_Stack_$callClinit();
28921
- return asrrh_Stack_callStack;
28922
- };
28923
- var asrrh_Stack__clinit_ = () => {
28924
- asrrh_Stack_callStack = ju_ArrayList__init_();
28925
- };
28926
- var juf_Predicate = $rt_classWithoutFields(0);
28927
- function asr_RARS$getStatementsAtSourceLocation$lambda$_6_0() {
28928
- let a = this;
28929
- jl_Object.call(a);
28930
- a.$_08 = null;
28931
- a.$_14 = 0;
28932
- }
28933
- var asrs_Simulator$Reason = $rt_classWithoutFields(jl_Enum);
28934
- var asrs_Simulator$Reason_BREAKPOINT = null;
28935
- var asrs_Simulator$Reason_EXCEPTION = null;
28936
- var asrs_Simulator$Reason_MAX_STEPS = null;
28937
- var asrs_Simulator$Reason_NORMAL_TERMINATION = null;
28938
- var asrs_Simulator$Reason_CLIFF_TERMINATION = null;
28939
- var asrs_Simulator$Reason_PAUSE = null;
28940
- var asrs_Simulator$Reason_STOP = null;
28941
- var asrs_Simulator$Reason_$VALUES = null;
28942
- var asrs_Simulator$Reason_$callClinit = () => {
28943
- asrs_Simulator$Reason_$callClinit = $rt_eraseClinit(asrs_Simulator$Reason);
28944
- asrs_Simulator$Reason__clinit_();
28945
- };
28946
- var asrs_Simulator$Reason__init_0 = ($this, var$1, var$2) => {
28947
- asrs_Simulator$Reason_$callClinit();
28948
- jl_Enum__init_($this, var$1, var$2);
28949
- };
28950
- var asrs_Simulator$Reason__init_ = (var_0, var_1) => {
28951
- let var_2 = new asrs_Simulator$Reason();
28952
- asrs_Simulator$Reason__init_0(var_2, var_0, var_1);
28953
- return var_2;
28954
- };
28955
- var asrs_Simulator$Reason__clinit_ = () => {
28956
- let var$1, var$2, var$3;
28957
- asrs_Simulator$Reason_BREAKPOINT = asrs_Simulator$Reason__init_($rt_s(1628), 0);
28958
- asrs_Simulator$Reason_EXCEPTION = asrs_Simulator$Reason__init_($rt_s(1629), 1);
28959
- asrs_Simulator$Reason_MAX_STEPS = asrs_Simulator$Reason__init_($rt_s(1630), 2);
28960
- asrs_Simulator$Reason_NORMAL_TERMINATION = asrs_Simulator$Reason__init_($rt_s(1631), 3);
28961
- asrs_Simulator$Reason_CLIFF_TERMINATION = asrs_Simulator$Reason__init_($rt_s(1632), 4);
28962
- asrs_Simulator$Reason_PAUSE = asrs_Simulator$Reason__init_($rt_s(1633), 5);
28963
- var$1 = asrs_Simulator$Reason__init_($rt_s(1634), 6);
28964
- asrs_Simulator$Reason_STOP = var$1;
28965
- var$2 = $rt_createArray(asrs_Simulator$Reason, 7);
28966
- var$3 = var$2.data;
28967
- var$3[0] = asrs_Simulator$Reason_BREAKPOINT;
28968
- var$3[1] = asrs_Simulator$Reason_EXCEPTION;
28969
- var$3[2] = asrs_Simulator$Reason_MAX_STEPS;
28970
- var$3[3] = asrs_Simulator$Reason_NORMAL_TERMINATION;
28971
- var$3[4] = asrs_Simulator$Reason_CLIFF_TERMINATION;
28972
- var$3[5] = asrs_Simulator$Reason_PAUSE;
28973
- var$3[6] = var$1;
28974
- asrs_Simulator$Reason_$VALUES = var$2;
28975
- };
28976
28990
  function jur_AbstractCharClass$LazyJavaLowerCase$1() {
28977
28991
  jur_AbstractCharClass.call(this);
28978
28992
  this.$this$026 = null;
@@ -29285,19 +29299,6 @@ var ju_LinkedHashMapEntrySet_iterator = ($this) => {
29285
29299
  var$1.$futureEntry0 = !var$3 ? var$2.$head : var$2.$tail0;
29286
29300
  return var$1;
29287
29301
  };
29288
- function ju_HashMap$1() {
29289
- ju_AbstractSet.call(this);
29290
- this.$this$0 = null;
29291
- }
29292
- var ju_HashMap$1_size = ($this) => {
29293
- return $this.$this$0.$elementCount;
29294
- };
29295
- var ju_HashMap$1_iterator = ($this) => {
29296
- let var$1;
29297
- var$1 = new ju_HashMap$KeyIterator();
29298
- ju_HashMap$AbstractMapIterator__init_(var$1, $this.$this$0);
29299
- return var$1;
29300
- };
29301
29302
  var otji_JSWrapper$JSTransparentInt = $rt_classWithoutFields();
29302
29303
  var otjc_JSBoolean = $rt_classWithoutFields();
29303
29304
  var ju_NoSuchElementException = $rt_classWithoutFields(jl_RuntimeException);
@@ -37694,12 +37695,12 @@ var asrs_Simulator$SimThread_handleTrap = ($this, $se, $pc) => {
37694
37695
  if (!$utvec && $se.$cause < 0)
37695
37696
  $rt_throw(jl_AssertionError__init_($rt_s(1874)));
37696
37697
  a: {
37697
- asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(569), Long_fromInt($se.$cause));
37698
- asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(568), Long_fromInt($pc));
37699
- asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(570), Long_fromInt($se.$value5));
37700
- $base = asrrh_ControlAndStatusRegisterFile_getValue($rt_s(566)) & -4;
37698
+ asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(502), Long_fromInt($se.$cause));
37699
+ asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(501), Long_fromInt($pc));
37700
+ asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(503), Long_fromInt($se.$value5));
37701
+ $base = asrrh_ControlAndStatusRegisterFile_getValue($rt_s(499)) & -4;
37701
37702
  $exceptionHandler = null;
37702
- if (!(asrrh_ControlAndStatusRegisterFile_getValue($rt_s(563)) & 1))
37703
+ if (!(asrrh_ControlAndStatusRegisterFile_getValue($rt_s(496)) & 1))
37703
37704
  var$6 = $exceptionHandler;
37704
37705
  else
37705
37706
  try {
@@ -37723,8 +37724,8 @@ var asrs_Simulator$SimThread_handleTrap = ($this, $se, $pc) => {
37723
37724
  asrs_Simulator$SimThread_stopExecution($this, 1, asrs_Simulator$Reason_EXCEPTION);
37724
37725
  return 0;
37725
37726
  }
37726
- asrrh_ControlAndStatusRegisterFile_orRegister($rt_s(563), Long_fromInt(16));
37727
- asrrh_ControlAndStatusRegisterFile_clearRegister($rt_s(563), Long_fromInt(1));
37727
+ asrrh_ControlAndStatusRegisterFile_orRegister($rt_s(496), Long_fromInt(16));
37728
+ asrrh_ControlAndStatusRegisterFile_clearRegister($rt_s(496), Long_fromInt(1));
37728
37729
  asrrh_RegisterFile_setProgramCounter($base);
37729
37730
  return 1;
37730
37731
  };
@@ -37735,12 +37736,12 @@ var asrs_Simulator$SimThread_handleInterrupt = ($this, $value, $cause, $pc) => {
37735
37736
  if (!$mode && !($cause & -2147483648))
37736
37737
  $rt_throw(jl_AssertionError__init_($rt_s(1875)));
37737
37738
  $code = $cause & 2147483647;
37738
- if (!$mode && !(asrrh_ControlAndStatusRegisterFile_getValue($rt_s(563)) & 1 && asrrh_ControlAndStatusRegisterFile_getValue($rt_s(565)) & 1 << $code))
37739
+ if (!$mode && !(asrrh_ControlAndStatusRegisterFile_getValue($rt_s(496)) & 1 && asrrh_ControlAndStatusRegisterFile_getValue($rt_s(498)) & 1 << $code))
37739
37740
  $rt_throw(jl_AssertionError__init_($rt_s(1876)));
37740
- asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(569), Long_fromInt($cause));
37741
- asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(568), Long_fromInt($pc));
37742
- asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(570), Long_fromInt($value));
37743
- $utvec = asrrh_ControlAndStatusRegisterFile_getValue($rt_s(566));
37741
+ asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(502), Long_fromInt($cause));
37742
+ asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(501), Long_fromInt($pc));
37743
+ asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(503), Long_fromInt($value));
37744
+ $utvec = asrrh_ControlAndStatusRegisterFile_getValue($rt_s(499));
37744
37745
  $base = $utvec & -4;
37745
37746
  if (($utvec & 3) == 2)
37746
37747
  $base = $base + (4 * $code | 0) | 0;
@@ -37762,8 +37763,8 @@ var asrs_Simulator$SimThread_handleInterrupt = ($this, $value, $cause, $pc) => {
37762
37763
  }
37763
37764
  }
37764
37765
  if (var$9 !== null) {
37765
- asrrh_ControlAndStatusRegisterFile_orRegister($rt_s(563), Long_fromInt(16));
37766
- asrrh_ControlAndStatusRegisterFile_clearRegister($rt_s(563), Long_fromInt(1));
37766
+ asrrh_ControlAndStatusRegisterFile_orRegister($rt_s(496), Long_fromInt(16));
37767
+ asrrh_ControlAndStatusRegisterFile_clearRegister($rt_s(496), Long_fromInt(1));
37767
37768
  asrrh_RegisterFile_setProgramCounter($base);
37768
37769
  return 1;
37769
37770
  }
@@ -37779,15 +37780,18 @@ var asrs_Simulator$SimThread_handleInterrupt = ($this, $value, $cause, $pc) => {
37779
37780
  return 0;
37780
37781
  };
37781
37782
  var asrs_Simulator$SimThread_run = ($this) => {
37782
- let $timeRegister, $uipRegister, $uieRegister, $ustatusRegister, $timeSampleCountdown, $backStepping, $backStepper, var$8, $steps, $ebreak, $waiting, var$12, $uip, $uie, $IE, $pendingExternal, $pendingTimer, $pendingTrap, $se, $e, $tmp_0, $instruction, $$je, $ptr, $tmp;
37783
+ let $timeRegister, $uipRegister, $uieRegister, $ustatusRegister, $timeSampleCountdown, $backStepping, $backStepper, var$8, $steps, $ebreak, $waiting, var$12, $uip, $uie, $IE, $pendingExternal, $pendingTimer, $pendingTrap, var$19, var$20, $se, $e, $tmp_0, $instruction, var$25, $$je, $ptr, $tmp;
37783
37784
  $ptr = 0;
37784
37785
  if ($rt_resuming()) {
37785
37786
  let $thread = $rt_nativeThread();
37786
37787
  $ptr = $thread.pop();
37788
+ var$25 = $thread.pop();
37787
37789
  $instruction = $thread.pop();
37788
37790
  $tmp_0 = $thread.pop();
37789
37791
  $e = $thread.pop();
37790
37792
  $se = $thread.pop();
37793
+ var$20 = $thread.pop();
37794
+ var$19 = $thread.pop();
37791
37795
  $pendingTrap = $thread.pop();
37792
37796
  $pendingTimer = $thread.pop();
37793
37797
  $pendingExternal = $thread.pop();
@@ -37811,10 +37815,10 @@ var asrs_Simulator$SimThread_run = ($this) => {
37811
37815
  main: while (true) {
37812
37816
  switch ($ptr) {
37813
37817
  case 0:
37814
- $timeRegister = asrrh_ControlAndStatusRegisterFile_getRegister($rt_s(572));
37815
- $uipRegister = asrrh_ControlAndStatusRegisterFile_getRegister($rt_s(571));
37816
- $uieRegister = asrrh_ControlAndStatusRegisterFile_getRegister($rt_s(565));
37817
- $ustatusRegister = asrrh_ControlAndStatusRegisterFile_getRegister($rt_s(563));
37818
+ $timeRegister = asrrh_ControlAndStatusRegisterFile_getRegister($rt_s(505));
37819
+ $uipRegister = asrrh_ControlAndStatusRegisterFile_getRegister($rt_s(504));
37820
+ $uieRegister = asrrh_ControlAndStatusRegisterFile_getRegister($rt_s(498));
37821
+ $ustatusRegister = asrrh_ControlAndStatusRegisterFile_getRegister($rt_s(496));
37818
37822
  $timeSampleCountdown = 1;
37819
37823
  $backStepping = asr_Settings_getBackSteppingEnabled(asr_Globals_getSettings());
37820
37824
  $backStepper = !$backStepping ? null : asr_Globals_program.$backStepper;
@@ -37859,24 +37863,23 @@ var asrs_Simulator$SimThread_run = ($this) => {
37859
37863
  $uip = Long_and($uip, Long_fromInt(-17));
37860
37864
  } else if ($pendingTrap && !asrs_Simulator$SimThread_handleTrap($this, asrrh_InterruptController_claimTrap(), $this.$pc0 - 4 | 0))
37861
37865
  break;
37862
- $uie = Long_or($uip, Long_fromInt((!$pendingExternal ? 0 : 256) | (!$pendingTimer ? 0 : 16)));
37863
- if (Long_ne($uie, $uipRegister.$getValueNoNotify()))
37864
- asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(571), $uie);
37865
- $pendingTrap = $this.$maxSteps;
37866
- if ($pendingTrap > 0) {
37866
+ var$19 = Long_or($uip, Long_fromInt((!$pendingExternal ? 0 : 256) | (!$pendingTimer ? 0 : 16)));
37867
+ if (Long_ne(var$19, $uipRegister.$getValueNoNotify()))
37868
+ asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(504), var$19);
37869
+ var$20 = $this.$maxSteps;
37870
+ if (var$20 > 0) {
37867
37871
  $steps = $steps + 1 | 0;
37868
- if ($steps > $pendingTrap) {
37872
+ if ($steps > var$20) {
37869
37873
  asrs_Simulator$Reason_$callClinit();
37870
37874
  asrs_Simulator$SimThread_stopExecution($this, 0, asrs_Simulator$Reason_MAX_STEPS);
37871
37875
  return;
37872
37876
  }
37873
37877
  }
37874
- $pendingTrap = asrrh_RegisterFile_getProgramCounter();
37875
- $this.$pc0 = $pendingTrap;
37876
- asrrh_RegisterFile_programCounterValue = asrrh_RegisterFile_programCounterValue + 4 | 0;
37878
+ $this.$pc0 = asrrh_RegisterFile_getProgramCounter();
37879
+ asrrh_RegisterFile_incrementPC();
37877
37880
  d: {
37878
37881
  try {
37879
- $se = asrrh_Memory_getStatement(asr_Globals_memory, $pendingTrap);
37882
+ $se = asrrh_Memory_getStatement(asr_Globals_memory, $this.$pc0);
37880
37883
  break d;
37881
37884
  } catch ($$e) {
37882
37885
  $$je = $rt_wrapException($$e);
@@ -37886,10 +37889,10 @@ var asrs_Simulator$SimThread_run = ($this) => {
37886
37889
  throw $$e;
37887
37890
  }
37888
37891
  }
37889
- $tmp_0 = asrrh_AddressErrorException_getType($e) != 5 ? asr_SimulationException__init_3($rt_s(1878), 0) : asr_SimulationException__init_3($rt_s(1879), 1);
37892
+ $tmp_0 = $e.$type0 != 5 ? asr_SimulationException__init_3($rt_s(1878), 0) : asr_SimulationException__init_3($rt_s(1879), 1);
37890
37893
  if (!asrrh_InterruptController_registerSynchronousTrap($tmp_0, $this.$pc0)) {
37891
37894
  $this.$pe = $tmp_0;
37892
- asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(568), Long_fromInt($this.$pc0));
37895
+ asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(501), Long_fromInt($this.$pc0));
37893
37896
  asrs_Simulator$Reason_$callClinit();
37894
37897
  asrs_Simulator$SimThread_stopExecution($this, 1, asrs_Simulator$Reason_EXCEPTION);
37895
37898
  return;
@@ -37911,10 +37914,10 @@ var asrs_Simulator$SimThread_run = ($this) => {
37911
37914
  if ($instruction !== null)
37912
37915
  break h;
37913
37916
  $e = new asr_SimulationException();
37914
- $instruction = asru_Binary_intToHexString(asr_ProgramStatement_getBinaryStatement($se));
37915
- $tmp_0 = jl_StringBuilder__init_();
37916
- jl_StringBuilder_append0(jl_StringBuilder_append(jl_StringBuilder_append($tmp_0, $rt_s(1880)), $instruction), var$12);
37917
- asr_SimulationException__init_4($e, $se, jl_StringBuilder_toString($tmp_0), 2);
37917
+ $tmp_0 = asru_Binary_intToHexString(asr_ProgramStatement_getBinaryStatement($se));
37918
+ var$25 = jl_StringBuilder__init_();
37919
+ jl_StringBuilder_append0(jl_StringBuilder_append(jl_StringBuilder_append(var$25, $rt_s(1880)), $tmp_0), var$12);
37920
+ asr_SimulationException__init_4($e, $se, jl_StringBuilder_toString(var$25), 2);
37918
37921
  $rt_throw($e);
37919
37922
  } catch ($$e) {
37920
37923
  $$je = $rt_wrapException($$e);
@@ -37975,7 +37978,7 @@ var asrs_Simulator$SimThread_run = ($this) => {
37975
37978
  $timeSampleCountdown = $timeSampleCountdown + -1 | 0;
37976
37979
  if ($timeSampleCountdown <= 0) {
37977
37980
  $timeSampleCountdown = 64;
37978
- asrrh_ControlAndStatusRegisterFile_updateRegisterBackdoor($timeRegister, jl_System_currentTimeMillis());
37981
+ asrrh_ControlAndStatusRegisterFile_updateRegisterBackdoor($timeRegister, jl_System_currentTimeMillis(), $this.$pc0);
37979
37982
  }
37980
37983
  if ($ebreak)
37981
37984
  break b;
@@ -37996,7 +37999,7 @@ var asrs_Simulator$SimThread_run = ($this) => {
37996
37999
  asrs_Simulator$SimThread_stopExecution($this, 0, asrs_Simulator$Reason_BREAKPOINT);
37997
38000
  return;
37998
38001
  }
37999
- if (asr_SimulationException_error($e) !== null) {
38002
+ if ($e.$message !== null) {
38000
38003
  asrs_Simulator$Reason_$callClinit();
38001
38004
  $this.$constructReturnReason = asrs_Simulator$Reason_EXCEPTION;
38002
38005
  $this.$pe = $e;
@@ -38042,14 +38045,14 @@ var asrs_Simulator$SimThread_run = ($this) => {
38042
38045
  }
38043
38046
  }
38044
38047
  }
38045
- $pendingTrap = $this.$pc0;
38046
- $pendingTrap = asrrh_InterruptController_registerSynchronousTrap($se, $pendingTrap);
38047
- if (!$pendingTrap) {
38048
+ var$20 = $this.$pc0;
38049
+ var$20 = asrrh_InterruptController_registerSynchronousTrap($se, var$20);
38050
+ if (!var$20) {
38048
38051
  $this.$pe = $se;
38049
- $pendingTrap = 1;
38052
+ var$20 = 1;
38050
38053
  asrs_Simulator$Reason_$callClinit();
38051
38054
  $instruction = asrs_Simulator$Reason_EXCEPTION;
38052
- asrs_Simulator$SimThread_stopExecution($this, $pendingTrap, $instruction);
38055
+ asrs_Simulator$SimThread_stopExecution($this, var$20, $instruction);
38053
38056
  return;
38054
38057
  }
38055
38058
  break j;
@@ -38057,48 +38060,49 @@ var asrs_Simulator$SimThread_run = ($this) => {
38057
38060
  break k;
38058
38061
  }
38059
38062
  if ($backStepping) {
38060
- $pendingTrap = $this.$pc0;
38061
- asrs_BackStepper_addDoNothing($backStepper, $pendingTrap);
38063
+ var$20 = $this.$pc0;
38064
+ asrs_BackStepper_addDoNothing($backStepper, var$20);
38062
38065
  }
38063
38066
  $ebreak = 1;
38064
38067
  break k;
38065
38068
  }
38066
38069
  if ($backStepping) {
38067
- $pendingTrap = $this.$pc0;
38068
- asrs_BackStepper_addDoNothing($backStepper, $pendingTrap);
38070
+ var$20 = $this.$pc0;
38071
+ asrs_BackStepper_addDoNothing($backStepper, var$20);
38069
38072
  }
38070
38073
  $waiting = 1;
38071
38074
  }
38072
- $pendingTrap = $this.$pc0;
38073
- asrrh_ControlAndStatusRegisterFile_incrementCounters($backStepping, $pendingTrap);
38074
- $pendingTrap = -1;
38075
- $timeSampleCountdown = $timeSampleCountdown + $pendingTrap | 0;
38075
+ var$20 = $this.$pc0;
38076
+ asrrh_ControlAndStatusRegisterFile_incrementCounters($backStepping, var$20);
38077
+ var$20 = -1;
38078
+ $timeSampleCountdown = $timeSampleCountdown + var$20 | 0;
38076
38079
  if ($timeSampleCountdown <= 0) {
38077
38080
  $timeSampleCountdown = 64;
38078
- $uie = jl_System_currentTimeMillis();
38079
- asrrh_ControlAndStatusRegisterFile_updateRegisterBackdoor($timeRegister, $uie);
38081
+ var$19 = jl_System_currentTimeMillis();
38082
+ var$20 = $this.$pc0;
38083
+ asrrh_ControlAndStatusRegisterFile_updateRegisterBackdoor($timeRegister, var$19, var$20);
38080
38084
  }
38081
38085
  o: {
38082
38086
  if (!$ebreak) {
38083
38087
  var$8 = $this.$breakPoints;
38084
38088
  if (var$8 === null)
38085
38089
  break o;
38086
- $pendingTrap = asrrh_RegisterFile_getProgramCounter();
38087
- $pendingTrap = ju_Arrays_binarySearch(var$8, $pendingTrap);
38088
- if ($pendingTrap < 0)
38090
+ var$20 = asrrh_RegisterFile_getProgramCounter();
38091
+ var$20 = ju_Arrays_binarySearch(var$8, var$20);
38092
+ if (var$20 < 0)
38089
38093
  break o;
38090
38094
  }
38091
- $pendingTrap = 0;
38095
+ var$20 = 0;
38092
38096
  asrs_Simulator$Reason_$callClinit();
38093
38097
  $instruction = asrs_Simulator$Reason_BREAKPOINT;
38094
- asrs_Simulator$SimThread_stopExecution($this, $pendingTrap, $instruction);
38098
+ asrs_Simulator$SimThread_stopExecution($this, var$20, $instruction);
38095
38099
  return;
38096
38100
  }
38097
38101
  if ($waiting) {
38098
- $pendingTrap = asrrh_InterruptController_externalPending();
38099
- if (!$pendingTrap) {
38100
- $pendingTrap = asrrh_InterruptController_timerPending();
38101
- if (!$pendingTrap) {
38102
+ var$20 = asrrh_InterruptController_externalPending();
38103
+ if (!var$20) {
38104
+ var$20 = asrrh_InterruptController_timerPending();
38105
+ if (!var$20) {
38102
38106
  $ptr = 2;
38103
38107
  continue main;
38104
38108
  }
@@ -38136,24 +38140,23 @@ var asrs_Simulator$SimThread_run = ($this) => {
38136
38140
  $uip = Long_and($uip, Long_fromInt(-17));
38137
38141
  } else if ($pendingTrap && !asrs_Simulator$SimThread_handleTrap($this, asrrh_InterruptController_claimTrap(), $this.$pc0 - 4 | 0))
38138
38142
  break;
38139
- $uie = Long_or($uip, Long_fromInt((!$pendingExternal ? 0 : 256) | (!$pendingTimer ? 0 : 16)));
38140
- if (Long_ne($uie, $uipRegister.$getValueNoNotify()))
38141
- asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(571), $uie);
38142
- $pendingTrap = $this.$maxSteps;
38143
- if ($pendingTrap > 0) {
38143
+ var$19 = Long_or($uip, Long_fromInt((!$pendingExternal ? 0 : 256) | (!$pendingTimer ? 0 : 16)));
38144
+ if (Long_ne(var$19, $uipRegister.$getValueNoNotify()))
38145
+ asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(504), var$19);
38146
+ var$20 = $this.$maxSteps;
38147
+ if (var$20 > 0) {
38144
38148
  $steps = $steps + 1 | 0;
38145
- if ($steps > $pendingTrap) {
38149
+ if ($steps > var$20) {
38146
38150
  asrs_Simulator$Reason_$callClinit();
38147
38151
  asrs_Simulator$SimThread_stopExecution($this, 0, asrs_Simulator$Reason_MAX_STEPS);
38148
38152
  return;
38149
38153
  }
38150
38154
  }
38151
- $pendingTrap = asrrh_RegisterFile_getProgramCounter();
38152
- $this.$pc0 = $pendingTrap;
38153
- asrrh_RegisterFile_programCounterValue = asrrh_RegisterFile_programCounterValue + 4 | 0;
38155
+ $this.$pc0 = asrrh_RegisterFile_getProgramCounter();
38156
+ asrrh_RegisterFile_incrementPC();
38154
38157
  r: {
38155
38158
  try {
38156
- $se = asrrh_Memory_getStatement(asr_Globals_memory, $pendingTrap);
38159
+ $se = asrrh_Memory_getStatement(asr_Globals_memory, $this.$pc0);
38157
38160
  break r;
38158
38161
  } catch ($$e) {
38159
38162
  $$je = $rt_wrapException($$e);
@@ -38163,10 +38166,10 @@ var asrs_Simulator$SimThread_run = ($this) => {
38163
38166
  throw $$e;
38164
38167
  }
38165
38168
  }
38166
- $tmp_0 = asrrh_AddressErrorException_getType($e) != 5 ? asr_SimulationException__init_3($rt_s(1878), 0) : asr_SimulationException__init_3($rt_s(1879), 1);
38169
+ $tmp_0 = $e.$type0 != 5 ? asr_SimulationException__init_3($rt_s(1878), 0) : asr_SimulationException__init_3($rt_s(1879), 1);
38167
38170
  if (!asrrh_InterruptController_registerSynchronousTrap($tmp_0, $this.$pc0)) {
38168
38171
  $this.$pe = $tmp_0;
38169
- asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(568), Long_fromInt($this.$pc0));
38172
+ asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(501), Long_fromInt($this.$pc0));
38170
38173
  asrs_Simulator$Reason_$callClinit();
38171
38174
  asrs_Simulator$SimThread_stopExecution($this, 1, asrs_Simulator$Reason_EXCEPTION);
38172
38175
  return;
@@ -38188,10 +38191,10 @@ var asrs_Simulator$SimThread_run = ($this) => {
38188
38191
  if ($instruction !== null)
38189
38192
  break v;
38190
38193
  $e = new asr_SimulationException();
38191
- $instruction = asru_Binary_intToHexString(asr_ProgramStatement_getBinaryStatement($se));
38192
- $tmp_0 = jl_StringBuilder__init_();
38193
- jl_StringBuilder_append0(jl_StringBuilder_append(jl_StringBuilder_append($tmp_0, $rt_s(1880)), $instruction), var$12);
38194
- asr_SimulationException__init_4($e, $se, jl_StringBuilder_toString($tmp_0), 2);
38194
+ $tmp_0 = asru_Binary_intToHexString(asr_ProgramStatement_getBinaryStatement($se));
38195
+ var$25 = jl_StringBuilder__init_();
38196
+ jl_StringBuilder_append0(jl_StringBuilder_append(jl_StringBuilder_append(var$25, $rt_s(1880)), $tmp_0), var$12);
38197
+ asr_SimulationException__init_4($e, $se, jl_StringBuilder_toString(var$25), 2);
38195
38198
  $rt_throw($e);
38196
38199
  } catch ($$e) {
38197
38200
  $$je = $rt_wrapException($$e);
@@ -38226,14 +38229,14 @@ var asrs_Simulator$SimThread_run = ($this) => {
38226
38229
  $$je = $rt_wrapException($$e);
38227
38230
  if ($$je instanceof asr_SimulationException) {
38228
38231
  $se = $$je;
38229
- $pendingTrap = $this.$pc0;
38230
- $pendingTrap = asrrh_InterruptController_registerSynchronousTrap($se, $pendingTrap);
38231
- if (!$pendingTrap) {
38232
+ var$20 = $this.$pc0;
38233
+ var$20 = asrrh_InterruptController_registerSynchronousTrap($se, var$20);
38234
+ if (!var$20) {
38232
38235
  $this.$pe = $se;
38233
- $pendingTrap = 1;
38236
+ var$20 = 1;
38234
38237
  asrs_Simulator$Reason_$callClinit();
38235
38238
  $instruction = asrs_Simulator$Reason_EXCEPTION;
38236
- asrs_Simulator$SimThread_stopExecution($this, $pendingTrap, $instruction);
38239
+ asrs_Simulator$SimThread_stopExecution($this, var$20, $instruction);
38237
38240
  return;
38238
38241
  }
38239
38242
  continue q;
@@ -38243,42 +38246,43 @@ var asrs_Simulator$SimThread_run = ($this) => {
38243
38246
  }
38244
38247
  }
38245
38248
  if ($backStepping) {
38246
- $pendingTrap = $this.$pc0;
38247
- asrs_BackStepper_addDoNothing($backStepper, $pendingTrap);
38249
+ var$20 = $this.$pc0;
38250
+ asrs_BackStepper_addDoNothing($backStepper, var$20);
38248
38251
  }
38249
38252
  $ebreak = 1;
38250
38253
  break s;
38251
38254
  }
38252
38255
  if ($backStepping) {
38253
- $pendingTrap = $this.$pc0;
38254
- asrs_BackStepper_addDoNothing($backStepper, $pendingTrap);
38256
+ var$20 = $this.$pc0;
38257
+ asrs_BackStepper_addDoNothing($backStepper, var$20);
38255
38258
  }
38256
38259
  $waiting = 1;
38257
38260
  }
38258
- $pendingTrap = $this.$pc0;
38259
- asrrh_ControlAndStatusRegisterFile_incrementCounters($backStepping, $pendingTrap);
38260
- $pendingTrap = -1;
38261
- $timeSampleCountdown = $timeSampleCountdown + $pendingTrap | 0;
38261
+ var$20 = $this.$pc0;
38262
+ asrrh_ControlAndStatusRegisterFile_incrementCounters($backStepping, var$20);
38263
+ var$20 = -1;
38264
+ $timeSampleCountdown = $timeSampleCountdown + var$20 | 0;
38262
38265
  if ($timeSampleCountdown <= 0) {
38263
38266
  $timeSampleCountdown = 64;
38264
- $uie = jl_System_currentTimeMillis();
38265
- asrrh_ControlAndStatusRegisterFile_updateRegisterBackdoor($timeRegister, $uie);
38267
+ var$19 = jl_System_currentTimeMillis();
38268
+ var$20 = $this.$pc0;
38269
+ asrrh_ControlAndStatusRegisterFile_updateRegisterBackdoor($timeRegister, var$19, var$20);
38266
38270
  }
38267
38271
  if ($ebreak)
38268
38272
  break p;
38269
38273
  var$8 = $this.$breakPoints;
38270
38274
  if (var$8 !== null) {
38271
- $pendingTrap = asrrh_RegisterFile_getProgramCounter();
38272
- $pendingTrap = ju_Arrays_binarySearch(var$8, $pendingTrap);
38273
- if ($pendingTrap >= 0)
38275
+ var$20 = asrrh_RegisterFile_getProgramCounter();
38276
+ var$20 = ju_Arrays_binarySearch(var$8, var$20);
38277
+ if (var$20 >= 0)
38274
38278
  break p;
38275
38279
  }
38276
38280
  if (!$waiting)
38277
38281
  continue;
38278
- $pendingTrap = asrrh_InterruptController_externalPending();
38279
- if (!$pendingTrap) {
38280
- $pendingTrap = asrrh_InterruptController_timerPending();
38281
- if (!$pendingTrap) {
38282
+ var$20 = asrrh_InterruptController_externalPending();
38283
+ if (!var$20) {
38284
+ var$20 = asrrh_InterruptController_timerPending();
38285
+ if (!var$20) {
38282
38286
  $ptr = 2;
38283
38287
  continue main;
38284
38288
  }
@@ -38287,13 +38291,13 @@ var asrs_Simulator$SimThread_run = ($this) => {
38287
38291
  }
38288
38292
  return;
38289
38293
  }
38290
- $pendingTrap = 0;
38294
+ var$20 = 0;
38291
38295
  asrs_Simulator$Reason_$callClinit();
38292
38296
  $instruction = asrs_Simulator$Reason_BREAKPOINT;
38293
- asrs_Simulator$SimThread_stopExecution($this, $pendingTrap, $instruction);
38297
+ asrs_Simulator$SimThread_stopExecution($this, var$20, $instruction);
38294
38298
  return;
38295
38299
  }
38296
- if (asr_SimulationException_error($e) !== null) {
38300
+ if ($e.$message !== null) {
38297
38301
  asrs_Simulator$Reason_$callClinit();
38298
38302
  $this.$constructReturnReason = asrs_Simulator$Reason_EXCEPTION;
38299
38303
  $this.$pe = $e;
@@ -38367,24 +38371,23 @@ var asrs_Simulator$SimThread_run = ($this) => {
38367
38371
  $uip = Long_and($uip, Long_fromInt(-17));
38368
38372
  } else if ($pendingTrap && !asrs_Simulator$SimThread_handleTrap($this, asrrh_InterruptController_claimTrap(), $this.$pc0 - 4 | 0))
38369
38373
  break y;
38370
- $uie = Long_or($uip, Long_fromInt((!$pendingExternal ? 0 : 256) | (!$pendingTimer ? 0 : 16)));
38371
- if (Long_ne($uie, $uipRegister.$getValueNoNotify()))
38372
- asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(571), $uie);
38373
- $pendingTrap = $this.$maxSteps;
38374
- if ($pendingTrap > 0) {
38374
+ var$19 = Long_or($uip, Long_fromInt((!$pendingExternal ? 0 : 256) | (!$pendingTimer ? 0 : 16)));
38375
+ if (Long_ne(var$19, $uipRegister.$getValueNoNotify()))
38376
+ asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(504), var$19);
38377
+ var$20 = $this.$maxSteps;
38378
+ if (var$20 > 0) {
38375
38379
  $steps = $steps + 1 | 0;
38376
- if ($steps > $pendingTrap) {
38380
+ if ($steps > var$20) {
38377
38381
  asrs_Simulator$Reason_$callClinit();
38378
38382
  asrs_Simulator$SimThread_stopExecution($this, 0, asrs_Simulator$Reason_MAX_STEPS);
38379
38383
  return;
38380
38384
  }
38381
38385
  }
38382
- $pendingTrap = asrrh_RegisterFile_getProgramCounter();
38383
- $this.$pc0 = $pendingTrap;
38384
- asrrh_RegisterFile_programCounterValue = asrrh_RegisterFile_programCounterValue + 4 | 0;
38386
+ $this.$pc0 = asrrh_RegisterFile_getProgramCounter();
38387
+ asrrh_RegisterFile_incrementPC();
38385
38388
  z: {
38386
38389
  try {
38387
- $se = asrrh_Memory_getStatement(asr_Globals_memory, $pendingTrap);
38390
+ $se = asrrh_Memory_getStatement(asr_Globals_memory, $this.$pc0);
38388
38391
  break z;
38389
38392
  } catch ($$e) {
38390
38393
  $$je = $rt_wrapException($$e);
@@ -38394,10 +38397,10 @@ var asrs_Simulator$SimThread_run = ($this) => {
38394
38397
  throw $$e;
38395
38398
  }
38396
38399
  }
38397
- $tmp_0 = asrrh_AddressErrorException_getType($e) != 5 ? asr_SimulationException__init_3($rt_s(1878), 0) : asr_SimulationException__init_3($rt_s(1879), 1);
38400
+ $tmp_0 = $e.$type0 != 5 ? asr_SimulationException__init_3($rt_s(1878), 0) : asr_SimulationException__init_3($rt_s(1879), 1);
38398
38401
  if (!asrrh_InterruptController_registerSynchronousTrap($tmp_0, $this.$pc0)) {
38399
38402
  $this.$pe = $tmp_0;
38400
- asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(568), Long_fromInt($this.$pc0));
38403
+ asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(501), Long_fromInt($this.$pc0));
38401
38404
  asrs_Simulator$Reason_$callClinit();
38402
38405
  asrs_Simulator$SimThread_stopExecution($this, 1, asrs_Simulator$Reason_EXCEPTION);
38403
38406
  return;
@@ -38419,10 +38422,10 @@ var asrs_Simulator$SimThread_run = ($this) => {
38419
38422
  if ($instruction !== null)
38420
38423
  break bb;
38421
38424
  $e = new asr_SimulationException();
38422
- $instruction = asru_Binary_intToHexString(asr_ProgramStatement_getBinaryStatement($se));
38423
- $tmp_0 = jl_StringBuilder__init_();
38424
- jl_StringBuilder_append0(jl_StringBuilder_append(jl_StringBuilder_append($tmp_0, $rt_s(1880)), $instruction), var$12);
38425
- asr_SimulationException__init_4($e, $se, jl_StringBuilder_toString($tmp_0), 2);
38425
+ $tmp_0 = asru_Binary_intToHexString(asr_ProgramStatement_getBinaryStatement($se));
38426
+ var$25 = jl_StringBuilder__init_();
38427
+ jl_StringBuilder_append0(jl_StringBuilder_append(jl_StringBuilder_append(var$25, $rt_s(1880)), $tmp_0), var$12);
38428
+ asr_SimulationException__init_4($e, $se, jl_StringBuilder_toString(var$25), 2);
38426
38429
  $rt_throw($e);
38427
38430
  } catch ($$e) {
38428
38431
  $$je = $rt_wrapException($$e);
@@ -38483,7 +38486,7 @@ var asrs_Simulator$SimThread_run = ($this) => {
38483
38486
  $timeSampleCountdown = $timeSampleCountdown + -1 | 0;
38484
38487
  if ($timeSampleCountdown <= 0) {
38485
38488
  $timeSampleCountdown = 64;
38486
- asrrh_ControlAndStatusRegisterFile_updateRegisterBackdoor($timeRegister, jl_System_currentTimeMillis());
38489
+ asrrh_ControlAndStatusRegisterFile_updateRegisterBackdoor($timeRegister, jl_System_currentTimeMillis(), $this.$pc0);
38487
38490
  }
38488
38491
  if ($ebreak)
38489
38492
  break n;
@@ -38507,7 +38510,7 @@ var asrs_Simulator$SimThread_run = ($this) => {
38507
38510
  asrs_Simulator$SimThread_stopExecution($this, 0, asrs_Simulator$Reason_BREAKPOINT);
38508
38511
  return;
38509
38512
  }
38510
- if (asr_SimulationException_error($e) !== null) {
38513
+ if ($e.$message !== null) {
38511
38514
  asrs_Simulator$Reason_$callClinit();
38512
38515
  $this.$constructReturnReason = asrs_Simulator$Reason_EXCEPTION;
38513
38516
  $this.$pe = $e;
@@ -38580,24 +38583,23 @@ var asrs_Simulator$SimThread_run = ($this) => {
38580
38583
  $uip = Long_and($uip, Long_fromInt(-17));
38581
38584
  } else if ($pendingTrap && !asrs_Simulator$SimThread_handleTrap($this, asrrh_InterruptController_claimTrap(), $this.$pc0 - 4 | 0))
38582
38585
  break c;
38583
- $uie = Long_or($uip, Long_fromInt((!$pendingExternal ? 0 : 256) | (!$pendingTimer ? 0 : 16)));
38584
- if (Long_ne($uie, $uipRegister.$getValueNoNotify()))
38585
- asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(571), $uie);
38586
- $pendingTrap = $this.$maxSteps;
38587
- if ($pendingTrap > 0) {
38586
+ var$19 = Long_or($uip, Long_fromInt((!$pendingExternal ? 0 : 256) | (!$pendingTimer ? 0 : 16)));
38587
+ if (Long_ne(var$19, $uipRegister.$getValueNoNotify()))
38588
+ asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(504), var$19);
38589
+ var$20 = $this.$maxSteps;
38590
+ if (var$20 > 0) {
38588
38591
  $steps = $steps + 1 | 0;
38589
- if ($steps > $pendingTrap) {
38592
+ if ($steps > var$20) {
38590
38593
  asrs_Simulator$Reason_$callClinit();
38591
38594
  asrs_Simulator$SimThread_stopExecution($this, 0, asrs_Simulator$Reason_MAX_STEPS);
38592
38595
  return;
38593
38596
  }
38594
38597
  }
38595
- $pendingTrap = asrrh_RegisterFile_getProgramCounter();
38596
- $this.$pc0 = $pendingTrap;
38597
- asrrh_RegisterFile_programCounterValue = asrrh_RegisterFile_programCounterValue + 4 | 0;
38598
+ $this.$pc0 = asrrh_RegisterFile_getProgramCounter();
38599
+ asrrh_RegisterFile_incrementPC();
38598
38600
  bd: {
38599
38601
  try {
38600
- $se = asrrh_Memory_getStatement(asr_Globals_memory, $pendingTrap);
38602
+ $se = asrrh_Memory_getStatement(asr_Globals_memory, $this.$pc0);
38601
38603
  break bd;
38602
38604
  } catch ($$e) {
38603
38605
  $$je = $rt_wrapException($$e);
@@ -38607,10 +38609,10 @@ var asrs_Simulator$SimThread_run = ($this) => {
38607
38609
  throw $$e;
38608
38610
  }
38609
38611
  }
38610
- $tmp_0 = asrrh_AddressErrorException_getType($e) != 5 ? asr_SimulationException__init_3($rt_s(1878), 0) : asr_SimulationException__init_3($rt_s(1879), 1);
38612
+ $tmp_0 = $e.$type0 != 5 ? asr_SimulationException__init_3($rt_s(1878), 0) : asr_SimulationException__init_3($rt_s(1879), 1);
38611
38613
  if (!asrrh_InterruptController_registerSynchronousTrap($tmp_0, $this.$pc0)) {
38612
38614
  $this.$pe = $tmp_0;
38613
- asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(568), Long_fromInt($this.$pc0));
38615
+ asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(501), Long_fromInt($this.$pc0));
38614
38616
  asrs_Simulator$Reason_$callClinit();
38615
38617
  asrs_Simulator$SimThread_stopExecution($this, 1, asrs_Simulator$Reason_EXCEPTION);
38616
38618
  return;
@@ -38632,10 +38634,10 @@ var asrs_Simulator$SimThread_run = ($this) => {
38632
38634
  if ($instruction !== null)
38633
38635
  break be;
38634
38636
  $e = new asr_SimulationException();
38635
- $instruction = asru_Binary_intToHexString(asr_ProgramStatement_getBinaryStatement($se));
38636
- $tmp_0 = jl_StringBuilder__init_();
38637
- jl_StringBuilder_append0(jl_StringBuilder_append(jl_StringBuilder_append($tmp_0, $rt_s(1880)), $instruction), var$12);
38638
- asr_SimulationException__init_4($e, $se, jl_StringBuilder_toString($tmp_0), 2);
38637
+ $tmp_0 = asru_Binary_intToHexString(asr_ProgramStatement_getBinaryStatement($se));
38638
+ var$25 = jl_StringBuilder__init_();
38639
+ jl_StringBuilder_append0(jl_StringBuilder_append(jl_StringBuilder_append(var$25, $rt_s(1880)), $tmp_0), var$12);
38640
+ asr_SimulationException__init_4($e, $se, jl_StringBuilder_toString(var$25), 2);
38639
38641
  $rt_throw($e);
38640
38642
  } catch ($$e) {
38641
38643
  $$je = $rt_wrapException($$e);
@@ -38696,7 +38698,7 @@ var asrs_Simulator$SimThread_run = ($this) => {
38696
38698
  $timeSampleCountdown = $timeSampleCountdown + -1 | 0;
38697
38699
  if ($timeSampleCountdown <= 0) {
38698
38700
  $timeSampleCountdown = 64;
38699
- asrrh_ControlAndStatusRegisterFile_updateRegisterBackdoor($timeRegister, jl_System_currentTimeMillis());
38701
+ asrrh_ControlAndStatusRegisterFile_updateRegisterBackdoor($timeRegister, jl_System_currentTimeMillis(), $this.$pc0);
38700
38702
  }
38701
38703
  if ($ebreak)
38702
38704
  break b;
@@ -38721,7 +38723,7 @@ var asrs_Simulator$SimThread_run = ($this) => {
38721
38723
  asrs_Simulator$SimThread_stopExecution($this, 0, asrs_Simulator$Reason_BREAKPOINT);
38722
38724
  return;
38723
38725
  }
38724
- if (asr_SimulationException_error($e) !== null) {
38726
+ if ($e.$message !== null) {
38725
38727
  asrs_Simulator$Reason_$callClinit();
38726
38728
  $this.$constructReturnReason = asrs_Simulator$Reason_EXCEPTION;
38727
38729
  $this.$pe = $e;
@@ -38737,7 +38739,7 @@ var asrs_Simulator$SimThread_run = ($this) => {
38737
38739
  $rt_invalidPointer();
38738
38740
  }
38739
38741
  }
38740
- $rt_nativeThread().push($this, $timeRegister, $uipRegister, $uieRegister, $ustatusRegister, $timeSampleCountdown, $backStepping, $backStepper, var$8, $steps, $ebreak, $waiting, var$12, $uip, $uie, $IE, $pendingExternal, $pendingTimer, $pendingTrap, $se, $e, $tmp_0, $instruction, $ptr);
38742
+ $rt_nativeThread().push($this, $timeRegister, $uipRegister, $uieRegister, $ustatusRegister, $timeSampleCountdown, $backStepping, $backStepper, var$8, $steps, $ebreak, $waiting, var$12, $uip, $uie, $IE, $pendingExternal, $pendingTimer, $pendingTrap, var$19, var$20, $se, $e, $tmp_0, $instruction, var$25, $ptr);
38741
38743
  };
38742
38744
  var asrs_Simulator$SimThread__clinit_ = () => {
38743
38745
  asrs_Simulator$SimThread_$assertionsDisabled = 0;
@@ -38786,7 +38788,7 @@ var asr_SimulationException__init_ = ($this, $ps, $m) => {
38786
38788
  };
38787
38789
  var asr_SimulationException__init_1 = ($this, $ps, $aee) => {
38788
38790
  asr_SimulationException__init_($this, $ps, $aee.$message1);
38789
- $this.$cause = $aee.$type1;
38791
+ $this.$cause = $aee.$type0;
38790
38792
  $this.$value5 = $aee.$address1;
38791
38793
  };
38792
38794
  var asr_SimulationException__init_2 = (var_0, var_1) => {
@@ -38807,9 +38809,6 @@ var asr_SimulationException__init_3 = (var_0, var_1) => {
38807
38809
  asr_SimulationException__init_6(var_2, var_0, var_1);
38808
38810
  return var_2;
38809
38811
  };
38810
- var asr_SimulationException_error = ($this) => {
38811
- return $this.$message;
38812
- };
38813
38812
  var asr_BreakpointException = $rt_classWithoutFields(asr_SimulationException);
38814
38813
  var asr_WaitException = $rt_classWithoutFields(asr_SimulationException);
38815
38814
  var asr_ExitingException = $rt_classWithoutFields(asr_SimulationException);
@@ -39927,7 +39926,7 @@ var asrj_RoundingMode__clinit_ = () => {
39927
39926
  asrj_RoundingMode_away = asrj_RoundingMode__init_($rt_s(1896), 1);
39928
39927
  asrj_RoundingMode_min = asrj_RoundingMode__init_($rt_s(1897), 2);
39929
39928
  asrj_RoundingMode_max = asrj_RoundingMode__init_($rt_s(1898), 3);
39930
- var$1 = asrj_RoundingMode__init_($rt_s(496), 4);
39929
+ var$1 = asrj_RoundingMode__init_($rt_s(513), 4);
39931
39930
  asrj_RoundingMode_zero = var$1;
39932
39931
  var$2 = $rt_createArray(asrj_RoundingMode, 5);
39933
39932
  var$3 = var$2.data;
@@ -40208,7 +40207,7 @@ var jm_BitLevel_shiftRight = ($source, $count) => {
40208
40207
  };
40209
40208
  var asrrs_NullString = $rt_classWithoutFields();
40210
40209
  var asrrs_NullString_get = ($statement) => {
40211
- return asrrs_NullString_get0($statement, $rt_s(503));
40210
+ return asrrs_NullString_get0($statement, $rt_s(520));
40212
40211
  };
40213
40212
  var asrrs_NullString_get0 = ($statement, $reg) => {
40214
40213
  let $byteAddress, $utf8BytesList, $e, $size, $utf8Bytes, var$8, $i, $$je;
@@ -43851,6 +43850,15 @@ $rt_metadata([
43851
43850
  0,
43852
43851
  0,
43853
43852
  0,
43853
+ asr_JsProgramStatement,
43854
+ "JsProgramStatement",
43855
+ 11,
43856
+ jl_Object,
43857
+ [],
43858
+ 1,
43859
+ 0,
43860
+ 0,
43861
+ 0,
43854
43862
  ju_Observer,
43855
43863
  0,
43856
43864
  jl_Object,
@@ -43868,37 +43876,36 @@ $rt_metadata([
43868
43876
  0,
43869
43877
  0,
43870
43878
  0,
43871
- asrrh_RegisterFile,
43879
+ asrrh_ControlAndStatusRegisterFile,
43872
43880
  0,
43873
43881
  jl_Object,
43874
43882
  [],
43875
43883
  1,
43876
43884
  0,
43877
- () => asrrh_RegisterFile_$callClinit(),
43885
+ () => asrrh_ControlAndStatusRegisterFile_$callClinit(),
43878
43886
  0,
43879
- asr_JsRiscV$Body,
43887
+ asrrh_RegisterFile,
43880
43888
  0,
43881
43889
  jl_Object,
43882
43890
  [],
43883
- 1536,
43891
+ 1,
43884
43892
  0,
43893
+ () => asrrh_RegisterFile_$callClinit(),
43894
+ 0
43895
+ ]);
43896
+ $rt_metadata([
43897
+ juf_ToIntFunction,
43885
43898
  0,
43899
+ jl_Object,
43900
+ [],
43901
+ 1537,
43886
43902
  0,
43887
- asr_JsRiscV$simulateWithBreakpointsAndLimit$lambda$_17_0,
43888
43903
  0,
43889
- jl_Object,
43890
- [asr_JsRiscV$Body],
43891
- 1,
43892
43904
  0,
43905
+ asr_JsRiscV$getRegistersValues$lambda$_28_0,
43893
43906
  0,
43894
- ["$run1", $rt_wrapFunction0(asr_JsRiscV$simulateWithBreakpointsAndLimit$lambda$_17_0_run)]
43895
- ]);
43896
- $rt_metadata([
43897
- asr_JsProgramStatement,
43898
- "JsProgramStatement",
43899
- 11,
43900
43907
  jl_Object,
43901
- [],
43908
+ [juf_ToIntFunction],
43902
43909
  1,
43903
43910
  0,
43904
43911
  0,
@@ -43943,73 +43950,73 @@ $rt_metadata([
43943
43950
  0,
43944
43951
  0,
43945
43952
  0,
43946
- asrrh_FloatingPointRegisterFile,
43953
+ asr_JsRiscV$Body,
43947
43954
  0,
43948
43955
  jl_Object,
43949
43956
  [],
43950
- 1,
43957
+ 1536,
43951
43958
  0,
43952
- () => asrrh_FloatingPointRegisterFile_$callClinit(),
43953
43959
  0,
43954
- jm_BigInteger,
43955
- "BigInteger",
43956
- 18,
43957
- jl_Number,
43958
- [jl_Comparable, ji_Serializable],
43959
- 1,
43960
43960
  0,
43961
- () => jm_BigInteger_$callClinit(),
43962
- ["$hashCode", $rt_wrapFunction0(jm_BigInteger_hashCode), "$equals", $rt_wrapFunction1(jm_BigInteger_equals), "$toString", $rt_wrapFunction0(jm_BigInteger_toString), "$compareTo0", $rt_wrapFunction1(jm_BigInteger_compareTo0)],
43963
- asr_JsRiscV$simulateWithBreakpoints$lambda$_16_0,
43961
+ asr_JsRiscV$simulateWithBreakpointsAndLimit$lambda$_17_0,
43964
43962
  0,
43965
43963
  jl_Object,
43966
43964
  [asr_JsRiscV$Body],
43967
43965
  1,
43968
43966
  0,
43969
43967
  0,
43970
- ["$run1", $rt_wrapFunction0(asr_JsRiscV$simulateWithBreakpoints$lambda$_16_0_run)],
43971
- jl_IllegalStateException,
43972
- "IllegalStateException",
43973
- 19,
43974
- jl_RuntimeException,
43975
- [],
43976
- 1,
43977
- 0,
43968
+ ["$run1", $rt_wrapFunction0(asr_JsRiscV$simulateWithBreakpointsAndLimit$lambda$_17_0_run)],
43969
+ asr_JsRiscV$simulate$lambda$_12_0,
43978
43970
  0,
43971
+ jl_Object,
43972
+ [asr_JsRiscV$Body],
43973
+ 1,
43979
43974
  0,
43980
- asr_JsRiscV$PokeJournal,
43981
43975
  0,
43976
+ ["$run1", $rt_wrapFunction0(asr_JsRiscV$simulate$lambda$_12_0_run)],
43977
+ asr_JsCompilationResult,
43978
+ "JsCompilationResult",
43979
+ 11,
43982
43980
  jl_Object,
43983
43981
  [],
43984
- 16,
43982
+ 1,
43985
43983
  0,
43986
43984
  0,
43987
43985
  0,
43988
- asr_JsRiscV$PokeRecord,
43989
- "JsRiscV$PokeRecord",
43990
- 11,
43991
- jl_Object,
43986
+ asr_AssemblyException,
43987
+ "AssemblyException",
43988
+ 2,
43989
+ jl_Exception,
43992
43990
  [],
43993
- 16,
43991
+ 1,
43994
43992
  0,
43995
43993
  0,
43996
43994
  0,
43997
- asr_JsRiscV$step$lambda$_10_0,
43995
+ asrrh_FloatingPointRegisterFile,
43998
43996
  0,
43999
43997
  jl_Object,
44000
- [asr_JsRiscV$Body],
43998
+ [],
44001
43999
  1,
44002
44000
  0,
44001
+ () => asrrh_FloatingPointRegisterFile_$callClinit(),
44003
44002
  0,
44004
- ["$run1", $rt_wrapFunction0(asr_JsRiscV$step$lambda$_10_0_run)],
44005
- asrrh_ControlAndStatusRegisterFile,
44003
+ asr_JsRiscV$simulateWithLimit$lambda$_13_0,
44006
44004
  0,
44007
44005
  jl_Object,
44008
- [],
44006
+ [asr_JsRiscV$Body],
44009
44007
  1,
44010
44008
  0,
44011
- () => asrrh_ControlAndStatusRegisterFile_$callClinit(),
44012
44009
  0,
44010
+ ["$run1", $rt_wrapFunction0(asr_JsRiscV$simulateWithLimit$lambda$_13_0_run)],
44011
+ jm_BigInteger,
44012
+ "BigInteger",
44013
+ 18,
44014
+ jl_Number,
44015
+ [jl_Comparable, ji_Serializable],
44016
+ 1,
44017
+ 0,
44018
+ () => jm_BigInteger_$callClinit(),
44019
+ ["$hashCode", $rt_wrapFunction0(jm_BigInteger_hashCode), "$equals", $rt_wrapFunction1(jm_BigInteger_equals), "$toString", $rt_wrapFunction0(jm_BigInteger_toString), "$compareTo0", $rt_wrapFunction1(jm_BigInteger_compareTo0)],
44013
44020
  jl_Double,
44014
44021
  0,
44015
44022
  jl_Number,
@@ -44034,53 +44041,42 @@ $rt_metadata([
44034
44041
  0,
44035
44042
  0,
44036
44043
  ["$apply", $rt_wrapFunction1(asr_JsRiscV$getStatementsAtSourceLocation$lambda$_63_1_apply)],
44037
- asr_JsStackFrame,
44038
- "JsStackFrame",
44039
- 11,
44040
- jl_Object,
44044
+ jl_IllegalStateException,
44045
+ "IllegalStateException",
44046
+ 19,
44047
+ jl_RuntimeException,
44041
44048
  [],
44042
44049
  1,
44043
44050
  0,
44044
44051
  0,
44045
44052
  0,
44046
- asr_JsRiscVTokenizedLine,
44047
- "JsRiscVTokenizedLine",
44053
+ asr_JsRiscV$PokeRecord,
44054
+ "JsRiscV$PokeRecord",
44048
44055
  11,
44049
44056
  jl_Object,
44050
44057
  [],
44051
- 1,
44052
- 0,
44058
+ 16,
44053
44059
  0,
44054
44060
  0,
44055
- asra_TokenList,
44056
- "TokenList",
44057
- 9,
44058
- jl_Object,
44059
- [jl_Cloneable, jl_Iterable],
44060
- 1,
44061
44061
  0,
44062
+ asr_JsRiscV$PokeJournal,
44062
44063
  0,
44063
- ["$toString", $rt_wrapFunction0(asra_TokenList_toString)],
44064
- asra_SourceLine,
44065
- "SourceLine",
44066
- 9,
44067
44064
  jl_Object,
44068
44065
  [],
44069
- 1,
44066
+ 16,
44070
44067
  0,
44071
44068
  0,
44072
44069
  0,
44073
- asr_JsRiscVToken,
44074
- "JsRiscVToken",
44075
- 11,
44070
+ asr_JsRiscV$simulateWithBreakpoints$lambda$_16_0,
44071
+ 0,
44076
44072
  jl_Object,
44077
- [],
44073
+ [asr_JsRiscV$Body],
44078
44074
  1,
44079
44075
  0,
44080
44076
  0,
44081
- 0,
44082
- asr_JsCompilationResult,
44083
- "JsCompilationResult",
44077
+ ["$run1", $rt_wrapFunction0(asr_JsRiscV$simulateWithBreakpoints$lambda$_16_0_run)],
44078
+ asr_JsStackFrame,
44079
+ "JsStackFrame",
44084
44080
  11,
44085
44081
  jl_Object,
44086
44082
  [],
@@ -44088,43 +44084,46 @@ $rt_metadata([
44088
44084
  0,
44089
44085
  0,
44090
44086
  0,
44091
- asr_AssemblyException,
44092
- "AssemblyException",
44093
- 2,
44094
- jl_Exception,
44095
- [],
44096
- 1,
44097
- 0,
44087
+ asr_JsRiscV$step$lambda$_10_0,
44098
44088
  0,
44089
+ jl_Object,
44090
+ [asr_JsRiscV$Body],
44091
+ 1,
44099
44092
  0,
44100
- asr_JsRiscV$simulateWithLimit$lambda$_13_0,
44101
44093
  0,
44094
+ ["$run1", $rt_wrapFunction0(asr_JsRiscV$step$lambda$_10_0_run)],
44095
+ asr_JsRiscVTokenizedLine,
44096
+ "JsRiscVTokenizedLine",
44097
+ 11,
44102
44098
  jl_Object,
44103
- [asr_JsRiscV$Body],
44099
+ [],
44104
44100
  1,
44105
44101
  0,
44106
44102
  0,
44107
- ["$run1", $rt_wrapFunction0(asr_JsRiscV$simulateWithLimit$lambda$_13_0_run)],
44108
- asr_JsRiscV$simulate$lambda$_12_0,
44109
44103
  0,
44104
+ asra_TokenList,
44105
+ "TokenList",
44106
+ 9,
44110
44107
  jl_Object,
44111
- [asr_JsRiscV$Body],
44108
+ [jl_Cloneable, jl_Iterable],
44112
44109
  1,
44113
44110
  0,
44114
44111
  0,
44115
- ["$run1", $rt_wrapFunction0(asr_JsRiscV$simulate$lambda$_12_0_run)],
44116
- juf_ToIntFunction,
44117
- 0,
44112
+ ["$toString", $rt_wrapFunction0(asra_TokenList_toString)],
44113
+ asra_SourceLine,
44114
+ "SourceLine",
44115
+ 9,
44118
44116
  jl_Object,
44119
44117
  [],
44120
- 1537,
44121
- 0,
44118
+ 1,
44122
44119
  0,
44123
44120
  0,
44124
- asr_JsRiscV$getRegistersValues$lambda$_28_0,
44125
44121
  0,
44122
+ asr_JsRiscVToken,
44123
+ "JsRiscVToken",
44124
+ 11,
44126
44125
  jl_Object,
44127
- [juf_ToIntFunction],
44126
+ [],
44128
44127
  1,
44129
44128
  0,
44130
44129
  0,
@@ -44377,27 +44376,11 @@ $rt_metadata([
44377
44376
  0,
44378
44377
  0,
44379
44378
  ["$contains1", $rt_wrapFunction1(jur_CharClass$16_contains)],
44380
- otjc_JSPromise$Executor,
44381
- 0,
44382
- jl_Object,
44383
- [otj_JSObject],
44384
- 1537,
44385
- 0,
44386
- 0,
44387
- 0,
44388
- asr_JsRiscV$run$lambda$_9_0,
44389
- "JsRiscV$run$lambda$_9_0",
44390
- 11,
44391
- jl_Object,
44392
- [otjc_JSPromise$Executor],
44393
- 1,
44394
- 0,
44395
- 0,
44396
- 0,
44397
- otjc_JSPromise,
44398
- 0,
44379
+ asr_RISCVprogram,
44380
+ "RISCVprogram",
44381
+ 2,
44399
44382
  jl_Object,
44400
- [otj_JSObject],
44383
+ [],
44401
44384
  1,
44402
44385
  0,
44403
44386
  0,
@@ -44411,19 +44394,41 @@ $rt_metadata([
44411
44394
  0,
44412
44395
  0,
44413
44396
  ["$getValue", $rt_wrapFunction0(asrrh_Register_getValue), "$getValueNoNotify", $rt_wrapFunction0(asrrh_Register_getValueNoNotify), "$setValue", $rt_wrapFunction1(asrrh_Register_setValue), "$resetValue", $rt_wrapFunction0(asrrh_Register_resetValue)],
44414
- asr_JsRiscV$PokeRegisterWrite,
44415
- "JsRiscV$PokeRegisterWrite",
44416
- 11,
44397
+ jl_AutoCloseable,
44398
+ 0,
44417
44399
  jl_Object,
44418
44400
  [],
44419
- 16,
44401
+ 1537,
44420
44402
  0,
44421
44403
  0,
44422
44404
  0,
44423
- asr_RISCVprogram,
44424
- "RISCVprogram",
44425
- 2,
44405
+ jus_BaseStream,
44406
+ 0,
44426
44407
  jl_Object,
44408
+ [jl_AutoCloseable],
44409
+ 1537,
44410
+ 0,
44411
+ 0,
44412
+ 0,
44413
+ jus_Stream,
44414
+ 0,
44415
+ jl_Object,
44416
+ [jus_BaseStream],
44417
+ 1537,
44418
+ 0,
44419
+ 0,
44420
+ 0,
44421
+ jusi_SimpleStreamImpl,
44422
+ 0,
44423
+ jl_Object,
44424
+ [jus_Stream],
44425
+ 1025,
44426
+ 0,
44427
+ 0,
44428
+ 0,
44429
+ jusi_ArrayStreamImpl,
44430
+ 0,
44431
+ jusi_SimpleStreamImpl,
44427
44432
  [],
44428
44433
  1,
44429
44434
  0,
@@ -44478,6 +44483,88 @@ $rt_metadata([
44478
44483
  0,
44479
44484
  0,
44480
44485
  0,
44486
+ otjc_JSPromise$Executor,
44487
+ 0,
44488
+ jl_Object,
44489
+ [otj_JSObject],
44490
+ 1537,
44491
+ 0,
44492
+ 0,
44493
+ 0,
44494
+ asr_JsRiscV$run$lambda$_9_0,
44495
+ "JsRiscV$run$lambda$_9_0",
44496
+ 11,
44497
+ jl_Object,
44498
+ [otjc_JSPromise$Executor],
44499
+ 1,
44500
+ 0,
44501
+ 0,
44502
+ 0,
44503
+ otjc_JSPromise,
44504
+ 0,
44505
+ jl_Object,
44506
+ [otj_JSObject],
44507
+ 1,
44508
+ 0,
44509
+ 0,
44510
+ 0,
44511
+ asr_JsCompilationResult$_init_$lambda$_0_0,
44512
+ 0,
44513
+ jl_Object,
44514
+ [juf_Function],
44515
+ 1,
44516
+ 0,
44517
+ 0,
44518
+ ["$apply0", $rt_wrapFunction1(asr_JsCompilationResult$_init_$lambda$_0_0_apply)],
44519
+ juf_Supplier,
44520
+ 0,
44521
+ jl_Object,
44522
+ [],
44523
+ 1537,
44524
+ 0,
44525
+ 0,
44526
+ 0,
44527
+ asr_JsCompilationResult$_init_$lambda$_0_1,
44528
+ 0,
44529
+ jl_Object,
44530
+ [juf_Supplier],
44531
+ 1,
44532
+ 0,
44533
+ 0,
44534
+ 0,
44535
+ juf_BiConsumer,
44536
+ 0,
44537
+ jl_Object,
44538
+ [],
44539
+ 1537,
44540
+ 0,
44541
+ 0,
44542
+ 0,
44543
+ asr_JsCompilationResult$_init_$lambda$_0_2,
44544
+ 0,
44545
+ jl_Object,
44546
+ [juf_BiConsumer],
44547
+ 1,
44548
+ 0,
44549
+ 0,
44550
+ 0,
44551
+ asr_JsCompilationResult$_init_$lambda$_0_3,
44552
+ 0,
44553
+ jl_Object,
44554
+ [juf_BiConsumer],
44555
+ 1,
44556
+ 0,
44557
+ 0,
44558
+ 0,
44559
+ asr_JsRiscV$PokeRegisterWrite,
44560
+ "JsRiscV$PokeRegisterWrite",
44561
+ 11,
44562
+ jl_Object,
44563
+ [],
44564
+ 16,
44565
+ 0,
44566
+ 0,
44567
+ 0,
44481
44568
  asr_JsPokeWrite,
44482
44569
  0,
44483
44570
  jl_Object,
@@ -44503,94 +44590,6 @@ $rt_metadata([
44503
44590
  0,
44504
44591
  () => asra_TokenTypes_$callClinit(),
44505
44592
  0,
44506
- asr_JsCompilationResult$_init_$lambda$_0_0,
44507
- 0,
44508
- jl_Object,
44509
- [juf_Function],
44510
- 1,
44511
- 0,
44512
- 0,
44513
- ["$apply0", $rt_wrapFunction1(asr_JsCompilationResult$_init_$lambda$_0_0_apply)],
44514
- juf_Supplier,
44515
- 0,
44516
- jl_Object,
44517
- [],
44518
- 1537,
44519
- 0,
44520
- 0,
44521
- 0,
44522
- asr_JsCompilationResult$_init_$lambda$_0_1,
44523
- 0,
44524
- jl_Object,
44525
- [juf_Supplier],
44526
- 1,
44527
- 0,
44528
- 0,
44529
- 0,
44530
- juf_BiConsumer,
44531
- 0,
44532
- jl_Object,
44533
- [],
44534
- 1537,
44535
- 0,
44536
- 0,
44537
- 0,
44538
- asr_JsCompilationResult$_init_$lambda$_0_2,
44539
- 0,
44540
- jl_Object,
44541
- [juf_BiConsumer],
44542
- 1,
44543
- 0,
44544
- 0,
44545
- 0,
44546
- asr_JsCompilationResult$_init_$lambda$_0_3,
44547
- 0,
44548
- jl_Object,
44549
- [juf_BiConsumer],
44550
- 1,
44551
- 0,
44552
- 0,
44553
- 0,
44554
- jl_AutoCloseable,
44555
- 0,
44556
- jl_Object,
44557
- [],
44558
- 1537,
44559
- 0,
44560
- 0,
44561
- 0,
44562
- jus_BaseStream,
44563
- 0,
44564
- jl_Object,
44565
- [jl_AutoCloseable],
44566
- 1537,
44567
- 0,
44568
- 0,
44569
- 0,
44570
- jus_Stream,
44571
- 0,
44572
- jl_Object,
44573
- [jus_BaseStream],
44574
- 1537,
44575
- 0,
44576
- 0,
44577
- 0,
44578
- jusi_SimpleStreamImpl,
44579
- 0,
44580
- jl_Object,
44581
- [jus_Stream],
44582
- 1025,
44583
- 0,
44584
- 0,
44585
- 0,
44586
- jusi_ArrayStreamImpl,
44587
- 0,
44588
- jusi_SimpleStreamImpl,
44589
- [],
44590
- 1,
44591
- 0,
44592
- 0,
44593
- 0,
44594
44593
  asrri_Arithmetic,
44595
44594
  0,
44596
44595
  asrr_BasicInstruction,
@@ -46563,14 +46562,6 @@ $rt_metadata([
46563
46562
  0,
46564
46563
  () => ju_Comparator$NaturalOrder_$callClinit(),
46565
46564
  0,
46566
- asrrh_RegisterBlock,
46567
- 0,
46568
- jl_Object,
46569
- [],
46570
- 1,
46571
- 0,
46572
- 0,
46573
- 0,
46574
46565
  asrrh_MaskedRegister,
46575
46566
  "MaskedRegister",
46576
46567
  8,
@@ -46598,32 +46589,40 @@ $rt_metadata([
46598
46589
  0,
46599
46590
  0,
46600
46591
  ["$getValue", $rt_wrapFunction0(asrrh_LinkedRegister_getValue), "$getValueNoNotify", $rt_wrapFunction0(asrrh_LinkedRegister_getValueNoNotify), "$setValue", $rt_wrapFunction1(asrrh_LinkedRegister_setValue), "$resetValue", $rt_wrapFunction0(asrrh_LinkedRegister_resetValue)],
46601
- asrrh_StackFrame,
46602
- "StackFrame",
46603
- 8,
46592
+ asrrh_RegisterBlock,
46593
+ 0,
46604
46594
  jl_Object,
46605
46595
  [],
46606
46596
  1,
46607
46597
  0,
46608
46598
  0,
46609
46599
  0,
46610
- asra_Token,
46611
- "Token",
46612
- 9,
46600
+ asr_ErrorList,
46601
+ 0,
46613
46602
  jl_Object,
46614
46603
  [],
46615
46604
  1,
46616
46605
  0,
46617
46606
  0,
46618
- ["$toString", $rt_wrapFunction0(asra_Token_toString)],
46619
- asr_ErrorList,
46620
46607
  0,
46608
+ asrrh_StackFrame,
46609
+ "StackFrame",
46610
+ 8,
46621
46611
  jl_Object,
46622
46612
  [],
46623
46613
  1,
46624
46614
  0,
46625
46615
  0,
46626
46616
  0,
46617
+ asra_Token,
46618
+ "Token",
46619
+ 9,
46620
+ jl_Object,
46621
+ [],
46622
+ 1,
46623
+ 0,
46624
+ 0,
46625
+ ["$toString", $rt_wrapFunction0(asra_Token_toString)],
46627
46626
  asrrh_MemoryConfiguration,
46628
46627
  "MemoryConfiguration",
46629
46628
  8,
@@ -47125,14 +47124,6 @@ $rt_metadata([
47125
47124
  0,
47126
47125
  0,
47127
47126
  ["$find0", $rt_wrapFunction3(jur_BackReferencedSingleSet_find), "$findBack", $rt_wrapFunction4(jur_BackReferencedSingleSet_findBack), "$processBackRefReplacement", $rt_wrapFunction0(jur_BackReferencedSingleSet_processBackRefReplacement)],
47128
- jm_Conversion,
47129
- 0,
47130
- jl_Object,
47131
- [],
47132
- 0,
47133
- 0,
47134
- () => jm_Conversion_$callClinit(),
47135
- 0,
47136
47127
  jus_IntStream,
47137
47128
  0,
47138
47129
  jl_Object,
@@ -47157,13 +47148,13 @@ $rt_metadata([
47157
47148
  0,
47158
47149
  0,
47159
47150
  0,
47160
- asru_Binary,
47151
+ jm_Conversion,
47161
47152
  0,
47162
47153
  jl_Object,
47163
47154
  [],
47164
- 1,
47165
47155
  0,
47166
- () => asru_Binary_$callClinit(),
47156
+ 0,
47157
+ () => jm_Conversion_$callClinit(),
47167
47158
  0,
47168
47159
  ju_AbstractList$1,
47169
47160
  0,
@@ -47173,29 +47164,29 @@ $rt_metadata([
47173
47164
  0,
47174
47165
  0,
47175
47166
  ["$hasNext", $rt_wrapFunction0(ju_AbstractList$1_hasNext), "$next", $rt_wrapFunction0(ju_AbstractList$1_next)],
47176
- asrrh_InterruptController,
47167
+ ju_HashMap$1,
47177
47168
  0,
47178
- jl_Object,
47169
+ ju_AbstractSet,
47179
47170
  [],
47180
- 1,
47181
47171
  0,
47182
- () => asrrh_InterruptController_$callClinit(),
47183
47172
  0,
47184
- asrrh_ReservationTable,
47173
+ 0,
47174
+ ["$size", $rt_wrapFunction0(ju_HashMap$1_size), "$iterator", $rt_wrapFunction0(ju_HashMap$1_iterator)],
47175
+ asru_Binary,
47185
47176
  0,
47186
47177
  jl_Object,
47187
47178
  [],
47188
47179
  1,
47189
47180
  0,
47190
- () => asrrh_ReservationTable_$callClinit(),
47181
+ () => asru_Binary_$callClinit(),
47191
47182
  0,
47192
- asrrh_Stack,
47183
+ asrs_Simulator$Reason,
47193
47184
  0,
47194
- jl_Object,
47185
+ jl_Enum,
47195
47186
  [],
47196
- 1,
47187
+ 65553,
47197
47188
  0,
47198
- () => asrrh_Stack_$callClinit(),
47189
+ () => asrs_Simulator$Reason_$callClinit(),
47199
47190
  0,
47200
47191
  juf_Predicate,
47201
47192
  0,
@@ -47213,13 +47204,29 @@ $rt_metadata([
47213
47204
  0,
47214
47205
  0,
47215
47206
  0,
47216
- asrs_Simulator$Reason,
47207
+ asrrh_Stack,
47217
47208
  0,
47218
- jl_Enum,
47209
+ jl_Object,
47219
47210
  [],
47220
- 65553,
47211
+ 1,
47221
47212
  0,
47222
- () => asrs_Simulator$Reason_$callClinit(),
47213
+ () => asrrh_Stack_$callClinit(),
47214
+ 0,
47215
+ asrrh_InterruptController,
47216
+ 0,
47217
+ jl_Object,
47218
+ [],
47219
+ 1,
47220
+ 0,
47221
+ () => asrrh_InterruptController_$callClinit(),
47222
+ 0,
47223
+ asrrh_ReservationTable,
47224
+ 0,
47225
+ jl_Object,
47226
+ [],
47227
+ 1,
47228
+ 0,
47229
+ () => asrrh_ReservationTable_$callClinit(),
47223
47230
  0,
47224
47231
  jur_AbstractCharClass$LazyJavaLowerCase$1,
47225
47232
  "AbstractCharClass$LazyJavaLowerCase$1",
@@ -47390,25 +47397,17 @@ $rt_metadata([
47390
47397
  1537,
47391
47398
  0,
47392
47399
  0,
47393
- 0,
47394
- ju_LinkedHashMapEntrySet,
47395
- 0,
47396
- ju_AbstractSet,
47397
- [ju_SequencedSet],
47398
- 0,
47399
- 0,
47400
- 0,
47401
- ["$size", $rt_wrapFunction0(ju_LinkedHashMapEntrySet_size), "$iterator", $rt_wrapFunction0(ju_LinkedHashMapEntrySet_iterator)]
47400
+ 0
47402
47401
  ]);
47403
47402
  $rt_metadata([
47404
- ju_HashMap$1,
47403
+ ju_LinkedHashMapEntrySet,
47405
47404
  0,
47406
47405
  ju_AbstractSet,
47407
- [],
47406
+ [ju_SequencedSet],
47408
47407
  0,
47409
47408
  0,
47410
47409
  0,
47411
- ["$size", $rt_wrapFunction0(ju_HashMap$1_size), "$iterator", $rt_wrapFunction0(ju_HashMap$1_iterator)],
47410
+ ["$size", $rt_wrapFunction0(ju_LinkedHashMapEntrySet_size), "$iterator", $rt_wrapFunction0(ju_LinkedHashMapEntrySet_iterator)],
47412
47411
  otji_JSWrapper$JSTransparentInt,
47413
47412
  0,
47414
47413
  jl_Object,
@@ -49665,6 +49664,23 @@ $rt_stringPool([
49665
49664
  "sequence: ",
49666
49665
  "UCI sequence: ",
49667
49666
  "CI sequence: ",
49667
+ "cycle",
49668
+ "instret",
49669
+ "ustatus",
49670
+ "fcsr",
49671
+ "uie",
49672
+ "utvec",
49673
+ "uscratch",
49674
+ "uepc",
49675
+ "ucause",
49676
+ "utval",
49677
+ "uip",
49678
+ "time",
49679
+ "fflags",
49680
+ "frm",
49681
+ "cycleh",
49682
+ "timeh",
49683
+ "instreth",
49668
49684
  "fp",
49669
49685
  "s0",
49670
49686
  "zero",
@@ -49697,8 +49713,6 @@ $rt_stringPool([
49697
49713
  "t5",
49698
49714
  "t6",
49699
49715
  "pc",
49700
- "cycle",
49701
- "instret",
49702
49716
  "ft0",
49703
49717
  "ft1",
49704
49718
  "ft2",
@@ -49734,21 +49748,6 @@ $rt_stringPool([
49734
49748
  "Negative bit address",
49735
49749
  "BigInteger out of int range",
49736
49750
  "BigInteger out of long range",
49737
- "ustatus",
49738
- "fcsr",
49739
- "uie",
49740
- "utvec",
49741
- "uscratch",
49742
- "uepc",
49743
- "ucause",
49744
- "utval",
49745
- "uip",
49746
- "time",
49747
- "fflags",
49748
- "frm",
49749
- "cycleh",
49750
- "timeh",
49751
- "instreth",
49752
49751
  "Infinity",
49753
49752
  "NaN",
49754
49753
  " , ",
@@ -50795,10 +50794,6 @@ $rt_stringPool([
50795
50794
  "0.000000",
50796
50795
  "0E",
50797
50796
  "0E+",
50798
- "Cannot claim, no external interrupt pending",
50799
- "Cannot claim, no timer interrupt pending",
50800
- "Cannot claim, no trap pending",
50801
- "trapPC doesn't match current pc",
50802
50797
  "BREAKPOINT",
50803
50798
  "EXCEPTION",
50804
50799
  "MAX_STEPS",
@@ -50806,6 +50801,10 @@ $rt_stringPool([
50806
50801
  "CLIFF_TERMINATION",
50807
50802
  "PAUSE",
50808
50803
  "STOP",
50804
+ "Cannot claim, no external interrupt pending",
50805
+ "Cannot claim, no timer interrupt pending",
50806
+ "Cannot claim, no trap pending",
50807
+ "trapPC doesn't match current pc",
50809
50808
  " -> ",
50810
50809
  "Include cycle: ",
50811
50810
  "Error reading include file ",
@@ -51186,6 +51185,19 @@ var $rt_jso_marker = Symbol("jsoClass");
51186
51185
  Object.defineProperty(c, "sourcePath", {
51187
51186
  get: $rt_callWithReceiver(asr_JsProgramStatement_getSourcePath$exported$1)
51188
51187
  });
51188
+ c = asr_JsCompilationResult.prototype;
51189
+ Object.defineProperty(c, "hasErrors", {
51190
+ get: $rt_callWithReceiver(asr_JsCompilationResult_hasErrors$exported$2)
51191
+ });
51192
+ Object.defineProperty(c, "hasWarnings", {
51193
+ get: $rt_callWithReceiver(asr_JsCompilationResult_hasWarnings$exported$0)
51194
+ });
51195
+ Object.defineProperty(c, "report", {
51196
+ get: $rt_callWithReceiver(asr_JsCompilationResult_getReport$exported$3)
51197
+ });
51198
+ Object.defineProperty(c, "errors", {
51199
+ get: $rt_callWithReceiver(asr_JsCompilationResult_getErrors$exported$1)
51200
+ });
51189
51201
  c = asr_JsStackFrame.prototype;
51190
51202
  Object.defineProperty(c, "pc", {
51191
51203
  get: $rt_callWithReceiver(asr_JsStackFrame_getPc$exported$0)
@@ -51228,19 +51240,6 @@ var $rt_jso_marker = Symbol("jsoClass");
51228
51240
  Object.defineProperty(c, "sourceColumn", {
51229
51241
  get: $rt_callWithReceiver(asr_JsRiscVToken_getSourceColumn$exported$1)
51230
51242
  });
51231
- c = asr_JsCompilationResult.prototype;
51232
- Object.defineProperty(c, "hasErrors", {
51233
- get: $rt_callWithReceiver(asr_JsCompilationResult_hasErrors$exported$2)
51234
- });
51235
- Object.defineProperty(c, "hasWarnings", {
51236
- get: $rt_callWithReceiver(asr_JsCompilationResult_hasWarnings$exported$0)
51237
- });
51238
- Object.defineProperty(c, "report", {
51239
- get: $rt_callWithReceiver(asr_JsCompilationResult_getReport$exported$3)
51240
- });
51241
- Object.defineProperty(c, "errors", {
51242
- get: $rt_callWithReceiver(asr_JsCompilationResult_getErrors$exported$1)
51243
- });
51244
51243
  c = asr_JsRiscV$run$lambda$_9_0.prototype;
51245
51244
  c.onExecute = $rt_callWithReceiver(asr_JsRiscV$run$lambda$_9_0_onExecute$exported$0);
51246
51245
  c = otji_JSWrapper$Helper$_clinit_$lambda$_3_0.prototype;
@@ -51292,26 +51291,26 @@ function $rt_export_class_JsRISCVIO_55() {
51292
51291
  return asr_JsRISCVIO__init_$exported$0();
51293
51292
  }
51294
51293
  $rt_export_class_JsRISCVIO_55.prototype = asr_JsRISCVIO.prototype;
51295
- function $rt_export_class_JsProgramStatement_249() {
51294
+ function $rt_export_class_JsProgramStatement_244() {
51296
51295
  throw new Error("Can't instantiate this class directly");
51297
51296
  }
51298
- $rt_export_class_JsProgramStatement_249.prototype = asr_JsProgramStatement.prototype;
51299
- function $rt_export_class_JsStackFrame_266() {
51297
+ $rt_export_class_JsProgramStatement_244.prototype = asr_JsProgramStatement.prototype;
51298
+ function $rt_export_class_JsCompilationResult_259() {
51300
51299
  throw new Error("Can't instantiate this class directly");
51301
51300
  }
51302
- $rt_export_class_JsStackFrame_266.prototype = asr_JsStackFrame.prototype;
51303
- function $rt_export_class_JsRiscVTokenizedLine_267() {
51301
+ $rt_export_class_JsCompilationResult_259.prototype = asr_JsCompilationResult.prototype;
51302
+ function $rt_export_class_JsStackFrame_271() {
51304
51303
  throw new Error("Can't instantiate this class directly");
51305
51304
  }
51306
- $rt_export_class_JsRiscVTokenizedLine_267.prototype = asr_JsRiscVTokenizedLine.prototype;
51307
- function $rt_export_class_JsRiscVToken_270() {
51305
+ $rt_export_class_JsStackFrame_271.prototype = asr_JsStackFrame.prototype;
51306
+ function $rt_export_class_JsRiscVTokenizedLine_273() {
51308
51307
  throw new Error("Can't instantiate this class directly");
51309
51308
  }
51310
- $rt_export_class_JsRiscVToken_270.prototype = asr_JsRiscVToken.prototype;
51311
- function $rt_export_class_JsCompilationResult_271() {
51309
+ $rt_export_class_JsRiscVTokenizedLine_273.prototype = asr_JsRiscVTokenizedLine.prototype;
51310
+ function $rt_export_class_JsRiscVToken_276() {
51312
51311
  throw new Error("Can't instantiate this class directly");
51313
51312
  }
51314
- $rt_export_class_JsCompilationResult_271.prototype = asr_JsCompilationResult.prototype;
51313
+ $rt_export_class_JsRiscVToken_276.prototype = asr_JsRiscVToken.prototype;
51315
51314
  function $rt_export_class_JsCompilationError_654() {
51316
51315
  throw new Error("Can't instantiate this class directly");
51317
51316
  }