@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.mjs CHANGED
@@ -8633,7 +8633,7 @@ var jur_Pattern_processSubExpression = ($this, $last) => {
8633
8633
  $cur = new jur_UnifiedQuantifierSet();
8634
8634
  $term = $term.$innerSet;
8635
8635
  var$8 = var$8;
8636
- jur_LeafQuantifierSet__init_($cur, $term, var$8.$next4, var$8.$type0);
8636
+ jur_LeafQuantifierSet__init_($cur, $term, var$8.$next4, var$8.$type1);
8637
8637
  $cur.$innerSet.$setNext($cur);
8638
8638
  }
8639
8639
  }
@@ -9635,7 +9635,7 @@ function jur_AbstractSet() {
9635
9635
  a.$next4 = null;
9636
9636
  a.$isSecondPassVisited = 0;
9637
9637
  a.$index2 = null;
9638
- a.$type0 = 0;
9638
+ a.$type1 = 0;
9639
9639
  }
9640
9640
  var jur_AbstractSet_counter = 0;
9641
9641
  var jur_AbstractSet_$callClinit = () => {
@@ -9680,7 +9680,7 @@ var jur_AbstractSet_findBack = ($this, $stringIndex, $startSearch, $testString,
9680
9680
  return $startSearch;
9681
9681
  };
9682
9682
  var jur_AbstractSet_getType = ($this) => {
9683
- return $this.$type0;
9683
+ return $this.$type1;
9684
9684
  };
9685
9685
  var jur_AbstractSet_getQualifiedName = ($this) => {
9686
9686
  let var$1, var$2, var$3;
@@ -11535,7 +11535,7 @@ var jur_EmptySet = $rt_classWithoutFields(jur_LeafSet);
11535
11535
  var jur_EmptySet__init_0 = ($this, $next) => {
11536
11536
  jur_AbstractSet__init_0($this, $next);
11537
11537
  $this.$charCount0 = 1;
11538
- $this.$type0 = 1;
11538
+ $this.$type1 = 1;
11539
11539
  $this.$charCount0 = 0;
11540
11540
  };
11541
11541
  var jur_EmptySet__init_ = (var_0) => {
@@ -12825,7 +12825,7 @@ function jur_QuantifierSet() {
12825
12825
  var jur_QuantifierSet__init_ = ($this, $innerSet, $next, $type) => {
12826
12826
  jur_AbstractSet__init_0($this, $next);
12827
12827
  $this.$innerSet = $innerSet;
12828
- $this.$type0 = $type;
12828
+ $this.$type1 = $type;
12829
12829
  };
12830
12830
  var jur_QuantifierSet_first = ($this, $set) => {
12831
12831
  return !$this.$innerSet.$first($set) && !$this.$next4.$first($set) ? 0 : 1;
@@ -17255,6 +17255,90 @@ var otci_Base46_decode = ($seq) => {
17255
17255
  $result = -$result | 0;
17256
17256
  return $result;
17257
17257
  };
17258
+ function asr_JsProgramStatement() {
17259
+ let a = this;
17260
+ jl_Object.call(a);
17261
+ a.$sourceLine5 = 0;
17262
+ a.$sourcePath2 = null;
17263
+ a.$address2 = 0;
17264
+ a.$binaryStatement0 = 0;
17265
+ a.$source2 = null;
17266
+ a.$assemblyStatement = null;
17267
+ a.$machineStatement0 = null;
17268
+ }
17269
+ var asr_JsProgramStatement__init_0 = ($this, $programStatement) => {
17270
+ let var$2, var$3, var$4, var$5, var$6;
17271
+ $this.$sourceLine5 = $programStatement.$sourceLine1;
17272
+ $this.$sourcePath2 = $programStatement.$sourcePath;
17273
+ $this.$address2 = $programStatement.$textAddress0;
17274
+ $this.$binaryStatement0 = $programStatement.$binaryStatement;
17275
+ $this.$source2 = $programStatement.$source;
17276
+ var$2 = $programStatement.$basicStatementList;
17277
+ var$3 = asr_Globals_getSettings();
17278
+ asr_Settings$Bool_$callClinit();
17279
+ var$4 = !asr_Settings_getBooleanSetting(var$3, asr_Settings$Bool_DISPLAY_ADDRESSES_IN_HEX) ? 10 : 16;
17280
+ var$5 = !asr_Settings_getBooleanSetting(asr_Globals_getSettings(), asr_Settings$Bool_DISPLAY_ADDRESSES_IN_HEX) ? 10 : 16;
17281
+ var$3 = new jl_StringBuffer();
17282
+ jl_AbstractStringBuilder__init_(var$3);
17283
+ var$6 = ju_AbstractList_iterator(var$2.$list);
17284
+ while (ju_AbstractList$1_hasNext(var$6)) {
17285
+ a: {
17286
+ var$2 = ju_AbstractList$1_next(var$6);
17287
+ switch (var$2.$type3) {
17288
+ case 0:
17289
+ break;
17290
+ case 1:
17291
+ if (var$4 == 10) {
17292
+ jl_AbstractStringBuilder_append0(var$3, var$2.$iValue);
17293
+ break a;
17294
+ }
17295
+ jl_AbstractStringBuilder_append1(var$3, asru_Binary_intToHexString(var$2.$iValue));
17296
+ break a;
17297
+ case 2:
17298
+ if (var$5 == 10) {
17299
+ jl_AbstractStringBuilder_append0(var$3, var$2.$iValue);
17300
+ break a;
17301
+ }
17302
+ jl_AbstractStringBuilder_append1(var$3, asru_Binary_intToHexString(var$2.$iValue));
17303
+ break a;
17304
+ case 3:
17305
+ jl_AbstractStringBuilder_append0(var$3, var$2.$iValue);
17306
+ break a;
17307
+ default:
17308
+ break a;
17309
+ }
17310
+ jl_AbstractStringBuilder_append1(var$3, var$2.$sValue);
17311
+ }
17312
+ }
17313
+ $this.$assemblyStatement = jl_AbstractStringBuilder_toString(var$3);
17314
+ $this.$machineStatement0 = $programStatement.$machineStatement;
17315
+ };
17316
+ var asr_JsProgramStatement__init_ = (var_0) => {
17317
+ let var_1 = new asr_JsProgramStatement();
17318
+ asr_JsProgramStatement__init_0(var_1, var_0);
17319
+ return var_1;
17320
+ };
17321
+ var asr_JsProgramStatement_getSourceLine$exported$0 = (var$1) => {
17322
+ return var$1.$sourceLine5;
17323
+ };
17324
+ var asr_JsProgramStatement_getSourcePath$exported$1 = (var$1) => {
17325
+ return $rt_ustr(var$1.$sourcePath2);
17326
+ };
17327
+ var asr_JsProgramStatement_getAssemblyStatement$exported$2 = (var$1) => {
17328
+ return $rt_ustr(var$1.$assemblyStatement);
17329
+ };
17330
+ var asr_JsProgramStatement_getSource$exported$3 = (var$1) => {
17331
+ return $rt_ustr(var$1.$source2);
17332
+ };
17333
+ var asr_JsProgramStatement_getAddress$exported$4 = (var$1) => {
17334
+ return var$1.$address2;
17335
+ };
17336
+ var asr_JsProgramStatement_getBinaryStatement$exported$5 = (var$1) => {
17337
+ return var$1.$binaryStatement0;
17338
+ };
17339
+ var asr_JsProgramStatement_getMachineStatement$exported$6 = (var$1) => {
17340
+ return $rt_ustr(var$1.$machineStatement0);
17341
+ };
17258
17342
  var ju_Observer = $rt_classWithoutFields(0);
17259
17343
  function asr_JsMemoryObserver() {
17260
17344
  let a = this;
@@ -17286,6 +17370,147 @@ var asr_JsMemoryObserver__init_ = (var_0, var_1, var_2, var_3, var_4, var_5) =>
17286
17370
  var asr_JsMemoryObserver_isNullish$js_body$_1 = (var$1) => {
17287
17371
  return var$1 === null || var$1 === void 0;
17288
17372
  };
17373
+ var asrrh_ControlAndStatusRegisterFile = $rt_classWithoutFields();
17374
+ var asrrh_ControlAndStatusRegisterFile_instance = null;
17375
+ var asrrh_ControlAndStatusRegisterFile_pendingCounterTicks = 0;
17376
+ var asrrh_ControlAndStatusRegisterFile_$callClinit = () => {
17377
+ asrrh_ControlAndStatusRegisterFile_$callClinit = $rt_eraseClinit(asrrh_ControlAndStatusRegisterFile);
17378
+ asrrh_ControlAndStatusRegisterFile__clinit_();
17379
+ };
17380
+ var asrrh_ControlAndStatusRegisterFile_updateRegister0 = (var$1, $val) => {
17381
+ let $target, $old, var$5, var$6;
17382
+ asrrh_ControlAndStatusRegisterFile_$callClinit();
17383
+ asrrh_ControlAndStatusRegisterFile_settleCounters();
17384
+ $target = asrrh_RegisterBlock_getRegister0(asrrh_ControlAndStatusRegisterFile_instance, var$1);
17385
+ if ($target instanceof asrrh_ReadOnlyRegister)
17386
+ return 1;
17387
+ if (var$1 >= 3200 && var$1 <= 3202)
17388
+ return 1;
17389
+ if (asr_Settings_getBackSteppingEnabled(asr_Globals_getSettings()) && $target !== null) {
17390
+ $old = asrrh_RegisterBlock_updateRegister0(asrrh_ControlAndStatusRegisterFile_instance, $target, $val);
17391
+ var$5 = asr_Globals_program.$backStepper;
17392
+ $val = $target.$getValueNoNotify();
17393
+ var$6 = var$5.$backSteps;
17394
+ asrs_BackStepper$Action_$callClinit();
17395
+ asrs_BackStepper$BackstepStack_push(var$6, asrs_BackStepper$Action_CONTROL_AND_STATUS_REGISTER_RESTORE, asrs_BackStepper_pc(var$5), var$1, $old, 0, $val);
17396
+ } else
17397
+ asrrh_RegisterBlock_updateRegister0(asrrh_ControlAndStatusRegisterFile_instance, $target, $val);
17398
+ return 0;
17399
+ };
17400
+ var asrrh_ControlAndStatusRegisterFile_updateRegister = ($name, $val) => {
17401
+ asrrh_ControlAndStatusRegisterFile_$callClinit();
17402
+ asrrh_ControlAndStatusRegisterFile_settleCounters();
17403
+ asrrh_ControlAndStatusRegisterFile_updateRegister0(asrrh_RegisterBlock_getRegister(asrrh_ControlAndStatusRegisterFile_instance, $name).$number, $val);
17404
+ };
17405
+ var asrrh_ControlAndStatusRegisterFile_updateRegisterBackdoor = ($register, $val, $programCounter) => {
17406
+ let $old, var$5, var$6;
17407
+ asrrh_ControlAndStatusRegisterFile_$callClinit();
17408
+ asrrh_ControlAndStatusRegisterFile_settleCounters();
17409
+ $old = asrrh_Register_setValueBackdoor($register, $val);
17410
+ if (Long_eq($old, $val))
17411
+ return;
17412
+ if (asr_Settings_getBackSteppingEnabled(asr_Globals_getSettings())) {
17413
+ var$5 = asr_Globals_program.$backStepper;
17414
+ var$6 = $register.$number;
17415
+ var$5 = var$5.$backSteps;
17416
+ asrs_BackStepper$Action_$callClinit();
17417
+ asrs_BackStepper$BackstepStack_push(var$5, asrs_BackStepper$Action_CONTROL_AND_STATUS_REGISTER_BACKDOOR, $programCounter, var$6, $old, 0, $val);
17418
+ }
17419
+ };
17420
+ var asrrh_ControlAndStatusRegisterFile_orRegister0 = ($num, $val) => {
17421
+ asrrh_ControlAndStatusRegisterFile_$callClinit();
17422
+ asrrh_ControlAndStatusRegisterFile_settleCounters();
17423
+ return asrrh_ControlAndStatusRegisterFile_updateRegister0($num, Long_or(asrrh_RegisterBlock_getValue(asrrh_ControlAndStatusRegisterFile_instance, $num), $val));
17424
+ };
17425
+ var asrrh_ControlAndStatusRegisterFile_orRegister = ($name, $val) => {
17426
+ asrrh_ControlAndStatusRegisterFile_$callClinit();
17427
+ asrrh_ControlAndStatusRegisterFile_settleCounters();
17428
+ asrrh_ControlAndStatusRegisterFile_updateRegister($name, Long_or(asrrh_RegisterBlock_getValue0(asrrh_ControlAndStatusRegisterFile_instance, $name), $val));
17429
+ };
17430
+ var asrrh_ControlAndStatusRegisterFile_clearRegister0 = ($num, $val) => {
17431
+ asrrh_ControlAndStatusRegisterFile_$callClinit();
17432
+ asrrh_ControlAndStatusRegisterFile_settleCounters();
17433
+ return asrrh_ControlAndStatusRegisterFile_updateRegister0($num, Long_and(asrrh_RegisterBlock_getValue(asrrh_ControlAndStatusRegisterFile_instance, $num), Long_xor($val, Long_fromInt(-1))));
17434
+ };
17435
+ var asrrh_ControlAndStatusRegisterFile_clearRegister = ($name, $val) => {
17436
+ asrrh_ControlAndStatusRegisterFile_$callClinit();
17437
+ asrrh_ControlAndStatusRegisterFile_settleCounters();
17438
+ asrrh_ControlAndStatusRegisterFile_updateRegister($name, Long_and(asrrh_RegisterBlock_getValue0(asrrh_ControlAndStatusRegisterFile_instance, $name), Long_xor($val, Long_fromInt(-1))));
17439
+ };
17440
+ var asrrh_ControlAndStatusRegisterFile_getValueLong = ($num) => {
17441
+ asrrh_ControlAndStatusRegisterFile_$callClinit();
17442
+ asrrh_ControlAndStatusRegisterFile_settleCounters();
17443
+ return asrrh_RegisterBlock_getValue(asrrh_ControlAndStatusRegisterFile_instance, $num);
17444
+ };
17445
+ var asrrh_ControlAndStatusRegisterFile_getValue = ($name) => {
17446
+ asrrh_ControlAndStatusRegisterFile_$callClinit();
17447
+ asrrh_ControlAndStatusRegisterFile_settleCounters();
17448
+ return Long_lo(asrrh_RegisterBlock_getValue0(asrrh_ControlAndStatusRegisterFile_instance, $name));
17449
+ };
17450
+ var asrrh_ControlAndStatusRegisterFile_getRegisters = () => {
17451
+ asrrh_ControlAndStatusRegisterFile_$callClinit();
17452
+ asrrh_ControlAndStatusRegisterFile_settleCounters();
17453
+ return asrrh_ControlAndStatusRegisterFile_instance.$regFile;
17454
+ };
17455
+ var asrrh_ControlAndStatusRegisterFile_incrementCounters = ($backStepping, $pc) => {
17456
+ let var$3;
17457
+ asrrh_ControlAndStatusRegisterFile_$callClinit();
17458
+ asrrh_ControlAndStatusRegisterFile_pendingCounterTicks = asrrh_ControlAndStatusRegisterFile_pendingCounterTicks + 1 | 0;
17459
+ if ($backStepping) {
17460
+ asr_Globals_$callClinit();
17461
+ var$3 = asr_Globals_program.$backStepper.$backSteps;
17462
+ asrs_BackStepper$Action_$callClinit();
17463
+ asrs_BackStepper$BackstepStack_push0(var$3, asrs_BackStepper$Action_CONTROL_AND_STATUS_COUNTERS_DECREMENT, $pc);
17464
+ }
17465
+ };
17466
+ var asrrh_ControlAndStatusRegisterFile_settleCounters = () => {
17467
+ let $ticks, $cycle, $instret, var$4, var$5;
17468
+ asrrh_ControlAndStatusRegisterFile_$callClinit();
17469
+ $ticks = asrrh_ControlAndStatusRegisterFile_pendingCounterTicks;
17470
+ if (!$ticks)
17471
+ return;
17472
+ asrrh_ControlAndStatusRegisterFile_pendingCounterTicks = 0;
17473
+ $cycle = asrrh_RegisterBlock_getRegister(asrrh_ControlAndStatusRegisterFile_instance, $rt_s(494));
17474
+ $instret = asrrh_RegisterBlock_getRegister(asrrh_ControlAndStatusRegisterFile_instance, $rt_s(495));
17475
+ var$4 = $cycle.$getValueNoNotify();
17476
+ var$5 = Long_fromInt($ticks);
17477
+ asrrh_Register_setValueBackdoor($cycle, Long_add(var$4, var$5));
17478
+ asrrh_Register_setValueBackdoor($instret, Long_add($instret.$getValueNoNotify(), var$5));
17479
+ };
17480
+ var asrrh_ControlAndStatusRegisterFile_getRegister = ($name) => {
17481
+ asrrh_ControlAndStatusRegisterFile_$callClinit();
17482
+ asrrh_ControlAndStatusRegisterFile_settleCounters();
17483
+ return asrrh_RegisterBlock_getRegister(asrrh_ControlAndStatusRegisterFile_instance, $name);
17484
+ };
17485
+ var asrrh_ControlAndStatusRegisterFile__clinit_ = () => {
17486
+ let $tmp_0, var$2;
17487
+ $tmp_0 = $rt_createArray(asrrh_Register, 17);
17488
+ var$2 = $tmp_0.data;
17489
+ var$2[0] = asrrh_MaskedRegister__init_($rt_s(496), 0, Long_ZERO, Long_fromInt(-18));
17490
+ var$2[1] = null;
17491
+ var$2[2] = null;
17492
+ var$2[3] = asrrh_MaskedRegister__init_($rt_s(497), 3, Long_ZERO, Long_fromInt(-256));
17493
+ var$2[4] = asrrh_Register__init_($rt_s(498), 4, Long_ZERO);
17494
+ var$2[5] = asrrh_Register__init_($rt_s(499), 5, Long_ZERO);
17495
+ var$2[6] = asrrh_Register__init_($rt_s(500), 64, Long_ZERO);
17496
+ var$2[7] = asrrh_Register__init_($rt_s(501), 65, Long_ZERO);
17497
+ var$2[8] = asrrh_Register__init_($rt_s(502), 66, Long_ZERO);
17498
+ var$2[9] = asrrh_Register__init_($rt_s(503), 67, Long_ZERO);
17499
+ var$2[10] = asrrh_Register__init_($rt_s(504), 68, Long_ZERO);
17500
+ var$2[11] = asrrh_ReadOnlyRegister__init_($rt_s(494), 3072, 0);
17501
+ var$2[12] = asrrh_ReadOnlyRegister__init_($rt_s(505), 3073, 0);
17502
+ var$2[13] = asrrh_ReadOnlyRegister__init_($rt_s(495), 3074, 0);
17503
+ var$2[14] = null;
17504
+ var$2[15] = null;
17505
+ var$2[16] = null;
17506
+ var$2[1] = asrrh_LinkedRegister__init_($rt_s(506), 1, var$2[3], Long_fromInt(31));
17507
+ var$2[2] = asrrh_LinkedRegister__init_($rt_s(507), 2, var$2[3], Long_fromInt(224));
17508
+ var$2[14] = asrrh_LinkedRegister__init_($rt_s(508), 3200, var$2[11], Long_create(0, 4294967295));
17509
+ var$2[15] = asrrh_LinkedRegister__init_($rt_s(509), 3201, var$2[12], Long_create(0, 4294967295));
17510
+ var$2[16] = asrrh_LinkedRegister__init_($rt_s(510), 3202, var$2[13], Long_create(0, 4294967295));
17511
+ asrrh_ControlAndStatusRegisterFile_instance = asrrh_RegisterBlock__init_0(95, $tmp_0);
17512
+ asrrh_ControlAndStatusRegisterFile_pendingCounterTicks = 0;
17513
+ };
17289
17514
  var asrrh_RegisterFile = $rt_classWithoutFields();
17290
17515
  var asrrh_RegisterFile_instance = null;
17291
17516
  var asrrh_RegisterFile_programCounter = null;
@@ -17294,18 +17519,18 @@ var asrrh_RegisterFile_$callClinit = () => {
17294
17519
  asrrh_RegisterFile_$callClinit = $rt_eraseClinit(asrrh_RegisterFile);
17295
17520
  asrrh_RegisterFile__clinit_();
17296
17521
  };
17297
- var asrrh_RegisterFile_updateRegister = (var$1, $val) => {
17522
+ var asrrh_RegisterFile_updateRegister = ($num, $val) => {
17298
17523
  let var$3, var$4, var$5;
17299
17524
  asrrh_RegisterFile_$callClinit();
17300
- if (var$1) {
17525
+ if ($num) {
17301
17526
  if (!asr_Settings_getBackSteppingEnabled(asr_Globals_getSettings()))
17302
- asrrh_RegisterBlock_updateRegister(asrrh_RegisterFile_instance, var$1, $val);
17527
+ asrrh_RegisterBlock_updateRegister(asrrh_RegisterFile_instance, $num, $val);
17303
17528
  else {
17304
17529
  var$3 = asr_Globals_program.$backStepper;
17305
- var$4 = asrrh_RegisterBlock_updateRegister(asrrh_RegisterFile_instance, var$1, $val);
17530
+ var$4 = asrrh_RegisterBlock_updateRegister(asrrh_RegisterFile_instance, $num, $val);
17306
17531
  var$5 = var$3.$backSteps;
17307
17532
  asrs_BackStepper$Action_$callClinit();
17308
- asrs_BackStepper$BackstepStack_push(var$5, asrs_BackStepper$Action_REGISTER_RESTORE, asrs_BackStepper_pc(var$3), var$1, var$4, 0, $val);
17533
+ asrs_BackStepper$BackstepStack_push(var$5, asrs_BackStepper$Action_REGISTER_RESTORE, asrs_BackStepper_pc(var$3), $num, var$4, 0, $val);
17309
17534
  }
17310
17535
  }
17311
17536
  };
@@ -17331,9 +17556,9 @@ var asrrh_RegisterFile_getRegisters = () => {
17331
17556
  };
17332
17557
  var asrrh_RegisterFile_getRegister = ($name) => {
17333
17558
  asrrh_RegisterFile_$callClinit();
17334
- if (!jl_String_equals($name, $rt_s(494)))
17559
+ if (!jl_String_equals($name, $rt_s(511)))
17335
17560
  return asrrh_RegisterBlock_getRegister(asrrh_RegisterFile_instance, $name);
17336
- return asrrh_RegisterBlock_getRegister(asrrh_RegisterFile_instance, $rt_s(495));
17561
+ return asrrh_RegisterBlock_getRegister(asrrh_RegisterFile_instance, $rt_s(512));
17337
17562
  };
17338
17563
  var asrrh_RegisterFile_initializeProgramCounter = ($value) => {
17339
17564
  asrrh_RegisterFile_$callClinit();
@@ -17386,179 +17611,57 @@ var asrrh_RegisterFile_resetRegisters = () => {
17386
17611
  asr_Settings$Bool_$callClinit();
17387
17612
  asrrh_RegisterFile_initializeProgramCounter0(asr_Settings_getBooleanSetting(var$1, asr_Settings$Bool_START_AT_MAIN));
17388
17613
  };
17614
+ var asrrh_RegisterFile_incrementPC = () => {
17615
+ asrrh_RegisterFile_$callClinit();
17616
+ asrrh_RegisterFile_programCounterValue = asrrh_RegisterFile_programCounterValue + 4 | 0;
17617
+ };
17389
17618
  var asrrh_RegisterFile__clinit_ = () => {
17390
17619
  let var$1, var$2, var$3, var$4;
17391
17620
  var$1 = new asrrh_RegisterBlock();
17392
17621
  var$2 = $rt_createArray(asrrh_Register, 32);
17393
17622
  var$3 = var$2.data;
17394
- var$3[0] = asrrh_Register__init_($rt_s(496), 0, Long_ZERO);
17395
- var$3[1] = asrrh_Register__init_($rt_s(497), 1, Long_ZERO);
17623
+ var$3[0] = asrrh_Register__init_($rt_s(513), 0, Long_ZERO);
17624
+ var$3[1] = asrrh_Register__init_($rt_s(514), 1, Long_ZERO);
17396
17625
  var$4 = new asrrh_Register();
17397
17626
  asrrh_Memory_$callClinit();
17398
17627
  asrrh_Register__init_0(var$4, $rt_s(208), 2, Long_fromInt(asrrh_Memory_stackPointer));
17399
17628
  var$3[2] = var$4;
17400
17629
  var$3[3] = asrrh_Register__init_($rt_s(207), 3, Long_fromInt(asrrh_Memory_globalPointer));
17401
- var$3[4] = asrrh_Register__init_($rt_s(498), 4, Long_ZERO);
17402
- var$3[5] = asrrh_Register__init_($rt_s(499), 5, Long_ZERO);
17403
- var$3[6] = asrrh_Register__init_($rt_s(500), 6, Long_ZERO);
17404
- var$3[7] = asrrh_Register__init_($rt_s(501), 7, Long_ZERO);
17405
- var$3[8] = asrrh_Register__init_($rt_s(495), 8, Long_ZERO);
17406
- var$3[9] = asrrh_Register__init_($rt_s(502), 9, Long_ZERO);
17407
- var$3[10] = asrrh_Register__init_($rt_s(503), 10, Long_ZERO);
17408
- var$3[11] = asrrh_Register__init_($rt_s(504), 11, Long_ZERO);
17409
- var$3[12] = asrrh_Register__init_($rt_s(505), 12, Long_ZERO);
17410
- var$3[13] = asrrh_Register__init_($rt_s(506), 13, Long_ZERO);
17411
- var$3[14] = asrrh_Register__init_($rt_s(507), 14, Long_ZERO);
17412
- var$3[15] = asrrh_Register__init_($rt_s(508), 15, Long_ZERO);
17413
- var$3[16] = asrrh_Register__init_($rt_s(509), 16, Long_ZERO);
17414
- var$3[17] = asrrh_Register__init_($rt_s(510), 17, Long_ZERO);
17415
- var$3[18] = asrrh_Register__init_($rt_s(511), 18, Long_ZERO);
17416
- var$3[19] = asrrh_Register__init_($rt_s(512), 19, Long_ZERO);
17417
- var$3[20] = asrrh_Register__init_($rt_s(513), 20, Long_ZERO);
17418
- var$3[21] = asrrh_Register__init_($rt_s(514), 21, Long_ZERO);
17419
- var$3[22] = asrrh_Register__init_($rt_s(515), 22, Long_ZERO);
17420
- var$3[23] = asrrh_Register__init_($rt_s(516), 23, Long_ZERO);
17421
- var$3[24] = asrrh_Register__init_($rt_s(517), 24, Long_ZERO);
17422
- var$3[25] = asrrh_Register__init_($rt_s(518), 25, Long_ZERO);
17423
- var$3[26] = asrrh_Register__init_($rt_s(519), 26, Long_ZERO);
17424
- var$3[27] = asrrh_Register__init_($rt_s(520), 27, Long_ZERO);
17425
- var$3[28] = asrrh_Register__init_($rt_s(521), 28, Long_ZERO);
17426
- var$3[29] = asrrh_Register__init_($rt_s(522), 29, Long_ZERO);
17427
- var$3[30] = asrrh_Register__init_($rt_s(523), 30, Long_ZERO);
17428
- var$3[31] = asrrh_Register__init_($rt_s(524), 31, Long_ZERO);
17630
+ var$3[4] = asrrh_Register__init_($rt_s(515), 4, Long_ZERO);
17631
+ var$3[5] = asrrh_Register__init_($rt_s(516), 5, Long_ZERO);
17632
+ var$3[6] = asrrh_Register__init_($rt_s(517), 6, Long_ZERO);
17633
+ var$3[7] = asrrh_Register__init_($rt_s(518), 7, Long_ZERO);
17634
+ var$3[8] = asrrh_Register__init_($rt_s(512), 8, Long_ZERO);
17635
+ var$3[9] = asrrh_Register__init_($rt_s(519), 9, Long_ZERO);
17636
+ var$3[10] = asrrh_Register__init_($rt_s(520), 10, Long_ZERO);
17637
+ var$3[11] = asrrh_Register__init_($rt_s(521), 11, Long_ZERO);
17638
+ var$3[12] = asrrh_Register__init_($rt_s(522), 12, Long_ZERO);
17639
+ var$3[13] = asrrh_Register__init_($rt_s(523), 13, Long_ZERO);
17640
+ var$3[14] = asrrh_Register__init_($rt_s(524), 14, Long_ZERO);
17641
+ var$3[15] = asrrh_Register__init_($rt_s(525), 15, Long_ZERO);
17642
+ var$3[16] = asrrh_Register__init_($rt_s(526), 16, Long_ZERO);
17643
+ var$3[17] = asrrh_Register__init_($rt_s(527), 17, Long_ZERO);
17644
+ var$3[18] = asrrh_Register__init_($rt_s(528), 18, Long_ZERO);
17645
+ var$3[19] = asrrh_Register__init_($rt_s(529), 19, Long_ZERO);
17646
+ var$3[20] = asrrh_Register__init_($rt_s(530), 20, Long_ZERO);
17647
+ var$3[21] = asrrh_Register__init_($rt_s(531), 21, Long_ZERO);
17648
+ var$3[22] = asrrh_Register__init_($rt_s(532), 22, Long_ZERO);
17649
+ var$3[23] = asrrh_Register__init_($rt_s(533), 23, Long_ZERO);
17650
+ var$3[24] = asrrh_Register__init_($rt_s(534), 24, Long_ZERO);
17651
+ var$3[25] = asrrh_Register__init_($rt_s(535), 25, Long_ZERO);
17652
+ var$3[26] = asrrh_Register__init_($rt_s(536), 26, Long_ZERO);
17653
+ var$3[27] = asrrh_Register__init_($rt_s(537), 27, Long_ZERO);
17654
+ var$3[28] = asrrh_Register__init_($rt_s(538), 28, Long_ZERO);
17655
+ var$3[29] = asrrh_Register__init_($rt_s(539), 29, Long_ZERO);
17656
+ var$3[30] = asrrh_Register__init_($rt_s(540), 30, Long_ZERO);
17657
+ var$3[31] = asrrh_Register__init_($rt_s(541), 31, Long_ZERO);
17429
17658
  asrrh_RegisterBlock__init_(var$1, 120, var$2);
17430
17659
  asrrh_RegisterFile_instance = var$1;
17431
- asrrh_RegisterFile_programCounter = asrrh_Register__init_($rt_s(525), -1, Long_fromInt(asrrh_Memory_textBaseAddress));
17660
+ asrrh_RegisterFile_programCounter = asrrh_Register__init_($rt_s(542), -1, Long_fromInt(asrrh_Memory_textBaseAddress));
17432
17661
  asrrh_RegisterFile_programCounterValue = asrrh_Memory_textBaseAddress;
17433
17662
  };
17434
- var asr_JsRiscV$Body = $rt_classWithoutFields(0);
17435
- function asr_JsRiscV$simulateWithBreakpointsAndLimit$lambda$_17_0() {
17436
- let a = this;
17437
- jl_Object.call(a);
17438
- a.$_05 = null;
17439
- a.$_12 = 0;
17440
- a.$_2 = null;
17441
- }
17442
- var asr_JsRiscV$simulateWithBreakpointsAndLimit$lambda$_17_0_run = (var$0) => {
17443
- let var$1, var$2, var$3, var$4, $ptr, $tmp;
17444
- $ptr = 0;
17445
- if ($rt_resuming()) {
17446
- let $thread = $rt_nativeThread();
17447
- $ptr = $thread.pop();
17448
- var$4 = $thread.pop();
17449
- var$3 = $thread.pop();
17450
- var$2 = $thread.pop();
17451
- var$1 = $thread.pop();
17452
- var$0 = $thread.pop();
17453
- }
17454
- main: while (true) {
17455
- switch ($ptr) {
17456
- case 0:
17457
- var$1 = var$0.$_05;
17458
- var$2 = var$0.$_12;
17459
- var$3 = var$0.$_2;
17460
- var$1 = var$1.$main;
17461
- asr_RARS_requireAssembled(var$1);
17462
- var$4 = var$1.$main0;
17463
- $ptr = 1;
17464
- case 1:
17465
- $tmp = asr_RISCVprogram_simulate(var$4, var$2, var$3);
17466
- if ($rt_suspending()) {
17467
- break main;
17468
- }
17469
- var$4 = $tmp;
17470
- var$1.$stopReason = var$4;
17471
- return var$4.$ordinal0;
17472
- default:
17473
- $rt_invalidPointer();
17474
- }
17475
- }
17476
- $rt_nativeThread().push(var$0, var$1, var$2, var$3, var$4, $ptr);
17477
- };
17478
- function asr_JsProgramStatement() {
17479
- let a = this;
17480
- jl_Object.call(a);
17481
- a.$sourceLine5 = 0;
17482
- a.$sourcePath2 = null;
17483
- a.$address2 = 0;
17484
- a.$binaryStatement0 = 0;
17485
- a.$source2 = null;
17486
- a.$assemblyStatement = null;
17487
- a.$machineStatement0 = null;
17488
- }
17489
- var asr_JsProgramStatement__init_0 = ($this, $programStatement) => {
17490
- let var$2, var$3, var$4, var$5, var$6;
17491
- $this.$sourceLine5 = $programStatement.$sourceLine1;
17492
- $this.$sourcePath2 = $programStatement.$sourcePath;
17493
- $this.$address2 = $programStatement.$textAddress0;
17494
- $this.$binaryStatement0 = $programStatement.$binaryStatement;
17495
- $this.$source2 = $programStatement.$source;
17496
- var$2 = $programStatement.$basicStatementList;
17497
- var$3 = asr_Globals_getSettings();
17498
- asr_Settings$Bool_$callClinit();
17499
- var$4 = !asr_Settings_getBooleanSetting(var$3, asr_Settings$Bool_DISPLAY_ADDRESSES_IN_HEX) ? 10 : 16;
17500
- var$5 = !asr_Settings_getBooleanSetting(asr_Globals_getSettings(), asr_Settings$Bool_DISPLAY_ADDRESSES_IN_HEX) ? 10 : 16;
17501
- var$3 = new jl_StringBuffer();
17502
- jl_AbstractStringBuilder__init_(var$3);
17503
- var$6 = ju_AbstractList_iterator(var$2.$list);
17504
- while (ju_AbstractList$1_hasNext(var$6)) {
17505
- a: {
17506
- var$2 = ju_AbstractList$1_next(var$6);
17507
- switch (var$2.$type3) {
17508
- case 0:
17509
- break;
17510
- case 1:
17511
- if (var$4 == 10) {
17512
- jl_AbstractStringBuilder_append0(var$3, var$2.$iValue);
17513
- break a;
17514
- }
17515
- jl_AbstractStringBuilder_append1(var$3, asru_Binary_intToHexString(var$2.$iValue));
17516
- break a;
17517
- case 2:
17518
- if (var$5 == 10) {
17519
- jl_AbstractStringBuilder_append0(var$3, var$2.$iValue);
17520
- break a;
17521
- }
17522
- jl_AbstractStringBuilder_append1(var$3, asru_Binary_intToHexString(var$2.$iValue));
17523
- break a;
17524
- case 3:
17525
- jl_AbstractStringBuilder_append0(var$3, var$2.$iValue);
17526
- break a;
17527
- default:
17528
- break a;
17529
- }
17530
- jl_AbstractStringBuilder_append1(var$3, var$2.$sValue);
17531
- }
17532
- }
17533
- $this.$assemblyStatement = jl_AbstractStringBuilder_toString(var$3);
17534
- $this.$machineStatement0 = $programStatement.$machineStatement;
17535
- };
17536
- var asr_JsProgramStatement__init_ = (var_0) => {
17537
- let var_1 = new asr_JsProgramStatement();
17538
- asr_JsProgramStatement__init_0(var_1, var_0);
17539
- return var_1;
17540
- };
17541
- var asr_JsProgramStatement_getSourceLine$exported$0 = (var$1) => {
17542
- return var$1.$sourceLine5;
17543
- };
17544
- var asr_JsProgramStatement_getSourcePath$exported$1 = (var$1) => {
17545
- return $rt_ustr(var$1.$sourcePath2);
17546
- };
17547
- var asr_JsProgramStatement_getAssemblyStatement$exported$2 = (var$1) => {
17548
- return $rt_ustr(var$1.$assemblyStatement);
17549
- };
17550
- var asr_JsProgramStatement_getSource$exported$3 = (var$1) => {
17551
- return $rt_ustr(var$1.$source2);
17552
- };
17553
- var asr_JsProgramStatement_getAddress$exported$4 = (var$1) => {
17554
- return var$1.$address2;
17555
- };
17556
- var asr_JsProgramStatement_getBinaryStatement$exported$5 = (var$1) => {
17557
- return var$1.$binaryStatement0;
17558
- };
17559
- var asr_JsProgramStatement_getMachineStatement$exported$6 = (var$1) => {
17560
- return $rt_ustr(var$1.$machineStatement0);
17561
- };
17663
+ var juf_ToIntFunction = $rt_classWithoutFields(0);
17664
+ var asr_JsRiscV$getRegistersValues$lambda$_28_0 = $rt_classWithoutFields();
17562
17665
  var otjc_JSArrayReader = $rt_classWithoutFields(0);
17563
17666
  var otjc_JSArray = $rt_classWithoutFields();
17564
17667
  var otjc_JSArray_of = ($items) => {
@@ -17635,7 +17738,7 @@ var asrs_BackStepper_applyRestore = ($action, $param1, $param2) => {
17635
17738
  case 8:
17636
17739
  asrrh_ControlAndStatusRegisterFile_$callClinit();
17637
17740
  asrrh_ControlAndStatusRegisterFile_settleCounters();
17638
- asrrh_ControlAndStatusRegisterFile_updateRegisterBackdoor(asrrh_RegisterBlock_getRegister0(asrrh_ControlAndStatusRegisterFile_instance, $param1), $param2);
17741
+ asrrh_ControlAndStatusRegisterFile_updateRegisterBackdoor(asrrh_RegisterBlock_getRegister0(asrrh_ControlAndStatusRegisterFile_instance, $param1), $param2, asrrh_RegisterFile_getProgramCounter() - 4 | 0);
17639
17742
  break a;
17640
17743
  case 9:
17641
17744
  asrrh_FloatingPointRegisterFile_updateRegisterLong($param1, $param2);
@@ -17648,8 +17751,8 @@ var asrs_BackStepper_applyRestore = ($action, $param1, $param2) => {
17648
17751
  if ($param1 > 0)
17649
17752
  asrrh_ControlAndStatusRegisterFile_pendingCounterTicks = $param1 - 1 | 0;
17650
17753
  else {
17651
- $action = asrrh_RegisterBlock_getRegister(asrrh_ControlAndStatusRegisterFile_instance, $rt_s(526));
17652
- var$7 = asrrh_RegisterBlock_getRegister(asrrh_ControlAndStatusRegisterFile_instance, $rt_s(527));
17754
+ $action = asrrh_RegisterBlock_getRegister(asrrh_ControlAndStatusRegisterFile_instance, $rt_s(494));
17755
+ var$7 = asrrh_RegisterBlock_getRegister(asrrh_ControlAndStatusRegisterFile_instance, $rt_s(495));
17653
17756
  asrrh_Register_setValueBackdoor($action, Long_sub($action.$getValueNoNotify(), Long_fromInt(1)));
17654
17757
  asrrh_Register_setValueBackdoor(var$7, Long_sub(var$7.$getValueNoNotify(), Long_fromInt(1)));
17655
17758
  }
@@ -17738,15 +17841,157 @@ var asr_JsUndoGroup = $rt_classWithoutFields();
17738
17841
  var asr_JsUndoGroup_create$js_body$_3 = (var$1, var$2, var$3, var$4) => {
17739
17842
  return { kind: var$1, pc: var$2, steps: var$3, writes: var$4 };
17740
17843
  };
17844
+ var asr_JsRiscV$Body = $rt_classWithoutFields(0);
17845
+ function asr_JsRiscV$simulateWithBreakpointsAndLimit$lambda$_17_0() {
17846
+ let a = this;
17847
+ jl_Object.call(a);
17848
+ a.$_05 = null;
17849
+ a.$_12 = 0;
17850
+ a.$_2 = null;
17851
+ }
17852
+ var asr_JsRiscV$simulateWithBreakpointsAndLimit$lambda$_17_0_run = (var$0) => {
17853
+ let var$1, var$2, var$3, var$4, $ptr, $tmp;
17854
+ $ptr = 0;
17855
+ if ($rt_resuming()) {
17856
+ let $thread = $rt_nativeThread();
17857
+ $ptr = $thread.pop();
17858
+ var$4 = $thread.pop();
17859
+ var$3 = $thread.pop();
17860
+ var$2 = $thread.pop();
17861
+ var$1 = $thread.pop();
17862
+ var$0 = $thread.pop();
17863
+ }
17864
+ main: while (true) {
17865
+ switch ($ptr) {
17866
+ case 0:
17867
+ var$1 = var$0.$_05;
17868
+ var$2 = var$0.$_12;
17869
+ var$3 = var$0.$_2;
17870
+ var$1 = var$1.$main;
17871
+ asr_RARS_requireAssembled(var$1);
17872
+ var$4 = var$1.$main0;
17873
+ $ptr = 1;
17874
+ case 1:
17875
+ $tmp = asr_RISCVprogram_simulate(var$4, var$2, var$3);
17876
+ if ($rt_suspending()) {
17877
+ break main;
17878
+ }
17879
+ var$4 = $tmp;
17880
+ var$1.$stopReason = var$4;
17881
+ return var$4.$ordinal0;
17882
+ default:
17883
+ $rt_invalidPointer();
17884
+ }
17885
+ }
17886
+ $rt_nativeThread().push(var$0, var$1, var$2, var$3, var$4, $ptr);
17887
+ };
17888
+ function asr_JsRiscV$simulate$lambda$_12_0() {
17889
+ jl_Object.call(this);
17890
+ this.$_06 = null;
17891
+ }
17892
+ var asr_JsRiscV$simulate$lambda$_12_0_run = (var$0) => {
17893
+ let var$1, var$2, $ptr, $tmp;
17894
+ $ptr = 0;
17895
+ if ($rt_resuming()) {
17896
+ let $thread = $rt_nativeThread();
17897
+ $ptr = $thread.pop();
17898
+ var$2 = $thread.pop();
17899
+ var$1 = $thread.pop();
17900
+ var$0 = $thread.pop();
17901
+ }
17902
+ main: while (true) {
17903
+ switch ($ptr) {
17904
+ case 0:
17905
+ var$1 = var$0.$_06.$main;
17906
+ var$2 = -1;
17907
+ $ptr = 1;
17908
+ case 1:
17909
+ $tmp = asr_RARS_simulate(var$1, var$2);
17910
+ if ($rt_suspending()) {
17911
+ break main;
17912
+ }
17913
+ var$1 = $tmp;
17914
+ return var$1.$ordinal0;
17915
+ default:
17916
+ $rt_invalidPointer();
17917
+ }
17918
+ }
17919
+ $rt_nativeThread().push(var$0, var$1, var$2, $ptr);
17920
+ };
17921
+ function asr_JsCompilationResult() {
17922
+ let a = this;
17923
+ jl_Object.call(a);
17924
+ a.$report = null;
17925
+ a.$errors1 = null;
17926
+ }
17927
+ var asr_JsCompilationResult__init_0 = ($this, $errorReport) => {
17928
+ let var$2, var$3, var$4;
17929
+ $this.$report = asr_ErrorList_generateErrorAndWarningReport($errorReport);
17930
+ $errorReport = ju_Collection_stream($errorReport.$messages);
17931
+ var$2 = new asr_JsCompilationResult$_init_$lambda$_0_0();
17932
+ var$2.$_019 = $this;
17933
+ $errorReport = jusi_SimpleStreamImpl_map($errorReport, var$2);
17934
+ var$2 = new asr_JsCompilationResult$_init_$lambda$_0_2();
17935
+ $errorReport = $errorReport;
17936
+ var$3 = ju_ArrayList__init_();
17937
+ var$4 = $errorReport;
17938
+ while (true) {
17939
+ $errorReport = new jusi_SimpleStreamImpl$collect$lambda$_25_0();
17940
+ $errorReport.$_024 = var$2;
17941
+ $errorReport.$_19 = var$3;
17942
+ if (!jusi_WrappingStreamImpl_next(var$4, $errorReport))
17943
+ break;
17944
+ }
17945
+ $this.$errors1 = var$3;
17946
+ };
17947
+ var asr_JsCompilationResult__init_ = (var_0) => {
17948
+ let var_1 = new asr_JsCompilationResult();
17949
+ asr_JsCompilationResult__init_0(var_1, var_0);
17950
+ return var_1;
17951
+ };
17952
+ var asr_JsCompilationResult_hasWarnings$exported$0 = (var$1) => {
17953
+ let var$2;
17954
+ var$1 = ju_Collection_stream(var$1.$errors1);
17955
+ var$2 = new asr_JsCompilationResult$hasWarnings$lambda$_3_0();
17956
+ return !!jusi_SimpleStreamImpl_anyMatch(var$1, var$2);
17957
+ };
17958
+ var asr_JsCompilationResult_getErrors$exported$1 = (var$1) => {
17959
+ let var$2;
17960
+ var$1 = var$1.$errors1;
17961
+ var$2 = $rt_createArray(asr_JsCompilationResult$JsCompilationError, 0);
17962
+ return otji_JS_wrap(ju_AbstractCollection_toArray(var$1, var$2));
17963
+ };
17964
+ var asr_JsCompilationResult_hasErrors$exported$2 = (var$1) => {
17965
+ let var$2;
17966
+ var$1 = ju_Collection_stream(var$1.$errors1);
17967
+ var$2 = new asr_JsCompilationResult$hasErrors$lambda$_2_0();
17968
+ return !!jusi_SimpleStreamImpl_anyMatch(var$1, var$2);
17969
+ };
17970
+ var asr_JsCompilationResult_getReport$exported$3 = (var$1) => {
17971
+ return $rt_ustr(var$1.$report);
17972
+ };
17973
+ function asr_AssemblyException() {
17974
+ jl_Exception.call(this);
17975
+ this.$errs = null;
17976
+ }
17977
+ var asr_AssemblyException__init_0 = ($this, $errs) => {
17978
+ jl_Throwable__init_0($this, asr_ErrorList_generateErrorAndWarningReport($errs));
17979
+ $this.$errs = $errs;
17980
+ };
17981
+ var asr_AssemblyException__init_ = (var_0) => {
17982
+ let var_1 = new asr_AssemblyException();
17983
+ asr_AssemblyException__init_0(var_1, var_0);
17984
+ return var_1;
17985
+ };
17741
17986
  var asrrh_FloatingPointRegisterFile = $rt_classWithoutFields();
17742
17987
  var asrrh_FloatingPointRegisterFile_instance = null;
17743
17988
  var asrrh_FloatingPointRegisterFile_$callClinit = () => {
17744
17989
  asrrh_FloatingPointRegisterFile_$callClinit = $rt_eraseClinit(asrrh_FloatingPointRegisterFile);
17745
17990
  asrrh_FloatingPointRegisterFile__clinit_();
17746
17991
  };
17747
- var asrrh_FloatingPointRegisterFile_setRegisterToFloat = (var$1, var$2) => {
17992
+ var asrrh_FloatingPointRegisterFile_setRegisterToFloat = ($reg, $val) => {
17748
17993
  asrrh_FloatingPointRegisterFile_$callClinit();
17749
- asrrh_FloatingPointRegisterFile_updateRegister(var$1, $rt_floatToRawIntBits(var$2));
17994
+ asrrh_FloatingPointRegisterFile_updateRegister($reg, $rt_floatToRawIntBits($val));
17750
17995
  };
17751
17996
  var asrrh_FloatingPointRegisterFile_updateRegister = ($num, $val) => {
17752
17997
  let $lval;
@@ -17797,41 +18042,77 @@ var asrrh_FloatingPointRegisterFile__clinit_ = () => {
17797
18042
  var$1 = new asrrh_RegisterBlock();
17798
18043
  var$2 = $rt_createArray(asrrh_Register, 32);
17799
18044
  var$3 = var$2.data;
17800
- var$3[0] = asrrh_Register__init_($rt_s(528), 0, Long_ZERO);
17801
- var$3[1] = asrrh_Register__init_($rt_s(529), 1, Long_ZERO);
17802
- var$3[2] = asrrh_Register__init_($rt_s(530), 2, Long_ZERO);
17803
- var$3[3] = asrrh_Register__init_($rt_s(531), 3, Long_ZERO);
17804
- var$3[4] = asrrh_Register__init_($rt_s(532), 4, Long_ZERO);
17805
- var$3[5] = asrrh_Register__init_($rt_s(533), 5, Long_ZERO);
17806
- var$3[6] = asrrh_Register__init_($rt_s(534), 6, Long_ZERO);
17807
- var$3[7] = asrrh_Register__init_($rt_s(535), 7, Long_ZERO);
17808
- var$3[8] = asrrh_Register__init_($rt_s(536), 8, Long_ZERO);
17809
- var$3[9] = asrrh_Register__init_($rt_s(537), 9, Long_ZERO);
17810
- var$3[10] = asrrh_Register__init_($rt_s(538), 10, Long_ZERO);
17811
- var$3[11] = asrrh_Register__init_($rt_s(539), 11, Long_ZERO);
17812
- var$3[12] = asrrh_Register__init_($rt_s(540), 12, Long_ZERO);
17813
- var$3[13] = asrrh_Register__init_($rt_s(541), 13, Long_ZERO);
17814
- var$3[14] = asrrh_Register__init_($rt_s(542), 14, Long_ZERO);
17815
- var$3[15] = asrrh_Register__init_($rt_s(543), 15, Long_ZERO);
17816
- var$3[16] = asrrh_Register__init_($rt_s(544), 16, Long_ZERO);
17817
- var$3[17] = asrrh_Register__init_($rt_s(545), 17, Long_ZERO);
17818
- var$3[18] = asrrh_Register__init_($rt_s(546), 18, Long_ZERO);
17819
- var$3[19] = asrrh_Register__init_($rt_s(547), 19, Long_ZERO);
17820
- var$3[20] = asrrh_Register__init_($rt_s(548), 20, Long_ZERO);
17821
- var$3[21] = asrrh_Register__init_($rt_s(549), 21, Long_ZERO);
17822
- var$3[22] = asrrh_Register__init_($rt_s(550), 22, Long_ZERO);
17823
- var$3[23] = asrrh_Register__init_($rt_s(551), 23, Long_ZERO);
17824
- var$3[24] = asrrh_Register__init_($rt_s(552), 24, Long_ZERO);
17825
- var$3[25] = asrrh_Register__init_($rt_s(553), 25, Long_ZERO);
17826
- var$3[26] = asrrh_Register__init_($rt_s(554), 26, Long_ZERO);
17827
- var$3[27] = asrrh_Register__init_($rt_s(555), 27, Long_ZERO);
17828
- var$3[28] = asrrh_Register__init_($rt_s(556), 28, Long_ZERO);
17829
- var$3[29] = asrrh_Register__init_($rt_s(557), 29, Long_ZERO);
17830
- var$3[30] = asrrh_Register__init_($rt_s(558), 30, Long_ZERO);
17831
- var$3[31] = asrrh_Register__init_($rt_s(559), 31, Long_ZERO);
18045
+ var$3[0] = asrrh_Register__init_($rt_s(543), 0, Long_ZERO);
18046
+ var$3[1] = asrrh_Register__init_($rt_s(544), 1, Long_ZERO);
18047
+ var$3[2] = asrrh_Register__init_($rt_s(545), 2, Long_ZERO);
18048
+ var$3[3] = asrrh_Register__init_($rt_s(546), 3, Long_ZERO);
18049
+ var$3[4] = asrrh_Register__init_($rt_s(547), 4, Long_ZERO);
18050
+ var$3[5] = asrrh_Register__init_($rt_s(548), 5, Long_ZERO);
18051
+ var$3[6] = asrrh_Register__init_($rt_s(549), 6, Long_ZERO);
18052
+ var$3[7] = asrrh_Register__init_($rt_s(550), 7, Long_ZERO);
18053
+ var$3[8] = asrrh_Register__init_($rt_s(551), 8, Long_ZERO);
18054
+ var$3[9] = asrrh_Register__init_($rt_s(552), 9, Long_ZERO);
18055
+ var$3[10] = asrrh_Register__init_($rt_s(553), 10, Long_ZERO);
18056
+ var$3[11] = asrrh_Register__init_($rt_s(554), 11, Long_ZERO);
18057
+ var$3[12] = asrrh_Register__init_($rt_s(555), 12, Long_ZERO);
18058
+ var$3[13] = asrrh_Register__init_($rt_s(556), 13, Long_ZERO);
18059
+ var$3[14] = asrrh_Register__init_($rt_s(557), 14, Long_ZERO);
18060
+ var$3[15] = asrrh_Register__init_($rt_s(558), 15, Long_ZERO);
18061
+ var$3[16] = asrrh_Register__init_($rt_s(559), 16, Long_ZERO);
18062
+ var$3[17] = asrrh_Register__init_($rt_s(560), 17, Long_ZERO);
18063
+ var$3[18] = asrrh_Register__init_($rt_s(561), 18, Long_ZERO);
18064
+ var$3[19] = asrrh_Register__init_($rt_s(562), 19, Long_ZERO);
18065
+ var$3[20] = asrrh_Register__init_($rt_s(563), 20, Long_ZERO);
18066
+ var$3[21] = asrrh_Register__init_($rt_s(564), 21, Long_ZERO);
18067
+ var$3[22] = asrrh_Register__init_($rt_s(565), 22, Long_ZERO);
18068
+ var$3[23] = asrrh_Register__init_($rt_s(566), 23, Long_ZERO);
18069
+ var$3[24] = asrrh_Register__init_($rt_s(567), 24, Long_ZERO);
18070
+ var$3[25] = asrrh_Register__init_($rt_s(568), 25, Long_ZERO);
18071
+ var$3[26] = asrrh_Register__init_($rt_s(569), 26, Long_ZERO);
18072
+ var$3[27] = asrrh_Register__init_($rt_s(570), 27, Long_ZERO);
18073
+ var$3[28] = asrrh_Register__init_($rt_s(571), 28, Long_ZERO);
18074
+ var$3[29] = asrrh_Register__init_($rt_s(572), 29, Long_ZERO);
18075
+ var$3[30] = asrrh_Register__init_($rt_s(573), 30, Long_ZERO);
18076
+ var$3[31] = asrrh_Register__init_($rt_s(574), 31, Long_ZERO);
17832
18077
  asrrh_RegisterBlock__init_(var$1, 102, var$2);
17833
18078
  asrrh_FloatingPointRegisterFile_instance = var$1;
17834
18079
  };
18080
+ function asr_JsRiscV$simulateWithLimit$lambda$_13_0() {
18081
+ let a = this;
18082
+ jl_Object.call(a);
18083
+ a.$_022 = null;
18084
+ a.$_112 = 0;
18085
+ }
18086
+ var asr_JsRiscV$simulateWithLimit$lambda$_13_0_run = (var$0) => {
18087
+ let var$1, var$2, $ptr, $tmp;
18088
+ $ptr = 0;
18089
+ if ($rt_resuming()) {
18090
+ let $thread = $rt_nativeThread();
18091
+ $ptr = $thread.pop();
18092
+ var$2 = $thread.pop();
18093
+ var$1 = $thread.pop();
18094
+ var$0 = $thread.pop();
18095
+ }
18096
+ main: while (true) {
18097
+ switch ($ptr) {
18098
+ case 0:
18099
+ var$1 = var$0.$_022;
18100
+ var$2 = var$0.$_112;
18101
+ var$1 = var$1.$main;
18102
+ $ptr = 1;
18103
+ case 1:
18104
+ $tmp = asr_RARS_simulate(var$1, var$2);
18105
+ if ($rt_suspending()) {
18106
+ break main;
18107
+ }
18108
+ var$1 = $tmp;
18109
+ return var$1.$ordinal0;
18110
+ default:
18111
+ $rt_invalidPointer();
18112
+ }
18113
+ }
18114
+ $rt_nativeThread().push(var$0, var$1, var$2, $ptr);
18115
+ };
17835
18116
  function jm_BigInteger() {
17836
18117
  let a = this;
17837
18118
  jl_Number.call(a);
@@ -18045,7 +18326,7 @@ var jm_BigInteger_testBit = ($this, $n) => {
18045
18326
  return !($this.$digits.data[0] & 1) ? 0 : 1;
18046
18327
  if ($n < 0) {
18047
18328
  var$2 = new jl_ArithmeticException();
18048
- jl_Throwable__init_0(var$2, $rt_s(560));
18329
+ jl_Throwable__init_0(var$2, $rt_s(575));
18049
18330
  $rt_throw(var$2);
18050
18331
  }
18051
18332
  $intCount = $n >> 5;
@@ -18073,7 +18354,7 @@ var jm_BigInteger_intValueExact = ($this) => {
18073
18354
  if ($this.$numberLength <= 1 && jm_BigInteger_bitLength($this) <= 31)
18074
18355
  return $rt_imul($this.$sign0, $this.$digits.data[0]);
18075
18356
  var$1 = new jl_ArithmeticException();
18076
- jl_Throwable__init_0(var$1, $rt_s(561));
18357
+ jl_Throwable__init_0(var$1, $rt_s(576));
18077
18358
  $rt_throw(var$1);
18078
18359
  };
18079
18360
  var jm_BigInteger_longValue = ($this) => {
@@ -18091,7 +18372,7 @@ var jm_BigInteger_longValueExact = ($this) => {
18091
18372
  if ($this.$numberLength <= 2 && jm_BigInteger_bitLength($this) <= 63)
18092
18373
  return jm_BigInteger_longValue($this);
18093
18374
  var$1 = new jl_ArithmeticException();
18094
- jl_Throwable__init_0(var$1, $rt_s(562));
18375
+ jl_Throwable__init_0(var$1, $rt_s(577));
18095
18376
  $rt_throw(var$1);
18096
18377
  };
18097
18378
  var jm_BigInteger_compareTo = ($this, $val) => {
@@ -18239,241 +18520,6 @@ var jm_BigInteger__clinit_ = () => {
18239
18520
  $i = $i + 1 | 0;
18240
18521
  }
18241
18522
  };
18242
- function asr_JsRiscV$simulateWithBreakpoints$lambda$_16_0() {
18243
- let a = this;
18244
- jl_Object.call(a);
18245
- a.$_03 = null;
18246
- a.$_10 = null;
18247
- }
18248
- var asr_JsRiscV$simulateWithBreakpoints$lambda$_16_0_run = (var$0) => {
18249
- let var$1, var$2, var$3, var$4, $ptr, $tmp;
18250
- $ptr = 0;
18251
- if ($rt_resuming()) {
18252
- let $thread = $rt_nativeThread();
18253
- $ptr = $thread.pop();
18254
- var$4 = $thread.pop();
18255
- var$3 = $thread.pop();
18256
- var$2 = $thread.pop();
18257
- var$1 = $thread.pop();
18258
- var$0 = $thread.pop();
18259
- }
18260
- main: while (true) {
18261
- switch ($ptr) {
18262
- case 0:
18263
- var$1 = var$0.$_03;
18264
- var$2 = var$0.$_10;
18265
- var$1 = var$1.$main;
18266
- asr_RARS_requireAssembled(var$1);
18267
- var$3 = var$1.$main0;
18268
- var$4 = -1;
18269
- $ptr = 1;
18270
- case 1:
18271
- $tmp = asr_RISCVprogram_simulate(var$3, var$4, var$2);
18272
- if ($rt_suspending()) {
18273
- break main;
18274
- }
18275
- var$3 = $tmp;
18276
- var$1.$stopReason = var$3;
18277
- return var$3.$ordinal0;
18278
- default:
18279
- $rt_invalidPointer();
18280
- }
18281
- }
18282
- $rt_nativeThread().push(var$0, var$1, var$2, var$3, var$4, $ptr);
18283
- };
18284
- var jl_IllegalStateException = $rt_classWithoutFields(jl_RuntimeException);
18285
- function asr_JsRiscV$PokeJournal() {
18286
- let a = this;
18287
- jl_Object.call(a);
18288
- a.$group1 = 0;
18289
- a.$registers = null;
18290
- a.$registersByName = null;
18291
- a.$memoryOldBytes = null;
18292
- }
18293
- function asr_JsRiscV$PokeRecord() {
18294
- let a = this;
18295
- jl_Object.call(a);
18296
- a.$group0 = 0;
18297
- a.$writes = null;
18298
- }
18299
- function asr_JsRiscV$step$lambda$_10_0() {
18300
- jl_Object.call(this);
18301
- this.$_014 = null;
18302
- }
18303
- var asr_JsRiscV$step$lambda$_10_0_run = (var$0) => {
18304
- let var$1, var$2, var$3, $ptr, $tmp;
18305
- $ptr = 0;
18306
- if ($rt_resuming()) {
18307
- let $thread = $rt_nativeThread();
18308
- $ptr = $thread.pop();
18309
- var$3 = $thread.pop();
18310
- var$2 = $thread.pop();
18311
- var$1 = $thread.pop();
18312
- var$0 = $thread.pop();
18313
- }
18314
- main: while (true) {
18315
- switch ($ptr) {
18316
- case 0:
18317
- var$1 = var$0.$_014.$main;
18318
- asr_RARS_requireAssembled(var$1);
18319
- var$2 = var$1.$main0;
18320
- var$3 = 1;
18321
- $ptr = 1;
18322
- case 1:
18323
- $tmp = asr_RISCVprogram_simulate0(var$2, var$3);
18324
- if ($rt_suspending()) {
18325
- break main;
18326
- }
18327
- var$2 = $tmp;
18328
- var$1.$stopReason = var$2;
18329
- return var$2.$ordinal0;
18330
- default:
18331
- $rt_invalidPointer();
18332
- }
18333
- }
18334
- $rt_nativeThread().push(var$0, var$1, var$2, var$3, $ptr);
18335
- };
18336
- var asrrh_ControlAndStatusRegisterFile = $rt_classWithoutFields();
18337
- var asrrh_ControlAndStatusRegisterFile_instance = null;
18338
- var asrrh_ControlAndStatusRegisterFile_pendingCounterTicks = 0;
18339
- var asrrh_ControlAndStatusRegisterFile_$callClinit = () => {
18340
- asrrh_ControlAndStatusRegisterFile_$callClinit = $rt_eraseClinit(asrrh_ControlAndStatusRegisterFile);
18341
- asrrh_ControlAndStatusRegisterFile__clinit_();
18342
- };
18343
- var asrrh_ControlAndStatusRegisterFile_updateRegister0 = ($num, $val) => {
18344
- let $target, $old, var$5, var$6;
18345
- asrrh_ControlAndStatusRegisterFile_$callClinit();
18346
- asrrh_ControlAndStatusRegisterFile_settleCounters();
18347
- $target = asrrh_RegisterBlock_getRegister0(asrrh_ControlAndStatusRegisterFile_instance, $num);
18348
- if ($target instanceof asrrh_ReadOnlyRegister)
18349
- return 1;
18350
- if ($num >= 3200 && $num <= 3202)
18351
- return 1;
18352
- if (asr_Settings_getBackSteppingEnabled(asr_Globals_getSettings()) && $target !== null) {
18353
- $old = asrrh_RegisterBlock_updateRegister0(asrrh_ControlAndStatusRegisterFile_instance, $target, $val);
18354
- var$5 = asr_Globals_program.$backStepper;
18355
- $val = $target.$getValueNoNotify();
18356
- var$6 = var$5.$backSteps;
18357
- asrs_BackStepper$Action_$callClinit();
18358
- asrs_BackStepper$BackstepStack_push(var$6, asrs_BackStepper$Action_CONTROL_AND_STATUS_REGISTER_RESTORE, asrs_BackStepper_pc(var$5), $num, $old, 0, $val);
18359
- } else
18360
- asrrh_RegisterBlock_updateRegister0(asrrh_ControlAndStatusRegisterFile_instance, $target, $val);
18361
- return 0;
18362
- };
18363
- var asrrh_ControlAndStatusRegisterFile_updateRegister = ($name, $val) => {
18364
- asrrh_ControlAndStatusRegisterFile_$callClinit();
18365
- asrrh_ControlAndStatusRegisterFile_settleCounters();
18366
- asrrh_ControlAndStatusRegisterFile_updateRegister0(asrrh_RegisterBlock_getRegister(asrrh_ControlAndStatusRegisterFile_instance, $name).$number, $val);
18367
- };
18368
- var asrrh_ControlAndStatusRegisterFile_updateRegisterBackdoor = ($register, $val) => {
18369
- let $old, var$4, var$5, var$6;
18370
- asrrh_ControlAndStatusRegisterFile_$callClinit();
18371
- asrrh_ControlAndStatusRegisterFile_settleCounters();
18372
- $old = asrrh_Register_setValueBackdoor($register, $val);
18373
- if (Long_eq($old, $val))
18374
- return;
18375
- if (asr_Settings_getBackSteppingEnabled(asr_Globals_getSettings())) {
18376
- var$4 = asr_Globals_program.$backStepper;
18377
- var$5 = $register.$number;
18378
- var$6 = var$4.$backSteps;
18379
- asrs_BackStepper$Action_$callClinit();
18380
- asrs_BackStepper$BackstepStack_push(var$6, asrs_BackStepper$Action_CONTROL_AND_STATUS_REGISTER_BACKDOOR, asrs_BackStepper_pc(var$4), var$5, $old, 0, $val);
18381
- }
18382
- };
18383
- var asrrh_ControlAndStatusRegisterFile_orRegister0 = ($num, $val) => {
18384
- asrrh_ControlAndStatusRegisterFile_$callClinit();
18385
- asrrh_ControlAndStatusRegisterFile_settleCounters();
18386
- return asrrh_ControlAndStatusRegisterFile_updateRegister0($num, Long_or(asrrh_RegisterBlock_getValue(asrrh_ControlAndStatusRegisterFile_instance, $num), $val));
18387
- };
18388
- var asrrh_ControlAndStatusRegisterFile_orRegister = ($name, $val) => {
18389
- asrrh_ControlAndStatusRegisterFile_$callClinit();
18390
- asrrh_ControlAndStatusRegisterFile_settleCounters();
18391
- asrrh_ControlAndStatusRegisterFile_updateRegister($name, Long_or(asrrh_RegisterBlock_getValue0(asrrh_ControlAndStatusRegisterFile_instance, $name), $val));
18392
- };
18393
- var asrrh_ControlAndStatusRegisterFile_clearRegister0 = ($num, $val) => {
18394
- asrrh_ControlAndStatusRegisterFile_$callClinit();
18395
- asrrh_ControlAndStatusRegisterFile_settleCounters();
18396
- return asrrh_ControlAndStatusRegisterFile_updateRegister0($num, Long_and(asrrh_RegisterBlock_getValue(asrrh_ControlAndStatusRegisterFile_instance, $num), Long_xor($val, Long_fromInt(-1))));
18397
- };
18398
- var asrrh_ControlAndStatusRegisterFile_clearRegister = ($name, $val) => {
18399
- asrrh_ControlAndStatusRegisterFile_$callClinit();
18400
- asrrh_ControlAndStatusRegisterFile_settleCounters();
18401
- asrrh_ControlAndStatusRegisterFile_updateRegister($name, Long_and(asrrh_RegisterBlock_getValue0(asrrh_ControlAndStatusRegisterFile_instance, $name), Long_xor($val, Long_fromInt(-1))));
18402
- };
18403
- var asrrh_ControlAndStatusRegisterFile_getValueLong = ($num) => {
18404
- asrrh_ControlAndStatusRegisterFile_$callClinit();
18405
- asrrh_ControlAndStatusRegisterFile_settleCounters();
18406
- return asrrh_RegisterBlock_getValue(asrrh_ControlAndStatusRegisterFile_instance, $num);
18407
- };
18408
- var asrrh_ControlAndStatusRegisterFile_getValue = ($name) => {
18409
- asrrh_ControlAndStatusRegisterFile_$callClinit();
18410
- asrrh_ControlAndStatusRegisterFile_settleCounters();
18411
- return Long_lo(asrrh_RegisterBlock_getValue0(asrrh_ControlAndStatusRegisterFile_instance, $name));
18412
- };
18413
- var asrrh_ControlAndStatusRegisterFile_getRegisters = () => {
18414
- asrrh_ControlAndStatusRegisterFile_$callClinit();
18415
- asrrh_ControlAndStatusRegisterFile_settleCounters();
18416
- return asrrh_ControlAndStatusRegisterFile_instance.$regFile;
18417
- };
18418
- var asrrh_ControlAndStatusRegisterFile_incrementCounters = ($backStepping, $pc) => {
18419
- let var$3;
18420
- asrrh_ControlAndStatusRegisterFile_$callClinit();
18421
- asrrh_ControlAndStatusRegisterFile_pendingCounterTicks = asrrh_ControlAndStatusRegisterFile_pendingCounterTicks + 1 | 0;
18422
- if ($backStepping) {
18423
- asr_Globals_$callClinit();
18424
- var$3 = asr_Globals_program.$backStepper.$backSteps;
18425
- asrs_BackStepper$Action_$callClinit();
18426
- asrs_BackStepper$BackstepStack_push0(var$3, asrs_BackStepper$Action_CONTROL_AND_STATUS_COUNTERS_DECREMENT, $pc);
18427
- }
18428
- };
18429
- var asrrh_ControlAndStatusRegisterFile_settleCounters = () => {
18430
- let $ticks, $cycle, $instret, var$4, var$5;
18431
- asrrh_ControlAndStatusRegisterFile_$callClinit();
18432
- $ticks = asrrh_ControlAndStatusRegisterFile_pendingCounterTicks;
18433
- if (!$ticks)
18434
- return;
18435
- asrrh_ControlAndStatusRegisterFile_pendingCounterTicks = 0;
18436
- $cycle = asrrh_RegisterBlock_getRegister(asrrh_ControlAndStatusRegisterFile_instance, $rt_s(526));
18437
- $instret = asrrh_RegisterBlock_getRegister(asrrh_ControlAndStatusRegisterFile_instance, $rt_s(527));
18438
- var$4 = $cycle.$getValueNoNotify();
18439
- var$5 = Long_fromInt($ticks);
18440
- asrrh_Register_setValueBackdoor($cycle, Long_add(var$4, var$5));
18441
- asrrh_Register_setValueBackdoor($instret, Long_add($instret.$getValueNoNotify(), var$5));
18442
- };
18443
- var asrrh_ControlAndStatusRegisterFile_getRegister = ($name) => {
18444
- asrrh_ControlAndStatusRegisterFile_$callClinit();
18445
- asrrh_ControlAndStatusRegisterFile_settleCounters();
18446
- return asrrh_RegisterBlock_getRegister(asrrh_ControlAndStatusRegisterFile_instance, $name);
18447
- };
18448
- var asrrh_ControlAndStatusRegisterFile__clinit_ = () => {
18449
- let $tmp_0, var$2;
18450
- $tmp_0 = $rt_createArray(asrrh_Register, 17);
18451
- var$2 = $tmp_0.data;
18452
- var$2[0] = asrrh_MaskedRegister__init_($rt_s(563), 0, Long_ZERO, Long_fromInt(-18));
18453
- var$2[1] = null;
18454
- var$2[2] = null;
18455
- var$2[3] = asrrh_MaskedRegister__init_($rt_s(564), 3, Long_ZERO, Long_fromInt(-256));
18456
- var$2[4] = asrrh_Register__init_($rt_s(565), 4, Long_ZERO);
18457
- var$2[5] = asrrh_Register__init_($rt_s(566), 5, Long_ZERO);
18458
- var$2[6] = asrrh_Register__init_($rt_s(567), 64, Long_ZERO);
18459
- var$2[7] = asrrh_Register__init_($rt_s(568), 65, Long_ZERO);
18460
- var$2[8] = asrrh_Register__init_($rt_s(569), 66, Long_ZERO);
18461
- var$2[9] = asrrh_Register__init_($rt_s(570), 67, Long_ZERO);
18462
- var$2[10] = asrrh_Register__init_($rt_s(571), 68, Long_ZERO);
18463
- var$2[11] = asrrh_ReadOnlyRegister__init_($rt_s(526), 3072, 0);
18464
- var$2[12] = asrrh_ReadOnlyRegister__init_($rt_s(572), 3073, 0);
18465
- var$2[13] = asrrh_ReadOnlyRegister__init_($rt_s(527), 3074, 0);
18466
- var$2[14] = null;
18467
- var$2[15] = null;
18468
- var$2[16] = null;
18469
- var$2[1] = asrrh_LinkedRegister__init_($rt_s(573), 1, var$2[3], Long_fromInt(31));
18470
- var$2[2] = asrrh_LinkedRegister__init_($rt_s(574), 2, var$2[3], Long_fromInt(224));
18471
- var$2[14] = asrrh_LinkedRegister__init_($rt_s(575), 3200, var$2[11], Long_create(0, 4294967295));
18472
- var$2[15] = asrrh_LinkedRegister__init_($rt_s(576), 3201, var$2[12], Long_create(0, 4294967295));
18473
- var$2[16] = asrrh_LinkedRegister__init_($rt_s(577), 3202, var$2[13], Long_create(0, 4294967295));
18474
- asrrh_ControlAndStatusRegisterFile_instance = asrrh_RegisterBlock__init_0(95, $tmp_0);
18475
- asrrh_ControlAndStatusRegisterFile_pendingCounterTicks = 0;
18476
- };
18477
18523
  var jl_Double = $rt_classWithoutFields(jl_Number);
18478
18524
  var jl_Double_TYPE = null;
18479
18525
  var jl_Double_$callClinit = () => {
@@ -18645,6 +18691,63 @@ var asr_JsRiscV$getStatementsAtSourceLocation$lambda$_63_1_apply = (var$0, var$1
18645
18691
  asr_JsRiscV_$callClinit();
18646
18692
  return $rt_createArray(asr_JsProgramStatement, var$1);
18647
18693
  };
18694
+ var jl_IllegalStateException = $rt_classWithoutFields(jl_RuntimeException);
18695
+ function asr_JsRiscV$PokeRecord() {
18696
+ let a = this;
18697
+ jl_Object.call(a);
18698
+ a.$group0 = 0;
18699
+ a.$writes = null;
18700
+ }
18701
+ function asr_JsRiscV$PokeJournal() {
18702
+ let a = this;
18703
+ jl_Object.call(a);
18704
+ a.$group1 = 0;
18705
+ a.$registers = null;
18706
+ a.$registersByName = null;
18707
+ a.$memoryOldBytes = null;
18708
+ }
18709
+ function asr_JsRiscV$simulateWithBreakpoints$lambda$_16_0() {
18710
+ let a = this;
18711
+ jl_Object.call(a);
18712
+ a.$_03 = null;
18713
+ a.$_10 = null;
18714
+ }
18715
+ var asr_JsRiscV$simulateWithBreakpoints$lambda$_16_0_run = (var$0) => {
18716
+ let var$1, var$2, var$3, var$4, $ptr, $tmp;
18717
+ $ptr = 0;
18718
+ if ($rt_resuming()) {
18719
+ let $thread = $rt_nativeThread();
18720
+ $ptr = $thread.pop();
18721
+ var$4 = $thread.pop();
18722
+ var$3 = $thread.pop();
18723
+ var$2 = $thread.pop();
18724
+ var$1 = $thread.pop();
18725
+ var$0 = $thread.pop();
18726
+ }
18727
+ main: while (true) {
18728
+ switch ($ptr) {
18729
+ case 0:
18730
+ var$1 = var$0.$_03;
18731
+ var$2 = var$0.$_10;
18732
+ var$1 = var$1.$main;
18733
+ asr_RARS_requireAssembled(var$1);
18734
+ var$3 = var$1.$main0;
18735
+ var$4 = -1;
18736
+ $ptr = 1;
18737
+ case 1:
18738
+ $tmp = asr_RISCVprogram_simulate(var$3, var$4, var$2);
18739
+ if ($rt_suspending()) {
18740
+ break main;
18741
+ }
18742
+ var$3 = $tmp;
18743
+ var$1.$stopReason = var$3;
18744
+ return var$3.$ordinal0;
18745
+ default:
18746
+ $rt_invalidPointer();
18747
+ }
18748
+ }
18749
+ $rt_nativeThread().push(var$0, var$1, var$2, var$3, var$4, $ptr);
18750
+ };
18648
18751
  function asr_JsStackFrame() {
18649
18752
  let a = this;
18650
18753
  jl_Object.call(a);
@@ -18669,6 +18772,43 @@ var asr_JsStackFrame_getSp$exported$3 = (var$1) => {
18669
18772
  var asr_JsStackFrame_getFp$exported$4 = (var$1) => {
18670
18773
  return var$1.$fp;
18671
18774
  };
18775
+ function asr_JsRiscV$step$lambda$_10_0() {
18776
+ jl_Object.call(this);
18777
+ this.$_014 = null;
18778
+ }
18779
+ var asr_JsRiscV$step$lambda$_10_0_run = (var$0) => {
18780
+ let var$1, var$2, var$3, $ptr, $tmp;
18781
+ $ptr = 0;
18782
+ if ($rt_resuming()) {
18783
+ let $thread = $rt_nativeThread();
18784
+ $ptr = $thread.pop();
18785
+ var$3 = $thread.pop();
18786
+ var$2 = $thread.pop();
18787
+ var$1 = $thread.pop();
18788
+ var$0 = $thread.pop();
18789
+ }
18790
+ main: while (true) {
18791
+ switch ($ptr) {
18792
+ case 0:
18793
+ var$1 = var$0.$_014.$main;
18794
+ asr_RARS_requireAssembled(var$1);
18795
+ var$2 = var$1.$main0;
18796
+ var$3 = 1;
18797
+ $ptr = 1;
18798
+ case 1:
18799
+ $tmp = asr_RISCVprogram_simulate0(var$2, var$3);
18800
+ if ($rt_suspending()) {
18801
+ break main;
18802
+ }
18803
+ var$2 = $tmp;
18804
+ var$1.$stopReason = var$2;
18805
+ return var$2.$ordinal0;
18806
+ default:
18807
+ $rt_invalidPointer();
18808
+ }
18809
+ }
18810
+ $rt_nativeThread().push(var$0, var$1, var$2, var$3, $ptr);
18811
+ };
18672
18812
  function asr_JsRiscVTokenizedLine() {
18673
18813
  let a = this;
18674
18814
  jl_Object.call(a);
@@ -18820,142 +18960,6 @@ var asr_JsRiscVToken_getSourceColumn$exported$1 = (var$1) => {
18820
18960
  var asr_JsRiscVToken_getValue$exported$2 = (var$1) => {
18821
18961
  return $rt_ustr(var$1.$value8);
18822
18962
  };
18823
- function asr_JsCompilationResult() {
18824
- let a = this;
18825
- jl_Object.call(a);
18826
- a.$report = null;
18827
- a.$errors1 = null;
18828
- }
18829
- var asr_JsCompilationResult__init_0 = ($this, $errorReport) => {
18830
- let var$2, var$3, var$4;
18831
- $this.$report = asr_ErrorList_generateErrorAndWarningReport($errorReport);
18832
- $errorReport = ju_Collection_stream($errorReport.$messages);
18833
- var$2 = new asr_JsCompilationResult$_init_$lambda$_0_0();
18834
- var$2.$_019 = $this;
18835
- $errorReport = jusi_SimpleStreamImpl_map($errorReport, var$2);
18836
- var$2 = new asr_JsCompilationResult$_init_$lambda$_0_2();
18837
- $errorReport = $errorReport;
18838
- var$3 = ju_ArrayList__init_();
18839
- var$4 = $errorReport;
18840
- while (true) {
18841
- $errorReport = new jusi_SimpleStreamImpl$collect$lambda$_25_0();
18842
- $errorReport.$_024 = var$2;
18843
- $errorReport.$_19 = var$3;
18844
- if (!jusi_WrappingStreamImpl_next(var$4, $errorReport))
18845
- break;
18846
- }
18847
- $this.$errors1 = var$3;
18848
- };
18849
- var asr_JsCompilationResult__init_ = (var_0) => {
18850
- let var_1 = new asr_JsCompilationResult();
18851
- asr_JsCompilationResult__init_0(var_1, var_0);
18852
- return var_1;
18853
- };
18854
- var asr_JsCompilationResult_hasWarnings$exported$0 = (var$1) => {
18855
- let var$2;
18856
- var$1 = ju_Collection_stream(var$1.$errors1);
18857
- var$2 = new asr_JsCompilationResult$hasWarnings$lambda$_3_0();
18858
- return !!jusi_SimpleStreamImpl_anyMatch(var$1, var$2);
18859
- };
18860
- var asr_JsCompilationResult_getErrors$exported$1 = (var$1) => {
18861
- let var$2;
18862
- var$1 = var$1.$errors1;
18863
- var$2 = $rt_createArray(asr_JsCompilationResult$JsCompilationError, 0);
18864
- return otji_JS_wrap(ju_AbstractCollection_toArray(var$1, var$2));
18865
- };
18866
- var asr_JsCompilationResult_hasErrors$exported$2 = (var$1) => {
18867
- let var$2;
18868
- var$1 = ju_Collection_stream(var$1.$errors1);
18869
- var$2 = new asr_JsCompilationResult$hasErrors$lambda$_2_0();
18870
- return !!jusi_SimpleStreamImpl_anyMatch(var$1, var$2);
18871
- };
18872
- var asr_JsCompilationResult_getReport$exported$3 = (var$1) => {
18873
- return $rt_ustr(var$1.$report);
18874
- };
18875
- function asr_AssemblyException() {
18876
- jl_Exception.call(this);
18877
- this.$errs = null;
18878
- }
18879
- var asr_AssemblyException__init_0 = ($this, $errs) => {
18880
- jl_Throwable__init_0($this, asr_ErrorList_generateErrorAndWarningReport($errs));
18881
- $this.$errs = $errs;
18882
- };
18883
- var asr_AssemblyException__init_ = (var_0) => {
18884
- let var_1 = new asr_AssemblyException();
18885
- asr_AssemblyException__init_0(var_1, var_0);
18886
- return var_1;
18887
- };
18888
- function asr_JsRiscV$simulateWithLimit$lambda$_13_0() {
18889
- let a = this;
18890
- jl_Object.call(a);
18891
- a.$_022 = null;
18892
- a.$_112 = 0;
18893
- }
18894
- var asr_JsRiscV$simulateWithLimit$lambda$_13_0_run = (var$0) => {
18895
- let var$1, var$2, $ptr, $tmp;
18896
- $ptr = 0;
18897
- if ($rt_resuming()) {
18898
- let $thread = $rt_nativeThread();
18899
- $ptr = $thread.pop();
18900
- var$2 = $thread.pop();
18901
- var$1 = $thread.pop();
18902
- var$0 = $thread.pop();
18903
- }
18904
- main: while (true) {
18905
- switch ($ptr) {
18906
- case 0:
18907
- var$1 = var$0.$_022;
18908
- var$2 = var$0.$_112;
18909
- var$1 = var$1.$main;
18910
- $ptr = 1;
18911
- case 1:
18912
- $tmp = asr_RARS_simulate(var$1, var$2);
18913
- if ($rt_suspending()) {
18914
- break main;
18915
- }
18916
- var$1 = $tmp;
18917
- return var$1.$ordinal0;
18918
- default:
18919
- $rt_invalidPointer();
18920
- }
18921
- }
18922
- $rt_nativeThread().push(var$0, var$1, var$2, $ptr);
18923
- };
18924
- function asr_JsRiscV$simulate$lambda$_12_0() {
18925
- jl_Object.call(this);
18926
- this.$_06 = null;
18927
- }
18928
- var asr_JsRiscV$simulate$lambda$_12_0_run = (var$0) => {
18929
- let var$1, var$2, $ptr, $tmp;
18930
- $ptr = 0;
18931
- if ($rt_resuming()) {
18932
- let $thread = $rt_nativeThread();
18933
- $ptr = $thread.pop();
18934
- var$2 = $thread.pop();
18935
- var$1 = $thread.pop();
18936
- var$0 = $thread.pop();
18937
- }
18938
- main: while (true) {
18939
- switch ($ptr) {
18940
- case 0:
18941
- var$1 = var$0.$_06.$main;
18942
- var$2 = -1;
18943
- $ptr = 1;
18944
- case 1:
18945
- $tmp = asr_RARS_simulate(var$1, var$2);
18946
- if ($rt_suspending()) {
18947
- break main;
18948
- }
18949
- var$1 = $tmp;
18950
- return var$1.$ordinal0;
18951
- default:
18952
- $rt_invalidPointer();
18953
- }
18954
- }
18955
- $rt_nativeThread().push(var$0, var$1, var$2, $ptr);
18956
- };
18957
- var juf_ToIntFunction = $rt_classWithoutFields(0);
18958
- var asr_JsRiscV$getRegistersValues$lambda$_28_0 = $rt_classWithoutFields();
18959
18963
  var ju_Map$Entry = $rt_classWithoutFields(0);
18960
18964
  function ju_MapEntry() {
18961
18965
  let a = this;
@@ -19627,75 +19631,152 @@ function jur_CharClass$16() {
19627
19631
  var jur_CharClass$16_contains = ($this, $ch) => {
19628
19632
  return $this.$val$curAlt6 ^ $this.$val$nb.$contains1($ch) && jur_CharClass_contains($this.$val$clazz7, $ch) ? 0 : 1;
19629
19633
  };
19630
- var otjc_JSPromise$Executor = $rt_classWithoutFields(0);
19631
- function asr_JsRiscV$run$lambda$_9_0() {
19634
+ function asr_RISCVprogram() {
19632
19635
  let a = this;
19633
19636
  jl_Object.call(a);
19634
- a.$_017 = null;
19635
- a.$_17 = null;
19637
+ a.$steppedExecution = 0;
19638
+ a.$filename = null;
19639
+ a.$sourceList = null;
19640
+ a.$tokenList1 = null;
19641
+ a.$parsedList = null;
19642
+ a.$machineList = null;
19643
+ a.$backStepper = null;
19644
+ a.$localSymbolTable = null;
19645
+ a.$macroPool = null;
19646
+ a.$sourceLineList = null;
19647
+ a.$tokenizer = null;
19648
+ a.$machineListPCMap = null;
19636
19649
  }
19637
- var asr_JsRiscV$run$lambda$_9_0__init_0 = (var$0, var$1, var$2) => {
19638
- var$0.$_017 = var$1;
19639
- var$0.$_17 = var$2;
19650
+ var asr_RISCVprogram__init_0 = ($this) => {
19651
+ $this.$steppedExecution = 0;
19640
19652
  };
19641
- var asr_JsRiscV$run$lambda$_9_0__init_ = (var_0, var_1) => {
19642
- let var_2 = new asr_JsRiscV$run$lambda$_9_0();
19643
- asr_JsRiscV$run$lambda$_9_0__init_0(var_2, var_0, var_1);
19644
- return var_2;
19653
+ var asr_RISCVprogram__init_ = () => {
19654
+ let var_0 = new asr_RISCVprogram();
19655
+ asr_RISCVprogram__init_0(var_0);
19656
+ return var_0;
19645
19657
  };
19646
- var asr_JsRiscV$run$lambda$_9_0_onExecute$exported$0 = (var$1, var$2, var$3) => {
19647
- let var$4, var$5;
19648
- var$2 = otji_JS_functionAsObject(var$2, "accept");
19649
- var$3 = otji_JS_functionAsObject(var$3, "accept");
19650
- var$1 = var$1;
19651
- var$4 = var$1.$_017;
19652
- var$1 = var$1.$_17;
19653
- var$5 = new asr_JsRiscV$lambda$run$2$lambda$_75_0();
19654
- var$5.$_011 = var$4;
19655
- var$5.$_16 = var$1;
19656
- var$5.$_21 = var$3;
19657
- var$5.$_30 = var$2;
19658
- asr_JsRiscV_$callClinit();
19659
- ju_ArrayDeque_add(asr_JsRiscV_tasks, var$5);
19660
- if (asr_JsRiscV_workerStarted) {
19661
- var$1 = asr_JsRiscV_unpark;
19662
- if (var$1 !== null) {
19663
- asr_JsRiscV_unpark = null;
19664
- var$1.accept(null);
19658
+ var asr_RISCVprogram_setSourceLineList = ($this, $sourceLineList) => {
19659
+ let var$2, $sl;
19660
+ $this.$sourceLineList = $sourceLineList;
19661
+ $this.$sourceList = ju_ArrayList__init_();
19662
+ var$2 = ju_AbstractList_iterator($sourceLineList);
19663
+ while (ju_AbstractList$1_hasNext(var$2)) {
19664
+ $sl = ju_AbstractList$1_next(var$2);
19665
+ ju_ArrayList_add($this.$sourceList, $sl.$processedSource);
19666
+ }
19667
+ };
19668
+ var asr_RISCVprogram_getSourceLineList = ($this) => {
19669
+ return $this.$sourceLineList;
19670
+ };
19671
+ var asr_RISCVprogram_getSourceLineInfo = ($this, $expandedLineNumber) => {
19672
+ let var$2;
19673
+ var$2 = $this.$sourceLineList;
19674
+ if (var$2 !== null && $expandedLineNumber >= 1 && $expandedLineNumber <= var$2.$size0)
19675
+ return ju_ArrayList_get(var$2, $expandedLineNumber - 1 | 0);
19676
+ return null;
19677
+ };
19678
+ var asr_RISCVprogram_getFilename = ($this) => {
19679
+ return $this.$filename;
19680
+ };
19681
+ var asr_RISCVprogram_getTokenList = ($this) => {
19682
+ return $this.$tokenList1;
19683
+ };
19684
+ var asr_RISCVprogram_getTokenizer = ($this) => {
19685
+ return $this.$tokenizer;
19686
+ };
19687
+ var asr_RISCVprogram_createParsedList = ($this) => {
19688
+ let var$1;
19689
+ var$1 = ju_ArrayList__init_();
19690
+ $this.$parsedList = var$1;
19691
+ return var$1;
19692
+ };
19693
+ var asr_RISCVprogram_getParsedList = ($this) => {
19694
+ return $this.$parsedList;
19695
+ };
19696
+ var asr_RISCVprogram_getLocalSymbolTable = ($this) => {
19697
+ return $this.$localSymbolTable;
19698
+ };
19699
+ var asr_RISCVprogram_readSource = ($this, $file, $source) => {
19700
+ $this.$filename = $file;
19701
+ $this.$sourceList = ju_ArrayList__init_0(ju_Arrays_asList(jl_String_split($source, $rt_s(16), -1)));
19702
+ };
19703
+ var asr_RISCVprogram_simulate0 = ($this, $maxSteps) => {
19704
+ let $sim, var$3, var$4, $ptr, $tmp;
19705
+ $ptr = 0;
19706
+ if ($rt_resuming()) {
19707
+ let $thread = $rt_nativeThread();
19708
+ $ptr = $thread.pop();
19709
+ var$4 = $thread.pop();
19710
+ var$3 = $thread.pop();
19711
+ $sim = $thread.pop();
19712
+ $maxSteps = $thread.pop();
19713
+ $this = $thread.pop();
19714
+ }
19715
+ main: while (true) {
19716
+ switch ($ptr) {
19717
+ case 0:
19718
+ $sim = asrs_Simulator_getInstance();
19719
+ var$3 = asrrh_RegisterFile_getProgramCounter();
19720
+ var$4 = null;
19721
+ $ptr = 1;
19722
+ case 1:
19723
+ $tmp = asrs_Simulator_simulate($sim, var$3, $maxSteps, var$4);
19724
+ if ($rt_suspending()) {
19725
+ break main;
19726
+ }
19727
+ $sim = $tmp;
19728
+ return $sim;
19729
+ default:
19730
+ $rt_invalidPointer();
19665
19731
  }
19666
- } else {
19667
- asr_JsRiscV_workerStarted = 1;
19668
- var$1 = new asr_JsRiscV$submit$lambda$_8_0();
19669
- var$2 = new otjc_JSPromise$runAsync$lambda$_15_0();
19670
- var$2.$_01 = var$1;
19671
- new Promise(otji_JS_function(otji_JSWrapper_unwrap(var$2), "onExecute"));
19672
19732
  }
19733
+ $rt_nativeThread().push($this, $maxSteps, $sim, var$3, var$4, $ptr);
19673
19734
  };
19674
- var otjc_JSPromise = $rt_classWithoutFields();
19675
- var otjc_JSPromise_await$static = ($this) => {
19676
- let $ptr, $tmp;
19735
+ var asr_RISCVprogram_simulate = ($this, $maxSteps, $breakPoints) => {
19736
+ let $sim, var$4, $ptr, $tmp;
19677
19737
  $ptr = 0;
19678
19738
  if ($rt_resuming()) {
19679
19739
  let $thread = $rt_nativeThread();
19680
19740
  $ptr = $thread.pop();
19741
+ var$4 = $thread.pop();
19742
+ $sim = $thread.pop();
19743
+ $breakPoints = $thread.pop();
19744
+ $maxSteps = $thread.pop();
19681
19745
  $this = $thread.pop();
19682
19746
  }
19683
19747
  main: while (true) {
19684
19748
  switch ($ptr) {
19685
19749
  case 0:
19750
+ $sim = asrs_Simulator_getInstance();
19751
+ var$4 = asrrh_RegisterFile_getProgramCounter();
19686
19752
  $ptr = 1;
19687
19753
  case 1:
19688
- $tmp = otjc_JSPromiseHelper_await$_asyncCall_$($this);
19754
+ $tmp = asrs_Simulator_simulate($sim, var$4, $maxSteps, $breakPoints);
19689
19755
  if ($rt_suspending()) {
19690
19756
  break main;
19691
19757
  }
19692
- $this = $tmp;
19693
- return $this;
19758
+ $sim = $tmp;
19759
+ return $sim;
19694
19760
  default:
19695
19761
  $rt_invalidPointer();
19696
19762
  }
19697
19763
  }
19698
- $rt_nativeThread().push($this, $ptr);
19764
+ $rt_nativeThread().push($this, $maxSteps, $breakPoints, $sim, var$4, $ptr);
19765
+ };
19766
+ var asr_RISCVprogram_createMacroPool = ($this) => {
19767
+ let var$1;
19768
+ var$1 = new asra_MacroPool();
19769
+ var$1.$program1 = $this;
19770
+ var$1.$macroList = ju_ArrayList__init_();
19771
+ var$1.$callStack = ju_ArrayList__init_();
19772
+ var$1.$callStackLocations = ju_ArrayList__init_();
19773
+ var$1.$current = null;
19774
+ var$1.$counter = 0;
19775
+ $this.$macroPool = var$1;
19776
+ return var$1;
19777
+ };
19778
+ var asr_RISCVprogram_getLocalMacroPool = ($this) => {
19779
+ return $this.$macroPool;
19699
19780
  };
19700
19781
  function asrrh_Register() {
19701
19782
  let a = this;
@@ -19771,159 +19852,75 @@ var asrrh_Register_notifyAnyObservers = ($this, $type) => {
19771
19852
  ju_Observable_notifyObservers(var$2, var$3);
19772
19853
  }
19773
19854
  };
19774
- function asr_JsRiscV$PokeRegisterWrite() {
19775
- let a = this;
19776
- jl_Object.call(a);
19777
- a.$register = null;
19778
- a.$oldValue = Long_ZERO;
19779
- }
19780
- function asr_RISCVprogram() {
19781
- let a = this;
19782
- jl_Object.call(a);
19783
- a.$steppedExecution = 0;
19784
- a.$filename = null;
19785
- a.$sourceList = null;
19786
- a.$tokenList1 = null;
19787
- a.$parsedList = null;
19788
- a.$machineList = null;
19789
- a.$backStepper = null;
19790
- a.$localSymbolTable = null;
19791
- a.$macroPool = null;
19792
- a.$sourceLineList = null;
19793
- a.$tokenizer = null;
19794
- a.$machineListPCMap = null;
19795
- }
19796
- var asr_RISCVprogram__init_0 = ($this) => {
19797
- $this.$steppedExecution = 0;
19798
- };
19799
- var asr_RISCVprogram__init_ = () => {
19800
- let var_0 = new asr_RISCVprogram();
19801
- asr_RISCVprogram__init_0(var_0);
19802
- return var_0;
19803
- };
19804
- var asr_RISCVprogram_setSourceLineList = ($this, $sourceLineList) => {
19805
- let var$2, $sl;
19806
- $this.$sourceLineList = $sourceLineList;
19807
- $this.$sourceList = ju_ArrayList__init_();
19808
- var$2 = ju_AbstractList_iterator($sourceLineList);
19809
- while (ju_AbstractList$1_hasNext(var$2)) {
19810
- $sl = ju_AbstractList$1_next(var$2);
19811
- ju_ArrayList_add($this.$sourceList, $sl.$processedSource);
19812
- }
19813
- };
19814
- var asr_RISCVprogram_getSourceLineList = ($this) => {
19815
- return $this.$sourceLineList;
19855
+ var jl_AutoCloseable = $rt_classWithoutFields(0);
19856
+ var jus_BaseStream = $rt_classWithoutFields(0);
19857
+ var jus_Stream = $rt_classWithoutFields(0);
19858
+ var jus_Stream_toList = ($this) => {
19859
+ return ju_TemplateCollections$ImmutableArrayList__init_(jusi_SimpleStreamImpl_toArray0($this));
19816
19860
  };
19817
- var asr_RISCVprogram_getSourceLineInfo = ($this, $expandedLineNumber) => {
19861
+ var jusi_SimpleStreamImpl = $rt_classWithoutFields();
19862
+ var jusi_SimpleStreamImpl_map = ($this, $mapper) => {
19818
19863
  let var$2;
19819
- var$2 = $this.$sourceLineList;
19820
- if (var$2 !== null && $expandedLineNumber >= 1 && $expandedLineNumber <= var$2.$size0)
19821
- return ju_ArrayList_get(var$2, $expandedLineNumber - 1 | 0);
19822
- return null;
19823
- };
19824
- var asr_RISCVprogram_getFilename = ($this) => {
19825
- return $this.$filename;
19826
- };
19827
- var asr_RISCVprogram_getTokenList = ($this) => {
19828
- return $this.$tokenList1;
19829
- };
19830
- var asr_RISCVprogram_getTokenizer = ($this) => {
19831
- return $this.$tokenizer;
19832
- };
19833
- var asr_RISCVprogram_createParsedList = ($this) => {
19834
- let var$1;
19835
- var$1 = ju_ArrayList__init_();
19836
- $this.$parsedList = var$1;
19837
- return var$1;
19838
- };
19839
- var asr_RISCVprogram_getParsedList = ($this) => {
19840
- return $this.$parsedList;
19841
- };
19842
- var asr_RISCVprogram_getLocalSymbolTable = ($this) => {
19843
- return $this.$localSymbolTable;
19864
+ var$2 = new jusi_MappingStreamImpl();
19865
+ jusi_WrappingStreamImpl__init_(var$2, $this);
19866
+ var$2.$mapper = $mapper;
19867
+ return var$2;
19844
19868
  };
19845
- var asr_RISCVprogram_readSource = ($this, $file, $source) => {
19846
- $this.$filename = $file;
19847
- $this.$sourceList = ju_ArrayList__init_0(ju_Arrays_asList(jl_String_split($source, $rt_s(16), -1)));
19869
+ var jusi_SimpleStreamImpl_toArray0 = ($this) => {
19870
+ return jusi_SimpleStreamImpl_toArray($this, new jusi_SimpleStreamImpl$toArray$lambda$_20_0());
19848
19871
  };
19849
- var asr_RISCVprogram_simulate0 = ($this, $maxSteps) => {
19850
- let $sim, var$3, var$4, $ptr, $tmp;
19851
- $ptr = 0;
19852
- if ($rt_resuming()) {
19853
- let $thread = $rt_nativeThread();
19854
- $ptr = $thread.pop();
19855
- var$4 = $thread.pop();
19856
- var$3 = $thread.pop();
19857
- $sim = $thread.pop();
19858
- $maxSteps = $thread.pop();
19859
- $this = $thread.pop();
19860
- }
19861
- main: while (true) {
19862
- switch ($ptr) {
19863
- case 0:
19864
- $sim = asrs_Simulator_getInstance();
19865
- var$3 = asrrh_RegisterFile_getProgramCounter();
19866
- var$4 = null;
19867
- $ptr = 1;
19868
- case 1:
19869
- $tmp = asrs_Simulator_simulate($sim, var$3, $maxSteps, var$4);
19870
- if ($rt_suspending()) {
19871
- break main;
19872
- }
19873
- $sim = $tmp;
19874
- return $sim;
19875
- default:
19876
- $rt_invalidPointer();
19872
+ var jusi_SimpleStreamImpl_toArray = ($this, $generator) => {
19873
+ let var$2, $estimatedSize, $array, $consumer, var$6, $list, $i;
19874
+ var$2 = $this;
19875
+ $estimatedSize = jusi_WrappingStreamImpl_estimateSize(var$2);
19876
+ if ($estimatedSize >= 0) {
19877
+ $array = $generator.$apply($estimatedSize);
19878
+ $consumer = new jusi_SimpleStreamImpl$ArrayFillingConsumer();
19879
+ $consumer.$array6 = $array;
19880
+ while (jusi_WrappingStreamImpl_next(var$2, $consumer)) {
19877
19881
  }
19882
+ var$6 = $array.data;
19883
+ $estimatedSize = $consumer.$index3;
19884
+ if ($estimatedSize < var$6.length)
19885
+ $array = ju_Arrays_copyOf0($array, $estimatedSize);
19886
+ return $array;
19878
19887
  }
19879
- $rt_nativeThread().push($this, $maxSteps, $sim, var$3, var$4, $ptr);
19880
- };
19881
- var asr_RISCVprogram_simulate = ($this, $maxSteps, $breakPoints) => {
19882
- let $sim, var$4, $ptr, $tmp;
19883
- $ptr = 0;
19884
- if ($rt_resuming()) {
19885
- let $thread = $rt_nativeThread();
19886
- $ptr = $thread.pop();
19887
- var$4 = $thread.pop();
19888
- $sim = $thread.pop();
19889
- $breakPoints = $thread.pop();
19890
- $maxSteps = $thread.pop();
19891
- $this = $thread.pop();
19888
+ $list = ju_ArrayList__init_();
19889
+ while (true) {
19890
+ ju_Objects_requireNonNull($list);
19891
+ $consumer = new jusi_SimpleStreamImpl$toArray$lambda$_21_0();
19892
+ $consumer.$_012 = $list;
19893
+ if (!jusi_WrappingStreamImpl_next(var$2, $consumer))
19894
+ break;
19892
19895
  }
19893
- main: while (true) {
19894
- switch ($ptr) {
19895
- case 0:
19896
- $sim = asrs_Simulator_getInstance();
19897
- var$4 = asrrh_RegisterFile_getProgramCounter();
19898
- $ptr = 1;
19899
- case 1:
19900
- $tmp = asrs_Simulator_simulate($sim, var$4, $maxSteps, $breakPoints);
19901
- if ($rt_suspending()) {
19902
- break main;
19903
- }
19904
- $sim = $tmp;
19905
- return $sim;
19906
- default:
19907
- $rt_invalidPointer();
19908
- }
19896
+ $list = $list;
19897
+ $array = $generator.$apply($list.$size0);
19898
+ $i = 0;
19899
+ while (true) {
19900
+ var$6 = $array.data;
19901
+ if ($i >= var$6.length)
19902
+ break;
19903
+ var$6[$i] = ju_ArrayList_get($list, $i);
19904
+ $i = $i + 1 | 0;
19909
19905
  }
19910
- $rt_nativeThread().push($this, $maxSteps, $breakPoints, $sim, var$4, $ptr);
19911
- };
19912
- var asr_RISCVprogram_createMacroPool = ($this) => {
19913
- let var$1;
19914
- var$1 = new asra_MacroPool();
19915
- var$1.$program1 = $this;
19916
- var$1.$macroList = ju_ArrayList__init_();
19917
- var$1.$callStack = ju_ArrayList__init_();
19918
- var$1.$callStackLocations = ju_ArrayList__init_();
19919
- var$1.$current = null;
19920
- var$1.$counter = 0;
19921
- $this.$macroPool = var$1;
19922
- return var$1;
19906
+ return $array;
19923
19907
  };
19924
- var asr_RISCVprogram_getLocalMacroPool = ($this) => {
19925
- return $this.$macroPool;
19908
+ var jusi_SimpleStreamImpl_anyMatch = ($this, $predicate) => {
19909
+ let $consumer;
19910
+ $consumer = new jusi_AnyMatchConsumer();
19911
+ $consumer.$predicate = $predicate;
19912
+ while (!$consumer.$matched && jusi_StreamOverSpliterator_next($this, $consumer)) {
19913
+ }
19914
+ return $consumer.$matched;
19926
19915
  };
19916
+ function jusi_ArrayStreamImpl() {
19917
+ let a = this;
19918
+ jusi_SimpleStreamImpl.call(a);
19919
+ a.$array8 = null;
19920
+ a.$index1 = 0;
19921
+ a.$end1 = 0;
19922
+ a.$size3 = 0;
19923
+ }
19927
19924
  function asrs_BackStepper$BackstepStack() {
19928
19925
  let a = this;
19929
19926
  jl_Object.call(a);
@@ -20361,6 +20358,109 @@ var otji_JSWrapper$Helper__clinit_ = () => {
20361
20358
  otji_JSWrapper$Helper_numberFinalizationRegistry = var$1;
20362
20359
  };
20363
20360
  var otjc_JSUndefined = $rt_classWithoutFields();
20361
+ var otjc_JSPromise$Executor = $rt_classWithoutFields(0);
20362
+ function asr_JsRiscV$run$lambda$_9_0() {
20363
+ let a = this;
20364
+ jl_Object.call(a);
20365
+ a.$_017 = null;
20366
+ a.$_17 = null;
20367
+ }
20368
+ var asr_JsRiscV$run$lambda$_9_0__init_0 = (var$0, var$1, var$2) => {
20369
+ var$0.$_017 = var$1;
20370
+ var$0.$_17 = var$2;
20371
+ };
20372
+ var asr_JsRiscV$run$lambda$_9_0__init_ = (var_0, var_1) => {
20373
+ let var_2 = new asr_JsRiscV$run$lambda$_9_0();
20374
+ asr_JsRiscV$run$lambda$_9_0__init_0(var_2, var_0, var_1);
20375
+ return var_2;
20376
+ };
20377
+ var asr_JsRiscV$run$lambda$_9_0_onExecute$exported$0 = (var$1, var$2, var$3) => {
20378
+ let var$4, var$5;
20379
+ var$2 = otji_JS_functionAsObject(var$2, "accept");
20380
+ var$3 = otji_JS_functionAsObject(var$3, "accept");
20381
+ var$1 = var$1;
20382
+ var$4 = var$1.$_017;
20383
+ var$1 = var$1.$_17;
20384
+ var$5 = new asr_JsRiscV$lambda$run$2$lambda$_75_0();
20385
+ var$5.$_011 = var$4;
20386
+ var$5.$_16 = var$1;
20387
+ var$5.$_21 = var$3;
20388
+ var$5.$_30 = var$2;
20389
+ asr_JsRiscV_$callClinit();
20390
+ ju_ArrayDeque_add(asr_JsRiscV_tasks, var$5);
20391
+ if (asr_JsRiscV_workerStarted) {
20392
+ var$1 = asr_JsRiscV_unpark;
20393
+ if (var$1 !== null) {
20394
+ asr_JsRiscV_unpark = null;
20395
+ var$1.accept(null);
20396
+ }
20397
+ } else {
20398
+ asr_JsRiscV_workerStarted = 1;
20399
+ var$1 = new asr_JsRiscV$submit$lambda$_8_0();
20400
+ var$2 = new otjc_JSPromise$runAsync$lambda$_15_0();
20401
+ var$2.$_01 = var$1;
20402
+ new Promise(otji_JS_function(otji_JSWrapper_unwrap(var$2), "onExecute"));
20403
+ }
20404
+ };
20405
+ var otjc_JSPromise = $rt_classWithoutFields();
20406
+ var otjc_JSPromise_await$static = ($this) => {
20407
+ let $ptr, $tmp;
20408
+ $ptr = 0;
20409
+ if ($rt_resuming()) {
20410
+ let $thread = $rt_nativeThread();
20411
+ $ptr = $thread.pop();
20412
+ $this = $thread.pop();
20413
+ }
20414
+ main: while (true) {
20415
+ switch ($ptr) {
20416
+ case 0:
20417
+ $ptr = 1;
20418
+ case 1:
20419
+ $tmp = otjc_JSPromiseHelper_await$_asyncCall_$($this);
20420
+ if ($rt_suspending()) {
20421
+ break main;
20422
+ }
20423
+ $this = $tmp;
20424
+ return $this;
20425
+ default:
20426
+ $rt_invalidPointer();
20427
+ }
20428
+ }
20429
+ $rt_nativeThread().push($this, $ptr);
20430
+ };
20431
+ function asr_JsCompilationResult$_init_$lambda$_0_0() {
20432
+ jl_Object.call(this);
20433
+ this.$_019 = null;
20434
+ }
20435
+ var asr_JsCompilationResult$_init_$lambda$_0_0_apply = (var$0, var$1) => {
20436
+ let var$2, var$3, var$4;
20437
+ var$1 = var$1;
20438
+ var$2 = var$0.$_019;
20439
+ var$3 = new asr_JsCompilationResult$JsCompilationError();
20440
+ var$3.$this$017 = var$2;
20441
+ var$3.$isWarning0 = var$1.$isWarning;
20442
+ var$3.$message2 = var$1.$message0;
20443
+ var$2 = ju_Collection_stream(ju_ArrayList__init_0(var$1.$macroExpansionTrace));
20444
+ var$4 = new asr_JsCompilationResult$JsCompilationError$_init_$lambda$_0_0();
20445
+ var$2 = jusi_SimpleStreamImpl_map(var$2, var$4);
20446
+ var$4 = new asr_JsCompilationResult$JsCompilationError$_init_$lambda$_0_1();
20447
+ var$3.$macroExpansionTrace1 = jusi_SimpleStreamImpl_toArray(var$2, var$4);
20448
+ var$3.$sourcePath3 = var$1.$sourcePath0;
20449
+ var$3.$sourceLine6 = var$1.$sourceLine0;
20450
+ var$3.$sourceColumn0 = var$1.$sourceColumn;
20451
+ return var$3;
20452
+ };
20453
+ var juf_Supplier = $rt_classWithoutFields(0);
20454
+ var asr_JsCompilationResult$_init_$lambda$_0_1 = $rt_classWithoutFields();
20455
+ var juf_BiConsumer = $rt_classWithoutFields(0);
20456
+ var asr_JsCompilationResult$_init_$lambda$_0_2 = $rt_classWithoutFields();
20457
+ var asr_JsCompilationResult$_init_$lambda$_0_3 = $rt_classWithoutFields();
20458
+ function asr_JsRiscV$PokeRegisterWrite() {
20459
+ let a = this;
20460
+ jl_Object.call(a);
20461
+ a.$register = null;
20462
+ a.$oldValue = Long_ZERO;
20463
+ }
20364
20464
  var asr_JsPokeWrite = $rt_classWithoutFields();
20365
20465
  var asr_JsPokeWrite_toNumberArray = ($values) => {
20366
20466
  let var$2, $array, $i, var$5;
@@ -20385,7 +20485,7 @@ function asrrh_AddressErrorException() {
20385
20485
  let a = this;
20386
20486
  jl_Exception.call(a);
20387
20487
  a.$address1 = 0;
20388
- a.$type1 = 0;
20488
+ a.$type0 = 0;
20389
20489
  }
20390
20490
  var asrrh_AddressErrorException__init_0 = ($this, var$1, var$2, var$3) => {
20391
20491
  let var$4, var$5;
@@ -20395,7 +20495,7 @@ var asrrh_AddressErrorException__init_0 = ($this, var$1, var$2, var$3) => {
20395
20495
  jl_StringBuilder_append(jl_StringBuilder_append(var$5, var$1), var$4);
20396
20496
  jl_Throwable__init_0($this, jl_AbstractStringBuilder_toString(var$5));
20397
20497
  $this.$address1 = var$3;
20398
- $this.$type1 = var$2;
20498
+ $this.$type0 = var$2;
20399
20499
  };
20400
20500
  var asrrh_AddressErrorException__init_ = (var_0, var_1, var_2) => {
20401
20501
  let var_3 = new asrrh_AddressErrorException();
@@ -20405,9 +20505,6 @@ var asrrh_AddressErrorException__init_ = (var_0, var_1, var_2) => {
20405
20505
  var asrrh_AddressErrorException_getAddress = ($this) => {
20406
20506
  return $this.$address1;
20407
20507
  };
20408
- var asrrh_AddressErrorException_getType = ($this) => {
20409
- return $this.$type1;
20410
- };
20411
20508
  var asra_TokenTypes = $rt_classWithoutFields(jl_Enum);
20412
20509
  var asra_TokenTypes_COMMENT = null;
20413
20510
  var asra_TokenTypes_DIRECTIVE = null;
@@ -20729,102 +20826,6 @@ var asra_TokenTypes__clinit_ = () => {
20729
20826
  var$3[28] = var$1;
20730
20827
  asra_TokenTypes_$VALUES = var$2;
20731
20828
  };
20732
- function asr_JsCompilationResult$_init_$lambda$_0_0() {
20733
- jl_Object.call(this);
20734
- this.$_019 = null;
20735
- }
20736
- var asr_JsCompilationResult$_init_$lambda$_0_0_apply = (var$0, var$1) => {
20737
- let var$2, var$3, var$4;
20738
- var$1 = var$1;
20739
- var$2 = var$0.$_019;
20740
- var$3 = new asr_JsCompilationResult$JsCompilationError();
20741
- var$3.$this$017 = var$2;
20742
- var$3.$isWarning0 = var$1.$isWarning;
20743
- var$3.$message2 = var$1.$message0;
20744
- var$2 = ju_Collection_stream(ju_ArrayList__init_0(var$1.$macroExpansionTrace));
20745
- var$4 = new asr_JsCompilationResult$JsCompilationError$_init_$lambda$_0_0();
20746
- var$2 = jusi_SimpleStreamImpl_map(var$2, var$4);
20747
- var$4 = new asr_JsCompilationResult$JsCompilationError$_init_$lambda$_0_1();
20748
- var$3.$macroExpansionTrace1 = jusi_SimpleStreamImpl_toArray(var$2, var$4);
20749
- var$3.$sourcePath3 = var$1.$sourcePath0;
20750
- var$3.$sourceLine6 = var$1.$sourceLine0;
20751
- var$3.$sourceColumn0 = var$1.$sourceColumn;
20752
- return var$3;
20753
- };
20754
- var juf_Supplier = $rt_classWithoutFields(0);
20755
- var asr_JsCompilationResult$_init_$lambda$_0_1 = $rt_classWithoutFields();
20756
- var juf_BiConsumer = $rt_classWithoutFields(0);
20757
- var asr_JsCompilationResult$_init_$lambda$_0_2 = $rt_classWithoutFields();
20758
- var asr_JsCompilationResult$_init_$lambda$_0_3 = $rt_classWithoutFields();
20759
- var jl_AutoCloseable = $rt_classWithoutFields(0);
20760
- var jus_BaseStream = $rt_classWithoutFields(0);
20761
- var jus_Stream = $rt_classWithoutFields(0);
20762
- var jus_Stream_toList = ($this) => {
20763
- return ju_TemplateCollections$ImmutableArrayList__init_(jusi_SimpleStreamImpl_toArray0($this));
20764
- };
20765
- var jusi_SimpleStreamImpl = $rt_classWithoutFields();
20766
- var jusi_SimpleStreamImpl_map = ($this, $mapper) => {
20767
- let var$2;
20768
- var$2 = new jusi_MappingStreamImpl();
20769
- jusi_WrappingStreamImpl__init_(var$2, $this);
20770
- var$2.$mapper = $mapper;
20771
- return var$2;
20772
- };
20773
- var jusi_SimpleStreamImpl_toArray0 = ($this) => {
20774
- return jusi_SimpleStreamImpl_toArray($this, new jusi_SimpleStreamImpl$toArray$lambda$_20_0());
20775
- };
20776
- var jusi_SimpleStreamImpl_toArray = ($this, $generator) => {
20777
- let var$2, $estimatedSize, $array, $consumer, var$6, $list, $i;
20778
- var$2 = $this;
20779
- $estimatedSize = jusi_WrappingStreamImpl_estimateSize(var$2);
20780
- if ($estimatedSize >= 0) {
20781
- $array = $generator.$apply($estimatedSize);
20782
- $consumer = new jusi_SimpleStreamImpl$ArrayFillingConsumer();
20783
- $consumer.$array6 = $array;
20784
- while (jusi_WrappingStreamImpl_next(var$2, $consumer)) {
20785
- }
20786
- var$6 = $array.data;
20787
- $estimatedSize = $consumer.$index3;
20788
- if ($estimatedSize < var$6.length)
20789
- $array = ju_Arrays_copyOf0($array, $estimatedSize);
20790
- return $array;
20791
- }
20792
- $list = ju_ArrayList__init_();
20793
- while (true) {
20794
- ju_Objects_requireNonNull($list);
20795
- $consumer = new jusi_SimpleStreamImpl$toArray$lambda$_21_0();
20796
- $consumer.$_012 = $list;
20797
- if (!jusi_WrappingStreamImpl_next(var$2, $consumer))
20798
- break;
20799
- }
20800
- $list = $list;
20801
- $array = $generator.$apply($list.$size0);
20802
- $i = 0;
20803
- while (true) {
20804
- var$6 = $array.data;
20805
- if ($i >= var$6.length)
20806
- break;
20807
- var$6[$i] = ju_ArrayList_get($list, $i);
20808
- $i = $i + 1 | 0;
20809
- }
20810
- return $array;
20811
- };
20812
- var jusi_SimpleStreamImpl_anyMatch = ($this, $predicate) => {
20813
- let $consumer;
20814
- $consumer = new jusi_AnyMatchConsumer();
20815
- $consumer.$predicate = $predicate;
20816
- while (!$consumer.$matched && jusi_StreamOverSpliterator_next($this, $consumer)) {
20817
- }
20818
- return $consumer.$matched;
20819
- };
20820
- function jusi_ArrayStreamImpl() {
20821
- let a = this;
20822
- jusi_SimpleStreamImpl.call(a);
20823
- a.$array8 = null;
20824
- a.$index1 = 0;
20825
- a.$end1 = 0;
20826
- a.$size3 = 0;
20827
- }
20828
20829
  var asrri_Arithmetic = $rt_classWithoutFields(asrr_BasicInstruction);
20829
20830
  var asrri_Arithmetic__init_ = ($this, $usage, $description, $funct7, $funct3) => {
20830
20831
  let var$5, var$6;
@@ -21385,7 +21386,7 @@ var asrri_ECALL_simulate = ($this, $statement) => {
21385
21386
  main: while (true) {
21386
21387
  switch ($ptr) {
21387
21388
  case 0:
21388
- var$2 = asrrh_RegisterFile_getValue0($rt_s(510));
21389
+ var$2 = asrrh_RegisterFile_getValue0($rt_s(527));
21389
21390
  asrr_InstructionSet_$callClinit();
21390
21391
  var$3 = asrr_SyscallLoader_findSyscall(var$2);
21391
21392
  if (var$3 === null) {
@@ -21544,11 +21545,11 @@ var asrri_Floating_setfflags = ($e) => {
21544
21545
  var$3 = asrj_Flags_invalid;
21545
21546
  $fflags = $fflags + (!ju_GenericEnumSet_contains($e, var$3) ? 0 : 16) | 0;
21546
21547
  if ($fflags)
21547
- asrrh_ControlAndStatusRegisterFile_orRegister($rt_s(573), Long_fromInt($fflags));
21548
+ asrrh_ControlAndStatusRegisterFile_orRegister($rt_s(506), Long_fromInt($fflags));
21548
21549
  };
21549
21550
  var asrri_Floating_getRoundingMode = ($RM, $statement) => {
21550
21551
  let $frm, var$4, var$5, var$6;
21551
- $frm = asrrh_ControlAndStatusRegisterFile_getValue($rt_s(574));
21552
+ $frm = asrrh_ControlAndStatusRegisterFile_getValue($rt_s(507));
21552
21553
  switch ($RM == 7 ? $frm : $RM) {
21553
21554
  case 0:
21554
21555
  break;
@@ -22578,7 +22579,7 @@ var asrri_JAL_simulate = ($this, $statement) => {
22578
22579
  var$4 = new asrrh_StackFrame();
22579
22580
  var$5 = asrrh_RegisterFile_getProgramCounter();
22580
22581
  var$6 = Long_lo(asrrh_RegisterFile_getStackPointerRegister().$getValue());
22581
- var$7 = Long_lo(asrrh_RegisterBlock_getRegister(asrrh_RegisterFile_instance, $rt_s(495)).$getValue());
22582
+ var$7 = Long_lo(asrrh_RegisterBlock_getRegister(asrrh_RegisterFile_instance, $rt_s(512)).$getValue());
22582
22583
  var$8 = asrrh_RegisterFile_instance.$regFile.data.length;
22583
22584
  $operands = $rt_createIntArray(var$8);
22584
22585
  var$9 = $operands.data;
@@ -23051,13 +23052,13 @@ var asrri_URET__init_ = () => {
23051
23052
  };
23052
23053
  var asrri_URET_simulate = ($this, $statement) => {
23053
23054
  let $upie;
23054
- $upie = (asrrh_ControlAndStatusRegisterFile_getValue($rt_s(563)) & 16) != 16 ? 0 : 1;
23055
- asrrh_ControlAndStatusRegisterFile_clearRegister($rt_s(563), Long_fromInt(16));
23055
+ $upie = (asrrh_ControlAndStatusRegisterFile_getValue($rt_s(496)) & 16) != 16 ? 0 : 1;
23056
+ asrrh_ControlAndStatusRegisterFile_clearRegister($rt_s(496), Long_fromInt(16));
23056
23057
  if (!$upie)
23057
- asrrh_ControlAndStatusRegisterFile_clearRegister($rt_s(563), Long_fromInt(1));
23058
+ asrrh_ControlAndStatusRegisterFile_clearRegister($rt_s(496), Long_fromInt(1));
23058
23059
  else
23059
- asrrh_ControlAndStatusRegisterFile_orRegister($rt_s(563), Long_fromInt(1));
23060
- asrrh_RegisterFile_setProgramCounter(asrrh_ControlAndStatusRegisterFile_getValue($rt_s(568)));
23060
+ asrrh_ControlAndStatusRegisterFile_orRegister($rt_s(496), Long_fromInt(1));
23061
+ asrrh_RegisterFile_setProgramCounter(asrrh_ControlAndStatusRegisterFile_getValue($rt_s(501)));
23061
23062
  };
23062
23063
  var asrri_WFI = $rt_classWithoutFields(asrr_BasicInstruction);
23063
23064
  var asrri_WFI__init_0 = ($this) => {
@@ -25349,6 +25350,77 @@ var ju_Comparator$NaturalOrder__clinit_ = () => {
25349
25350
  ju_Comparator$NaturalOrder_$callClinit();
25350
25351
  ju_Comparator$NaturalOrder_INSTANCE = var$1;
25351
25352
  };
25353
+ function asrrh_MaskedRegister() {
25354
+ asrrh_Register.call(this);
25355
+ this.$mask2 = Long_ZERO;
25356
+ }
25357
+ var asrrh_MaskedRegister__init_0 = ($this, $name, $num, $val, $mask) => {
25358
+ asrrh_Register__init_0($this, $name, $num, $val);
25359
+ $this.$mask2 = $mask;
25360
+ };
25361
+ var asrrh_MaskedRegister__init_ = (var_0, var_1, var_2, var_3) => {
25362
+ let var_4 = new asrrh_MaskedRegister();
25363
+ asrrh_MaskedRegister__init_0(var_4, var_0, var_1, var_2, var_3);
25364
+ return var_4;
25365
+ };
25366
+ var asrrh_MaskedRegister_setValue = ($this, $val) => {
25367
+ let $current, var$3;
25368
+ $current = asrrh_Register_getValue($this);
25369
+ var$3 = $this.$mask2;
25370
+ asrrh_Register_setValue($this, Long_or(Long_and($current, var$3), Long_and($val, Long_xor(var$3, Long_fromInt(-1)))));
25371
+ return $current;
25372
+ };
25373
+ var asrrh_ReadOnlyRegister = $rt_classWithoutFields(asrrh_Register);
25374
+ var asrrh_ReadOnlyRegister__init_0 = ($this, $name, $num, $val) => {
25375
+ asrrh_Register__init_0($this, $name, $num, Long_fromInt($val));
25376
+ };
25377
+ var asrrh_ReadOnlyRegister__init_ = (var_0, var_1, var_2) => {
25378
+ let var_3 = new asrrh_ReadOnlyRegister();
25379
+ asrrh_ReadOnlyRegister__init_0(var_3, var_0, var_1, var_2);
25380
+ return var_3;
25381
+ };
25382
+ function asrrh_LinkedRegister() {
25383
+ let a = this;
25384
+ asrrh_Register.call(a);
25385
+ a.$base = null;
25386
+ a.$mask1 = Long_ZERO;
25387
+ a.$shift = 0;
25388
+ }
25389
+ var asrrh_LinkedRegister__init_0 = ($this, $name, $num, $base, $mask) => {
25390
+ asrrh_Register__init_0($this, $name, $num, Long_ZERO);
25391
+ $this.$base = $base;
25392
+ $this.$mask1 = $mask;
25393
+ $this.$shift = 0;
25394
+ while (Long_ne($mask, Long_ZERO) && Long_eq(Long_and($mask, Long_fromInt(1)), Long_ZERO)) {
25395
+ $this.$shift = $this.$shift + 1 | 0;
25396
+ $mask = Long_shru($mask, 1);
25397
+ }
25398
+ };
25399
+ var asrrh_LinkedRegister__init_ = (var_0, var_1, var_2, var_3) => {
25400
+ let var_4 = new asrrh_LinkedRegister();
25401
+ asrrh_LinkedRegister__init_0(var_4, var_0, var_1, var_2, var_3);
25402
+ return var_4;
25403
+ };
25404
+ var asrrh_LinkedRegister_getValue = ($this) => {
25405
+ asrrh_Register_getValue($this);
25406
+ return asrrh_LinkedRegister_getValueNoNotify($this);
25407
+ };
25408
+ var asrrh_LinkedRegister_getValueNoNotify = ($this) => {
25409
+ return Long_shru(Long_and($this.$base.$getValueNoNotify(), $this.$mask1), $this.$shift);
25410
+ };
25411
+ var asrrh_LinkedRegister_setValue = ($this, $val) => {
25412
+ let $old, var$3, var$4;
25413
+ $old = $this.$base.$getValueNoNotify();
25414
+ var$3 = $this.$base;
25415
+ $val = Long_shl($val, $this.$shift);
25416
+ var$4 = $this.$mask1;
25417
+ var$3.$setValue(Long_or(Long_and($val, var$4), Long_and($old, Long_xor(var$4, Long_fromInt(-1)))));
25418
+ asrrh_Register_setValue($this, Long_ZERO);
25419
+ return Long_shru(Long_and($old, $this.$mask1), $this.$shift);
25420
+ };
25421
+ var asrrh_LinkedRegister_resetValue = ($this) => {
25422
+ $this.$base.$resetValue();
25423
+ };
25352
25424
  function asrrh_RegisterBlock() {
25353
25425
  let a = this;
25354
25426
  jl_Object.call(a);
@@ -25455,133 +25527,6 @@ var asrrh_RegisterBlock_resetRegisters = ($this) => {
25455
25527
  var$3 = var$3 + 1 | 0;
25456
25528
  }
25457
25529
  };
25458
- function asrrh_MaskedRegister() {
25459
- asrrh_Register.call(this);
25460
- this.$mask2 = Long_ZERO;
25461
- }
25462
- var asrrh_MaskedRegister__init_0 = ($this, $name, $num, $val, $mask) => {
25463
- asrrh_Register__init_0($this, $name, $num, $val);
25464
- $this.$mask2 = $mask;
25465
- };
25466
- var asrrh_MaskedRegister__init_ = (var_0, var_1, var_2, var_3) => {
25467
- let var_4 = new asrrh_MaskedRegister();
25468
- asrrh_MaskedRegister__init_0(var_4, var_0, var_1, var_2, var_3);
25469
- return var_4;
25470
- };
25471
- var asrrh_MaskedRegister_setValue = ($this, $val) => {
25472
- let $current, var$3;
25473
- $current = asrrh_Register_getValue($this);
25474
- var$3 = $this.$mask2;
25475
- asrrh_Register_setValue($this, Long_or(Long_and($current, var$3), Long_and($val, Long_xor(var$3, Long_fromInt(-1)))));
25476
- return $current;
25477
- };
25478
- var asrrh_ReadOnlyRegister = $rt_classWithoutFields(asrrh_Register);
25479
- var asrrh_ReadOnlyRegister__init_0 = ($this, $name, $num, $val) => {
25480
- asrrh_Register__init_0($this, $name, $num, Long_fromInt($val));
25481
- };
25482
- var asrrh_ReadOnlyRegister__init_ = (var_0, var_1, var_2) => {
25483
- let var_3 = new asrrh_ReadOnlyRegister();
25484
- asrrh_ReadOnlyRegister__init_0(var_3, var_0, var_1, var_2);
25485
- return var_3;
25486
- };
25487
- function asrrh_LinkedRegister() {
25488
- let a = this;
25489
- asrrh_Register.call(a);
25490
- a.$base = null;
25491
- a.$mask1 = Long_ZERO;
25492
- a.$shift = 0;
25493
- }
25494
- var asrrh_LinkedRegister__init_0 = ($this, $name, $num, $base, $mask) => {
25495
- asrrh_Register__init_0($this, $name, $num, Long_ZERO);
25496
- $this.$base = $base;
25497
- $this.$mask1 = $mask;
25498
- $this.$shift = 0;
25499
- while (Long_ne($mask, Long_ZERO) && Long_eq(Long_and($mask, Long_fromInt(1)), Long_ZERO)) {
25500
- $this.$shift = $this.$shift + 1 | 0;
25501
- $mask = Long_shru($mask, 1);
25502
- }
25503
- };
25504
- var asrrh_LinkedRegister__init_ = (var_0, var_1, var_2, var_3) => {
25505
- let var_4 = new asrrh_LinkedRegister();
25506
- asrrh_LinkedRegister__init_0(var_4, var_0, var_1, var_2, var_3);
25507
- return var_4;
25508
- };
25509
- var asrrh_LinkedRegister_getValue = ($this) => {
25510
- asrrh_Register_getValue($this);
25511
- return asrrh_LinkedRegister_getValueNoNotify($this);
25512
- };
25513
- var asrrh_LinkedRegister_getValueNoNotify = ($this) => {
25514
- return Long_shru(Long_and($this.$base.$getValueNoNotify(), $this.$mask1), $this.$shift);
25515
- };
25516
- var asrrh_LinkedRegister_setValue = ($this, $val) => {
25517
- let $old, var$3, var$4;
25518
- $old = $this.$base.$getValueNoNotify();
25519
- var$3 = $this.$base;
25520
- $val = Long_shl($val, $this.$shift);
25521
- var$4 = $this.$mask1;
25522
- var$3.$setValue(Long_or(Long_and($val, var$4), Long_and($old, Long_xor(var$4, Long_fromInt(-1)))));
25523
- asrrh_Register_setValue($this, Long_ZERO);
25524
- return Long_shru(Long_and($old, $this.$mask1), $this.$shift);
25525
- };
25526
- var asrrh_LinkedRegister_resetValue = ($this) => {
25527
- $this.$base.$resetValue();
25528
- };
25529
- function asrrh_StackFrame() {
25530
- let a = this;
25531
- jl_Object.call(a);
25532
- a.$pc3 = 0;
25533
- a.$toAddress0 = 0;
25534
- a.$sp0 = 0;
25535
- a.$fp0 = 0;
25536
- a.$registers1 = null;
25537
- }
25538
- function asra_Token() {
25539
- let a = this;
25540
- jl_Object.call(a);
25541
- a.$type = null;
25542
- a.$value = null;
25543
- a.$sourceProgram = null;
25544
- a.$sourceLine = 0;
25545
- a.$sourcePos = 0;
25546
- a.$originalProgram = null;
25547
- a.$originalSourceLine = 0;
25548
- }
25549
- var asra_Token__init_0 = ($this, $type, $value, $sourceProgram, $line, $start) => {
25550
- $this.$type = $type;
25551
- $this.$value = $value;
25552
- $this.$sourceProgram = $sourceProgram;
25553
- $this.$sourceLine = $line;
25554
- $this.$sourcePos = $start;
25555
- $this.$originalProgram = $sourceProgram;
25556
- $this.$originalSourceLine = $line;
25557
- };
25558
- var asra_Token__init_ = (var_0, var_1, var_2, var_3, var_4) => {
25559
- let var_5 = new asra_Token();
25560
- asra_Token__init_0(var_5, var_0, var_1, var_2, var_3, var_4);
25561
- return var_5;
25562
- };
25563
- var asra_Token_setOriginal = ($this, $origProgram, $origSourceLine) => {
25564
- $this.$originalProgram = $origProgram;
25565
- $this.$originalSourceLine = $origSourceLine;
25566
- };
25567
- var asra_Token_getType = ($this) => {
25568
- return $this.$type;
25569
- };
25570
- var asra_Token_getValue = ($this) => {
25571
- return $this.$value;
25572
- };
25573
- var asra_Token_toString = ($this) => {
25574
- return $this.$value;
25575
- };
25576
- var asra_Token_getSourceProgram = ($this) => {
25577
- return $this.$sourceProgram;
25578
- };
25579
- var asra_Token_getSourceLine = ($this) => {
25580
- return $this.$sourceLine;
25581
- };
25582
- var asra_Token_getStartPos = ($this) => {
25583
- return $this.$sourcePos;
25584
- };
25585
25530
  function asr_ErrorList() {
25586
25531
  let a = this;
25587
25532
  jl_Object.call(a);
@@ -25667,6 +25612,62 @@ var asr_ErrorList_generateReport = ($this, $isWarning) => {
25667
25612
  }
25668
25613
  return jl_AbstractStringBuilder_toString($report);
25669
25614
  };
25615
+ function asrrh_StackFrame() {
25616
+ let a = this;
25617
+ jl_Object.call(a);
25618
+ a.$pc3 = 0;
25619
+ a.$toAddress0 = 0;
25620
+ a.$sp0 = 0;
25621
+ a.$fp0 = 0;
25622
+ a.$registers1 = null;
25623
+ }
25624
+ function asra_Token() {
25625
+ let a = this;
25626
+ jl_Object.call(a);
25627
+ a.$type = null;
25628
+ a.$value = null;
25629
+ a.$sourceProgram = null;
25630
+ a.$sourceLine = 0;
25631
+ a.$sourcePos = 0;
25632
+ a.$originalProgram = null;
25633
+ a.$originalSourceLine = 0;
25634
+ }
25635
+ var asra_Token__init_0 = ($this, $type, $value, $sourceProgram, $line, $start) => {
25636
+ $this.$type = $type;
25637
+ $this.$value = $value;
25638
+ $this.$sourceProgram = $sourceProgram;
25639
+ $this.$sourceLine = $line;
25640
+ $this.$sourcePos = $start;
25641
+ $this.$originalProgram = $sourceProgram;
25642
+ $this.$originalSourceLine = $line;
25643
+ };
25644
+ var asra_Token__init_ = (var_0, var_1, var_2, var_3, var_4) => {
25645
+ let var_5 = new asra_Token();
25646
+ asra_Token__init_0(var_5, var_0, var_1, var_2, var_3, var_4);
25647
+ return var_5;
25648
+ };
25649
+ var asra_Token_setOriginal = ($this, $origProgram, $origSourceLine) => {
25650
+ $this.$originalProgram = $origProgram;
25651
+ $this.$originalSourceLine = $origSourceLine;
25652
+ };
25653
+ var asra_Token_getType = ($this) => {
25654
+ return $this.$type;
25655
+ };
25656
+ var asra_Token_getValue = ($this) => {
25657
+ return $this.$value;
25658
+ };
25659
+ var asra_Token_toString = ($this) => {
25660
+ return $this.$value;
25661
+ };
25662
+ var asra_Token_getSourceProgram = ($this) => {
25663
+ return $this.$sourceProgram;
25664
+ };
25665
+ var asra_Token_getSourceLine = ($this) => {
25666
+ return $this.$sourceLine;
25667
+ };
25668
+ var asra_Token_getStartPos = ($this) => {
25669
+ return $this.$sourcePos;
25670
+ };
25670
25671
  function asrrh_MemoryConfiguration() {
25671
25672
  let a = this;
25672
25673
  jl_Object.call(a);
@@ -25817,7 +25818,7 @@ var asrrs_SyscallClose_simulate = ($this, $statement) => {
25817
25818
  main: while (true) {
25818
25819
  switch ($ptr) {
25819
25820
  case 0:
25820
- var$2 = asrrh_RegisterFile_getValue0($rt_s(503));
25821
+ var$2 = asrrh_RegisterFile_getValue0($rt_s(520));
25821
25822
  asru_SystemIO_$callClinit();
25822
25823
  asru_SystemIO$FileIOData_$callClinit();
25823
25824
  if (var$2 > 2) {
@@ -25885,7 +25886,7 @@ var asrrs_SyscallConfirmDialog_simulate = ($this, $statement) => {
25885
25886
  switch ($ptr) {
25886
25887
  case 0:
25887
25888
  $message = asrrs_NullString_get($statement);
25888
- $statement = $rt_s(503);
25889
+ $statement = $rt_s(520);
25889
25890
  var$3 = $this.$io0;
25890
25891
  var$4 = $rt_s(1569);
25891
25892
  var$5 = $rt_createArray(jl_Object, 1);
@@ -25916,7 +25917,7 @@ var asrrs_SyscallExit_simulate = ($this, $statement) => {
25916
25917
  var asrrs_SyscallExit2 = $rt_classWithoutFields(asrr_AbstractSyscall);
25917
25918
  var asrrs_SyscallExit2_simulate = ($this, $statement) => {
25918
25919
  let var$2;
25919
- var$2 = asrrh_RegisterFile_getValue0($rt_s(503));
25920
+ var$2 = asrrh_RegisterFile_getValue0($rt_s(520));
25920
25921
  asr_Globals_$callClinit();
25921
25922
  asr_Globals_exitCode = var$2;
25922
25923
  $statement = new asr_ExitingException();
@@ -25987,18 +25988,18 @@ var asrrs_SyscallInputDialogDouble_simulate = ($this, $statement) => {
25987
25988
  try {
25988
25989
  asrrh_FloatingPointRegisterFile_updateRegisterLong(0, Long_ZERO);
25989
25990
  if ($statement === null)
25990
- asrrh_RegisterFile_updateRegister0($rt_s(504), Long_fromInt(-2));
25991
+ asrrh_RegisterFile_updateRegister0($rt_s(521), Long_fromInt(-2));
25991
25992
  else if (!jl_String_length($statement))
25992
- asrrh_RegisterFile_updateRegister0($rt_s(504), Long_fromInt(-3));
25993
+ asrrh_RegisterFile_updateRegister0($rt_s(521), Long_fromInt(-3));
25993
25994
  else {
25994
25995
  asrrh_FloatingPointRegisterFile_updateRegisterLong(10, $rt_doubleToRawLongBits(jl_Double_parseDouble($statement)));
25995
- asrrh_RegisterFile_updateRegister0($rt_s(504), Long_ZERO);
25996
+ asrrh_RegisterFile_updateRegister0($rt_s(521), Long_ZERO);
25996
25997
  }
25997
25998
  break a;
25998
25999
  } catch ($$e) {
25999
26000
  $$je = $rt_wrapException($$e);
26000
26001
  if ($$je instanceof jl_NumberFormatException) {
26001
- asrrh_RegisterFile_updateRegister0($rt_s(504), Long_fromInt(-1));
26002
+ asrrh_RegisterFile_updateRegister0($rt_s(521), Long_fromInt(-1));
26002
26003
  break a;
26003
26004
  } else {
26004
26005
  throw $$e;
@@ -26042,18 +26043,18 @@ var asrrs_SyscallInputDialogFloat_simulate = ($this, $statement) => {
26042
26043
  try {
26043
26044
  asrrh_FloatingPointRegisterFile_setRegisterToFloat(0, 0);
26044
26045
  if ($statement === null)
26045
- asrrh_RegisterFile_updateRegister0($rt_s(504), Long_fromInt(-2));
26046
+ asrrh_RegisterFile_updateRegister0($rt_s(521), Long_fromInt(-2));
26046
26047
  else if (!jl_String_length($statement))
26047
- asrrh_RegisterFile_updateRegister0($rt_s(504), Long_fromInt(-3));
26048
+ asrrh_RegisterFile_updateRegister0($rt_s(521), Long_fromInt(-3));
26048
26049
  else {
26049
26050
  asrrh_FloatingPointRegisterFile_setRegisterToFloat(0, jl_Float_parseFloat($statement));
26050
- asrrh_RegisterFile_updateRegister0($rt_s(504), Long_ZERO);
26051
+ asrrh_RegisterFile_updateRegister0($rt_s(521), Long_ZERO);
26051
26052
  }
26052
26053
  break a;
26053
26054
  } catch ($$e) {
26054
26055
  $$je = $rt_wrapException($$e);
26055
26056
  if ($$je instanceof jl_NumberFormatException) {
26056
- asrrh_RegisterFile_updateRegister0($rt_s(504), Long_fromInt(-1));
26057
+ asrrh_RegisterFile_updateRegister0($rt_s(521), Long_fromInt(-1));
26057
26058
  break a;
26058
26059
  } else {
26059
26060
  throw $$e;
@@ -26095,21 +26096,21 @@ var asrrs_SyscallInputDialogInt_simulate = ($this, $statement) => {
26095
26096
  }
26096
26097
  $statement = $tmp;
26097
26098
  if ($statement === null) {
26098
- asrrh_RegisterFile_updateRegister0($rt_s(503), Long_ZERO);
26099
- asrrh_RegisterFile_updateRegister0($rt_s(504), Long_fromInt(-2));
26099
+ asrrh_RegisterFile_updateRegister0($rt_s(520), Long_ZERO);
26100
+ asrrh_RegisterFile_updateRegister0($rt_s(521), Long_fromInt(-2));
26100
26101
  } else if (!$statement.$nativeString.length) {
26101
- asrrh_RegisterFile_updateRegister0($rt_s(503), Long_ZERO);
26102
- asrrh_RegisterFile_updateRegister0($rt_s(504), Long_fromInt(-3));
26102
+ asrrh_RegisterFile_updateRegister0($rt_s(520), Long_ZERO);
26103
+ asrrh_RegisterFile_updateRegister0($rt_s(521), Long_fromInt(-3));
26103
26104
  } else
26104
26105
  try {
26105
- asrrh_RegisterFile_updateRegister0($rt_s(503), Long_fromInt(jl_Integer_parseInt0($statement)));
26106
- asrrh_RegisterFile_updateRegister0($rt_s(504), Long_ZERO);
26106
+ asrrh_RegisterFile_updateRegister0($rt_s(520), Long_fromInt(jl_Integer_parseInt0($statement)));
26107
+ asrrh_RegisterFile_updateRegister0($rt_s(521), Long_ZERO);
26107
26108
  break a;
26108
26109
  } catch ($$e) {
26109
26110
  $$je = $rt_wrapException($$e);
26110
26111
  if ($$je instanceof jl_NumberFormatException) {
26111
- asrrh_RegisterFile_updateRegister0($rt_s(503), Long_ZERO);
26112
- asrrh_RegisterFile_updateRegister0($rt_s(504), Long_fromInt(-1));
26112
+ asrrh_RegisterFile_updateRegister0($rt_s(520), Long_ZERO);
26113
+ asrrh_RegisterFile_updateRegister0($rt_s(521), Long_fromInt(-1));
26113
26114
  break a;
26114
26115
  } else {
26115
26116
  throw $$e;
@@ -26156,14 +26157,14 @@ var asrrs_SyscallInputDialogString_simulate = ($this, $statement) => {
26156
26157
  break main;
26157
26158
  }
26158
26159
  $message = $tmp;
26159
- $byteAddress = asrrh_RegisterFile_getValue0($rt_s(504));
26160
- $maxLength = asrrh_RegisterFile_getValue0($rt_s(505));
26160
+ $byteAddress = asrrh_RegisterFile_getValue0($rt_s(521));
26161
+ $maxLength = asrrh_RegisterFile_getValue0($rt_s(522));
26161
26162
  a: {
26162
26163
  try {
26163
26164
  if ($message === null)
26164
- asrrh_RegisterFile_updateRegister0($rt_s(504), Long_fromInt(-2));
26165
+ asrrh_RegisterFile_updateRegister0($rt_s(521), Long_fromInt(-2));
26165
26166
  else if (!jl_String_length($message))
26166
- asrrh_RegisterFile_updateRegister0($rt_s(504), Long_fromInt(-3));
26167
+ asrrh_RegisterFile_updateRegister0($rt_s(521), Long_fromInt(-3));
26167
26168
  else {
26168
26169
  jnc_StandardCharsets_$callClinit();
26169
26170
  $utf8BytesList = jl_String_getBytes($message, jnc_StandardCharsets_UTF_8).data;
@@ -26184,9 +26185,9 @@ var asrrs_SyscallInputDialogString_simulate = ($this, $statement) => {
26184
26185
  asr_Globals_$callClinit();
26185
26186
  asrrh_Memory_setByte(asr_Globals_memory, $byteAddress + $stringLength | 0, 0);
26186
26187
  if (var$7 <= $maxLength)
26187
- asrrh_RegisterFile_updateRegister0($rt_s(504), Long_ZERO);
26188
+ asrrh_RegisterFile_updateRegister0($rt_s(521), Long_ZERO);
26188
26189
  else
26189
- asrrh_RegisterFile_updateRegister0($rt_s(504), Long_fromInt(-4));
26190
+ asrrh_RegisterFile_updateRegister0($rt_s(521), Long_fromInt(-4));
26190
26191
  }
26191
26192
  } catch ($$e) {
26192
26193
  $$je = $rt_wrapException($$e);
@@ -26226,7 +26227,7 @@ var asrrs_SyscallMessageDialog_simulate = ($this, $statement) => {
26226
26227
  main: while (true) {
26227
26228
  switch ($ptr) {
26228
26229
  case 0:
26229
- $msgType = asrrh_RegisterFile_getValue0($rt_s(504));
26230
+ $msgType = asrrh_RegisterFile_getValue0($rt_s(521));
26230
26231
  if (!($msgType >= 0 && $msgType <= 3))
26231
26232
  $msgType = -1;
26232
26233
  var$3 = $this.$io3;
@@ -26269,7 +26270,7 @@ var asrrs_SyscallMessageDialogDouble_simulate = ($this, $statement) => {
26269
26270
  switch ($ptr) {
26270
26271
  case 0:
26271
26272
  $message = jl_String__init_3();
26272
- $byteAddress = asrrh_RegisterFile_getValue0($rt_s(503));
26273
+ $byteAddress = asrrh_RegisterFile_getValue0($rt_s(520));
26273
26274
  $ch = $rt_createCharArray(1);
26274
26275
  var$5 = $ch.data;
26275
26276
  var$5[0] = 32;
@@ -26343,7 +26344,7 @@ var asrrs_SyscallMessageDialogFloat_simulate = ($this, $statement) => {
26343
26344
  $message = asrrs_NullString_get($statement);
26344
26345
  var$3 = $this.$io7;
26345
26346
  asrrh_FloatingPointRegisterFile_$callClinit();
26346
- $statement = jl_Float_toString($rt_intBitsToFloat(asrrh_FloatingPointRegisterFile_getValue0($rt_s(539))));
26347
+ $statement = jl_Float_toString($rt_intBitsToFloat(asrrh_FloatingPointRegisterFile_getValue0($rt_s(554))));
26347
26348
  var$4 = new jl_StringBuilder();
26348
26349
  jl_AbstractStringBuilder__init_(var$4);
26349
26350
  jl_StringBuilder_append(jl_StringBuilder_append(var$4, $message), $statement);
@@ -26385,7 +26386,7 @@ var asrrs_SyscallMessageDialogInt_simulate = ($this, $statement) => {
26385
26386
  case 0:
26386
26387
  $message = asrrs_NullString_get($statement);
26387
26388
  var$3 = $this.$io5;
26388
- $statement = jl_Integer_toString(asrrh_RegisterFile_getValue0($rt_s(504)));
26389
+ $statement = jl_Integer_toString(asrrh_RegisterFile_getValue0($rt_s(521)));
26389
26390
  var$4 = new jl_StringBuilder();
26390
26391
  jl_AbstractStringBuilder__init_(var$4);
26391
26392
  jl_StringBuilder_append(jl_StringBuilder_append(var$4, $message), $statement);
@@ -26427,7 +26428,7 @@ var asrrs_SyscallMessageDialogString_simulate = ($this, $statement) => {
26427
26428
  case 0:
26428
26429
  var$2 = $this.$io8;
26429
26430
  var$3 = asrrs_NullString_get($statement);
26430
- $statement = asrrs_NullString_get0($statement, $rt_s(504));
26431
+ $statement = asrrs_NullString_get0($statement, $rt_s(521));
26431
26432
  var$4 = new jl_StringBuilder();
26432
26433
  jl_AbstractStringBuilder__init_(var$4);
26433
26434
  jl_StringBuilder_append(jl_StringBuilder_append(var$4, var$3), $statement);
@@ -26468,7 +26469,7 @@ var asrrs_SyscallOpen_simulate = ($this, $statement) => {
26468
26469
  switch ($ptr) {
26469
26470
  case 0:
26470
26471
  var$2 = asrrs_NullString_get($statement);
26471
- var$3 = asrrh_RegisterFile_getValue0($rt_s(504));
26472
+ var$3 = asrrh_RegisterFile_getValue0($rt_s(521));
26472
26473
  asru_SystemIO_$callClinit();
26473
26474
  asru_SystemIO$FileIOData_releaseHostDescriptors();
26474
26475
  $retValue = 0;
@@ -26565,7 +26566,7 @@ var asrrs_SyscallOpen_simulate = ($this, $statement) => {
26565
26566
  }
26566
26567
  }
26567
26568
  }
26568
- asrrh_RegisterFile_updateRegister0($rt_s(503), Long_fromInt($retValue));
26569
+ asrrh_RegisterFile_updateRegister0($rt_s(520), Long_fromInt($retValue));
26569
26570
  return;
26570
26571
  case 1:
26571
26572
  a: {
@@ -26593,7 +26594,7 @@ var asrrs_SyscallOpen_simulate = ($this, $statement) => {
26593
26594
  }
26594
26595
  }
26595
26596
  }
26596
- asrrh_RegisterFile_updateRegister0($rt_s(503), Long_fromInt($retValue));
26597
+ asrrh_RegisterFile_updateRegister0($rt_s(520), Long_fromInt($retValue));
26597
26598
  return;
26598
26599
  case 2:
26599
26600
  a: {
@@ -26621,7 +26622,7 @@ var asrrs_SyscallOpen_simulate = ($this, $statement) => {
26621
26622
  }
26622
26623
  }
26623
26624
  }
26624
- asrrh_RegisterFile_updateRegister0($rt_s(503), Long_fromInt($retValue));
26625
+ asrrh_RegisterFile_updateRegister0($rt_s(520), Long_fromInt($retValue));
26625
26626
  return;
26626
26627
  default:
26627
26628
  $rt_invalidPointer();
@@ -26642,7 +26643,7 @@ var asrrs_SyscallPrintChar_simulate = ($this, $statement) => {
26642
26643
  main: while (true) {
26643
26644
  switch ($ptr) {
26644
26645
  case 0:
26645
- $statement = jl_Character_toString(asrrh_RegisterFile_getValue0($rt_s(503)) & 255 & 65535);
26646
+ $statement = jl_Character_toString(asrrh_RegisterFile_getValue0($rt_s(520)) & 255 & 65535);
26646
26647
  $ptr = 1;
26647
26648
  case 1:
26648
26649
  asru_SystemIO_printString($statement);
@@ -26700,7 +26701,7 @@ var asrrs_SyscallPrintFloat_simulate = ($this, $statement) => {
26700
26701
  main: while (true) {
26701
26702
  switch ($ptr) {
26702
26703
  case 0:
26703
- $statement = jl_Float_toString($rt_intBitsToFloat(asrrh_FloatingPointRegisterFile_getValue0($rt_s(538))));
26704
+ $statement = jl_Float_toString($rt_intBitsToFloat(asrrh_FloatingPointRegisterFile_getValue0($rt_s(553))));
26704
26705
  $ptr = 1;
26705
26706
  case 1:
26706
26707
  asru_SystemIO_printString($statement);
@@ -26727,7 +26728,7 @@ var asrrs_SyscallPrintInt_simulate = ($this, $statement) => {
26727
26728
  main: while (true) {
26728
26729
  switch ($ptr) {
26729
26730
  case 0:
26730
- $statement = jl_Integer_toString(asrrh_RegisterFile_getValue0($rt_s(503)));
26731
+ $statement = jl_Integer_toString(asrrh_RegisterFile_getValue0($rt_s(520)));
26731
26732
  $ptr = 1;
26732
26733
  case 1:
26733
26734
  asru_SystemIO_printString($statement);
@@ -26755,7 +26756,7 @@ var asrrs_SyscallPrintIntBinary_simulate = ($this, $statement) => {
26755
26756
  main: while (true) {
26756
26757
  switch ($ptr) {
26757
26758
  case 0:
26758
- var$2 = asrrh_RegisterFile_getValue0($rt_s(503));
26759
+ var$2 = asrrh_RegisterFile_getValue0($rt_s(520));
26759
26760
  asru_Binary_$callClinit();
26760
26761
  $statement = asru_Binary_intToBinaryString(var$2, 32);
26761
26762
  $ptr = 1;
@@ -26784,7 +26785,7 @@ var asrrs_SyscallPrintIntHex_simulate = ($this, $statement) => {
26784
26785
  main: while (true) {
26785
26786
  switch ($ptr) {
26786
26787
  case 0:
26787
- $statement = asru_Binary_intToHexString(asrrh_RegisterFile_getValue0($rt_s(503)));
26788
+ $statement = asru_Binary_intToHexString(asrrh_RegisterFile_getValue0($rt_s(520)));
26788
26789
  $ptr = 1;
26789
26790
  case 1:
26790
26791
  asru_SystemIO_printString($statement);
@@ -26812,7 +26813,7 @@ var asrrs_SyscallPrintIntUnsigned_simulate = ($this, $statement) => {
26812
26813
  main: while (true) {
26813
26814
  switch ($ptr) {
26814
26815
  case 0:
26815
- var$2 = asrrh_RegisterFile_getValue0($rt_s(503));
26816
+ var$2 = asrrh_RegisterFile_getValue0($rt_s(520));
26816
26817
  asru_Binary_$callClinit();
26817
26818
  $statement = var$2 >= 0 ? jl_Integer_toString(var$2) : jl_Long_toString(Long_add(Long_create(0, 1), Long_fromInt(var$2)));
26818
26819
  $ptr = 1;
@@ -26858,7 +26859,7 @@ var asrrs_SyscallPrintString_simulate = ($this, $statement) => {
26858
26859
  var asrrs_SyscallRandDouble = $rt_classWithoutFields(asrr_AbstractSyscall);
26859
26860
  var asrrs_SyscallRandDouble_simulate = ($this, $statement) => {
26860
26861
  let $index, $stream;
26861
- $index = jl_Integer_valueOf(asrrh_RegisterFile_getValue0($rt_s(503)));
26862
+ $index = jl_Integer_valueOf(asrrh_RegisterFile_getValue0($rt_s(520)));
26862
26863
  asrrs_RandomStreams_$callClinit();
26863
26864
  $stream = ju_HashMap_get(asrrs_RandomStreams_randomStreams, $index);
26864
26865
  if ($stream === null) {
@@ -26869,20 +26870,20 @@ var asrrs_SyscallRandDouble_simulate = ($this, $statement) => {
26869
26870
  };
26870
26871
  var asrrs_SyscallRandFloat = $rt_classWithoutFields(asrr_AbstractSyscall);
26871
26872
  var asrrs_SyscallRandFloat_simulate = ($this, $statement) => {
26872
- asrrh_FloatingPointRegisterFile_setRegisterToFloat(10, ju_Random_next(asrrs_RandomStreams_get($rt_s(503)), 24) * 5960464477539063e-23);
26873
+ asrrh_FloatingPointRegisterFile_setRegisterToFloat(10, ju_Random_next(asrrs_RandomStreams_get($rt_s(520)), 24) * 5960464477539063e-23);
26873
26874
  };
26874
26875
  var asrrs_SyscallRandInt = $rt_classWithoutFields(asrr_AbstractSyscall);
26875
26876
  var asrrs_SyscallRandInt_simulate = ($this, $statement) => {
26876
- asrrh_RegisterFile_updateRegister0($rt_s(503), Long_fromInt(ju_Random_nextInt(asrrs_RandomStreams_get($rt_s(503)))));
26877
+ asrrh_RegisterFile_updateRegister0($rt_s(520), Long_fromInt(ju_Random_nextInt(asrrs_RandomStreams_get($rt_s(520)))));
26877
26878
  };
26878
26879
  var asrrs_SyscallRandIntRange = $rt_classWithoutFields(asrr_AbstractSyscall);
26879
26880
  var asrrs_SyscallRandIntRange_simulate = ($this, $statement) => {
26880
26881
  let $stream, var$3, var$4, var$5, $$je;
26881
- $stream = asrrs_RandomStreams_get($rt_s(503));
26882
+ $stream = asrrs_RandomStreams_get($rt_s(520));
26882
26883
  a: {
26883
26884
  try {
26884
- var$3 = asrrh_RegisterFile_getValue0($rt_s(504));
26885
- asrrh_RegisterFile_updateRegister0($rt_s(503), Long_fromInt(jur_RandomGenerator_nextInt($stream, var$3)));
26885
+ var$3 = asrrh_RegisterFile_getValue0($rt_s(521));
26886
+ asrrh_RegisterFile_updateRegister0($rt_s(520), Long_fromInt(jur_RandomGenerator_nextInt($stream, var$3)));
26886
26887
  } catch ($$e) {
26887
26888
  $$je = $rt_wrapException($$e);
26888
26889
  if ($$je instanceof jl_IllegalArgumentException) {
@@ -26926,11 +26927,11 @@ var asrrs_SyscallRead_simulate = ($this, $statement) => {
26926
26927
  switch ($ptr) {
26927
26928
  case 0:
26928
26929
  a: {
26929
- $byteAddress = asrrh_RegisterFile_getValue0($rt_s(504));
26930
+ $byteAddress = asrrh_RegisterFile_getValue0($rt_s(521));
26930
26931
  $index = 0;
26931
- $length = asrrh_RegisterFile_getValue0($rt_s(505));
26932
+ $length = asrrh_RegisterFile_getValue0($rt_s(522));
26932
26933
  $myBuffer = $rt_createByteArray($length);
26933
- var$6 = asrrh_RegisterFile_getValue0($rt_s(503));
26934
+ var$6 = asrrh_RegisterFile_getValue0($rt_s(520));
26934
26935
  asru_SystemIO_$callClinit();
26935
26936
  if (!asru_SystemIO$FileIOData_fdInUse(var$6, 0)) {
26936
26937
  $e = new jl_StringBuilder();
@@ -26988,7 +26989,7 @@ var asrrs_SyscallRead_simulate = ($this, $statement) => {
26988
26989
  }
26989
26990
  }
26990
26991
  $myBuffer = $myBuffer.data;
26991
- asrrh_RegisterFile_updateRegister0($rt_s(503), Long_fromInt($retLength));
26992
+ asrrh_RegisterFile_updateRegister0($rt_s(520), Long_fromInt($retLength));
26992
26993
  d: {
26993
26994
  try {
26994
26995
  while ($index < $retLength) {
@@ -27057,7 +27058,7 @@ var asrrs_SyscallRead_simulate = ($this, $statement) => {
27057
27058
  $retLength = -1;
27058
27059
  }
27059
27060
  $myBuffer = $myBuffer.data;
27060
- asrrh_RegisterFile_updateRegister0($rt_s(503), Long_fromInt($retLength));
27061
+ asrrh_RegisterFile_updateRegister0($rt_s(520), Long_fromInt($retLength));
27061
27062
  c: {
27062
27063
  try {
27063
27064
  while ($index < $retLength) {
@@ -27128,7 +27129,7 @@ var asrrs_SyscallRead_simulate = ($this, $statement) => {
27128
27129
  $retLength = -1;
27129
27130
  }
27130
27131
  $myBuffer = $myBuffer.data;
27131
- asrrh_RegisterFile_updateRegister0($rt_s(503), Long_fromInt($retLength));
27132
+ asrrh_RegisterFile_updateRegister0($rt_s(520), Long_fromInt($retLength));
27132
27133
  f: {
27133
27134
  try {
27134
27135
  while ($index < $retLength) {
@@ -27183,10 +27184,10 @@ var asrrs_SyscallWrite_simulate = ($this, $statement) => {
27183
27184
  main: while (true) {
27184
27185
  switch ($ptr) {
27185
27186
  case 0:
27186
- $byteAddress = asrrh_RegisterFile_getValue0($rt_s(504));
27187
- $reqLength = asrrh_RegisterFile_getValue0($rt_s(505));
27187
+ $byteAddress = asrrh_RegisterFile_getValue0($rt_s(521));
27188
+ $reqLength = asrrh_RegisterFile_getValue0($rt_s(522));
27188
27189
  if ($reqLength < 0) {
27189
- asrrh_RegisterFile_updateRegister0($rt_s(503), Long_fromInt(-1));
27190
+ asrrh_RegisterFile_updateRegister0($rt_s(520), Long_fromInt(-1));
27190
27191
  return;
27191
27192
  }
27192
27193
  $index = 0;
@@ -27232,8 +27233,8 @@ var asrrs_SyscallWrite_simulate = ($this, $statement) => {
27232
27233
  $rt_throw(var$9);
27233
27234
  }
27234
27235
  c: {
27235
- $byteAddress = asrrh_RegisterFile_getValue0($rt_s(503));
27236
- $retValue = asrrh_RegisterFile_getValue0($rt_s(505));
27236
+ $byteAddress = asrrh_RegisterFile_getValue0($rt_s(520));
27237
+ $retValue = asrrh_RegisterFile_getValue0($rt_s(522));
27237
27238
  asru_SystemIO_$callClinit();
27238
27239
  if (!asru_SystemIO$FileIOData_fdInUse($byteAddress, 1)) {
27239
27240
  $statement = new jl_StringBuilder();
@@ -27361,7 +27362,7 @@ var asrrs_SyscallWrite_simulate = ($this, $statement) => {
27361
27362
  $retValue = -1;
27362
27363
  }
27363
27364
  }
27364
- asrrh_RegisterFile_updateRegister0($rt_s(503), Long_fromInt($retValue));
27365
+ asrrh_RegisterFile_updateRegister0($rt_s(520), Long_fromInt($retValue));
27365
27366
  return;
27366
27367
  case 1:
27367
27368
  i: {
@@ -27404,7 +27405,7 @@ var asrrs_SyscallWrite_simulate = ($this, $statement) => {
27404
27405
  asru_SystemIO_fileErrorString = jl_AbstractStringBuilder_toString($statement);
27405
27406
  $retValue = -1;
27406
27407
  }
27407
- asrrh_RegisterFile_updateRegister0($rt_s(503), Long_fromInt($retValue));
27408
+ asrrh_RegisterFile_updateRegister0($rt_s(520), Long_fromInt($retValue));
27408
27409
  return;
27409
27410
  case 2:
27410
27411
  i: {
@@ -27447,7 +27448,7 @@ var asrrs_SyscallWrite_simulate = ($this, $statement) => {
27447
27448
  asru_SystemIO_fileErrorString = jl_AbstractStringBuilder_toString($statement);
27448
27449
  $retValue = -1;
27449
27450
  }
27450
- asrrh_RegisterFile_updateRegister0($rt_s(503), Long_fromInt($retValue));
27451
+ asrrh_RegisterFile_updateRegister0($rt_s(520), Long_fromInt($retValue));
27451
27452
  return;
27452
27453
  case 3:
27453
27454
  i: {
@@ -27490,7 +27491,7 @@ var asrrs_SyscallWrite_simulate = ($this, $statement) => {
27490
27491
  asru_SystemIO_fileErrorString = jl_AbstractStringBuilder_toString($statement);
27491
27492
  $retValue = -1;
27492
27493
  }
27493
- asrrh_RegisterFile_updateRegister0($rt_s(503), Long_fromInt($retValue));
27494
+ asrrh_RegisterFile_updateRegister0($rt_s(520), Long_fromInt($retValue));
27494
27495
  return;
27495
27496
  default:
27496
27497
  $rt_invalidPointer();
@@ -27516,7 +27517,7 @@ var asrrs_SyscallReadChar_simulate = ($this, $statement) => {
27516
27517
  switch ($ptr) {
27517
27518
  case 0:
27518
27519
  try {
27519
- var$2 = $rt_s(503);
27520
+ var$2 = $rt_s(520);
27520
27521
  var$3 = asrr_AbstractSyscall_getNumber($this);
27521
27522
  $ptr = 1;
27522
27523
  continue main;
@@ -27732,7 +27733,7 @@ var asrrs_SyscallReadInt_simulate = ($this, $statement) => {
27732
27733
  switch ($ptr) {
27733
27734
  case 0:
27734
27735
  try {
27735
- var$2 = $rt_s(503);
27736
+ var$2 = $rt_s(520);
27736
27737
  var$3 = asrr_AbstractSyscall_getNumber($this);
27737
27738
  $ptr = 1;
27738
27739
  continue main;
@@ -27807,8 +27808,8 @@ var asrrs_SyscallReadString_simulate = ($this, $statement) => {
27807
27808
  main: while (true) {
27808
27809
  switch ($ptr) {
27809
27810
  case 0:
27810
- $buf = asrrh_RegisterFile_getValue0($rt_s(503));
27811
- $maxLength = asrrh_RegisterFile_getValue0($rt_s(504)) - 1 | 0;
27811
+ $buf = asrrh_RegisterFile_getValue0($rt_s(520));
27812
+ $maxLength = asrrh_RegisterFile_getValue0($rt_s(521)) - 1 | 0;
27812
27813
  $addNullByte = 1;
27813
27814
  if ($maxLength < 0) {
27814
27815
  $maxLength = 0;
@@ -27875,7 +27876,7 @@ var asrrs_SyscallSbrk_simulate = ($this, $statement) => {
27875
27876
  a: {
27876
27877
  try {
27877
27878
  asr_Globals_$callClinit();
27878
- asrrh_RegisterFile_updateRegister0($rt_s(503), Long_fromInt(asrrh_Memory_allocateBytesFromHeap(asr_Globals_memory, asrrh_RegisterFile_getValue0($rt_s(503)))));
27879
+ asrrh_RegisterFile_updateRegister0($rt_s(520), Long_fromInt(asrrh_Memory_allocateBytesFromHeap(asr_Globals_memory, asrrh_RegisterFile_getValue0($rt_s(520)))));
27879
27880
  } catch ($$e) {
27880
27881
  $$je = $rt_wrapException($$e);
27881
27882
  if ($$je instanceof jl_IllegalArgumentException) {
@@ -27922,7 +27923,7 @@ var asrrs_SyscallSleep_simulate = ($this, $statement) => {
27922
27923
  main: while (true) {
27923
27924
  switch ($ptr) {
27924
27925
  case 0:
27925
- var$2 = asrrh_RegisterFile_getValue0($rt_s(503));
27926
+ var$2 = asrrh_RegisterFile_getValue0($rt_s(520));
27926
27927
  asru_SystemIO_$callClinit();
27927
27928
  $statement = asru_SystemIO_io;
27928
27929
  var$3 = $rt_s(1595);
@@ -27968,7 +27969,7 @@ var asrrs_SyscallTime_simulate = ($this, $statement) => {
27968
27969
  case 0:
27969
27970
  asru_SystemIO_$callClinit();
27970
27971
  $statement = asru_SystemIO_io;
27971
- var$2 = $rt_s(572);
27972
+ var$2 = $rt_s(505);
27972
27973
  var$3 = $rt_createArray(jl_Object, 0);
27973
27974
  $ptr = 1;
27974
27975
  case 1:
@@ -27979,8 +27980,8 @@ var asrrs_SyscallTime_simulate = ($this, $statement) => {
27979
27980
  var$4 = $tmp;
27980
27981
  $value = Long_fromNumber(var$4);
27981
27982
  asru_Binary_$callClinit();
27982
- asrrh_RegisterFile_updateRegister0($rt_s(503), Long_fromInt(Long_hi(Long_shl($value, 32))));
27983
- asrrh_RegisterFile_updateRegister0($rt_s(504), Long_fromInt(Long_hi($value)));
27983
+ asrrh_RegisterFile_updateRegister0($rt_s(520), Long_fromInt(Long_hi(Long_shl($value, 32))));
27984
+ asrrh_RegisterFile_updateRegister0($rt_s(521), Long_fromInt(Long_hi($value)));
27984
27985
  return;
27985
27986
  default:
27986
27987
  $rt_invalidPointer();
@@ -28019,13 +28020,13 @@ var asrrs_SyscallGetCWD_simulate = ($this, $statement) => {
28019
28020
  jl_System_properties = $path;
28020
28021
  }
28021
28022
  $path = ju_Properties_getProperty(jl_System_properties, $rt_s(1615));
28022
- $buf = asrrh_RegisterFile_getValue0($rt_s(503));
28023
- $length = asrrh_RegisterFile_getValue0($rt_s(504));
28023
+ $buf = asrrh_RegisterFile_getValue0($rt_s(520));
28024
+ $length = asrrh_RegisterFile_getValue0($rt_s(521));
28024
28025
  jnc_StandardCharsets_$callClinit();
28025
28026
  $utf8BytesList = jl_String_getBytes($path, jnc_StandardCharsets_UTF_8).data;
28026
28027
  var$8 = $utf8BytesList.length;
28027
28028
  if ($length < (var$8 + 1 | 0)) {
28028
- asrrh_RegisterFile_updateRegister0($rt_s(503), Long_fromInt(-1));
28029
+ asrrh_RegisterFile_updateRegister0($rt_s(520), Long_fromInt(-1));
28029
28030
  return;
28030
28031
  }
28031
28032
  a: {
@@ -28285,6 +28286,40 @@ var jur_BackReferencedSingleSet_findBack = ($this, $stringIndex, $startSearch, $
28285
28286
  var jur_BackReferencedSingleSet_processBackRefReplacement = ($this) => {
28286
28287
  return null;
28287
28288
  };
28289
+ var jus_IntStream = $rt_classWithoutFields(0);
28290
+ var jusi_SimpleIntStreamImpl = $rt_classWithoutFields();
28291
+ function jusi_MappingToIntStreamImpl() {
28292
+ let a = this;
28293
+ jusi_SimpleIntStreamImpl.call(a);
28294
+ a.$source0 = null;
28295
+ a.$mapper0 = null;
28296
+ }
28297
+ var jusi_MappingToIntStreamImpl_next = ($this, $consumer) => {
28298
+ let var$2, var$3, var$4, var$5, var$6;
28299
+ var$2 = $this.$source0;
28300
+ var$3 = new jusi_MappingToIntStreamImpl$next$lambda$_1_0();
28301
+ var$3.$_025 = $this;
28302
+ var$3.$_110 = $consumer;
28303
+ $consumer = var$2;
28304
+ a: {
28305
+ while (true) {
28306
+ var$4 = $consumer.$index1;
28307
+ if (var$4 >= $consumer.$end1)
28308
+ break a;
28309
+ var$5 = $consumer.$array8.data;
28310
+ $consumer.$index1 = var$4 + 1 | 0;
28311
+ var$2 = var$5[var$4];
28312
+ var$6 = var$3.$_110;
28313
+ var$2 = var$2;
28314
+ asr_JsRiscV_$callClinit();
28315
+ if (var$6.$test0(Long_lo(var$2.$getValue())))
28316
+ continue;
28317
+ else
28318
+ break;
28319
+ }
28320
+ }
28321
+ return $consumer.$index1 >= $consumer.$end1 ? 0 : 1;
28322
+ };
28288
28323
  var jm_Conversion = $rt_classWithoutFields();
28289
28324
  var jm_Conversion_digitFitInInt = null;
28290
28325
  var jm_Conversion_bigRadices = null;
@@ -28480,39 +28515,44 @@ var jm_Conversion__clinit_ = () => {
28480
28515
  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]);
28481
28516
  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]);
28482
28517
  };
28483
- var jus_IntStream = $rt_classWithoutFields(0);
28484
- var jusi_SimpleIntStreamImpl = $rt_classWithoutFields();
28485
- function jusi_MappingToIntStreamImpl() {
28518
+ function ju_AbstractList$1() {
28486
28519
  let a = this;
28487
- jusi_SimpleIntStreamImpl.call(a);
28488
- a.$source0 = null;
28489
- a.$mapper0 = null;
28520
+ jl_Object.call(a);
28521
+ a.$index4 = 0;
28522
+ a.$modCount1 = 0;
28523
+ a.$size2 = 0;
28524
+ a.$removeIndex = 0;
28525
+ a.$this$03 = null;
28490
28526
  }
28491
- var jusi_MappingToIntStreamImpl_next = ($this, $consumer) => {
28492
- let var$2, var$3, var$4, var$5, var$6;
28493
- var$2 = $this.$source0;
28494
- var$3 = new jusi_MappingToIntStreamImpl$next$lambda$_1_0();
28495
- var$3.$_025 = $this;
28496
- var$3.$_110 = $consumer;
28497
- $consumer = var$2;
28498
- a: {
28499
- while (true) {
28500
- var$4 = $consumer.$index1;
28501
- if (var$4 >= $consumer.$end1)
28502
- break a;
28503
- var$5 = $consumer.$array8.data;
28504
- $consumer.$index1 = var$4 + 1 | 0;
28505
- var$2 = var$5[var$4];
28506
- var$6 = var$3.$_110;
28507
- var$2 = var$2;
28508
- asr_JsRiscV_$callClinit();
28509
- if (var$6.$test0(Long_lo(var$2.$getValue())))
28510
- continue;
28511
- else
28512
- break;
28513
- }
28527
+ var ju_AbstractList$1_hasNext = ($this) => {
28528
+ return $this.$index4 >= $this.$size2 ? 0 : 1;
28529
+ };
28530
+ var ju_AbstractList$1_next = ($this) => {
28531
+ let var$1, var$2, var$3;
28532
+ var$1 = $this.$modCount1;
28533
+ var$2 = $this.$this$03;
28534
+ if (var$1 != var$2.$modCount) {
28535
+ var$2 = new ju_ConcurrentModificationException();
28536
+ jl_Throwable__init_(var$2);
28537
+ $rt_throw(var$2);
28514
28538
  }
28515
- return $consumer.$index1 >= $consumer.$end1 ? 0 : 1;
28539
+ var$3 = $this.$index4;
28540
+ $this.$removeIndex = var$3;
28541
+ $this.$index4 = var$3 + 1 | 0;
28542
+ return var$2.$get0(var$3);
28543
+ };
28544
+ function ju_HashMap$1() {
28545
+ ju_AbstractSet.call(this);
28546
+ this.$this$0 = null;
28547
+ }
28548
+ var ju_HashMap$1_size = ($this) => {
28549
+ return $this.$this$0.$elementCount;
28550
+ };
28551
+ var ju_HashMap$1_iterator = ($this) => {
28552
+ let var$1;
28553
+ var$1 = new ju_HashMap$KeyIterator();
28554
+ ju_HashMap$AbstractMapIterator__init_(var$1, $this.$this$0);
28555
+ return var$1;
28516
28556
  };
28517
28557
  var asru_Binary = $rt_classWithoutFields();
28518
28558
  var asru_Binary_chars = null;
@@ -28756,31 +28796,68 @@ var asru_Binary_bitValue = ($value, $bit) => {
28756
28796
  var asru_Binary__clinit_ = () => {
28757
28797
  asru_Binary_chars = $rt_createCharArrayFromData([48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 97, 98, 99, 100, 101, 102]);
28758
28798
  };
28759
- function ju_AbstractList$1() {
28799
+ var asrs_Simulator$Reason = $rt_classWithoutFields(jl_Enum);
28800
+ var asrs_Simulator$Reason_BREAKPOINT = null;
28801
+ var asrs_Simulator$Reason_EXCEPTION = null;
28802
+ var asrs_Simulator$Reason_MAX_STEPS = null;
28803
+ var asrs_Simulator$Reason_NORMAL_TERMINATION = null;
28804
+ var asrs_Simulator$Reason_CLIFF_TERMINATION = null;
28805
+ var asrs_Simulator$Reason_PAUSE = null;
28806
+ var asrs_Simulator$Reason_STOP = null;
28807
+ var asrs_Simulator$Reason_$VALUES = null;
28808
+ var asrs_Simulator$Reason_$callClinit = () => {
28809
+ asrs_Simulator$Reason_$callClinit = $rt_eraseClinit(asrs_Simulator$Reason);
28810
+ asrs_Simulator$Reason__clinit_();
28811
+ };
28812
+ var asrs_Simulator$Reason__init_0 = ($this, var$1, var$2) => {
28813
+ asrs_Simulator$Reason_$callClinit();
28814
+ jl_Enum__init_($this, var$1, var$2);
28815
+ };
28816
+ var asrs_Simulator$Reason__init_ = (var_0, var_1) => {
28817
+ let var_2 = new asrs_Simulator$Reason();
28818
+ asrs_Simulator$Reason__init_0(var_2, var_0, var_1);
28819
+ return var_2;
28820
+ };
28821
+ var asrs_Simulator$Reason__clinit_ = () => {
28822
+ let var$1, var$2, var$3;
28823
+ asrs_Simulator$Reason_BREAKPOINT = asrs_Simulator$Reason__init_($rt_s(1624), 0);
28824
+ asrs_Simulator$Reason_EXCEPTION = asrs_Simulator$Reason__init_($rt_s(1625), 1);
28825
+ asrs_Simulator$Reason_MAX_STEPS = asrs_Simulator$Reason__init_($rt_s(1626), 2);
28826
+ asrs_Simulator$Reason_NORMAL_TERMINATION = asrs_Simulator$Reason__init_($rt_s(1627), 3);
28827
+ asrs_Simulator$Reason_CLIFF_TERMINATION = asrs_Simulator$Reason__init_($rt_s(1628), 4);
28828
+ asrs_Simulator$Reason_PAUSE = asrs_Simulator$Reason__init_($rt_s(1629), 5);
28829
+ var$1 = asrs_Simulator$Reason__init_($rt_s(1630), 6);
28830
+ asrs_Simulator$Reason_STOP = var$1;
28831
+ var$2 = $rt_createArray(asrs_Simulator$Reason, 7);
28832
+ var$3 = var$2.data;
28833
+ var$3[0] = asrs_Simulator$Reason_BREAKPOINT;
28834
+ var$3[1] = asrs_Simulator$Reason_EXCEPTION;
28835
+ var$3[2] = asrs_Simulator$Reason_MAX_STEPS;
28836
+ var$3[3] = asrs_Simulator$Reason_NORMAL_TERMINATION;
28837
+ var$3[4] = asrs_Simulator$Reason_CLIFF_TERMINATION;
28838
+ var$3[5] = asrs_Simulator$Reason_PAUSE;
28839
+ var$3[6] = var$1;
28840
+ asrs_Simulator$Reason_$VALUES = var$2;
28841
+ };
28842
+ var juf_Predicate = $rt_classWithoutFields(0);
28843
+ function asr_RARS$getStatementsAtSourceLocation$lambda$_6_0() {
28760
28844
  let a = this;
28761
28845
  jl_Object.call(a);
28762
- a.$index4 = 0;
28763
- a.$modCount1 = 0;
28764
- a.$size2 = 0;
28765
- a.$removeIndex = 0;
28766
- a.$this$03 = null;
28846
+ a.$_08 = null;
28847
+ a.$_14 = 0;
28767
28848
  }
28768
- var ju_AbstractList$1_hasNext = ($this) => {
28769
- return $this.$index4 >= $this.$size2 ? 0 : 1;
28849
+ var asrrh_Stack = $rt_classWithoutFields();
28850
+ var asrrh_Stack_callStack = null;
28851
+ var asrrh_Stack_$callClinit = () => {
28852
+ asrrh_Stack_$callClinit = $rt_eraseClinit(asrrh_Stack);
28853
+ asrrh_Stack__clinit_();
28770
28854
  };
28771
- var ju_AbstractList$1_next = ($this) => {
28772
- let var$1, var$2, var$3;
28773
- var$1 = $this.$modCount1;
28774
- var$2 = $this.$this$03;
28775
- if (var$1 != var$2.$modCount) {
28776
- var$2 = new ju_ConcurrentModificationException();
28777
- jl_Throwable__init_(var$2);
28778
- $rt_throw(var$2);
28779
- }
28780
- var$3 = $this.$index4;
28781
- $this.$removeIndex = var$3;
28782
- $this.$index4 = var$3 + 1 | 0;
28783
- return var$2.$get0(var$3);
28855
+ var asrrh_Stack_getCallStack = () => {
28856
+ asrrh_Stack_$callClinit();
28857
+ return asrrh_Stack_callStack;
28858
+ };
28859
+ var asrrh_Stack__clinit_ = () => {
28860
+ asrrh_Stack_callStack = ju_ArrayList__init_();
28784
28861
  };
28785
28862
  var asrrh_InterruptController = $rt_classWithoutFields();
28786
28863
  var asrrh_InterruptController_lock = null;
@@ -28816,14 +28893,14 @@ var asrrh_InterruptController_timerPending = () => {
28816
28893
  var asrrh_InterruptController_claimExternal = () => {
28817
28894
  asrrh_InterruptController_$callClinit();
28818
28895
  if (!asrrh_InterruptController_$assertionsDisabled && !asrrh_InterruptController_externalPending0)
28819
- $rt_throw(jl_AssertionError__init_($rt_s(1624)));
28896
+ $rt_throw(jl_AssertionError__init_($rt_s(1631)));
28820
28897
  asrrh_InterruptController_externalPending0 = 0;
28821
28898
  return asrrh_InterruptController_externalValue;
28822
28899
  };
28823
28900
  var asrrh_InterruptController_claimTimer = () => {
28824
28901
  asrrh_InterruptController_$callClinit();
28825
28902
  if (!asrrh_InterruptController_$assertionsDisabled && !asrrh_InterruptController_timerPending0)
28826
- $rt_throw(jl_AssertionError__init_($rt_s(1625)));
28903
+ $rt_throw(jl_AssertionError__init_($rt_s(1632)));
28827
28904
  asrrh_InterruptController_timerPending0 = 0;
28828
28905
  return asrrh_InterruptController_timerValue;
28829
28906
  };
@@ -28832,9 +28909,9 @@ var asrrh_InterruptController_claimTrap = () => {
28832
28909
  asrrh_InterruptController_$callClinit();
28833
28910
  var$1 = asrrh_InterruptController_$assertionsDisabled;
28834
28911
  if (!var$1 && !asrrh_InterruptController_trapPending)
28835
- $rt_throw(jl_AssertionError__init_($rt_s(1626)));
28912
+ $rt_throw(jl_AssertionError__init_($rt_s(1633)));
28836
28913
  if (!var$1 && asrrh_InterruptController_trapPC != (asrrh_RegisterFile_getProgramCounter() - 4 | 0))
28837
- $rt_throw(jl_AssertionError__init_($rt_s(1627)));
28914
+ $rt_throw(jl_AssertionError__init_($rt_s(1634)));
28838
28915
  asrrh_InterruptController_trapPending = 0;
28839
28916
  return asrrh_InterruptController_trapSE;
28840
28917
  };
@@ -28871,69 +28948,6 @@ var asrrh_ReservationTable__clinit_ = () => {
28871
28948
  asrrh_ReservationTable_address = 0;
28872
28949
  asrrh_ReservationTable_valid = 0;
28873
28950
  };
28874
- var asrrh_Stack = $rt_classWithoutFields();
28875
- var asrrh_Stack_callStack = null;
28876
- var asrrh_Stack_$callClinit = () => {
28877
- asrrh_Stack_$callClinit = $rt_eraseClinit(asrrh_Stack);
28878
- asrrh_Stack__clinit_();
28879
- };
28880
- var asrrh_Stack_getCallStack = () => {
28881
- asrrh_Stack_$callClinit();
28882
- return asrrh_Stack_callStack;
28883
- };
28884
- var asrrh_Stack__clinit_ = () => {
28885
- asrrh_Stack_callStack = ju_ArrayList__init_();
28886
- };
28887
- var juf_Predicate = $rt_classWithoutFields(0);
28888
- function asr_RARS$getStatementsAtSourceLocation$lambda$_6_0() {
28889
- let a = this;
28890
- jl_Object.call(a);
28891
- a.$_08 = null;
28892
- a.$_14 = 0;
28893
- }
28894
- var asrs_Simulator$Reason = $rt_classWithoutFields(jl_Enum);
28895
- var asrs_Simulator$Reason_BREAKPOINT = null;
28896
- var asrs_Simulator$Reason_EXCEPTION = null;
28897
- var asrs_Simulator$Reason_MAX_STEPS = null;
28898
- var asrs_Simulator$Reason_NORMAL_TERMINATION = null;
28899
- var asrs_Simulator$Reason_CLIFF_TERMINATION = null;
28900
- var asrs_Simulator$Reason_PAUSE = null;
28901
- var asrs_Simulator$Reason_STOP = null;
28902
- var asrs_Simulator$Reason_$VALUES = null;
28903
- var asrs_Simulator$Reason_$callClinit = () => {
28904
- asrs_Simulator$Reason_$callClinit = $rt_eraseClinit(asrs_Simulator$Reason);
28905
- asrs_Simulator$Reason__clinit_();
28906
- };
28907
- var asrs_Simulator$Reason__init_0 = ($this, var$1, var$2) => {
28908
- asrs_Simulator$Reason_$callClinit();
28909
- jl_Enum__init_($this, var$1, var$2);
28910
- };
28911
- var asrs_Simulator$Reason__init_ = (var_0, var_1) => {
28912
- let var_2 = new asrs_Simulator$Reason();
28913
- asrs_Simulator$Reason__init_0(var_2, var_0, var_1);
28914
- return var_2;
28915
- };
28916
- var asrs_Simulator$Reason__clinit_ = () => {
28917
- let var$1, var$2, var$3;
28918
- asrs_Simulator$Reason_BREAKPOINT = asrs_Simulator$Reason__init_($rt_s(1628), 0);
28919
- asrs_Simulator$Reason_EXCEPTION = asrs_Simulator$Reason__init_($rt_s(1629), 1);
28920
- asrs_Simulator$Reason_MAX_STEPS = asrs_Simulator$Reason__init_($rt_s(1630), 2);
28921
- asrs_Simulator$Reason_NORMAL_TERMINATION = asrs_Simulator$Reason__init_($rt_s(1631), 3);
28922
- asrs_Simulator$Reason_CLIFF_TERMINATION = asrs_Simulator$Reason__init_($rt_s(1632), 4);
28923
- asrs_Simulator$Reason_PAUSE = asrs_Simulator$Reason__init_($rt_s(1633), 5);
28924
- var$1 = asrs_Simulator$Reason__init_($rt_s(1634), 6);
28925
- asrs_Simulator$Reason_STOP = var$1;
28926
- var$2 = $rt_createArray(asrs_Simulator$Reason, 7);
28927
- var$3 = var$2.data;
28928
- var$3[0] = asrs_Simulator$Reason_BREAKPOINT;
28929
- var$3[1] = asrs_Simulator$Reason_EXCEPTION;
28930
- var$3[2] = asrs_Simulator$Reason_MAX_STEPS;
28931
- var$3[3] = asrs_Simulator$Reason_NORMAL_TERMINATION;
28932
- var$3[4] = asrs_Simulator$Reason_CLIFF_TERMINATION;
28933
- var$3[5] = asrs_Simulator$Reason_PAUSE;
28934
- var$3[6] = var$1;
28935
- asrs_Simulator$Reason_$VALUES = var$2;
28936
- };
28937
28951
  function jur_AbstractCharClass$LazyJavaLowerCase$1() {
28938
28952
  jur_AbstractCharClass.call(this);
28939
28953
  this.$this$026 = null;
@@ -29246,19 +29260,6 @@ var ju_LinkedHashMapEntrySet_iterator = ($this) => {
29246
29260
  var$1.$futureEntry0 = !var$3 ? var$2.$head : var$2.$tail0;
29247
29261
  return var$1;
29248
29262
  };
29249
- function ju_HashMap$1() {
29250
- ju_AbstractSet.call(this);
29251
- this.$this$0 = null;
29252
- }
29253
- var ju_HashMap$1_size = ($this) => {
29254
- return $this.$this$0.$elementCount;
29255
- };
29256
- var ju_HashMap$1_iterator = ($this) => {
29257
- let var$1;
29258
- var$1 = new ju_HashMap$KeyIterator();
29259
- ju_HashMap$AbstractMapIterator__init_(var$1, $this.$this$0);
29260
- return var$1;
29261
- };
29262
29263
  var otji_JSWrapper$JSTransparentInt = $rt_classWithoutFields();
29263
29264
  var otjc_JSBoolean = $rt_classWithoutFields();
29264
29265
  var ju_NoSuchElementException = $rt_classWithoutFields(jl_RuntimeException);
@@ -37655,12 +37656,12 @@ var asrs_Simulator$SimThread_handleTrap = ($this, $se, $pc) => {
37655
37656
  if (!$utvec && $se.$cause < 0)
37656
37657
  $rt_throw(jl_AssertionError__init_($rt_s(1874)));
37657
37658
  a: {
37658
- asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(569), Long_fromInt($se.$cause));
37659
- asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(568), Long_fromInt($pc));
37660
- asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(570), Long_fromInt($se.$value5));
37661
- $base = asrrh_ControlAndStatusRegisterFile_getValue($rt_s(566)) & -4;
37659
+ asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(502), Long_fromInt($se.$cause));
37660
+ asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(501), Long_fromInt($pc));
37661
+ asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(503), Long_fromInt($se.$value5));
37662
+ $base = asrrh_ControlAndStatusRegisterFile_getValue($rt_s(499)) & -4;
37662
37663
  $exceptionHandler = null;
37663
- if (!(asrrh_ControlAndStatusRegisterFile_getValue($rt_s(563)) & 1))
37664
+ if (!(asrrh_ControlAndStatusRegisterFile_getValue($rt_s(496)) & 1))
37664
37665
  var$6 = $exceptionHandler;
37665
37666
  else
37666
37667
  try {
@@ -37684,8 +37685,8 @@ var asrs_Simulator$SimThread_handleTrap = ($this, $se, $pc) => {
37684
37685
  asrs_Simulator$SimThread_stopExecution($this, 1, asrs_Simulator$Reason_EXCEPTION);
37685
37686
  return 0;
37686
37687
  }
37687
- asrrh_ControlAndStatusRegisterFile_orRegister($rt_s(563), Long_fromInt(16));
37688
- asrrh_ControlAndStatusRegisterFile_clearRegister($rt_s(563), Long_fromInt(1));
37688
+ asrrh_ControlAndStatusRegisterFile_orRegister($rt_s(496), Long_fromInt(16));
37689
+ asrrh_ControlAndStatusRegisterFile_clearRegister($rt_s(496), Long_fromInt(1));
37689
37690
  asrrh_RegisterFile_setProgramCounter($base);
37690
37691
  return 1;
37691
37692
  };
@@ -37696,12 +37697,12 @@ var asrs_Simulator$SimThread_handleInterrupt = ($this, $value, $cause, $pc) => {
37696
37697
  if (!$mode && !($cause & -2147483648))
37697
37698
  $rt_throw(jl_AssertionError__init_($rt_s(1875)));
37698
37699
  $code = $cause & 2147483647;
37699
- if (!$mode && !(asrrh_ControlAndStatusRegisterFile_getValue($rt_s(563)) & 1 && asrrh_ControlAndStatusRegisterFile_getValue($rt_s(565)) & 1 << $code))
37700
+ if (!$mode && !(asrrh_ControlAndStatusRegisterFile_getValue($rt_s(496)) & 1 && asrrh_ControlAndStatusRegisterFile_getValue($rt_s(498)) & 1 << $code))
37700
37701
  $rt_throw(jl_AssertionError__init_($rt_s(1876)));
37701
- asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(569), Long_fromInt($cause));
37702
- asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(568), Long_fromInt($pc));
37703
- asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(570), Long_fromInt($value));
37704
- $utvec = asrrh_ControlAndStatusRegisterFile_getValue($rt_s(566));
37702
+ asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(502), Long_fromInt($cause));
37703
+ asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(501), Long_fromInt($pc));
37704
+ asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(503), Long_fromInt($value));
37705
+ $utvec = asrrh_ControlAndStatusRegisterFile_getValue($rt_s(499));
37705
37706
  $base = $utvec & -4;
37706
37707
  if (($utvec & 3) == 2)
37707
37708
  $base = $base + (4 * $code | 0) | 0;
@@ -37723,8 +37724,8 @@ var asrs_Simulator$SimThread_handleInterrupt = ($this, $value, $cause, $pc) => {
37723
37724
  }
37724
37725
  }
37725
37726
  if (var$9 !== null) {
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
  }
@@ -37740,15 +37741,18 @@ var asrs_Simulator$SimThread_handleInterrupt = ($this, $value, $cause, $pc) => {
37740
37741
  return 0;
37741
37742
  };
37742
37743
  var asrs_Simulator$SimThread_run = ($this) => {
37743
- 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;
37744
+ 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;
37744
37745
  $ptr = 0;
37745
37746
  if ($rt_resuming()) {
37746
37747
  let $thread = $rt_nativeThread();
37747
37748
  $ptr = $thread.pop();
37749
+ var$25 = $thread.pop();
37748
37750
  $instruction = $thread.pop();
37749
37751
  $tmp_0 = $thread.pop();
37750
37752
  $e = $thread.pop();
37751
37753
  $se = $thread.pop();
37754
+ var$20 = $thread.pop();
37755
+ var$19 = $thread.pop();
37752
37756
  $pendingTrap = $thread.pop();
37753
37757
  $pendingTimer = $thread.pop();
37754
37758
  $pendingExternal = $thread.pop();
@@ -37772,10 +37776,10 @@ var asrs_Simulator$SimThread_run = ($this) => {
37772
37776
  main: while (true) {
37773
37777
  switch ($ptr) {
37774
37778
  case 0:
37775
- $timeRegister = asrrh_ControlAndStatusRegisterFile_getRegister($rt_s(572));
37776
- $uipRegister = asrrh_ControlAndStatusRegisterFile_getRegister($rt_s(571));
37777
- $uieRegister = asrrh_ControlAndStatusRegisterFile_getRegister($rt_s(565));
37778
- $ustatusRegister = asrrh_ControlAndStatusRegisterFile_getRegister($rt_s(563));
37779
+ $timeRegister = asrrh_ControlAndStatusRegisterFile_getRegister($rt_s(505));
37780
+ $uipRegister = asrrh_ControlAndStatusRegisterFile_getRegister($rt_s(504));
37781
+ $uieRegister = asrrh_ControlAndStatusRegisterFile_getRegister($rt_s(498));
37782
+ $ustatusRegister = asrrh_ControlAndStatusRegisterFile_getRegister($rt_s(496));
37779
37783
  $timeSampleCountdown = 1;
37780
37784
  $backStepping = asr_Settings_getBackSteppingEnabled(asr_Globals_getSettings());
37781
37785
  $backStepper = !$backStepping ? null : asr_Globals_program.$backStepper;
@@ -37820,24 +37824,23 @@ var asrs_Simulator$SimThread_run = ($this) => {
37820
37824
  $uip = Long_and($uip, Long_fromInt(-17));
37821
37825
  } else if ($pendingTrap && !asrs_Simulator$SimThread_handleTrap($this, asrrh_InterruptController_claimTrap(), $this.$pc0 - 4 | 0))
37822
37826
  break;
37823
- $uie = Long_or($uip, Long_fromInt((!$pendingExternal ? 0 : 256) | (!$pendingTimer ? 0 : 16)));
37824
- if (Long_ne($uie, $uipRegister.$getValueNoNotify()))
37825
- asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(571), $uie);
37826
- $pendingTrap = $this.$maxSteps;
37827
- if ($pendingTrap > 0) {
37827
+ var$19 = Long_or($uip, Long_fromInt((!$pendingExternal ? 0 : 256) | (!$pendingTimer ? 0 : 16)));
37828
+ if (Long_ne(var$19, $uipRegister.$getValueNoNotify()))
37829
+ asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(504), var$19);
37830
+ var$20 = $this.$maxSteps;
37831
+ if (var$20 > 0) {
37828
37832
  $steps = $steps + 1 | 0;
37829
- if ($steps > $pendingTrap) {
37833
+ if ($steps > var$20) {
37830
37834
  asrs_Simulator$Reason_$callClinit();
37831
37835
  asrs_Simulator$SimThread_stopExecution($this, 0, asrs_Simulator$Reason_MAX_STEPS);
37832
37836
  return;
37833
37837
  }
37834
37838
  }
37835
- $pendingTrap = asrrh_RegisterFile_getProgramCounter();
37836
- $this.$pc0 = $pendingTrap;
37837
- asrrh_RegisterFile_programCounterValue = asrrh_RegisterFile_programCounterValue + 4 | 0;
37839
+ $this.$pc0 = asrrh_RegisterFile_getProgramCounter();
37840
+ asrrh_RegisterFile_incrementPC();
37838
37841
  d: {
37839
37842
  try {
37840
- $se = asrrh_Memory_getStatement(asr_Globals_memory, $pendingTrap);
37843
+ $se = asrrh_Memory_getStatement(asr_Globals_memory, $this.$pc0);
37841
37844
  break d;
37842
37845
  } catch ($$e) {
37843
37846
  $$je = $rt_wrapException($$e);
@@ -37847,10 +37850,10 @@ var asrs_Simulator$SimThread_run = ($this) => {
37847
37850
  throw $$e;
37848
37851
  }
37849
37852
  }
37850
- $tmp_0 = asrrh_AddressErrorException_getType($e) != 5 ? asr_SimulationException__init_3($rt_s(1878), 0) : asr_SimulationException__init_3($rt_s(1879), 1);
37853
+ $tmp_0 = $e.$type0 != 5 ? asr_SimulationException__init_3($rt_s(1878), 0) : asr_SimulationException__init_3($rt_s(1879), 1);
37851
37854
  if (!asrrh_InterruptController_registerSynchronousTrap($tmp_0, $this.$pc0)) {
37852
37855
  $this.$pe = $tmp_0;
37853
- asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(568), Long_fromInt($this.$pc0));
37856
+ asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(501), Long_fromInt($this.$pc0));
37854
37857
  asrs_Simulator$Reason_$callClinit();
37855
37858
  asrs_Simulator$SimThread_stopExecution($this, 1, asrs_Simulator$Reason_EXCEPTION);
37856
37859
  return;
@@ -37872,10 +37875,10 @@ var asrs_Simulator$SimThread_run = ($this) => {
37872
37875
  if ($instruction !== null)
37873
37876
  break h;
37874
37877
  $e = new asr_SimulationException();
37875
- $instruction = asru_Binary_intToHexString(asr_ProgramStatement_getBinaryStatement($se));
37876
- $tmp_0 = jl_StringBuilder__init_();
37877
- jl_StringBuilder_append0(jl_StringBuilder_append(jl_StringBuilder_append($tmp_0, $rt_s(1880)), $instruction), var$12);
37878
- asr_SimulationException__init_4($e, $se, jl_StringBuilder_toString($tmp_0), 2);
37878
+ $tmp_0 = asru_Binary_intToHexString(asr_ProgramStatement_getBinaryStatement($se));
37879
+ var$25 = jl_StringBuilder__init_();
37880
+ jl_StringBuilder_append0(jl_StringBuilder_append(jl_StringBuilder_append(var$25, $rt_s(1880)), $tmp_0), var$12);
37881
+ asr_SimulationException__init_4($e, $se, jl_StringBuilder_toString(var$25), 2);
37879
37882
  $rt_throw($e);
37880
37883
  } catch ($$e) {
37881
37884
  $$je = $rt_wrapException($$e);
@@ -37936,7 +37939,7 @@ var asrs_Simulator$SimThread_run = ($this) => {
37936
37939
  $timeSampleCountdown = $timeSampleCountdown + -1 | 0;
37937
37940
  if ($timeSampleCountdown <= 0) {
37938
37941
  $timeSampleCountdown = 64;
37939
- asrrh_ControlAndStatusRegisterFile_updateRegisterBackdoor($timeRegister, jl_System_currentTimeMillis());
37942
+ asrrh_ControlAndStatusRegisterFile_updateRegisterBackdoor($timeRegister, jl_System_currentTimeMillis(), $this.$pc0);
37940
37943
  }
37941
37944
  if ($ebreak)
37942
37945
  break b;
@@ -37957,7 +37960,7 @@ var asrs_Simulator$SimThread_run = ($this) => {
37957
37960
  asrs_Simulator$SimThread_stopExecution($this, 0, asrs_Simulator$Reason_BREAKPOINT);
37958
37961
  return;
37959
37962
  }
37960
- if (asr_SimulationException_error($e) !== null) {
37963
+ if ($e.$message !== null) {
37961
37964
  asrs_Simulator$Reason_$callClinit();
37962
37965
  $this.$constructReturnReason = asrs_Simulator$Reason_EXCEPTION;
37963
37966
  $this.$pe = $e;
@@ -38003,14 +38006,14 @@ var asrs_Simulator$SimThread_run = ($this) => {
38003
38006
  }
38004
38007
  }
38005
38008
  }
38006
- $pendingTrap = $this.$pc0;
38007
- $pendingTrap = asrrh_InterruptController_registerSynchronousTrap($se, $pendingTrap);
38008
- if (!$pendingTrap) {
38009
+ var$20 = $this.$pc0;
38010
+ var$20 = asrrh_InterruptController_registerSynchronousTrap($se, var$20);
38011
+ if (!var$20) {
38009
38012
  $this.$pe = $se;
38010
- $pendingTrap = 1;
38013
+ var$20 = 1;
38011
38014
  asrs_Simulator$Reason_$callClinit();
38012
38015
  $instruction = asrs_Simulator$Reason_EXCEPTION;
38013
- asrs_Simulator$SimThread_stopExecution($this, $pendingTrap, $instruction);
38016
+ asrs_Simulator$SimThread_stopExecution($this, var$20, $instruction);
38014
38017
  return;
38015
38018
  }
38016
38019
  break j;
@@ -38018,48 +38021,49 @@ var asrs_Simulator$SimThread_run = ($this) => {
38018
38021
  break k;
38019
38022
  }
38020
38023
  if ($backStepping) {
38021
- $pendingTrap = $this.$pc0;
38022
- asrs_BackStepper_addDoNothing($backStepper, $pendingTrap);
38024
+ var$20 = $this.$pc0;
38025
+ asrs_BackStepper_addDoNothing($backStepper, var$20);
38023
38026
  }
38024
38027
  $ebreak = 1;
38025
38028
  break k;
38026
38029
  }
38027
38030
  if ($backStepping) {
38028
- $pendingTrap = $this.$pc0;
38029
- asrs_BackStepper_addDoNothing($backStepper, $pendingTrap);
38031
+ var$20 = $this.$pc0;
38032
+ asrs_BackStepper_addDoNothing($backStepper, var$20);
38030
38033
  }
38031
38034
  $waiting = 1;
38032
38035
  }
38033
- $pendingTrap = $this.$pc0;
38034
- asrrh_ControlAndStatusRegisterFile_incrementCounters($backStepping, $pendingTrap);
38035
- $pendingTrap = -1;
38036
- $timeSampleCountdown = $timeSampleCountdown + $pendingTrap | 0;
38036
+ var$20 = $this.$pc0;
38037
+ asrrh_ControlAndStatusRegisterFile_incrementCounters($backStepping, var$20);
38038
+ var$20 = -1;
38039
+ $timeSampleCountdown = $timeSampleCountdown + var$20 | 0;
38037
38040
  if ($timeSampleCountdown <= 0) {
38038
38041
  $timeSampleCountdown = 64;
38039
- $uie = jl_System_currentTimeMillis();
38040
- asrrh_ControlAndStatusRegisterFile_updateRegisterBackdoor($timeRegister, $uie);
38042
+ var$19 = jl_System_currentTimeMillis();
38043
+ var$20 = $this.$pc0;
38044
+ asrrh_ControlAndStatusRegisterFile_updateRegisterBackdoor($timeRegister, var$19, var$20);
38041
38045
  }
38042
38046
  o: {
38043
38047
  if (!$ebreak) {
38044
38048
  var$8 = $this.$breakPoints;
38045
38049
  if (var$8 === null)
38046
38050
  break o;
38047
- $pendingTrap = asrrh_RegisterFile_getProgramCounter();
38048
- $pendingTrap = ju_Arrays_binarySearch(var$8, $pendingTrap);
38049
- if ($pendingTrap < 0)
38051
+ var$20 = asrrh_RegisterFile_getProgramCounter();
38052
+ var$20 = ju_Arrays_binarySearch(var$8, var$20);
38053
+ if (var$20 < 0)
38050
38054
  break o;
38051
38055
  }
38052
- $pendingTrap = 0;
38056
+ var$20 = 0;
38053
38057
  asrs_Simulator$Reason_$callClinit();
38054
38058
  $instruction = asrs_Simulator$Reason_BREAKPOINT;
38055
- asrs_Simulator$SimThread_stopExecution($this, $pendingTrap, $instruction);
38059
+ asrs_Simulator$SimThread_stopExecution($this, var$20, $instruction);
38056
38060
  return;
38057
38061
  }
38058
38062
  if ($waiting) {
38059
- $pendingTrap = asrrh_InterruptController_externalPending();
38060
- if (!$pendingTrap) {
38061
- $pendingTrap = asrrh_InterruptController_timerPending();
38062
- if (!$pendingTrap) {
38063
+ var$20 = asrrh_InterruptController_externalPending();
38064
+ if (!var$20) {
38065
+ var$20 = asrrh_InterruptController_timerPending();
38066
+ if (!var$20) {
38063
38067
  $ptr = 2;
38064
38068
  continue main;
38065
38069
  }
@@ -38097,24 +38101,23 @@ var asrs_Simulator$SimThread_run = ($this) => {
38097
38101
  $uip = Long_and($uip, Long_fromInt(-17));
38098
38102
  } else if ($pendingTrap && !asrs_Simulator$SimThread_handleTrap($this, asrrh_InterruptController_claimTrap(), $this.$pc0 - 4 | 0))
38099
38103
  break;
38100
- $uie = Long_or($uip, Long_fromInt((!$pendingExternal ? 0 : 256) | (!$pendingTimer ? 0 : 16)));
38101
- if (Long_ne($uie, $uipRegister.$getValueNoNotify()))
38102
- asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(571), $uie);
38103
- $pendingTrap = $this.$maxSteps;
38104
- if ($pendingTrap > 0) {
38104
+ var$19 = Long_or($uip, Long_fromInt((!$pendingExternal ? 0 : 256) | (!$pendingTimer ? 0 : 16)));
38105
+ if (Long_ne(var$19, $uipRegister.$getValueNoNotify()))
38106
+ asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(504), var$19);
38107
+ var$20 = $this.$maxSteps;
38108
+ if (var$20 > 0) {
38105
38109
  $steps = $steps + 1 | 0;
38106
- if ($steps > $pendingTrap) {
38110
+ if ($steps > var$20) {
38107
38111
  asrs_Simulator$Reason_$callClinit();
38108
38112
  asrs_Simulator$SimThread_stopExecution($this, 0, asrs_Simulator$Reason_MAX_STEPS);
38109
38113
  return;
38110
38114
  }
38111
38115
  }
38112
- $pendingTrap = asrrh_RegisterFile_getProgramCounter();
38113
- $this.$pc0 = $pendingTrap;
38114
- asrrh_RegisterFile_programCounterValue = asrrh_RegisterFile_programCounterValue + 4 | 0;
38116
+ $this.$pc0 = asrrh_RegisterFile_getProgramCounter();
38117
+ asrrh_RegisterFile_incrementPC();
38115
38118
  r: {
38116
38119
  try {
38117
- $se = asrrh_Memory_getStatement(asr_Globals_memory, $pendingTrap);
38120
+ $se = asrrh_Memory_getStatement(asr_Globals_memory, $this.$pc0);
38118
38121
  break r;
38119
38122
  } catch ($$e) {
38120
38123
  $$je = $rt_wrapException($$e);
@@ -38124,10 +38127,10 @@ var asrs_Simulator$SimThread_run = ($this) => {
38124
38127
  throw $$e;
38125
38128
  }
38126
38129
  }
38127
- $tmp_0 = asrrh_AddressErrorException_getType($e) != 5 ? asr_SimulationException__init_3($rt_s(1878), 0) : asr_SimulationException__init_3($rt_s(1879), 1);
38130
+ $tmp_0 = $e.$type0 != 5 ? asr_SimulationException__init_3($rt_s(1878), 0) : asr_SimulationException__init_3($rt_s(1879), 1);
38128
38131
  if (!asrrh_InterruptController_registerSynchronousTrap($tmp_0, $this.$pc0)) {
38129
38132
  $this.$pe = $tmp_0;
38130
- asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(568), Long_fromInt($this.$pc0));
38133
+ asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(501), Long_fromInt($this.$pc0));
38131
38134
  asrs_Simulator$Reason_$callClinit();
38132
38135
  asrs_Simulator$SimThread_stopExecution($this, 1, asrs_Simulator$Reason_EXCEPTION);
38133
38136
  return;
@@ -38149,10 +38152,10 @@ var asrs_Simulator$SimThread_run = ($this) => {
38149
38152
  if ($instruction !== null)
38150
38153
  break v;
38151
38154
  $e = new asr_SimulationException();
38152
- $instruction = asru_Binary_intToHexString(asr_ProgramStatement_getBinaryStatement($se));
38153
- $tmp_0 = jl_StringBuilder__init_();
38154
- jl_StringBuilder_append0(jl_StringBuilder_append(jl_StringBuilder_append($tmp_0, $rt_s(1880)), $instruction), var$12);
38155
- asr_SimulationException__init_4($e, $se, jl_StringBuilder_toString($tmp_0), 2);
38155
+ $tmp_0 = asru_Binary_intToHexString(asr_ProgramStatement_getBinaryStatement($se));
38156
+ var$25 = jl_StringBuilder__init_();
38157
+ jl_StringBuilder_append0(jl_StringBuilder_append(jl_StringBuilder_append(var$25, $rt_s(1880)), $tmp_0), var$12);
38158
+ asr_SimulationException__init_4($e, $se, jl_StringBuilder_toString(var$25), 2);
38156
38159
  $rt_throw($e);
38157
38160
  } catch ($$e) {
38158
38161
  $$je = $rt_wrapException($$e);
@@ -38187,14 +38190,14 @@ var asrs_Simulator$SimThread_run = ($this) => {
38187
38190
  $$je = $rt_wrapException($$e);
38188
38191
  if ($$je instanceof asr_SimulationException) {
38189
38192
  $se = $$je;
38190
- $pendingTrap = $this.$pc0;
38191
- $pendingTrap = asrrh_InterruptController_registerSynchronousTrap($se, $pendingTrap);
38192
- if (!$pendingTrap) {
38193
+ var$20 = $this.$pc0;
38194
+ var$20 = asrrh_InterruptController_registerSynchronousTrap($se, var$20);
38195
+ if (!var$20) {
38193
38196
  $this.$pe = $se;
38194
- $pendingTrap = 1;
38197
+ var$20 = 1;
38195
38198
  asrs_Simulator$Reason_$callClinit();
38196
38199
  $instruction = asrs_Simulator$Reason_EXCEPTION;
38197
- asrs_Simulator$SimThread_stopExecution($this, $pendingTrap, $instruction);
38200
+ asrs_Simulator$SimThread_stopExecution($this, var$20, $instruction);
38198
38201
  return;
38199
38202
  }
38200
38203
  continue q;
@@ -38204,42 +38207,43 @@ var asrs_Simulator$SimThread_run = ($this) => {
38204
38207
  }
38205
38208
  }
38206
38209
  if ($backStepping) {
38207
- $pendingTrap = $this.$pc0;
38208
- asrs_BackStepper_addDoNothing($backStepper, $pendingTrap);
38210
+ var$20 = $this.$pc0;
38211
+ asrs_BackStepper_addDoNothing($backStepper, var$20);
38209
38212
  }
38210
38213
  $ebreak = 1;
38211
38214
  break s;
38212
38215
  }
38213
38216
  if ($backStepping) {
38214
- $pendingTrap = $this.$pc0;
38215
- asrs_BackStepper_addDoNothing($backStepper, $pendingTrap);
38217
+ var$20 = $this.$pc0;
38218
+ asrs_BackStepper_addDoNothing($backStepper, var$20);
38216
38219
  }
38217
38220
  $waiting = 1;
38218
38221
  }
38219
- $pendingTrap = $this.$pc0;
38220
- asrrh_ControlAndStatusRegisterFile_incrementCounters($backStepping, $pendingTrap);
38221
- $pendingTrap = -1;
38222
- $timeSampleCountdown = $timeSampleCountdown + $pendingTrap | 0;
38222
+ var$20 = $this.$pc0;
38223
+ asrrh_ControlAndStatusRegisterFile_incrementCounters($backStepping, var$20);
38224
+ var$20 = -1;
38225
+ $timeSampleCountdown = $timeSampleCountdown + var$20 | 0;
38223
38226
  if ($timeSampleCountdown <= 0) {
38224
38227
  $timeSampleCountdown = 64;
38225
- $uie = jl_System_currentTimeMillis();
38226
- asrrh_ControlAndStatusRegisterFile_updateRegisterBackdoor($timeRegister, $uie);
38228
+ var$19 = jl_System_currentTimeMillis();
38229
+ var$20 = $this.$pc0;
38230
+ asrrh_ControlAndStatusRegisterFile_updateRegisterBackdoor($timeRegister, var$19, var$20);
38227
38231
  }
38228
38232
  if ($ebreak)
38229
38233
  break p;
38230
38234
  var$8 = $this.$breakPoints;
38231
38235
  if (var$8 !== null) {
38232
- $pendingTrap = asrrh_RegisterFile_getProgramCounter();
38233
- $pendingTrap = ju_Arrays_binarySearch(var$8, $pendingTrap);
38234
- if ($pendingTrap >= 0)
38236
+ var$20 = asrrh_RegisterFile_getProgramCounter();
38237
+ var$20 = ju_Arrays_binarySearch(var$8, var$20);
38238
+ if (var$20 >= 0)
38235
38239
  break p;
38236
38240
  }
38237
38241
  if (!$waiting)
38238
38242
  continue;
38239
- $pendingTrap = asrrh_InterruptController_externalPending();
38240
- if (!$pendingTrap) {
38241
- $pendingTrap = asrrh_InterruptController_timerPending();
38242
- if (!$pendingTrap) {
38243
+ var$20 = asrrh_InterruptController_externalPending();
38244
+ if (!var$20) {
38245
+ var$20 = asrrh_InterruptController_timerPending();
38246
+ if (!var$20) {
38243
38247
  $ptr = 2;
38244
38248
  continue main;
38245
38249
  }
@@ -38248,13 +38252,13 @@ var asrs_Simulator$SimThread_run = ($this) => {
38248
38252
  }
38249
38253
  return;
38250
38254
  }
38251
- $pendingTrap = 0;
38255
+ var$20 = 0;
38252
38256
  asrs_Simulator$Reason_$callClinit();
38253
38257
  $instruction = asrs_Simulator$Reason_BREAKPOINT;
38254
- asrs_Simulator$SimThread_stopExecution($this, $pendingTrap, $instruction);
38258
+ asrs_Simulator$SimThread_stopExecution($this, var$20, $instruction);
38255
38259
  return;
38256
38260
  }
38257
- if (asr_SimulationException_error($e) !== null) {
38261
+ if ($e.$message !== null) {
38258
38262
  asrs_Simulator$Reason_$callClinit();
38259
38263
  $this.$constructReturnReason = asrs_Simulator$Reason_EXCEPTION;
38260
38264
  $this.$pe = $e;
@@ -38328,24 +38332,23 @@ var asrs_Simulator$SimThread_run = ($this) => {
38328
38332
  $uip = Long_and($uip, Long_fromInt(-17));
38329
38333
  } else if ($pendingTrap && !asrs_Simulator$SimThread_handleTrap($this, asrrh_InterruptController_claimTrap(), $this.$pc0 - 4 | 0))
38330
38334
  break y;
38331
- $uie = Long_or($uip, Long_fromInt((!$pendingExternal ? 0 : 256) | (!$pendingTimer ? 0 : 16)));
38332
- if (Long_ne($uie, $uipRegister.$getValueNoNotify()))
38333
- asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(571), $uie);
38334
- $pendingTrap = $this.$maxSteps;
38335
- if ($pendingTrap > 0) {
38335
+ var$19 = Long_or($uip, Long_fromInt((!$pendingExternal ? 0 : 256) | (!$pendingTimer ? 0 : 16)));
38336
+ if (Long_ne(var$19, $uipRegister.$getValueNoNotify()))
38337
+ asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(504), var$19);
38338
+ var$20 = $this.$maxSteps;
38339
+ if (var$20 > 0) {
38336
38340
  $steps = $steps + 1 | 0;
38337
- if ($steps > $pendingTrap) {
38341
+ if ($steps > var$20) {
38338
38342
  asrs_Simulator$Reason_$callClinit();
38339
38343
  asrs_Simulator$SimThread_stopExecution($this, 0, asrs_Simulator$Reason_MAX_STEPS);
38340
38344
  return;
38341
38345
  }
38342
38346
  }
38343
- $pendingTrap = asrrh_RegisterFile_getProgramCounter();
38344
- $this.$pc0 = $pendingTrap;
38345
- asrrh_RegisterFile_programCounterValue = asrrh_RegisterFile_programCounterValue + 4 | 0;
38347
+ $this.$pc0 = asrrh_RegisterFile_getProgramCounter();
38348
+ asrrh_RegisterFile_incrementPC();
38346
38349
  z: {
38347
38350
  try {
38348
- $se = asrrh_Memory_getStatement(asr_Globals_memory, $pendingTrap);
38351
+ $se = asrrh_Memory_getStatement(asr_Globals_memory, $this.$pc0);
38349
38352
  break z;
38350
38353
  } catch ($$e) {
38351
38354
  $$je = $rt_wrapException($$e);
@@ -38355,10 +38358,10 @@ var asrs_Simulator$SimThread_run = ($this) => {
38355
38358
  throw $$e;
38356
38359
  }
38357
38360
  }
38358
- $tmp_0 = asrrh_AddressErrorException_getType($e) != 5 ? asr_SimulationException__init_3($rt_s(1878), 0) : asr_SimulationException__init_3($rt_s(1879), 1);
38361
+ $tmp_0 = $e.$type0 != 5 ? asr_SimulationException__init_3($rt_s(1878), 0) : asr_SimulationException__init_3($rt_s(1879), 1);
38359
38362
  if (!asrrh_InterruptController_registerSynchronousTrap($tmp_0, $this.$pc0)) {
38360
38363
  $this.$pe = $tmp_0;
38361
- asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(568), Long_fromInt($this.$pc0));
38364
+ asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(501), Long_fromInt($this.$pc0));
38362
38365
  asrs_Simulator$Reason_$callClinit();
38363
38366
  asrs_Simulator$SimThread_stopExecution($this, 1, asrs_Simulator$Reason_EXCEPTION);
38364
38367
  return;
@@ -38380,10 +38383,10 @@ var asrs_Simulator$SimThread_run = ($this) => {
38380
38383
  if ($instruction !== null)
38381
38384
  break bb;
38382
38385
  $e = new asr_SimulationException();
38383
- $instruction = asru_Binary_intToHexString(asr_ProgramStatement_getBinaryStatement($se));
38384
- $tmp_0 = jl_StringBuilder__init_();
38385
- jl_StringBuilder_append0(jl_StringBuilder_append(jl_StringBuilder_append($tmp_0, $rt_s(1880)), $instruction), var$12);
38386
- asr_SimulationException__init_4($e, $se, jl_StringBuilder_toString($tmp_0), 2);
38386
+ $tmp_0 = asru_Binary_intToHexString(asr_ProgramStatement_getBinaryStatement($se));
38387
+ var$25 = jl_StringBuilder__init_();
38388
+ jl_StringBuilder_append0(jl_StringBuilder_append(jl_StringBuilder_append(var$25, $rt_s(1880)), $tmp_0), var$12);
38389
+ asr_SimulationException__init_4($e, $se, jl_StringBuilder_toString(var$25), 2);
38387
38390
  $rt_throw($e);
38388
38391
  } catch ($$e) {
38389
38392
  $$je = $rt_wrapException($$e);
@@ -38444,7 +38447,7 @@ var asrs_Simulator$SimThread_run = ($this) => {
38444
38447
  $timeSampleCountdown = $timeSampleCountdown + -1 | 0;
38445
38448
  if ($timeSampleCountdown <= 0) {
38446
38449
  $timeSampleCountdown = 64;
38447
- asrrh_ControlAndStatusRegisterFile_updateRegisterBackdoor($timeRegister, jl_System_currentTimeMillis());
38450
+ asrrh_ControlAndStatusRegisterFile_updateRegisterBackdoor($timeRegister, jl_System_currentTimeMillis(), $this.$pc0);
38448
38451
  }
38449
38452
  if ($ebreak)
38450
38453
  break n;
@@ -38468,7 +38471,7 @@ var asrs_Simulator$SimThread_run = ($this) => {
38468
38471
  asrs_Simulator$SimThread_stopExecution($this, 0, asrs_Simulator$Reason_BREAKPOINT);
38469
38472
  return;
38470
38473
  }
38471
- if (asr_SimulationException_error($e) !== null) {
38474
+ if ($e.$message !== null) {
38472
38475
  asrs_Simulator$Reason_$callClinit();
38473
38476
  $this.$constructReturnReason = asrs_Simulator$Reason_EXCEPTION;
38474
38477
  $this.$pe = $e;
@@ -38541,24 +38544,23 @@ var asrs_Simulator$SimThread_run = ($this) => {
38541
38544
  $uip = Long_and($uip, Long_fromInt(-17));
38542
38545
  } else if ($pendingTrap && !asrs_Simulator$SimThread_handleTrap($this, asrrh_InterruptController_claimTrap(), $this.$pc0 - 4 | 0))
38543
38546
  break c;
38544
- $uie = Long_or($uip, Long_fromInt((!$pendingExternal ? 0 : 256) | (!$pendingTimer ? 0 : 16)));
38545
- if (Long_ne($uie, $uipRegister.$getValueNoNotify()))
38546
- asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(571), $uie);
38547
- $pendingTrap = $this.$maxSteps;
38548
- if ($pendingTrap > 0) {
38547
+ var$19 = Long_or($uip, Long_fromInt((!$pendingExternal ? 0 : 256) | (!$pendingTimer ? 0 : 16)));
38548
+ if (Long_ne(var$19, $uipRegister.$getValueNoNotify()))
38549
+ asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(504), var$19);
38550
+ var$20 = $this.$maxSteps;
38551
+ if (var$20 > 0) {
38549
38552
  $steps = $steps + 1 | 0;
38550
- if ($steps > $pendingTrap) {
38553
+ if ($steps > var$20) {
38551
38554
  asrs_Simulator$Reason_$callClinit();
38552
38555
  asrs_Simulator$SimThread_stopExecution($this, 0, asrs_Simulator$Reason_MAX_STEPS);
38553
38556
  return;
38554
38557
  }
38555
38558
  }
38556
- $pendingTrap = asrrh_RegisterFile_getProgramCounter();
38557
- $this.$pc0 = $pendingTrap;
38558
- asrrh_RegisterFile_programCounterValue = asrrh_RegisterFile_programCounterValue + 4 | 0;
38559
+ $this.$pc0 = asrrh_RegisterFile_getProgramCounter();
38560
+ asrrh_RegisterFile_incrementPC();
38559
38561
  bd: {
38560
38562
  try {
38561
- $se = asrrh_Memory_getStatement(asr_Globals_memory, $pendingTrap);
38563
+ $se = asrrh_Memory_getStatement(asr_Globals_memory, $this.$pc0);
38562
38564
  break bd;
38563
38565
  } catch ($$e) {
38564
38566
  $$je = $rt_wrapException($$e);
@@ -38568,10 +38570,10 @@ var asrs_Simulator$SimThread_run = ($this) => {
38568
38570
  throw $$e;
38569
38571
  }
38570
38572
  }
38571
- $tmp_0 = asrrh_AddressErrorException_getType($e) != 5 ? asr_SimulationException__init_3($rt_s(1878), 0) : asr_SimulationException__init_3($rt_s(1879), 1);
38573
+ $tmp_0 = $e.$type0 != 5 ? asr_SimulationException__init_3($rt_s(1878), 0) : asr_SimulationException__init_3($rt_s(1879), 1);
38572
38574
  if (!asrrh_InterruptController_registerSynchronousTrap($tmp_0, $this.$pc0)) {
38573
38575
  $this.$pe = $tmp_0;
38574
- asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(568), Long_fromInt($this.$pc0));
38576
+ asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(501), Long_fromInt($this.$pc0));
38575
38577
  asrs_Simulator$Reason_$callClinit();
38576
38578
  asrs_Simulator$SimThread_stopExecution($this, 1, asrs_Simulator$Reason_EXCEPTION);
38577
38579
  return;
@@ -38593,10 +38595,10 @@ var asrs_Simulator$SimThread_run = ($this) => {
38593
38595
  if ($instruction !== null)
38594
38596
  break be;
38595
38597
  $e = new asr_SimulationException();
38596
- $instruction = asru_Binary_intToHexString(asr_ProgramStatement_getBinaryStatement($se));
38597
- $tmp_0 = jl_StringBuilder__init_();
38598
- jl_StringBuilder_append0(jl_StringBuilder_append(jl_StringBuilder_append($tmp_0, $rt_s(1880)), $instruction), var$12);
38599
- asr_SimulationException__init_4($e, $se, jl_StringBuilder_toString($tmp_0), 2);
38598
+ $tmp_0 = asru_Binary_intToHexString(asr_ProgramStatement_getBinaryStatement($se));
38599
+ var$25 = jl_StringBuilder__init_();
38600
+ jl_StringBuilder_append0(jl_StringBuilder_append(jl_StringBuilder_append(var$25, $rt_s(1880)), $tmp_0), var$12);
38601
+ asr_SimulationException__init_4($e, $se, jl_StringBuilder_toString(var$25), 2);
38600
38602
  $rt_throw($e);
38601
38603
  } catch ($$e) {
38602
38604
  $$je = $rt_wrapException($$e);
@@ -38657,7 +38659,7 @@ var asrs_Simulator$SimThread_run = ($this) => {
38657
38659
  $timeSampleCountdown = $timeSampleCountdown + -1 | 0;
38658
38660
  if ($timeSampleCountdown <= 0) {
38659
38661
  $timeSampleCountdown = 64;
38660
- asrrh_ControlAndStatusRegisterFile_updateRegisterBackdoor($timeRegister, jl_System_currentTimeMillis());
38662
+ asrrh_ControlAndStatusRegisterFile_updateRegisterBackdoor($timeRegister, jl_System_currentTimeMillis(), $this.$pc0);
38661
38663
  }
38662
38664
  if ($ebreak)
38663
38665
  break b;
@@ -38682,7 +38684,7 @@ var asrs_Simulator$SimThread_run = ($this) => {
38682
38684
  asrs_Simulator$SimThread_stopExecution($this, 0, asrs_Simulator$Reason_BREAKPOINT);
38683
38685
  return;
38684
38686
  }
38685
- if (asr_SimulationException_error($e) !== null) {
38687
+ if ($e.$message !== null) {
38686
38688
  asrs_Simulator$Reason_$callClinit();
38687
38689
  $this.$constructReturnReason = asrs_Simulator$Reason_EXCEPTION;
38688
38690
  $this.$pe = $e;
@@ -38698,7 +38700,7 @@ var asrs_Simulator$SimThread_run = ($this) => {
38698
38700
  $rt_invalidPointer();
38699
38701
  }
38700
38702
  }
38701
- $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);
38703
+ $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);
38702
38704
  };
38703
38705
  var asrs_Simulator$SimThread__clinit_ = () => {
38704
38706
  asrs_Simulator$SimThread_$assertionsDisabled = 0;
@@ -38747,7 +38749,7 @@ var asr_SimulationException__init_ = ($this, $ps, $m) => {
38747
38749
  };
38748
38750
  var asr_SimulationException__init_1 = ($this, $ps, $aee) => {
38749
38751
  asr_SimulationException__init_($this, $ps, $aee.$message1);
38750
- $this.$cause = $aee.$type1;
38752
+ $this.$cause = $aee.$type0;
38751
38753
  $this.$value5 = $aee.$address1;
38752
38754
  };
38753
38755
  var asr_SimulationException__init_2 = (var_0, var_1) => {
@@ -38768,9 +38770,6 @@ var asr_SimulationException__init_3 = (var_0, var_1) => {
38768
38770
  asr_SimulationException__init_6(var_2, var_0, var_1);
38769
38771
  return var_2;
38770
38772
  };
38771
- var asr_SimulationException_error = ($this) => {
38772
- return $this.$message;
38773
- };
38774
38773
  var asr_BreakpointException = $rt_classWithoutFields(asr_SimulationException);
38775
38774
  var asr_WaitException = $rt_classWithoutFields(asr_SimulationException);
38776
38775
  var asr_ExitingException = $rt_classWithoutFields(asr_SimulationException);
@@ -39888,7 +39887,7 @@ var asrj_RoundingMode__clinit_ = () => {
39888
39887
  asrj_RoundingMode_away = asrj_RoundingMode__init_($rt_s(1896), 1);
39889
39888
  asrj_RoundingMode_min = asrj_RoundingMode__init_($rt_s(1897), 2);
39890
39889
  asrj_RoundingMode_max = asrj_RoundingMode__init_($rt_s(1898), 3);
39891
- var$1 = asrj_RoundingMode__init_($rt_s(496), 4);
39890
+ var$1 = asrj_RoundingMode__init_($rt_s(513), 4);
39892
39891
  asrj_RoundingMode_zero = var$1;
39893
39892
  var$2 = $rt_createArray(asrj_RoundingMode, 5);
39894
39893
  var$3 = var$2.data;
@@ -40169,7 +40168,7 @@ var jm_BitLevel_shiftRight = ($source, $count) => {
40169
40168
  };
40170
40169
  var asrrs_NullString = $rt_classWithoutFields();
40171
40170
  var asrrs_NullString_get = ($statement) => {
40172
- return asrrs_NullString_get0($statement, $rt_s(503));
40171
+ return asrrs_NullString_get0($statement, $rt_s(520));
40173
40172
  };
40174
40173
  var asrrs_NullString_get0 = ($statement, $reg) => {
40175
40174
  let $byteAddress, $utf8BytesList, $e, $size, $utf8Bytes, var$8, $i, $$je;
@@ -43812,6 +43811,15 @@ $rt_metadata([
43812
43811
  0,
43813
43812
  0,
43814
43813
  0,
43814
+ asr_JsProgramStatement,
43815
+ "JsProgramStatement",
43816
+ 11,
43817
+ jl_Object,
43818
+ [],
43819
+ 1,
43820
+ 0,
43821
+ 0,
43822
+ 0,
43815
43823
  ju_Observer,
43816
43824
  0,
43817
43825
  jl_Object,
@@ -43829,37 +43837,36 @@ $rt_metadata([
43829
43837
  0,
43830
43838
  0,
43831
43839
  0,
43832
- asrrh_RegisterFile,
43840
+ asrrh_ControlAndStatusRegisterFile,
43833
43841
  0,
43834
43842
  jl_Object,
43835
43843
  [],
43836
43844
  1,
43837
43845
  0,
43838
- () => asrrh_RegisterFile_$callClinit(),
43846
+ () => asrrh_ControlAndStatusRegisterFile_$callClinit(),
43839
43847
  0,
43840
- asr_JsRiscV$Body,
43848
+ asrrh_RegisterFile,
43841
43849
  0,
43842
43850
  jl_Object,
43843
43851
  [],
43844
- 1536,
43852
+ 1,
43845
43853
  0,
43854
+ () => asrrh_RegisterFile_$callClinit(),
43855
+ 0
43856
+ ]);
43857
+ $rt_metadata([
43858
+ juf_ToIntFunction,
43846
43859
  0,
43860
+ jl_Object,
43861
+ [],
43862
+ 1537,
43847
43863
  0,
43848
- asr_JsRiscV$simulateWithBreakpointsAndLimit$lambda$_17_0,
43849
43864
  0,
43850
- jl_Object,
43851
- [asr_JsRiscV$Body],
43852
- 1,
43853
43865
  0,
43866
+ asr_JsRiscV$getRegistersValues$lambda$_28_0,
43854
43867
  0,
43855
- ["$run1", $rt_wrapFunction0(asr_JsRiscV$simulateWithBreakpointsAndLimit$lambda$_17_0_run)]
43856
- ]);
43857
- $rt_metadata([
43858
- asr_JsProgramStatement,
43859
- "JsProgramStatement",
43860
- 11,
43861
43868
  jl_Object,
43862
- [],
43869
+ [juf_ToIntFunction],
43863
43870
  1,
43864
43871
  0,
43865
43872
  0,
@@ -43904,73 +43911,73 @@ $rt_metadata([
43904
43911
  0,
43905
43912
  0,
43906
43913
  0,
43907
- asrrh_FloatingPointRegisterFile,
43914
+ asr_JsRiscV$Body,
43908
43915
  0,
43909
43916
  jl_Object,
43910
43917
  [],
43911
- 1,
43918
+ 1536,
43912
43919
  0,
43913
- () => asrrh_FloatingPointRegisterFile_$callClinit(),
43914
43920
  0,
43915
- jm_BigInteger,
43916
- "BigInteger",
43917
- 18,
43918
- jl_Number,
43919
- [jl_Comparable, ji_Serializable],
43920
- 1,
43921
43921
  0,
43922
- () => jm_BigInteger_$callClinit(),
43923
- ["$hashCode", $rt_wrapFunction0(jm_BigInteger_hashCode), "$equals", $rt_wrapFunction1(jm_BigInteger_equals), "$toString", $rt_wrapFunction0(jm_BigInteger_toString), "$compareTo0", $rt_wrapFunction1(jm_BigInteger_compareTo0)],
43924
- asr_JsRiscV$simulateWithBreakpoints$lambda$_16_0,
43922
+ asr_JsRiscV$simulateWithBreakpointsAndLimit$lambda$_17_0,
43925
43923
  0,
43926
43924
  jl_Object,
43927
43925
  [asr_JsRiscV$Body],
43928
43926
  1,
43929
43927
  0,
43930
43928
  0,
43931
- ["$run1", $rt_wrapFunction0(asr_JsRiscV$simulateWithBreakpoints$lambda$_16_0_run)],
43932
- jl_IllegalStateException,
43933
- "IllegalStateException",
43934
- 19,
43935
- jl_RuntimeException,
43936
- [],
43937
- 1,
43938
- 0,
43929
+ ["$run1", $rt_wrapFunction0(asr_JsRiscV$simulateWithBreakpointsAndLimit$lambda$_17_0_run)],
43930
+ asr_JsRiscV$simulate$lambda$_12_0,
43939
43931
  0,
43932
+ jl_Object,
43933
+ [asr_JsRiscV$Body],
43934
+ 1,
43940
43935
  0,
43941
- asr_JsRiscV$PokeJournal,
43942
43936
  0,
43937
+ ["$run1", $rt_wrapFunction0(asr_JsRiscV$simulate$lambda$_12_0_run)],
43938
+ asr_JsCompilationResult,
43939
+ "JsCompilationResult",
43940
+ 11,
43943
43941
  jl_Object,
43944
43942
  [],
43945
- 16,
43943
+ 1,
43946
43944
  0,
43947
43945
  0,
43948
43946
  0,
43949
- asr_JsRiscV$PokeRecord,
43950
- "JsRiscV$PokeRecord",
43951
- 11,
43952
- jl_Object,
43947
+ asr_AssemblyException,
43948
+ "AssemblyException",
43949
+ 2,
43950
+ jl_Exception,
43953
43951
  [],
43954
- 16,
43952
+ 1,
43955
43953
  0,
43956
43954
  0,
43957
43955
  0,
43958
- asr_JsRiscV$step$lambda$_10_0,
43956
+ asrrh_FloatingPointRegisterFile,
43959
43957
  0,
43960
43958
  jl_Object,
43961
- [asr_JsRiscV$Body],
43959
+ [],
43962
43960
  1,
43963
43961
  0,
43962
+ () => asrrh_FloatingPointRegisterFile_$callClinit(),
43964
43963
  0,
43965
- ["$run1", $rt_wrapFunction0(asr_JsRiscV$step$lambda$_10_0_run)],
43966
- asrrh_ControlAndStatusRegisterFile,
43964
+ asr_JsRiscV$simulateWithLimit$lambda$_13_0,
43967
43965
  0,
43968
43966
  jl_Object,
43969
- [],
43967
+ [asr_JsRiscV$Body],
43970
43968
  1,
43971
43969
  0,
43972
- () => asrrh_ControlAndStatusRegisterFile_$callClinit(),
43973
43970
  0,
43971
+ ["$run1", $rt_wrapFunction0(asr_JsRiscV$simulateWithLimit$lambda$_13_0_run)],
43972
+ jm_BigInteger,
43973
+ "BigInteger",
43974
+ 18,
43975
+ jl_Number,
43976
+ [jl_Comparable, ji_Serializable],
43977
+ 1,
43978
+ 0,
43979
+ () => jm_BigInteger_$callClinit(),
43980
+ ["$hashCode", $rt_wrapFunction0(jm_BigInteger_hashCode), "$equals", $rt_wrapFunction1(jm_BigInteger_equals), "$toString", $rt_wrapFunction0(jm_BigInteger_toString), "$compareTo0", $rt_wrapFunction1(jm_BigInteger_compareTo0)],
43974
43981
  jl_Double,
43975
43982
  0,
43976
43983
  jl_Number,
@@ -43995,53 +44002,42 @@ $rt_metadata([
43995
44002
  0,
43996
44003
  0,
43997
44004
  ["$apply", $rt_wrapFunction1(asr_JsRiscV$getStatementsAtSourceLocation$lambda$_63_1_apply)],
43998
- asr_JsStackFrame,
43999
- "JsStackFrame",
44000
- 11,
44001
- jl_Object,
44005
+ jl_IllegalStateException,
44006
+ "IllegalStateException",
44007
+ 19,
44008
+ jl_RuntimeException,
44002
44009
  [],
44003
44010
  1,
44004
44011
  0,
44005
44012
  0,
44006
44013
  0,
44007
- asr_JsRiscVTokenizedLine,
44008
- "JsRiscVTokenizedLine",
44014
+ asr_JsRiscV$PokeRecord,
44015
+ "JsRiscV$PokeRecord",
44009
44016
  11,
44010
44017
  jl_Object,
44011
44018
  [],
44012
- 1,
44013
- 0,
44019
+ 16,
44014
44020
  0,
44015
44021
  0,
44016
- asra_TokenList,
44017
- "TokenList",
44018
- 9,
44019
- jl_Object,
44020
- [jl_Cloneable, jl_Iterable],
44021
- 1,
44022
44022
  0,
44023
+ asr_JsRiscV$PokeJournal,
44023
44024
  0,
44024
- ["$toString", $rt_wrapFunction0(asra_TokenList_toString)],
44025
- asra_SourceLine,
44026
- "SourceLine",
44027
- 9,
44028
44025
  jl_Object,
44029
44026
  [],
44030
- 1,
44027
+ 16,
44031
44028
  0,
44032
44029
  0,
44033
44030
  0,
44034
- asr_JsRiscVToken,
44035
- "JsRiscVToken",
44036
- 11,
44031
+ asr_JsRiscV$simulateWithBreakpoints$lambda$_16_0,
44032
+ 0,
44037
44033
  jl_Object,
44038
- [],
44034
+ [asr_JsRiscV$Body],
44039
44035
  1,
44040
44036
  0,
44041
44037
  0,
44042
- 0,
44043
- asr_JsCompilationResult,
44044
- "JsCompilationResult",
44038
+ ["$run1", $rt_wrapFunction0(asr_JsRiscV$simulateWithBreakpoints$lambda$_16_0_run)],
44039
+ asr_JsStackFrame,
44040
+ "JsStackFrame",
44045
44041
  11,
44046
44042
  jl_Object,
44047
44043
  [],
@@ -44049,43 +44045,46 @@ $rt_metadata([
44049
44045
  0,
44050
44046
  0,
44051
44047
  0,
44052
- asr_AssemblyException,
44053
- "AssemblyException",
44054
- 2,
44055
- jl_Exception,
44056
- [],
44057
- 1,
44058
- 0,
44048
+ asr_JsRiscV$step$lambda$_10_0,
44059
44049
  0,
44050
+ jl_Object,
44051
+ [asr_JsRiscV$Body],
44052
+ 1,
44060
44053
  0,
44061
- asr_JsRiscV$simulateWithLimit$lambda$_13_0,
44062
44054
  0,
44055
+ ["$run1", $rt_wrapFunction0(asr_JsRiscV$step$lambda$_10_0_run)],
44056
+ asr_JsRiscVTokenizedLine,
44057
+ "JsRiscVTokenizedLine",
44058
+ 11,
44063
44059
  jl_Object,
44064
- [asr_JsRiscV$Body],
44060
+ [],
44065
44061
  1,
44066
44062
  0,
44067
44063
  0,
44068
- ["$run1", $rt_wrapFunction0(asr_JsRiscV$simulateWithLimit$lambda$_13_0_run)],
44069
- asr_JsRiscV$simulate$lambda$_12_0,
44070
44064
  0,
44065
+ asra_TokenList,
44066
+ "TokenList",
44067
+ 9,
44071
44068
  jl_Object,
44072
- [asr_JsRiscV$Body],
44069
+ [jl_Cloneable, jl_Iterable],
44073
44070
  1,
44074
44071
  0,
44075
44072
  0,
44076
- ["$run1", $rt_wrapFunction0(asr_JsRiscV$simulate$lambda$_12_0_run)],
44077
- juf_ToIntFunction,
44078
- 0,
44073
+ ["$toString", $rt_wrapFunction0(asra_TokenList_toString)],
44074
+ asra_SourceLine,
44075
+ "SourceLine",
44076
+ 9,
44079
44077
  jl_Object,
44080
44078
  [],
44081
- 1537,
44082
- 0,
44079
+ 1,
44083
44080
  0,
44084
44081
  0,
44085
- asr_JsRiscV$getRegistersValues$lambda$_28_0,
44086
44082
  0,
44083
+ asr_JsRiscVToken,
44084
+ "JsRiscVToken",
44085
+ 11,
44087
44086
  jl_Object,
44088
- [juf_ToIntFunction],
44087
+ [],
44089
44088
  1,
44090
44089
  0,
44091
44090
  0,
@@ -44338,27 +44337,11 @@ $rt_metadata([
44338
44337
  0,
44339
44338
  0,
44340
44339
  ["$contains1", $rt_wrapFunction1(jur_CharClass$16_contains)],
44341
- otjc_JSPromise$Executor,
44342
- 0,
44343
- jl_Object,
44344
- [otj_JSObject],
44345
- 1537,
44346
- 0,
44347
- 0,
44348
- 0,
44349
- asr_JsRiscV$run$lambda$_9_0,
44350
- "JsRiscV$run$lambda$_9_0",
44351
- 11,
44352
- jl_Object,
44353
- [otjc_JSPromise$Executor],
44354
- 1,
44355
- 0,
44356
- 0,
44357
- 0,
44358
- otjc_JSPromise,
44359
- 0,
44340
+ asr_RISCVprogram,
44341
+ "RISCVprogram",
44342
+ 2,
44360
44343
  jl_Object,
44361
- [otj_JSObject],
44344
+ [],
44362
44345
  1,
44363
44346
  0,
44364
44347
  0,
@@ -44372,19 +44355,41 @@ $rt_metadata([
44372
44355
  0,
44373
44356
  0,
44374
44357
  ["$getValue", $rt_wrapFunction0(asrrh_Register_getValue), "$getValueNoNotify", $rt_wrapFunction0(asrrh_Register_getValueNoNotify), "$setValue", $rt_wrapFunction1(asrrh_Register_setValue), "$resetValue", $rt_wrapFunction0(asrrh_Register_resetValue)],
44375
- asr_JsRiscV$PokeRegisterWrite,
44376
- "JsRiscV$PokeRegisterWrite",
44377
- 11,
44358
+ jl_AutoCloseable,
44359
+ 0,
44378
44360
  jl_Object,
44379
44361
  [],
44380
- 16,
44362
+ 1537,
44381
44363
  0,
44382
44364
  0,
44383
44365
  0,
44384
- asr_RISCVprogram,
44385
- "RISCVprogram",
44386
- 2,
44366
+ jus_BaseStream,
44367
+ 0,
44387
44368
  jl_Object,
44369
+ [jl_AutoCloseable],
44370
+ 1537,
44371
+ 0,
44372
+ 0,
44373
+ 0,
44374
+ jus_Stream,
44375
+ 0,
44376
+ jl_Object,
44377
+ [jus_BaseStream],
44378
+ 1537,
44379
+ 0,
44380
+ 0,
44381
+ 0,
44382
+ jusi_SimpleStreamImpl,
44383
+ 0,
44384
+ jl_Object,
44385
+ [jus_Stream],
44386
+ 1025,
44387
+ 0,
44388
+ 0,
44389
+ 0,
44390
+ jusi_ArrayStreamImpl,
44391
+ 0,
44392
+ jusi_SimpleStreamImpl,
44388
44393
  [],
44389
44394
  1,
44390
44395
  0,
@@ -44439,6 +44444,88 @@ $rt_metadata([
44439
44444
  0,
44440
44445
  0,
44441
44446
  0,
44447
+ otjc_JSPromise$Executor,
44448
+ 0,
44449
+ jl_Object,
44450
+ [otj_JSObject],
44451
+ 1537,
44452
+ 0,
44453
+ 0,
44454
+ 0,
44455
+ asr_JsRiscV$run$lambda$_9_0,
44456
+ "JsRiscV$run$lambda$_9_0",
44457
+ 11,
44458
+ jl_Object,
44459
+ [otjc_JSPromise$Executor],
44460
+ 1,
44461
+ 0,
44462
+ 0,
44463
+ 0,
44464
+ otjc_JSPromise,
44465
+ 0,
44466
+ jl_Object,
44467
+ [otj_JSObject],
44468
+ 1,
44469
+ 0,
44470
+ 0,
44471
+ 0,
44472
+ asr_JsCompilationResult$_init_$lambda$_0_0,
44473
+ 0,
44474
+ jl_Object,
44475
+ [juf_Function],
44476
+ 1,
44477
+ 0,
44478
+ 0,
44479
+ ["$apply0", $rt_wrapFunction1(asr_JsCompilationResult$_init_$lambda$_0_0_apply)],
44480
+ juf_Supplier,
44481
+ 0,
44482
+ jl_Object,
44483
+ [],
44484
+ 1537,
44485
+ 0,
44486
+ 0,
44487
+ 0,
44488
+ asr_JsCompilationResult$_init_$lambda$_0_1,
44489
+ 0,
44490
+ jl_Object,
44491
+ [juf_Supplier],
44492
+ 1,
44493
+ 0,
44494
+ 0,
44495
+ 0,
44496
+ juf_BiConsumer,
44497
+ 0,
44498
+ jl_Object,
44499
+ [],
44500
+ 1537,
44501
+ 0,
44502
+ 0,
44503
+ 0,
44504
+ asr_JsCompilationResult$_init_$lambda$_0_2,
44505
+ 0,
44506
+ jl_Object,
44507
+ [juf_BiConsumer],
44508
+ 1,
44509
+ 0,
44510
+ 0,
44511
+ 0,
44512
+ asr_JsCompilationResult$_init_$lambda$_0_3,
44513
+ 0,
44514
+ jl_Object,
44515
+ [juf_BiConsumer],
44516
+ 1,
44517
+ 0,
44518
+ 0,
44519
+ 0,
44520
+ asr_JsRiscV$PokeRegisterWrite,
44521
+ "JsRiscV$PokeRegisterWrite",
44522
+ 11,
44523
+ jl_Object,
44524
+ [],
44525
+ 16,
44526
+ 0,
44527
+ 0,
44528
+ 0,
44442
44529
  asr_JsPokeWrite,
44443
44530
  0,
44444
44531
  jl_Object,
@@ -44464,94 +44551,6 @@ $rt_metadata([
44464
44551
  0,
44465
44552
  () => asra_TokenTypes_$callClinit(),
44466
44553
  0,
44467
- asr_JsCompilationResult$_init_$lambda$_0_0,
44468
- 0,
44469
- jl_Object,
44470
- [juf_Function],
44471
- 1,
44472
- 0,
44473
- 0,
44474
- ["$apply0", $rt_wrapFunction1(asr_JsCompilationResult$_init_$lambda$_0_0_apply)],
44475
- juf_Supplier,
44476
- 0,
44477
- jl_Object,
44478
- [],
44479
- 1537,
44480
- 0,
44481
- 0,
44482
- 0,
44483
- asr_JsCompilationResult$_init_$lambda$_0_1,
44484
- 0,
44485
- jl_Object,
44486
- [juf_Supplier],
44487
- 1,
44488
- 0,
44489
- 0,
44490
- 0,
44491
- juf_BiConsumer,
44492
- 0,
44493
- jl_Object,
44494
- [],
44495
- 1537,
44496
- 0,
44497
- 0,
44498
- 0,
44499
- asr_JsCompilationResult$_init_$lambda$_0_2,
44500
- 0,
44501
- jl_Object,
44502
- [juf_BiConsumer],
44503
- 1,
44504
- 0,
44505
- 0,
44506
- 0,
44507
- asr_JsCompilationResult$_init_$lambda$_0_3,
44508
- 0,
44509
- jl_Object,
44510
- [juf_BiConsumer],
44511
- 1,
44512
- 0,
44513
- 0,
44514
- 0,
44515
- jl_AutoCloseable,
44516
- 0,
44517
- jl_Object,
44518
- [],
44519
- 1537,
44520
- 0,
44521
- 0,
44522
- 0,
44523
- jus_BaseStream,
44524
- 0,
44525
- jl_Object,
44526
- [jl_AutoCloseable],
44527
- 1537,
44528
- 0,
44529
- 0,
44530
- 0,
44531
- jus_Stream,
44532
- 0,
44533
- jl_Object,
44534
- [jus_BaseStream],
44535
- 1537,
44536
- 0,
44537
- 0,
44538
- 0,
44539
- jusi_SimpleStreamImpl,
44540
- 0,
44541
- jl_Object,
44542
- [jus_Stream],
44543
- 1025,
44544
- 0,
44545
- 0,
44546
- 0,
44547
- jusi_ArrayStreamImpl,
44548
- 0,
44549
- jusi_SimpleStreamImpl,
44550
- [],
44551
- 1,
44552
- 0,
44553
- 0,
44554
- 0,
44555
44554
  asrri_Arithmetic,
44556
44555
  0,
44557
44556
  asrr_BasicInstruction,
@@ -46524,14 +46523,6 @@ $rt_metadata([
46524
46523
  0,
46525
46524
  () => ju_Comparator$NaturalOrder_$callClinit(),
46526
46525
  0,
46527
- asrrh_RegisterBlock,
46528
- 0,
46529
- jl_Object,
46530
- [],
46531
- 1,
46532
- 0,
46533
- 0,
46534
- 0,
46535
46526
  asrrh_MaskedRegister,
46536
46527
  "MaskedRegister",
46537
46528
  8,
@@ -46559,32 +46550,40 @@ $rt_metadata([
46559
46550
  0,
46560
46551
  0,
46561
46552
  ["$getValue", $rt_wrapFunction0(asrrh_LinkedRegister_getValue), "$getValueNoNotify", $rt_wrapFunction0(asrrh_LinkedRegister_getValueNoNotify), "$setValue", $rt_wrapFunction1(asrrh_LinkedRegister_setValue), "$resetValue", $rt_wrapFunction0(asrrh_LinkedRegister_resetValue)],
46562
- asrrh_StackFrame,
46563
- "StackFrame",
46564
- 8,
46553
+ asrrh_RegisterBlock,
46554
+ 0,
46565
46555
  jl_Object,
46566
46556
  [],
46567
46557
  1,
46568
46558
  0,
46569
46559
  0,
46570
46560
  0,
46571
- asra_Token,
46572
- "Token",
46573
- 9,
46561
+ asr_ErrorList,
46562
+ 0,
46574
46563
  jl_Object,
46575
46564
  [],
46576
46565
  1,
46577
46566
  0,
46578
46567
  0,
46579
- ["$toString", $rt_wrapFunction0(asra_Token_toString)],
46580
- asr_ErrorList,
46581
46568
  0,
46569
+ asrrh_StackFrame,
46570
+ "StackFrame",
46571
+ 8,
46582
46572
  jl_Object,
46583
46573
  [],
46584
46574
  1,
46585
46575
  0,
46586
46576
  0,
46587
46577
  0,
46578
+ asra_Token,
46579
+ "Token",
46580
+ 9,
46581
+ jl_Object,
46582
+ [],
46583
+ 1,
46584
+ 0,
46585
+ 0,
46586
+ ["$toString", $rt_wrapFunction0(asra_Token_toString)],
46588
46587
  asrrh_MemoryConfiguration,
46589
46588
  "MemoryConfiguration",
46590
46589
  8,
@@ -47086,14 +47085,6 @@ $rt_metadata([
47086
47085
  0,
47087
47086
  0,
47088
47087
  ["$find0", $rt_wrapFunction3(jur_BackReferencedSingleSet_find), "$findBack", $rt_wrapFunction4(jur_BackReferencedSingleSet_findBack), "$processBackRefReplacement", $rt_wrapFunction0(jur_BackReferencedSingleSet_processBackRefReplacement)],
47089
- jm_Conversion,
47090
- 0,
47091
- jl_Object,
47092
- [],
47093
- 0,
47094
- 0,
47095
- () => jm_Conversion_$callClinit(),
47096
- 0,
47097
47088
  jus_IntStream,
47098
47089
  0,
47099
47090
  jl_Object,
@@ -47118,13 +47109,13 @@ $rt_metadata([
47118
47109
  0,
47119
47110
  0,
47120
47111
  0,
47121
- asru_Binary,
47112
+ jm_Conversion,
47122
47113
  0,
47123
47114
  jl_Object,
47124
47115
  [],
47125
- 1,
47126
47116
  0,
47127
- () => asru_Binary_$callClinit(),
47117
+ 0,
47118
+ () => jm_Conversion_$callClinit(),
47128
47119
  0,
47129
47120
  ju_AbstractList$1,
47130
47121
  0,
@@ -47134,29 +47125,29 @@ $rt_metadata([
47134
47125
  0,
47135
47126
  0,
47136
47127
  ["$hasNext", $rt_wrapFunction0(ju_AbstractList$1_hasNext), "$next", $rt_wrapFunction0(ju_AbstractList$1_next)],
47137
- asrrh_InterruptController,
47128
+ ju_HashMap$1,
47138
47129
  0,
47139
- jl_Object,
47130
+ ju_AbstractSet,
47140
47131
  [],
47141
- 1,
47142
47132
  0,
47143
- () => asrrh_InterruptController_$callClinit(),
47144
47133
  0,
47145
- asrrh_ReservationTable,
47134
+ 0,
47135
+ ["$size", $rt_wrapFunction0(ju_HashMap$1_size), "$iterator", $rt_wrapFunction0(ju_HashMap$1_iterator)],
47136
+ asru_Binary,
47146
47137
  0,
47147
47138
  jl_Object,
47148
47139
  [],
47149
47140
  1,
47150
47141
  0,
47151
- () => asrrh_ReservationTable_$callClinit(),
47142
+ () => asru_Binary_$callClinit(),
47152
47143
  0,
47153
- asrrh_Stack,
47144
+ asrs_Simulator$Reason,
47154
47145
  0,
47155
- jl_Object,
47146
+ jl_Enum,
47156
47147
  [],
47157
- 1,
47148
+ 65553,
47158
47149
  0,
47159
- () => asrrh_Stack_$callClinit(),
47150
+ () => asrs_Simulator$Reason_$callClinit(),
47160
47151
  0,
47161
47152
  juf_Predicate,
47162
47153
  0,
@@ -47174,13 +47165,29 @@ $rt_metadata([
47174
47165
  0,
47175
47166
  0,
47176
47167
  0,
47177
- asrs_Simulator$Reason,
47168
+ asrrh_Stack,
47178
47169
  0,
47179
- jl_Enum,
47170
+ jl_Object,
47180
47171
  [],
47181
- 65553,
47172
+ 1,
47182
47173
  0,
47183
- () => asrs_Simulator$Reason_$callClinit(),
47174
+ () => asrrh_Stack_$callClinit(),
47175
+ 0,
47176
+ asrrh_InterruptController,
47177
+ 0,
47178
+ jl_Object,
47179
+ [],
47180
+ 1,
47181
+ 0,
47182
+ () => asrrh_InterruptController_$callClinit(),
47183
+ 0,
47184
+ asrrh_ReservationTable,
47185
+ 0,
47186
+ jl_Object,
47187
+ [],
47188
+ 1,
47189
+ 0,
47190
+ () => asrrh_ReservationTable_$callClinit(),
47184
47191
  0,
47185
47192
  jur_AbstractCharClass$LazyJavaLowerCase$1,
47186
47193
  "AbstractCharClass$LazyJavaLowerCase$1",
@@ -47351,25 +47358,17 @@ $rt_metadata([
47351
47358
  1537,
47352
47359
  0,
47353
47360
  0,
47354
- 0,
47355
- ju_LinkedHashMapEntrySet,
47356
- 0,
47357
- ju_AbstractSet,
47358
- [ju_SequencedSet],
47359
- 0,
47360
- 0,
47361
- 0,
47362
- ["$size", $rt_wrapFunction0(ju_LinkedHashMapEntrySet_size), "$iterator", $rt_wrapFunction0(ju_LinkedHashMapEntrySet_iterator)]
47361
+ 0
47363
47362
  ]);
47364
47363
  $rt_metadata([
47365
- ju_HashMap$1,
47364
+ ju_LinkedHashMapEntrySet,
47366
47365
  0,
47367
47366
  ju_AbstractSet,
47368
- [],
47367
+ [ju_SequencedSet],
47369
47368
  0,
47370
47369
  0,
47371
47370
  0,
47372
- ["$size", $rt_wrapFunction0(ju_HashMap$1_size), "$iterator", $rt_wrapFunction0(ju_HashMap$1_iterator)],
47371
+ ["$size", $rt_wrapFunction0(ju_LinkedHashMapEntrySet_size), "$iterator", $rt_wrapFunction0(ju_LinkedHashMapEntrySet_iterator)],
47373
47372
  otji_JSWrapper$JSTransparentInt,
47374
47373
  0,
47375
47374
  jl_Object,
@@ -49626,6 +49625,23 @@ $rt_stringPool([
49626
49625
  "sequence: ",
49627
49626
  "UCI sequence: ",
49628
49627
  "CI sequence: ",
49628
+ "cycle",
49629
+ "instret",
49630
+ "ustatus",
49631
+ "fcsr",
49632
+ "uie",
49633
+ "utvec",
49634
+ "uscratch",
49635
+ "uepc",
49636
+ "ucause",
49637
+ "utval",
49638
+ "uip",
49639
+ "time",
49640
+ "fflags",
49641
+ "frm",
49642
+ "cycleh",
49643
+ "timeh",
49644
+ "instreth",
49629
49645
  "fp",
49630
49646
  "s0",
49631
49647
  "zero",
@@ -49658,8 +49674,6 @@ $rt_stringPool([
49658
49674
  "t5",
49659
49675
  "t6",
49660
49676
  "pc",
49661
- "cycle",
49662
- "instret",
49663
49677
  "ft0",
49664
49678
  "ft1",
49665
49679
  "ft2",
@@ -49695,21 +49709,6 @@ $rt_stringPool([
49695
49709
  "Negative bit address",
49696
49710
  "BigInteger out of int range",
49697
49711
  "BigInteger out of long range",
49698
- "ustatus",
49699
- "fcsr",
49700
- "uie",
49701
- "utvec",
49702
- "uscratch",
49703
- "uepc",
49704
- "ucause",
49705
- "utval",
49706
- "uip",
49707
- "time",
49708
- "fflags",
49709
- "frm",
49710
- "cycleh",
49711
- "timeh",
49712
- "instreth",
49713
49712
  "Infinity",
49714
49713
  "NaN",
49715
49714
  " , ",
@@ -50756,10 +50755,6 @@ $rt_stringPool([
50756
50755
  "0.000000",
50757
50756
  "0E",
50758
50757
  "0E+",
50759
- "Cannot claim, no external interrupt pending",
50760
- "Cannot claim, no timer interrupt pending",
50761
- "Cannot claim, no trap pending",
50762
- "trapPC doesn't match current pc",
50763
50758
  "BREAKPOINT",
50764
50759
  "EXCEPTION",
50765
50760
  "MAX_STEPS",
@@ -50767,6 +50762,10 @@ $rt_stringPool([
50767
50762
  "CLIFF_TERMINATION",
50768
50763
  "PAUSE",
50769
50764
  "STOP",
50765
+ "Cannot claim, no external interrupt pending",
50766
+ "Cannot claim, no timer interrupt pending",
50767
+ "Cannot claim, no trap pending",
50768
+ "trapPC doesn't match current pc",
50770
50769
  " -> ",
50771
50770
  "Include cycle: ",
50772
50771
  "Error reading include file ",
@@ -51147,6 +51146,19 @@ var $rt_jso_marker = Symbol("jsoClass");
51147
51146
  Object.defineProperty(c, "sourcePath", {
51148
51147
  get: $rt_callWithReceiver(asr_JsProgramStatement_getSourcePath$exported$1)
51149
51148
  });
51149
+ c = asr_JsCompilationResult.prototype;
51150
+ Object.defineProperty(c, "hasErrors", {
51151
+ get: $rt_callWithReceiver(asr_JsCompilationResult_hasErrors$exported$2)
51152
+ });
51153
+ Object.defineProperty(c, "hasWarnings", {
51154
+ get: $rt_callWithReceiver(asr_JsCompilationResult_hasWarnings$exported$0)
51155
+ });
51156
+ Object.defineProperty(c, "report", {
51157
+ get: $rt_callWithReceiver(asr_JsCompilationResult_getReport$exported$3)
51158
+ });
51159
+ Object.defineProperty(c, "errors", {
51160
+ get: $rt_callWithReceiver(asr_JsCompilationResult_getErrors$exported$1)
51161
+ });
51150
51162
  c = asr_JsStackFrame.prototype;
51151
51163
  Object.defineProperty(c, "pc", {
51152
51164
  get: $rt_callWithReceiver(asr_JsStackFrame_getPc$exported$0)
@@ -51189,19 +51201,6 @@ var $rt_jso_marker = Symbol("jsoClass");
51189
51201
  Object.defineProperty(c, "sourceColumn", {
51190
51202
  get: $rt_callWithReceiver(asr_JsRiscVToken_getSourceColumn$exported$1)
51191
51203
  });
51192
- c = asr_JsCompilationResult.prototype;
51193
- Object.defineProperty(c, "hasErrors", {
51194
- get: $rt_callWithReceiver(asr_JsCompilationResult_hasErrors$exported$2)
51195
- });
51196
- Object.defineProperty(c, "hasWarnings", {
51197
- get: $rt_callWithReceiver(asr_JsCompilationResult_hasWarnings$exported$0)
51198
- });
51199
- Object.defineProperty(c, "report", {
51200
- get: $rt_callWithReceiver(asr_JsCompilationResult_getReport$exported$3)
51201
- });
51202
- Object.defineProperty(c, "errors", {
51203
- get: $rt_callWithReceiver(asr_JsCompilationResult_getErrors$exported$1)
51204
- });
51205
51204
  c = asr_JsRiscV$run$lambda$_9_0.prototype;
51206
51205
  c.onExecute = $rt_callWithReceiver(asr_JsRiscV$run$lambda$_9_0_onExecute$exported$0);
51207
51206
  c = otji_JSWrapper$Helper$_clinit_$lambda$_3_0.prototype;
@@ -51253,26 +51252,26 @@ function $rt_export_class_JsRISCVIO_55() {
51253
51252
  return asr_JsRISCVIO__init_$exported$0();
51254
51253
  }
51255
51254
  $rt_export_class_JsRISCVIO_55.prototype = asr_JsRISCVIO.prototype;
51256
- function $rt_export_class_JsProgramStatement_249() {
51255
+ function $rt_export_class_JsProgramStatement_244() {
51257
51256
  throw new Error("Can't instantiate this class directly");
51258
51257
  }
51259
- $rt_export_class_JsProgramStatement_249.prototype = asr_JsProgramStatement.prototype;
51260
- function $rt_export_class_JsStackFrame_266() {
51258
+ $rt_export_class_JsProgramStatement_244.prototype = asr_JsProgramStatement.prototype;
51259
+ function $rt_export_class_JsCompilationResult_259() {
51261
51260
  throw new Error("Can't instantiate this class directly");
51262
51261
  }
51263
- $rt_export_class_JsStackFrame_266.prototype = asr_JsStackFrame.prototype;
51264
- function $rt_export_class_JsRiscVTokenizedLine_267() {
51262
+ $rt_export_class_JsCompilationResult_259.prototype = asr_JsCompilationResult.prototype;
51263
+ function $rt_export_class_JsStackFrame_271() {
51265
51264
  throw new Error("Can't instantiate this class directly");
51266
51265
  }
51267
- $rt_export_class_JsRiscVTokenizedLine_267.prototype = asr_JsRiscVTokenizedLine.prototype;
51268
- function $rt_export_class_JsRiscVToken_270() {
51266
+ $rt_export_class_JsStackFrame_271.prototype = asr_JsStackFrame.prototype;
51267
+ function $rt_export_class_JsRiscVTokenizedLine_273() {
51269
51268
  throw new Error("Can't instantiate this class directly");
51270
51269
  }
51271
- $rt_export_class_JsRiscVToken_270.prototype = asr_JsRiscVToken.prototype;
51272
- function $rt_export_class_JsCompilationResult_271() {
51270
+ $rt_export_class_JsRiscVTokenizedLine_273.prototype = asr_JsRiscVTokenizedLine.prototype;
51271
+ function $rt_export_class_JsRiscVToken_276() {
51273
51272
  throw new Error("Can't instantiate this class directly");
51274
51273
  }
51275
- $rt_export_class_JsCompilationResult_271.prototype = asr_JsCompilationResult.prototype;
51274
+ $rt_export_class_JsRiscVToken_276.prototype = asr_JsRiscVToken.prototype;
51276
51275
  function $rt_export_class_JsCompilationError_654() {
51277
51276
  throw new Error("Can't instantiate this class directly");
51278
51277
  }