@specy/risc-v 0.1.3 → 0.1.5

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 +924 -877
  2. package/dist/index.mjs +924 -877
  3. package/package.json +3 -2
package/dist/index.mjs CHANGED
@@ -2663,11 +2663,11 @@ var asr_JsRiscV_getCallStack$exported$4 = (var$1) => {
2663
2663
  while (var$3 < asr_RARS_getCallStack(var$1.$main).data.length) {
2664
2664
  var$5 = new asr_JsStackFrame();
2665
2665
  var$6 = asr_RARS_getCallStack(var$1.$main).data[var$3];
2666
- var$5.$pc3 = var$6.$getPC();
2667
- var$5.$toAddress = var$6.$getToAddress();
2668
- var$5.$sp = var$6.$getSP();
2669
- var$5.$fp = var$6.$getFP();
2670
- var$5.$registers = var$6.$getRegisters();
2666
+ var$5.$pc3 = var$6.$pc4;
2667
+ var$5.$toAddress0 = var$6.$toAddress;
2668
+ var$5.$sp = var$6.$sp0;
2669
+ var$5.$fp = var$6.$fp0;
2670
+ var$5.$registers = var$6.$registers0;
2671
2671
  ju_ArrayList_add(var$4, var$5);
2672
2672
  var$3 = var$3 + 1 | 0;
2673
2673
  }
@@ -2900,9 +2900,21 @@ var asr_JsRiscV_initialize$exported$12 = (var$1, var$2) => {
2900
2900
  ju_ArrayList_clear(asrrh_Stack_callStack);
2901
2901
  };
2902
2902
  var asr_JsRiscV_getUndoStack$exported$13 = (var$1) => {
2903
- let var$2;
2903
+ let var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9;
2904
2904
  asr_JsRiscV_$callClinit();
2905
- var$1 = ju_Arrays_stream(var$1.$main.$main0.$backStepper.$backSteps.$stack);
2905
+ var$2 = var$1.$main.$main0.$backStepper.$backSteps;
2906
+ var$3 = var$2.$size1;
2907
+ var$4 = $rt_createArray(asrs_BackStepper$BackStep, var$3);
2908
+ var$5 = var$4.data;
2909
+ var$6 = 0;
2910
+ while (var$6 < var$3) {
2911
+ var$7 = var$2.$stack.data;
2912
+ var$8 = var$2.$top - var$6 | 0;
2913
+ var$9 = var$2.$capacity;
2914
+ var$5[var$6] = var$7[(var$8 + var$9 | 0) % var$9 | 0];
2915
+ var$6 = var$6 + 1 | 0;
2916
+ }
2917
+ var$1 = ju_Arrays_stream(var$4);
2906
2918
  var$2 = new asr_JsRiscV$getUndoStack$lambda$_21_0();
2907
2919
  var$1 = jusi_SimpleStreamImpl_map(var$1, var$2);
2908
2920
  var$2 = new asr_JsRiscV$getUndoStack$lambda$_21_1();
@@ -3150,8 +3162,7 @@ var asr_JsRiscV_readMemoryBytes$exported$30 = (var$1, var$2, var$3) => {
3150
3162
  var asr_JsRiscV_getStackPointer$exported$31 = (var$1) => {
3151
3163
  asr_JsRiscV_$callClinit();
3152
3164
  var$1;
3153
- asrrh_RegisterFile_$callClinit();
3154
- return Long_lo(asrrh_RegisterBlock_getRegister(asrrh_RegisterFile_instance, $rt_s(17)).$getValue());
3165
+ return Long_lo(asrrh_RegisterFile_getStackPointerRegister().$getValue());
3155
3166
  };
3156
3167
  var asr_JsRiscV_initializeRISCV$exported$0 = () => {
3157
3168
  asr_JsRiscV_$callClinit();
@@ -3166,7 +3177,7 @@ var asr_JsRiscV_makeRiscVfromSource$exported$1 = (var$1) => {
3166
3177
  var$3 = new asrrf_MemoryFileSystem();
3167
3178
  var$3.$files = ju_HashMap__init_();
3168
3179
  var$4 = var$3;
3169
- ju_HashMap_put(var$4.$files, $rt_s(18), var$1);
3180
+ ju_HashMap_put(var$4.$files, $rt_s(17), var$1);
3170
3181
  var$5 = asr_RISCVprogram__init_();
3171
3182
  var$6 = ju_ArrayList__init_();
3172
3183
  var$4 = ju_AbstractList_iterator(asrrf_MemoryFileSystem_getFiles(var$4));
@@ -3181,7 +3192,7 @@ var asr_JsRiscV_makeRiscVfromSource$exported$1 = (var$1) => {
3181
3192
  return var$2;
3182
3193
  }
3183
3194
  var$8 = ju_AbstractList$1_next(var$4);
3184
- var$9 = jl_String_equals(var$8.$name2, $rt_s(18)) ? var$5 : asr_RISCVprogram__init_();
3195
+ var$9 = jl_String_equals(var$8.$name2, $rt_s(17)) ? var$5 : asr_RISCVprogram__init_();
3185
3196
  asr_RISCVprogram_readSource(var$9, var$8.$name2, var$8.$source2);
3186
3197
  var$8 = asra_Tokenizer__init_();
3187
3198
  var$9.$tokenizer = var$8;
@@ -3254,11 +3265,11 @@ var asr_JsRiscV__clinit_ = () => {
3254
3265
  ju_Comparator$NaturalOrder__clinit_();
3255
3266
  asrr_BasicInstructionFormat__clinit_();
3256
3267
  jl_Long__clinit_();
3257
- asrs_Simulator$Reason__clinit_();
3258
- asrrh_Stack__clinit_();
3259
3268
  asrrh_FloatingPointRegisterFile__clinit_();
3260
3269
  asrrh_ControlAndStatusRegisterFile__clinit_();
3261
3270
  asrrh_InterruptController__clinit_();
3271
+ asrrh_Stack__clinit_();
3272
+ asrs_Simulator$Reason__clinit_();
3262
3273
  asra_Tokenizer__clinit_();
3263
3274
  asrs_Simulator__clinit_();
3264
3275
  asra_Directives__clinit_();
@@ -3275,9 +3286,9 @@ var asr_JsRiscV__clinit_ = () => {
3275
3286
  jnc_CodingErrorAction__clinit_();
3276
3287
  jnc_CoderResult__clinit_();
3277
3288
  jn_ByteOrder__clinit_();
3289
+ asrjt_Float64__clinit_();
3278
3290
  asrjt_Float32__clinit_();
3279
3291
  jm_BigInteger__clinit_();
3280
- asrjt_Float64__clinit_();
3281
3292
  asrjo_Arithmetic__clinit_();
3282
3293
  asrj_RoundingMode__clinit_();
3283
3294
  asrj_Flags__clinit_();
@@ -3671,7 +3682,7 @@ var otji_JSWrapper_wrap = ($jsNumber) => {
3671
3682
  if ($jsNumber === null)
3672
3683
  return null;
3673
3684
  $type = $rt_str(typeof $jsNumber);
3674
- $isObject = !jl_String_equals($type, $rt_s(19)) && !jl_String_equals($type, $rt_s(20)) ? 0 : 1;
3685
+ $isObject = !jl_String_equals($type, $rt_s(18)) && !jl_String_equals($type, $rt_s(19)) ? 0 : 1;
3675
3686
  otji_JSWrapper$Helper_$callClinit();
3676
3687
  $wrappers = otji_JSWrapper$Helper_wrappers;
3677
3688
  if ($wrappers !== null) {
@@ -3684,7 +3695,7 @@ var otji_JSWrapper_wrap = ($jsNumber) => {
3684
3695
  $wrappers.set($jsNumber, new WeakRef($wrapper));
3685
3696
  return $wrapper;
3686
3697
  }
3687
- if (jl_String_equals($type, $rt_s(21))) {
3698
+ if (jl_String_equals($type, $rt_s(20))) {
3688
3699
  $stringWrappers = otji_JSWrapper$Helper_stringWrappers;
3689
3700
  $stringFinalizationRegistry = otji_JSWrapper$Helper_stringFinalizationRegistry;
3690
3701
  $existingRef = $stringWrappers.get($jsNumber);
@@ -3697,7 +3708,7 @@ var otji_JSWrapper_wrap = ($jsNumber) => {
3697
3708
  otji_JSWrapper_register$js_body$_4($stringFinalizationRegistry, $wrapperAsJs, $jsNumber);
3698
3709
  return $wrapper;
3699
3710
  }
3700
- if (jl_String_equals($type, $rt_s(22))) {
3711
+ if (jl_String_equals($type, $rt_s(21))) {
3701
3712
  $numberWrappers = otji_JSWrapper$Helper_numberWrappers;
3702
3713
  $numberFinalizationRegistry = otji_JSWrapper$Helper_numberFinalizationRegistry;
3703
3714
  $existingRef = $numberWrappers.get($jsNumber);
@@ -3710,7 +3721,7 @@ var otji_JSWrapper_wrap = ($jsNumber) => {
3710
3721
  otji_JSWrapper_register$js_body$_4($numberFinalizationRegistry, $wrapperAsJs, $jsNumber);
3711
3722
  return $wrapper;
3712
3723
  }
3713
- if (jl_String_equals($type, $rt_s(23))) {
3724
+ if (jl_String_equals($type, $rt_s(22))) {
3714
3725
  $existingRef = otji_JSWrapper$Helper_undefinedWrapper;
3715
3726
  $existing = $existingRef === null ? void 0 : $existingRef.deref();
3716
3727
  if (!(typeof $existing == "undefined" ? 1 : 0))
@@ -3752,7 +3763,7 @@ var otji_JSWrapper_equals = ($this, $obj) => {
3752
3763
  return $this.$js !== $obj.$js ? 0 : 1;
3753
3764
  };
3754
3765
  var otji_JSWrapper_toString = ($this) => {
3755
- return (typeof $this.$js == "undefined" ? 1 : 0) ? $rt_s(23) : $rt_str($this.$js.toString());
3766
+ return (typeof $this.$js == "undefined" ? 1 : 0) ? $rt_s(22) : $rt_str($this.$js.toString());
3756
3767
  };
3757
3768
  var otji_JSWrapper_register$js_body$_4 = (var$1, var$2, var$3) => {
3758
3769
  return var$1.register(var$2, var$3);
@@ -3803,7 +3814,7 @@ var asr_RARS_initializeRISCV = () => {
3803
3814
  if (!asr_Globals_initialized) {
3804
3815
  asrrh_Memory_$callClinit();
3805
3816
  asr_Globals_memory = asrrh_Memory_uniqueMemoryInstance;
3806
- asr_Globals_symbolTable = asra_SymbolTable__init_($rt_s(24));
3817
+ asr_Globals_symbolTable = asra_SymbolTable__init_($rt_s(23));
3807
3818
  var$1 = new asr_Settings();
3808
3819
  asr_Settings_$callClinit();
3809
3820
  ju_Observable__init_(var$1);
@@ -4050,12 +4061,12 @@ var asr_Globals_getConfigProperties = () => {
4050
4061
  var$1 = new asrc_ConfigProperties();
4051
4062
  ju_HashMap__init_0(var$1);
4052
4063
  var$2 = var$1;
4053
- ju_HashMap_put(var$2, $rt_s(25), $rt_s(26));
4054
- ju_HashMap_put(var$2, $rt_s(27), $rt_s(28));
4055
- ju_HashMap_put(var$2, $rt_s(29), $rt_s(30));
4056
- ju_HashMap_put(var$2, $rt_s(31), $rt_s(32));
4057
- ju_HashMap_put(var$2, $rt_s(33), $rt_s(34));
4058
- ju_HashMap_put(var$2, $rt_s(35), $rt_s(36));
4064
+ ju_HashMap_put(var$2, $rt_s(24), $rt_s(25));
4065
+ ju_HashMap_put(var$2, $rt_s(26), $rt_s(27));
4066
+ ju_HashMap_put(var$2, $rt_s(28), $rt_s(29));
4067
+ ju_HashMap_put(var$2, $rt_s(30), $rt_s(31));
4068
+ ju_HashMap_put(var$2, $rt_s(32), $rt_s(33));
4069
+ ju_HashMap_put(var$2, $rt_s(34), $rt_s(35));
4059
4070
  asr_Globals_configProperties = var$1;
4060
4071
  }
4061
4072
  return asr_Globals_configProperties;
@@ -4067,26 +4078,26 @@ var asr_Globals_getSettings = () => {
4067
4078
  var asr_Globals_getAsciiNonPrint = () => {
4068
4079
  let $anp;
4069
4080
  asr_Globals_$callClinit();
4070
- $anp = ju_HashMap_get(asr_Globals_getConfigProperties(), $rt_s(35));
4081
+ $anp = ju_HashMap_get(asr_Globals_getConfigProperties(), $rt_s(34));
4071
4082
  if ($anp === null)
4072
- $anp = $rt_s(36);
4073
- else if (jl_String_equals($anp, $rt_s(37)))
4074
- $anp = $rt_s(38);
4083
+ $anp = $rt_s(35);
4084
+ else if (jl_String_equals($anp, $rt_s(36)))
4085
+ $anp = $rt_s(37);
4075
4086
  return $anp;
4076
4087
  };
4077
4088
  var asr_Globals__clinit_ = () => {
4078
4089
  let var$1, var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, var$10;
4079
4090
  asr_Globals_debug = 0;
4080
- asr_Globals_userInputAlert = $rt_s(39);
4091
+ asr_Globals_userInputAlert = $rt_s(38);
4081
4092
  asr_Globals_initialized = 0;
4082
4093
  asr_Globals_$callClinit();
4083
- asr_Globals_maximumMessageCharacters = asrc_ConfigMap_getIntegerValue(asr_Globals_getConfigProperties(), $rt_s(25));
4084
- asr_Globals_maximumErrorMessages = asrc_ConfigMap_getIntegerValue(asr_Globals_getConfigProperties(), $rt_s(27));
4085
- asr_Globals_maximumBacksteps = asrc_ConfigMap_getIntegerValue(asr_Globals_getConfigProperties(), $rt_s(29));
4086
- asr_Globals_copyrightYears = $rt_s(40);
4087
- asr_Globals_copyrightHolders = $rt_s(41);
4094
+ asr_Globals_maximumMessageCharacters = asrc_ConfigMap_getIntegerValue(asr_Globals_getConfigProperties(), $rt_s(24));
4095
+ asr_Globals_maximumErrorMessages = asrc_ConfigMap_getIntegerValue(asr_Globals_getConfigProperties(), $rt_s(26));
4096
+ asr_Globals_maximumBacksteps = asrc_ConfigMap_getIntegerValue(asr_Globals_getConfigProperties(), $rt_s(28));
4097
+ asr_Globals_copyrightYears = $rt_s(39);
4098
+ asr_Globals_copyrightHolders = $rt_s(40);
4088
4099
  asr_Globals_ASCII_NON_PRINT = asr_Globals_getAsciiNonPrint();
4089
- var$1 = ju_HashMap_get(asr_Globals_getConfigProperties(), $rt_s(33));
4100
+ var$1 = ju_HashMap_get(asr_Globals_getConfigProperties(), $rt_s(32));
4090
4101
  var$2 = asr_Globals_getAsciiNonPrint();
4091
4102
  if (var$1 === null) {
4092
4103
  var$3 = $rt_createArray(jl_String, 127);
@@ -4095,9 +4106,9 @@ var asr_Globals__clinit_ = () => {
4095
4106
  var$6 = var$4.length;
4096
4107
  while (var$5 < var$6) {
4097
4108
  if (!var$5)
4098
- var$4[var$5] = $rt_s(42);
4109
+ var$4[var$5] = $rt_s(41);
4099
4110
  else if (var$5 == 10)
4100
- var$4[var$5] = $rt_s(43);
4111
+ var$4[var$5] = $rt_s(42);
4101
4112
  else if (var$5 < 32)
4102
4113
  var$4[var$5] = var$2;
4103
4114
  else {
@@ -4111,7 +4122,7 @@ var asr_Globals__clinit_ = () => {
4111
4122
  var$5 = var$5 + 1 | 0;
4112
4123
  }
4113
4124
  } else {
4114
- var$3 = jl_String_split(var$1, $rt_s(44));
4125
+ var$3 = jl_String_split(var$1, $rt_s(43));
4115
4126
  var$5 = 0;
4116
4127
  var$6 = 0;
4117
4128
  while (true) {
@@ -4121,8 +4132,8 @@ var asr_Globals__clinit_ = () => {
4121
4132
  break;
4122
4133
  if (jl_String_equals(var$4[var$6], $rt_s(4)))
4123
4134
  var$4[var$6] = var$2;
4124
- if (jl_String_equals(var$4[var$6], $rt_s(37)))
4125
- var$4[var$6] = $rt_s(38);
4135
+ if (jl_String_equals(var$4[var$6], $rt_s(36)))
4136
+ var$4[var$6] = $rt_s(37);
4126
4137
  if (var$4[var$6].$nativeString.length > var$5)
4127
4138
  var$5 = var$4[var$6].$nativeString.length;
4128
4139
  var$6 = var$6 + 1 | 0;
@@ -4130,7 +4141,7 @@ var asr_Globals__clinit_ = () => {
4130
4141
  var$8 = var$5 + 1 | 0;
4131
4142
  var$9 = 0;
4132
4143
  while (var$9 < var$7) {
4133
- var$1 = jl_String_substring($rt_s(45), 0, var$8 - var$4[var$9].$nativeString.length | 0);
4144
+ var$1 = jl_String_substring($rt_s(44), 0, var$8 - var$4[var$9].$nativeString.length | 0);
4134
4145
  var$10 = var$4[var$9];
4135
4146
  var$2 = new jl_StringBuilder();
4136
4147
  jl_AbstractStringBuilder__init_(var$2);
@@ -4163,7 +4174,7 @@ var asr_JsRISCVIO_callHandler = ($this, $name, $args) => {
4163
4174
  $handler = new jl_IllegalArgumentException();
4164
4175
  var$4 = new jl_StringBuilder();
4165
4176
  jl_AbstractStringBuilder__init_(var$4);
4166
- jl_StringBuilder_append(jl_StringBuilder_append(var$4, $rt_s(46)), $name);
4177
+ jl_StringBuilder_append(jl_StringBuilder_append(var$4, $rt_s(45)), $name);
4167
4178
  jl_Throwable__init_0($handler, jl_AbstractStringBuilder_toString(var$4));
4168
4179
  $rt_throw($handler);
4169
4180
  }
@@ -4187,7 +4198,7 @@ var asr_JsRISCVIO_callHandler = ($this, $name, $args) => {
4187
4198
  return otji_JSWrapper_maybeUnwrap($handler.call($handler, otji_JSWrapper_unwrap($args[0]), otji_JSWrapper_unwrap($args[1]), otji_JSWrapper_unwrap($args[2]), otji_JSWrapper_unwrap($args[3]), otji_JSWrapper_unwrap($args[4]), otji_JSWrapper_unwrap($args[5]), otji_JSWrapper_unwrap($args[6])));
4188
4199
  if (var$5 != 8) {
4189
4200
  $handler = new jl_IllegalArgumentException();
4190
- jl_Throwable__init_0($handler, $rt_s(47));
4201
+ jl_Throwable__init_0($handler, $rt_s(46));
4191
4202
  $rt_throw($handler);
4192
4203
  }
4193
4204
  return otji_JSWrapper_maybeUnwrap($handler.call($handler, otji_JSWrapper_unwrap($args[0]), otji_JSWrapper_unwrap($args[1]), otji_JSWrapper_unwrap($args[2]), otji_JSWrapper_unwrap($args[3]), otji_JSWrapper_unwrap($args[4]), otji_JSWrapper_unwrap($args[5]), otji_JSWrapper_unwrap($args[6]), otji_JSWrapper_unwrap($args[7])));
@@ -4200,7 +4211,7 @@ var asr_JsRISCVIO_callIntHandler = ($this, $name, $args) => {
4200
4211
  $result = new jl_IllegalArgumentException();
4201
4212
  var$4 = new jl_StringBuilder();
4202
4213
  jl_AbstractStringBuilder__init_(var$4);
4203
- jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(var$4, $rt_s(48)), $name), $rt_s(49));
4214
+ jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(var$4, $rt_s(47)), $name), $rt_s(48));
4204
4215
  jl_Throwable__init_0($result, jl_AbstractStringBuilder_toString(var$4));
4205
4216
  $rt_throw($result);
4206
4217
  };
@@ -4212,7 +4223,7 @@ var asr_JsRISCVIO_callStringHandler = ($this, $name, $args) => {
4212
4223
  $result = new jl_IllegalArgumentException();
4213
4224
  var$4 = new jl_StringBuilder();
4214
4225
  jl_AbstractStringBuilder__init_(var$4);
4215
- jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(var$4, $rt_s(48)), $name), $rt_s(50));
4226
+ jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(var$4, $rt_s(47)), $name), $rt_s(49));
4216
4227
  jl_Throwable__init_0($result, jl_AbstractStringBuilder_toString(var$4));
4217
4228
  $rt_throw($result);
4218
4229
  };
@@ -4223,13 +4234,13 @@ var asr_JsRISCVIO_openFile = ($this, $filename, $flags, $append) => {
4223
4234
  var$5[0] = otji_JSWrapper_wrap($rt_ustr($filename));
4224
4235
  var$5[1] = otji_JSWrapper_wrap($flags);
4225
4236
  var$5[2] = otji_JSWrapper_wrap(!!$append);
4226
- return asr_JsRISCVIO_callIntHandler($this, $rt_s(51), var$4);
4237
+ return asr_JsRISCVIO_callIntHandler($this, $rt_s(50), var$4);
4227
4238
  };
4228
4239
  var asr_JsRISCVIO_closeFile = ($this, $fileDescriptor) => {
4229
4240
  let var$2;
4230
4241
  var$2 = $rt_createArray(jl_Object, 1);
4231
4242
  var$2.data[0] = otji_JSWrapper_wrap($fileDescriptor);
4232
- asr_JsRISCVIO_callHandler($this, $rt_s(52), var$2);
4243
+ asr_JsRISCVIO_callHandler($this, $rt_s(51), var$2);
4233
4244
  };
4234
4245
  var asr_JsRISCVIO_writeFile = ($this, $fileDescriptor, $buffer) => {
4235
4246
  let var$3, var$4, var$5;
@@ -4239,13 +4250,13 @@ var asr_JsRISCVIO_writeFile = ($this, $fileDescriptor, $buffer) => {
4239
4250
  var$5 = $rt_createArray($rt_arraycls($rt_bytecls), 1);
4240
4251
  var$5.data[0] = $buffer;
4241
4252
  var$4[1] = otji_JSWrapper_wrap(otjc_JSArray_of(var$5));
4242
- asr_JsRISCVIO_callHandler($this, $rt_s(53), var$3);
4253
+ asr_JsRISCVIO_callHandler($this, $rt_s(52), var$3);
4243
4254
  };
4244
4255
  var asr_JsRISCVIO_inputDialog = ($this, $message) => {
4245
4256
  let var$2;
4246
4257
  var$2 = $rt_createArray(jl_Object, 1);
4247
4258
  var$2.data[0] = otji_JSWrapper_wrap($rt_ustr($message));
4248
- return asr_JsRISCVIO_callStringHandler($this, $rt_s(54), var$2);
4259
+ return asr_JsRISCVIO_callStringHandler($this, $rt_s(53), var$2);
4249
4260
  };
4250
4261
  var asr_JsRISCVIO_outputDialog = ($this, $message, $type) => {
4251
4262
  let var$3, var$4;
@@ -4253,7 +4264,7 @@ var asr_JsRISCVIO_outputDialog = ($this, $message, $type) => {
4253
4264
  var$4 = var$3.data;
4254
4265
  var$4[0] = otji_JSWrapper_wrap($rt_ustr($message));
4255
4266
  var$4[1] = otji_JSWrapper_wrap($type);
4256
- asr_JsRISCVIO_callHandler($this, $rt_s(55), var$3);
4267
+ asr_JsRISCVIO_callHandler($this, $rt_s(54), var$3);
4257
4268
  };
4258
4269
  var asr_JsRISCVIO_stdIn = ($this, $buffer, $length) => {
4259
4270
  let var$3, var$4, var$5;
@@ -4263,7 +4274,7 @@ var asr_JsRISCVIO_stdIn = ($this, $buffer, $length) => {
4263
4274
  var$5.data[0] = $buffer;
4264
4275
  var$4[0] = otji_JSWrapper_wrap(otjc_JSArray_of(var$5));
4265
4276
  var$4[1] = otji_JSWrapper_wrap($length);
4266
- asr_JsRISCVIO_callHandler($this, $rt_s(56), var$3);
4277
+ asr_JsRISCVIO_callHandler($this, $rt_s(55), var$3);
4267
4278
  };
4268
4279
  var asr_JsRISCVIO_stdOut = ($this, $buffer) => {
4269
4280
  let var$2, var$3, var$4;
@@ -4272,7 +4283,7 @@ var asr_JsRISCVIO_stdOut = ($this, $buffer) => {
4272
4283
  var$4 = $rt_createArray($rt_arraycls($rt_bytecls), 1);
4273
4284
  var$4.data[0] = $buffer;
4274
4285
  var$3[0] = otji_JSWrapper_wrap(otjc_JSArray_of(var$4));
4275
- asr_JsRISCVIO_callHandler($this, $rt_s(57), var$2);
4286
+ asr_JsRISCVIO_callHandler($this, $rt_s(56), var$2);
4276
4287
  };
4277
4288
  var asr_JsRISCVIO_stdErr = ($this, $buffer) => {
4278
4289
  let var$2, var$3, var$4;
@@ -4281,7 +4292,7 @@ var asr_JsRISCVIO_stdErr = ($this, $buffer) => {
4281
4292
  var$4 = $rt_createArray($rt_arraycls($rt_bytecls), 1);
4282
4293
  var$4.data[0] = $buffer;
4283
4294
  var$3[0] = otji_JSWrapper_wrap(otjc_JSArray_of(var$4));
4284
- asr_JsRISCVIO_callHandler($this, $rt_s(58), var$2);
4295
+ asr_JsRISCVIO_callHandler($this, $rt_s(57), var$2);
4285
4296
  };
4286
4297
  var asrrf_RISCVFileSystem = $rt_classWithoutFields();
4287
4298
  function asrrf_MemoryFileSystem() {
@@ -4327,15 +4338,15 @@ var asrr_InstructionSet_populate = ($this) => {
4327
4338
  $mask = ju_AbstractList_iterator($maskMap);
4328
4339
  while (ju_AbstractList$1_hasNext($mask)) {
4329
4340
  $matchMaps = ju_AbstractList$1_next($mask);
4330
- if (!jl_String_startsWith($matchMaps, $rt_s(59)) && !jl_String_startsWith($matchMaps, $rt_s(38)) && $matchMaps.$nativeString.length > 0) {
4341
+ if (!jl_String_startsWith($matchMaps, $rt_s(58)) && !jl_String_startsWith($matchMaps, $rt_s(37)) && $matchMaps.$nativeString.length > 0) {
4331
4342
  $inst = $rt_s(3);
4332
- $basic = ju_StringTokenizer__init_($matchMaps, $rt_s(60));
4343
+ $basic = ju_StringTokenizer__init_($matchMaps, $rt_s(59));
4333
4344
  $maskMap = ju_StringTokenizer_nextToken($basic);
4334
4345
  $matchMaps = $rt_s(3);
4335
4346
  a: {
4336
4347
  while (ju_StringTokenizer_hasMoreTokens($basic)) {
4337
4348
  $match = ju_StringTokenizer_nextToken($basic);
4338
- if (jl_String_startsWith($match, $rt_s(59))) {
4349
+ if (jl_String_startsWith($match, $rt_s(58))) {
4339
4350
  $inst = jl_String_substring0($match, 1);
4340
4351
  break a;
4341
4352
  }
@@ -4360,7 +4371,7 @@ var asrr_InstructionSet_populate = ($this) => {
4360
4371
  asrr_Instruction_createExampleTokenList($inst);
4361
4372
  if ($matchMaps !== null && $matchMaps.$nativeString.length) {
4362
4373
  $maskMap = ju_ArrayList__init_();
4363
- $matchMap = ju_StringTokenizer__init_($matchMaps, $rt_s(43));
4374
+ $matchMap = ju_StringTokenizer__init_($matchMaps, $rt_s(42));
4364
4375
  while (ju_StringTokenizer_hasMoreTokens($matchMap)) {
4365
4376
  ju_ArrayList_add($maskMap, ju_StringTokenizer_nextToken($matchMap));
4366
4377
  }
@@ -4699,9 +4710,9 @@ var asrrh_Memory_allocateBytesFromHeap = ($this, $numBytes) => {
4699
4710
  var$3 = new jl_IllegalArgumentException();
4700
4711
  var$4 = new jl_StringBuilder();
4701
4712
  jl_AbstractStringBuilder__init_(var$4);
4702
- var$5 = jl_StringBuilder_append(var$4, $rt_s(61));
4713
+ var$5 = jl_StringBuilder_append(var$4, $rt_s(60));
4703
4714
  jl_AbstractStringBuilder_append(var$5, $numBytes);
4704
- jl_StringBuilder_append(var$5, $rt_s(62));
4715
+ jl_StringBuilder_append(var$5, $rt_s(61));
4705
4716
  jl_Throwable__init_0(var$3, jl_AbstractStringBuilder_toString(var$4));
4706
4717
  $rt_throw(var$3);
4707
4718
  }
@@ -4716,9 +4727,9 @@ var asrrh_Memory_allocateBytesFromHeap = ($this, $numBytes) => {
4716
4727
  var$3 = new jl_IllegalArgumentException();
4717
4728
  var$4 = new jl_StringBuilder();
4718
4729
  jl_AbstractStringBuilder__init_(var$4);
4719
- var$5 = jl_StringBuilder_append(var$4, $rt_s(61));
4730
+ var$5 = jl_StringBuilder_append(var$4, $rt_s(60));
4720
4731
  jl_AbstractStringBuilder_append(var$5, $numBytes);
4721
- jl_StringBuilder_append(var$5, $rt_s(63));
4732
+ jl_StringBuilder_append(var$5, $rt_s(62));
4722
4733
  jl_Throwable__init_0(var$3, jl_AbstractStringBuilder_toString(var$4));
4723
4734
  $rt_throw(var$3);
4724
4735
  };
@@ -4730,13 +4741,13 @@ var asrrh_Memory_set = ($this, $address, $value, $length) => {
4730
4741
  $oldStatement = jl_System_out();
4731
4742
  var$6 = new jl_StringBuilder();
4732
4743
  jl_AbstractStringBuilder__init_(var$6);
4733
- var$7 = jl_StringBuilder_append(var$6, $rt_s(64));
4744
+ var$7 = jl_StringBuilder_append(var$6, $rt_s(63));
4734
4745
  jl_AbstractStringBuilder_append(var$7, $address);
4735
- var$7 = jl_StringBuilder_append(var$7, $rt_s(65));
4746
+ var$7 = jl_StringBuilder_append(var$7, $rt_s(64));
4736
4747
  jl_AbstractStringBuilder_append(var$7, $value);
4737
4748
  jl_AbstractStringBuilder_append0(var$7, 40);
4738
4749
  jl_AbstractStringBuilder_append(var$7, $length);
4739
- jl_StringBuilder_append(var$7, $rt_s(66));
4750
+ jl_StringBuilder_append(var$7, $rt_s(65));
4740
4751
  var$6 = jl_AbstractStringBuilder_toString(var$6);
4741
4752
  otcic_JsConsolePrintStream_println($oldStatement, var$6);
4742
4753
  }
@@ -4760,13 +4771,13 @@ var asrrh_Memory_set = ($this, $address, $value, $length) => {
4760
4771
  var$9 = asrrh_Memory_storeBytesInTable($this, $this.$memoryMapBlockTable, $relativeByteAddress, $length, $value);
4761
4772
  break a;
4762
4773
  }
4763
- $rt_throw(asrrh_AddressErrorException__init_($rt_s(67), 7, $address));
4774
+ $rt_throw(asrrh_AddressErrorException__init_($rt_s(66), 7, $address));
4764
4775
  }
4765
4776
  if (!asr_Settings_getBooleanSetting(asr_Globals_getSettings(), asr_Settings$Bool_SELF_MODIFYING_CODE_ENABLED))
4766
- $rt_throw(asrrh_AddressErrorException__init_($rt_s(68), 7, $address));
4777
+ $rt_throw(asrrh_AddressErrorException__init_($rt_s(67), 7, $address));
4767
4778
  $relativeByteAddress = $address % 4 | 0;
4768
4779
  if (($relativeByteAddress + $length | 0) > 4)
4769
- $rt_throw(asrrh_AddressErrorException__init_($rt_s(69), 4, $address));
4780
+ $rt_throw(asrrh_AddressErrorException__init_($rt_s(68), 4, $address));
4770
4781
  var$10 = ($address / 4 | 0) * 4 | 0;
4771
4782
  $oldStatement = asrrh_Memory_getStatementNoNotify($this, var$10);
4772
4783
  if ($oldStatement !== null)
@@ -4806,10 +4817,10 @@ var asrrh_Memory_setRawWord = ($this, $address, $value) => {
4806
4817
  $oldValue = asrrh_Memory_storeWordInTable($this, $this.$memoryMapBlockTable, $relative, $value);
4807
4818
  break a;
4808
4819
  }
4809
- $rt_throw(asrrh_AddressErrorException__init_($rt_s(70), 7, $address));
4820
+ $rt_throw(asrrh_AddressErrorException__init_($rt_s(69), 7, $address));
4810
4821
  }
4811
4822
  if (!asr_Settings_getBooleanSetting(asr_Globals_getSettings(), asr_Settings$Bool_SELF_MODIFYING_CODE_ENABLED))
4812
- $rt_throw(asrrh_AddressErrorException__init_($rt_s(68), 7, $address));
4823
+ $rt_throw(asrrh_AddressErrorException__init_($rt_s(67), 7, $address));
4813
4824
  $oldStatement = asrrh_Memory_getStatementNoNotify($this, $address);
4814
4825
  if ($oldStatement !== null)
4815
4826
  $oldValue = $oldStatement.$binaryStatement;
@@ -4838,7 +4849,7 @@ var asrrh_Memory_setWord = ($this, $address, $value) => {
4838
4849
  var asrrh_Memory_setHalf = ($this, $address, $value) => {
4839
4850
  let var$3;
4840
4851
  if ($address % 2 | 0)
4841
- $rt_throw(asrrh_AddressErrorException__init_($rt_s(71), 6, $address));
4852
+ $rt_throw(asrrh_AddressErrorException__init_($rt_s(70), 6, $address));
4842
4853
  if (!asr_Settings_getBackSteppingEnabled(asr_Globals_getSettings()))
4843
4854
  $value = asrrh_Memory_set($this, $address, $value, 2);
4844
4855
  else {
@@ -4875,16 +4886,16 @@ var asrrh_Memory_setStatement = ($this, $address, $statement) => {
4875
4886
  let var$3, var$4, var$5, var$6, var$7;
4876
4887
  asrrh_Memory_checkStoreWordAligned($address);
4877
4888
  if (!asrrh_Memory_inTextSegment($address))
4878
- $rt_throw(asrrh_AddressErrorException__init_($rt_s(72), 7, $address));
4889
+ $rt_throw(asrrh_AddressErrorException__init_($rt_s(71), 7, $address));
4879
4890
  asr_Globals_$callClinit();
4880
4891
  if (asr_Globals_debug) {
4881
4892
  var$3 = jl_System_out();
4882
4893
  var$4 = $statement.$binaryStatement;
4883
4894
  var$5 = new jl_StringBuilder();
4884
4895
  jl_AbstractStringBuilder__init_(var$5);
4885
- var$6 = jl_StringBuilder_append(var$5, $rt_s(64));
4896
+ var$6 = jl_StringBuilder_append(var$5, $rt_s(63));
4886
4897
  jl_AbstractStringBuilder_append(var$6, $address);
4887
- jl_AbstractStringBuilder_append(jl_StringBuilder_append(var$6, $rt_s(65)), var$4);
4898
+ jl_AbstractStringBuilder_append(jl_StringBuilder_append(var$6, $rt_s(64)), var$4);
4888
4899
  var$5 = jl_AbstractStringBuilder_toString(var$5);
4889
4900
  otcic_JsConsolePrintStream_println(var$3, var$5);
4890
4901
  }
@@ -4924,12 +4935,12 @@ var asrrh_Memory_get0 = ($this, $address, $length, $notify) => {
4924
4935
  $relativeByteAddress = asrrh_Memory_fetchBytesFromTable($this, $this.$memoryMapBlockTable, $relativeByteAddress, $length);
4925
4936
  } else {
4926
4937
  if (!asrrh_Memory_inTextSegment($address))
4927
- $rt_throw(asrrh_AddressErrorException__init_($rt_s(67), 5, $address));
4938
+ $rt_throw(asrrh_AddressErrorException__init_($rt_s(66), 5, $address));
4928
4939
  if (!asr_Settings_getBooleanSetting(asr_Globals_getSettings(), asr_Settings$Bool_SELF_MODIFYING_CODE_ENABLED))
4929
- $rt_throw(asrrh_AddressErrorException__init_($rt_s(73), 5, $address));
4940
+ $rt_throw(asrrh_AddressErrorException__init_($rt_s(72), 5, $address));
4930
4941
  var$6 = $address % 4 | 0;
4931
4942
  if ((var$6 + $length | 0) > 4)
4932
- $rt_throw(asrrh_AddressErrorException__init_($rt_s(74), 4, $address));
4943
+ $rt_throw(asrrh_AddressErrorException__init_($rt_s(73), 4, $address));
4933
4944
  $stmt = asrrh_Memory_getStatementNoNotify($this, ($address / 4 | 0) * 4 | 0);
4934
4945
  $relativeByteAddress = $stmt === null ? 0 : $length == 4 ? $stmt.$binaryStatement : $stmt.$binaryStatement >> (8 * var$6 | 0) & ((1 << ($length * 8 | 0)) - 1 | 0);
4935
4946
  }
@@ -4946,7 +4957,7 @@ var asrrh_Memory_getWord = ($this, $address) => {
4946
4957
  var asrrh_Memory_getHalf = ($this, $address) => {
4947
4958
  if (!($address % 2 | 0))
4948
4959
  return asrrh_Memory_get($this, $address, 2);
4949
- $rt_throw(asrrh_AddressErrorException__init_($rt_s(75), 4, $address));
4960
+ $rt_throw(asrrh_AddressErrorException__init_($rt_s(74), 4, $address));
4950
4961
  };
4951
4962
  var asrrh_Memory_getByte = ($this, $address) => {
4952
4963
  return asrrh_Memory_get($this, $address, 1);
@@ -4961,7 +4972,7 @@ var asrrh_Memory_getStatement0 = ($this, $address, $notify) => {
4961
4972
  let var$3, var$4, var$5, var$6, var$7;
4962
4973
  asrrh_Memory_checkLoadWordAligned($address);
4963
4974
  if (!asr_Settings_getBooleanSetting(asr_Globals_getSettings(), asr_Settings$Bool_SELF_MODIFYING_CODE_ENABLED) && !asrrh_Memory_inTextSegment($address))
4964
- $rt_throw(asrrh_AddressErrorException__init_($rt_s(76), 5, $address));
4975
+ $rt_throw(asrrh_AddressErrorException__init_($rt_s(75), 5, $address));
4965
4976
  if (!asrrh_Memory_inTextSegment($address))
4966
4977
  return asr_ProgramStatement__init_(asrrh_Memory_get($this, $address, 4), $address);
4967
4978
  var$3 = asrrh_Memory_textBaseAddress;
@@ -4995,13 +5006,13 @@ var asrrh_Memory_checkLoadWordAligned = ($address) => {
4995
5006
  asrrh_Memory_$callClinit();
4996
5007
  if (asrrh_Memory_wordAligned($address))
4997
5008
  return;
4998
- $rt_throw(asrrh_AddressErrorException__init_($rt_s(74), 4, $address));
5009
+ $rt_throw(asrrh_AddressErrorException__init_($rt_s(73), 4, $address));
4999
5010
  };
5000
5011
  var asrrh_Memory_checkStoreWordAligned = ($address) => {
5001
5012
  asrrh_Memory_$callClinit();
5002
5013
  if (asrrh_Memory_wordAligned($address))
5003
5014
  return;
5004
- $rt_throw(asrrh_AddressErrorException__init_($rt_s(77), 6, $address));
5015
+ $rt_throw(asrrh_AddressErrorException__init_($rt_s(76), 6, $address));
5005
5016
  };
5006
5017
  var asrrh_Memory_inTextSegment = ($address) => {
5007
5018
  asrrh_Memory_$callClinit();
@@ -5167,7 +5178,7 @@ var asra_SymbolTable_addSymbol = ($this, $token, $address, $b, $errors) => {
5167
5178
  $address = $token.$sourcePos;
5168
5179
  $token = new jl_StringBuilder();
5169
5180
  jl_AbstractStringBuilder__init_($token);
5170
- jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append($token, $rt_s(78)), $label), $rt_s(79));
5181
+ jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append($token, $rt_s(77)), $label), $rt_s(78));
5171
5182
  asr_ErrorMessage__init_(var$6, var$7, $b, $address, jl_AbstractStringBuilder_toString($token));
5172
5183
  asr_ErrorList_add($errors, var$6);
5173
5184
  } else {
@@ -5183,9 +5194,9 @@ var asra_SymbolTable_addSymbol = ($this, $token, $address, $b, $errors) => {
5183
5194
  $errors = $this.$filename1;
5184
5195
  var$6 = new jl_StringBuilder();
5185
5196
  jl_AbstractStringBuilder__init_(var$6);
5186
- $label = jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(var$6, $rt_s(80)), $label), $rt_s(81));
5197
+ $label = jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(var$6, $rt_s(79)), $label), $rt_s(80));
5187
5198
  jl_AbstractStringBuilder_append($label, $address);
5188
- jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append($label, $rt_s(82)), $errors), $rt_s(83));
5199
+ jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append($label, $rt_s(81)), $errors), $rt_s(82));
5189
5200
  $errors = jl_AbstractStringBuilder_toString(var$6);
5190
5201
  otcic_JsConsolePrintStream_println($token, $errors);
5191
5202
  }
@@ -5260,7 +5271,7 @@ var asra_SymbolTable_clear = ($this) => {
5260
5271
  $this.$table = ju_ArrayList__init_();
5261
5272
  };
5262
5273
  var asra_SymbolTable__clinit_ = () => {
5263
- asra_SymbolTable_startLabel = $rt_s(18);
5274
+ asra_SymbolTable_startLabel = $rt_s(17);
5264
5275
  };
5265
5276
  function asr_Settings() {
5266
5277
  let a = this;
@@ -5304,27 +5315,27 @@ var asr_Settings__clinit_ = () => {
5304
5315
  var$1 = new asrc_SettingsProperties();
5305
5316
  ju_HashMap__init_0(var$1);
5306
5317
  var$2 = var$1;
5307
- ju_HashMap_put(var$2, $rt_s(84), $rt_s(85));
5308
- ju_HashMap_put(var$2, $rt_s(86), $rt_s(85));
5309
- ju_HashMap_put(var$2, $rt_s(87), $rt_s(85));
5310
- ju_HashMap_put(var$2, $rt_s(88), $rt_s(89));
5311
- ju_HashMap_put(var$2, $rt_s(90), $rt_s(85));
5312
- ju_HashMap_put(var$2, $rt_s(91), $rt_s(89));
5313
- ju_HashMap_put(var$2, $rt_s(92), $rt_s(89));
5314
- ju_HashMap_put(var$2, $rt_s(93), $rt_s(89));
5315
- ju_HashMap_put(var$2, $rt_s(94), $rt_s(89));
5316
- ju_HashMap_put(var$2, $rt_s(95), $rt_s(89));
5317
- ju_HashMap_put(var$2, $rt_s(96), $rt_s(85));
5318
- ju_HashMap_put(var$2, $rt_s(97), $rt_s(85));
5319
- ju_HashMap_put(var$2, $rt_s(98), $rt_s(85));
5320
- ju_HashMap_put(var$2, $rt_s(99), $rt_s(89));
5321
- ju_HashMap_put(var$2, $rt_s(100), $rt_s(85));
5322
- ju_HashMap_put(var$2, $rt_s(101), $rt_s(85));
5323
- ju_HashMap_put(var$2, $rt_s(102), $rt_s(89));
5324
- ju_HashMap_put(var$2, $rt_s(103), $rt_s(3));
5318
+ ju_HashMap_put(var$2, $rt_s(83), $rt_s(84));
5319
+ ju_HashMap_put(var$2, $rt_s(85), $rt_s(84));
5320
+ ju_HashMap_put(var$2, $rt_s(86), $rt_s(84));
5321
+ ju_HashMap_put(var$2, $rt_s(87), $rt_s(88));
5322
+ ju_HashMap_put(var$2, $rt_s(89), $rt_s(84));
5323
+ ju_HashMap_put(var$2, $rt_s(90), $rt_s(88));
5324
+ ju_HashMap_put(var$2, $rt_s(91), $rt_s(88));
5325
+ ju_HashMap_put(var$2, $rt_s(92), $rt_s(88));
5326
+ ju_HashMap_put(var$2, $rt_s(93), $rt_s(88));
5327
+ ju_HashMap_put(var$2, $rt_s(94), $rt_s(88));
5328
+ ju_HashMap_put(var$2, $rt_s(95), $rt_s(84));
5329
+ ju_HashMap_put(var$2, $rt_s(96), $rt_s(84));
5330
+ ju_HashMap_put(var$2, $rt_s(97), $rt_s(84));
5331
+ ju_HashMap_put(var$2, $rt_s(98), $rt_s(88));
5332
+ ju_HashMap_put(var$2, $rt_s(99), $rt_s(84));
5333
+ ju_HashMap_put(var$2, $rt_s(100), $rt_s(84));
5334
+ ju_HashMap_put(var$2, $rt_s(101), $rt_s(88));
5335
+ ju_HashMap_put(var$2, $rt_s(102), $rt_s(3));
5325
5336
  asr_Settings_settingsProperties = var$1;
5326
- asr_Settings_stringSettingsKeys = $rt_wrapArray(jl_String, [$rt_s(104), $rt_s(105), $rt_s(106), $rt_s(103), $rt_s(107), $rt_s(108), $rt_s(109)]);
5327
- asr_Settings_defaultStringSettingsValues = $rt_wrapArray(jl_String, [$rt_s(3), $rt_s(110), $rt_s(6), $rt_s(3), $rt_s(111), $rt_s(112), $rt_s(113)]);
5337
+ asr_Settings_stringSettingsKeys = $rt_wrapArray(jl_String, [$rt_s(103), $rt_s(104), $rt_s(105), $rt_s(102), $rt_s(106), $rt_s(107), $rt_s(108)]);
5338
+ asr_Settings_defaultStringSettingsValues = $rt_wrapArray(jl_String, [$rt_s(3), $rt_s(109), $rt_s(6), $rt_s(3), $rt_s(110), $rt_s(111), $rt_s(112)]);
5328
5339
  };
5329
5340
  var ju_Map = $rt_classWithoutFields(0);
5330
5341
  function ju_AbstractMap() {
@@ -5417,26 +5428,26 @@ var ju_AbstractMap_toString = ($this) => {
5417
5428
  $e = ju_HashMap$EntryIterator_next($iter);
5418
5429
  $e_0 = $e.$key;
5419
5430
  if ($e_0 === $this)
5420
- $e_0 = $rt_s(114);
5431
+ $e_0 = $rt_s(113);
5421
5432
  jl_StringBuilder_append($sb, $e_0);
5422
5433
  jl_AbstractStringBuilder_append0($sb, 61);
5423
5434
  $e_0 = $e.$value0;
5424
5435
  if ($e_0 === $this)
5425
- $e_0 = $rt_s(114);
5436
+ $e_0 = $rt_s(113);
5426
5437
  jl_StringBuilder_append($sb, $e_0);
5427
5438
  }
5428
5439
  $e_0 = $iter;
5429
5440
  while (ju_HashMap$AbstractMapIterator_hasNext(var$3)) {
5430
- jl_AbstractStringBuilder_append1($sb, $rt_s(115));
5441
+ jl_AbstractStringBuilder_append1($sb, $rt_s(114));
5431
5442
  $e = ju_HashMap$EntryIterator_next($e_0);
5432
5443
  $iter = $e.$key;
5433
5444
  if ($iter === $this)
5434
- $iter = $rt_s(114);
5445
+ $iter = $rt_s(113);
5435
5446
  jl_StringBuilder_append($sb, $iter);
5436
5447
  jl_AbstractStringBuilder_append0($sb, 61);
5437
5448
  $iter = $e.$value0;
5438
5449
  if ($iter === $this)
5439
- $iter = $rt_s(114);
5450
+ $iter = $rt_s(113);
5440
5451
  jl_StringBuilder_append($sb, $iter);
5441
5452
  }
5442
5453
  jl_AbstractStringBuilder_append0($sb, 125);
@@ -5599,29 +5610,29 @@ var asru_SystemIO = $rt_classWithoutFields();
5599
5610
  var asru_SystemIO_fileErrorString = null;
5600
5611
  var asru_SystemIO_io = null;
5601
5612
  var asru_SystemIO_readInteger = ($serviceNumber) => {
5602
- return asr_JsRISCVIO_callIntHandler(asru_SystemIO_io, $rt_s(116), $rt_createArray(jl_Object, 0));
5613
+ return asr_JsRISCVIO_callIntHandler(asru_SystemIO_io, $rt_s(115), $rt_createArray(jl_Object, 0));
5603
5614
  };
5604
5615
  var asru_SystemIO_readFloat = ($serviceNumber) => {
5605
5616
  let var$2, var$3;
5606
- var$2 = asr_JsRISCVIO_callHandler(asru_SystemIO_io, $rt_s(117), $rt_createArray(jl_Object, 0));
5617
+ var$2 = asr_JsRISCVIO_callHandler(asru_SystemIO_io, $rt_s(116), $rt_createArray(jl_Object, 0));
5607
5618
  if (typeof var$2 === "number" ? 1 : 0)
5608
5619
  return var$2;
5609
5620
  var$2 = new jl_IllegalArgumentException();
5610
5621
  var$3 = new jl_StringBuilder();
5611
5622
  jl_AbstractStringBuilder__init_(var$3);
5612
- jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(var$3, $rt_s(48)), $rt_s(117)), $rt_s(118));
5623
+ jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(var$3, $rt_s(47)), $rt_s(116)), $rt_s(117));
5613
5624
  jl_Throwable__init_0(var$2, jl_AbstractStringBuilder_toString(var$3));
5614
5625
  $rt_throw(var$2);
5615
5626
  };
5616
5627
  var asru_SystemIO_readDouble = ($serviceNumber) => {
5617
5628
  let var$2, var$3;
5618
- var$2 = asr_JsRISCVIO_callHandler(asru_SystemIO_io, $rt_s(119), $rt_createArray(jl_Object, 0));
5629
+ var$2 = asr_JsRISCVIO_callHandler(asru_SystemIO_io, $rt_s(118), $rt_createArray(jl_Object, 0));
5619
5630
  if (typeof var$2 === "number" ? 1 : 0)
5620
5631
  return var$2;
5621
5632
  var$2 = new jl_IllegalArgumentException();
5622
5633
  var$3 = new jl_StringBuilder();
5623
5634
  jl_AbstractStringBuilder__init_(var$3);
5624
- jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(var$3, $rt_s(48)), $rt_s(119)), $rt_s(120));
5635
+ jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(var$3, $rt_s(47)), $rt_s(118)), $rt_s(119));
5625
5636
  jl_Throwable__init_0(var$2, jl_AbstractStringBuilder_toString(var$3));
5626
5637
  $rt_throw(var$2);
5627
5638
  };
@@ -5630,11 +5641,11 @@ var asru_SystemIO_printString = ($string) => {
5630
5641
  var$2 = asru_SystemIO_io;
5631
5642
  var$3 = $rt_createArray(jl_Object, 1);
5632
5643
  var$3.data[0] = otji_JSWrapper_wrap($rt_ustr($string));
5633
- asr_JsRISCVIO_callHandler(var$2, $rt_s(121), var$3);
5644
+ asr_JsRISCVIO_callHandler(var$2, $rt_s(120), var$3);
5634
5645
  };
5635
5646
  var asru_SystemIO_readChar = ($serviceNumber) => {
5636
5647
  let $input, $e, var$4, $$je;
5637
- $input = asr_JsRISCVIO_callStringHandler(asru_SystemIO_io, $rt_s(122), $rt_createArray(jl_Object, 0));
5648
+ $input = asr_JsRISCVIO_callStringHandler(asru_SystemIO_io, $rt_s(121), $rt_createArray(jl_Object, 0));
5638
5649
  if ($input.$nativeString.length == 1) {
5639
5650
  $input = jl_String_valueOf1(jl_String_charAt($input, 0));
5640
5651
  a: {
@@ -5656,7 +5667,7 @@ var asru_SystemIO_readChar = ($serviceNumber) => {
5656
5667
  $input = new jl_IllegalArgumentException();
5657
5668
  var$4 = new jl_StringBuilder();
5658
5669
  jl_AbstractStringBuilder__init_(var$4);
5659
- jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(var$4, $rt_s(48)), $rt_s(122)), $rt_s(123));
5670
+ jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(var$4, $rt_s(47)), $rt_s(121)), $rt_s(122));
5660
5671
  jl_Throwable__init_0($input, jl_AbstractStringBuilder_toString(var$4));
5661
5672
  $rt_throw($input);
5662
5673
  };
@@ -5668,9 +5679,9 @@ var asru_SystemIO_resetFiles = () => {
5668
5679
  var$1 = var$1 + 1 | 0;
5669
5680
  }
5670
5681
  var$2 = asru_SystemIO$FileIOData_fileNames.data;
5671
- var$2[0] = $rt_s(124);
5672
- var$2[1] = $rt_s(125);
5673
- var$2[2] = $rt_s(126);
5682
+ var$2[0] = $rt_s(123);
5683
+ var$2[1] = $rt_s(124);
5684
+ var$2[2] = $rt_s(125);
5674
5685
  var$2 = asru_SystemIO$FileIOData_fileFlags.data;
5675
5686
  var$2[0] = 0;
5676
5687
  var$2[1] = 1;
@@ -5686,7 +5697,7 @@ var asru_SystemIO_resetFiles = () => {
5686
5697
  otcic_JsConsolePrintStream_flush(jl_System_err());
5687
5698
  };
5688
5699
  var asru_SystemIO__clinit_ = () => {
5689
- asru_SystemIO_fileErrorString = jl_String__init_0($rt_s(127));
5700
+ asru_SystemIO_fileErrorString = jl_String__init_0($rt_s(126));
5690
5701
  };
5691
5702
  function asr_RISCVprogram() {
5692
5703
  let a = this;
@@ -5737,7 +5748,7 @@ var asr_RISCVprogram_readSource = ($this, $file, $source) => {
5737
5748
  let var$3, var$4;
5738
5749
  $this.$filename = $file;
5739
5750
  var$3 = new ju_ArrayList();
5740
- var$4 = jl_String_split($source, $rt_s(43));
5751
+ var$4 = jl_String_split($source, $rt_s(42));
5741
5752
  ju_Objects_requireNonNull(var$4);
5742
5753
  $file = new ju_Arrays$ArrayAsList();
5743
5754
  $file.$array3 = var$4;
@@ -6099,7 +6110,7 @@ var jl_Enum_compareTo = ($this, var$1) => {
6099
6110
  var$1 = jl_String_valueOf(jl_Enum_getDeclaringClass(var$1));
6100
6111
  var$4 = new jl_StringBuilder();
6101
6112
  jl_AbstractStringBuilder__init_(var$4);
6102
- jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(var$4, $rt_s(128)), var$3), $rt_s(129)), var$1);
6113
+ jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(var$4, $rt_s(127)), var$3), $rt_s(128)), var$1);
6103
6114
  jl_Throwable__init_0(var$2, jl_AbstractStringBuilder_toString(var$4));
6104
6115
  $rt_throw(var$2);
6105
6116
  };
@@ -6153,28 +6164,28 @@ var asr_Settings$Bool_getName = ($this) => {
6153
6164
  };
6154
6165
  var asr_Settings$Bool__clinit_ = () => {
6155
6166
  let var$1, var$2, var$3;
6156
- asr_Settings$Bool_EXTENDED_ASSEMBLER_ENABLED = asr_Settings$Bool__init_($rt_s(130), 0, $rt_s(95), 1);
6157
- asr_Settings$Bool_ASSEMBLE_ON_OPEN = asr_Settings$Bool__init_($rt_s(131), 1, $rt_s(86), 0);
6158
- asr_Settings$Bool_ASSEMBLE_OPEN = asr_Settings$Bool__init_($rt_s(132), 2, $rt_s(133), 0);
6159
- asr_Settings$Bool_ASSEMBLE_ALL = asr_Settings$Bool__init_($rt_s(134), 3, $rt_s(84), 0);
6160
- asr_Settings$Bool_LABEL_WINDOW_VISIBILITY = asr_Settings$Bool__init_($rt_s(135), 4, $rt_s(96), 0);
6161
- asr_Settings$Bool_DISPLAY_ADDRESSES_IN_HEX = asr_Settings$Bool__init_($rt_s(136), 5, $rt_s(91), 1);
6162
- asr_Settings$Bool_DISPLAY_VALUES_IN_HEX = asr_Settings$Bool__init_($rt_s(137), 6, $rt_s(92), 1);
6163
- asr_Settings$Bool_EXCEPTION_HANDLER_ENABLED = asr_Settings$Bool__init_($rt_s(138), 7, $rt_s(97), 0);
6164
- asr_Settings$Bool_EDITOR_LINE_NUMBERS_DISPLAYED = asr_Settings$Bool__init_($rt_s(139), 8, $rt_s(94), 1);
6165
- asr_Settings$Bool_WARNINGS_ARE_ERRORS = asr_Settings$Bool__init_($rt_s(140), 9, $rt_s(101), 0);
6166
- asr_Settings$Bool_PROGRAM_ARGUMENTS = asr_Settings$Bool__init_($rt_s(141), 10, $rt_s(98), 0);
6167
- asr_Settings$Bool_DATA_SEGMENT_HIGHLIGHTING = asr_Settings$Bool__init_($rt_s(142), 11, $rt_s(88), 1);
6168
- asr_Settings$Bool_REGISTERS_HIGHLIGHTING = asr_Settings$Bool__init_($rt_s(143), 12, $rt_s(99), 1);
6169
- asr_Settings$Bool_START_AT_MAIN = asr_Settings$Bool__init_($rt_s(144), 13, $rt_s(100), 0);
6170
- asr_Settings$Bool_EDITOR_CURRENT_LINE_HIGHLIGHTING = asr_Settings$Bool__init_($rt_s(145), 14, $rt_s(93), 1);
6171
- asr_Settings$Bool_POPUP_INSTRUCTION_GUIDANCE = asr_Settings$Bool__init_($rt_s(146), 15, $rt_s(102), 1);
6172
- asr_Settings$Bool_POPUP_SYSCALL_INPUT = asr_Settings$Bool__init_($rt_s(147), 16, $rt_s(148), 0);
6173
- asr_Settings$Bool_GENERIC_TEXT_EDITOR = asr_Settings$Bool__init_($rt_s(149), 17, $rt_s(150), 0);
6174
- asr_Settings$Bool_AUTO_INDENT = asr_Settings$Bool__init_($rt_s(151), 18, $rt_s(152), 1);
6175
- asr_Settings$Bool_SELF_MODIFYING_CODE_ENABLED = asr_Settings$Bool__init_($rt_s(153), 19, $rt_s(154), 0);
6176
- asr_Settings$Bool_RV64_ENABLED = asr_Settings$Bool__init_($rt_s(155), 20, $rt_s(156), 0);
6177
- var$1 = asr_Settings$Bool__init_($rt_s(157), 21, $rt_s(158), 0);
6167
+ asr_Settings$Bool_EXTENDED_ASSEMBLER_ENABLED = asr_Settings$Bool__init_($rt_s(129), 0, $rt_s(94), 1);
6168
+ asr_Settings$Bool_ASSEMBLE_ON_OPEN = asr_Settings$Bool__init_($rt_s(130), 1, $rt_s(85), 0);
6169
+ asr_Settings$Bool_ASSEMBLE_OPEN = asr_Settings$Bool__init_($rt_s(131), 2, $rt_s(132), 0);
6170
+ asr_Settings$Bool_ASSEMBLE_ALL = asr_Settings$Bool__init_($rt_s(133), 3, $rt_s(83), 0);
6171
+ asr_Settings$Bool_LABEL_WINDOW_VISIBILITY = asr_Settings$Bool__init_($rt_s(134), 4, $rt_s(95), 0);
6172
+ asr_Settings$Bool_DISPLAY_ADDRESSES_IN_HEX = asr_Settings$Bool__init_($rt_s(135), 5, $rt_s(90), 1);
6173
+ asr_Settings$Bool_DISPLAY_VALUES_IN_HEX = asr_Settings$Bool__init_($rt_s(136), 6, $rt_s(91), 1);
6174
+ asr_Settings$Bool_EXCEPTION_HANDLER_ENABLED = asr_Settings$Bool__init_($rt_s(137), 7, $rt_s(96), 0);
6175
+ asr_Settings$Bool_EDITOR_LINE_NUMBERS_DISPLAYED = asr_Settings$Bool__init_($rt_s(138), 8, $rt_s(93), 1);
6176
+ asr_Settings$Bool_WARNINGS_ARE_ERRORS = asr_Settings$Bool__init_($rt_s(139), 9, $rt_s(100), 0);
6177
+ asr_Settings$Bool_PROGRAM_ARGUMENTS = asr_Settings$Bool__init_($rt_s(140), 10, $rt_s(97), 0);
6178
+ asr_Settings$Bool_DATA_SEGMENT_HIGHLIGHTING = asr_Settings$Bool__init_($rt_s(141), 11, $rt_s(87), 1);
6179
+ asr_Settings$Bool_REGISTERS_HIGHLIGHTING = asr_Settings$Bool__init_($rt_s(142), 12, $rt_s(98), 1);
6180
+ asr_Settings$Bool_START_AT_MAIN = asr_Settings$Bool__init_($rt_s(143), 13, $rt_s(99), 0);
6181
+ asr_Settings$Bool_EDITOR_CURRENT_LINE_HIGHLIGHTING = asr_Settings$Bool__init_($rt_s(144), 14, $rt_s(92), 1);
6182
+ asr_Settings$Bool_POPUP_INSTRUCTION_GUIDANCE = asr_Settings$Bool__init_($rt_s(145), 15, $rt_s(101), 1);
6183
+ asr_Settings$Bool_POPUP_SYSCALL_INPUT = asr_Settings$Bool__init_($rt_s(146), 16, $rt_s(147), 0);
6184
+ asr_Settings$Bool_GENERIC_TEXT_EDITOR = asr_Settings$Bool__init_($rt_s(148), 17, $rt_s(149), 0);
6185
+ asr_Settings$Bool_AUTO_INDENT = asr_Settings$Bool__init_($rt_s(150), 18, $rt_s(151), 1);
6186
+ asr_Settings$Bool_SELF_MODIFYING_CODE_ENABLED = asr_Settings$Bool__init_($rt_s(152), 19, $rt_s(153), 0);
6187
+ asr_Settings$Bool_RV64_ENABLED = asr_Settings$Bool__init_($rt_s(154), 20, $rt_s(155), 0);
6188
+ var$1 = asr_Settings$Bool__init_($rt_s(156), 21, $rt_s(157), 0);
6178
6189
  asr_Settings$Bool_DERIVE_CURRENT_WORKING_DIRECTORY = var$1;
6179
6190
  var$2 = $rt_createArray(asr_Settings$Bool, 22);
6180
6191
  var$3 = var$2.data;
@@ -6215,9 +6226,9 @@ var asrrh_MemoryConfigurations_buildConfigurationCollection = () => {
6215
6226
  if (asrrh_MemoryConfigurations_configurations === null) {
6216
6227
  var$1 = ju_ArrayList__init_();
6217
6228
  asrrh_MemoryConfigurations_configurations = var$1;
6218
- ju_ArrayList_add(var$1, asrrh_MemoryConfiguration__init_($rt_s(159), $rt_s(159), asrrh_MemoryConfigurations_configurationItemNames, asrrh_MemoryConfigurations_defaultConfigurationItemValues));
6219
- ju_ArrayList_add(asrrh_MemoryConfigurations_configurations, asrrh_MemoryConfiguration__init_($rt_s(160), $rt_s(161), asrrh_MemoryConfigurations_configurationItemNames, asrrh_MemoryConfigurations_dataBasedCompactConfigurationItemValues));
6220
- ju_ArrayList_add(asrrh_MemoryConfigurations_configurations, asrrh_MemoryConfiguration__init_($rt_s(162), $rt_s(163), asrrh_MemoryConfigurations_configurationItemNames, asrrh_MemoryConfigurations_textBasedCompactConfigurationItemValues));
6229
+ ju_ArrayList_add(var$1, asrrh_MemoryConfiguration__init_($rt_s(158), $rt_s(158), asrrh_MemoryConfigurations_configurationItemNames, asrrh_MemoryConfigurations_defaultConfigurationItemValues));
6230
+ ju_ArrayList_add(asrrh_MemoryConfigurations_configurations, asrrh_MemoryConfiguration__init_($rt_s(159), $rt_s(160), asrrh_MemoryConfigurations_configurationItemNames, asrrh_MemoryConfigurations_dataBasedCompactConfigurationItemValues));
6231
+ ju_ArrayList_add(asrrh_MemoryConfigurations_configurations, asrrh_MemoryConfiguration__init_($rt_s(161), $rt_s(162), asrrh_MemoryConfigurations_configurationItemNames, asrrh_MemoryConfigurations_textBasedCompactConfigurationItemValues));
6221
6232
  var$2 = ju_ArrayList_get(asrrh_MemoryConfigurations_configurations, 0);
6222
6233
  asrrh_MemoryConfigurations_defaultConfiguration = var$2;
6223
6234
  asrrh_MemoryConfigurations_currentConfiguration = var$2;
@@ -6239,8 +6250,8 @@ var asrrh_MemoryConfigurations_buildConfigurationCollection = () => {
6239
6250
  if (var$2 !== null && var$2 !== asrrh_MemoryConfigurations_currentConfiguration) {
6240
6251
  asrrh_MemoryConfigurations_currentConfiguration = var$2;
6241
6252
  asrrh_Memory_clear(asr_Globals_memory);
6242
- asrrh_Register_changeResetValue(asrrh_RegisterFile_getRegister($rt_s(164)), Long_fromInt(asrrh_MemoryConfiguration_getGlobalPointer(var$2)));
6243
- asrrh_Register_changeResetValue(asrrh_RegisterFile_getRegister($rt_s(17)), Long_fromInt(asrrh_MemoryConfiguration_getStackPointer(var$2)));
6253
+ asrrh_Register_changeResetValue(asrrh_RegisterFile_getRegister($rt_s(163)), Long_fromInt(asrrh_MemoryConfiguration_getGlobalPointer(var$2)));
6254
+ asrrh_Register_changeResetValue(asrrh_RegisterFile_getRegister($rt_s(164)), Long_fromInt(asrrh_MemoryConfiguration_getStackPointer(var$2)));
6244
6255
  asrrh_Register_changeResetValue(asrrh_RegisterFile_programCounter, Long_fromInt(asrrh_MemoryConfiguration_getTextBaseAddress(var$2)));
6245
6256
  asrrh_RegisterFile_initializeProgramCounter(asrrh_MemoryConfiguration_getTextBaseAddress(var$2));
6246
6257
  asrrh_RegisterFile_resetRegisters();
@@ -6288,10 +6299,10 @@ var jl_Boolean_valueOf = ($value) => {
6288
6299
  return !$value ? jl_Boolean_FALSE : jl_Boolean_TRUE;
6289
6300
  };
6290
6301
  var jl_Boolean_valueOf0 = ($value) => {
6291
- return jl_Boolean_valueOf($value !== null && jl_String_equals(jl_String_toLowerCase($value), $rt_s(89)) ? 1 : 0);
6302
+ return jl_Boolean_valueOf($value !== null && jl_String_equals(jl_String_toLowerCase($value), $rt_s(88)) ? 1 : 0);
6292
6303
  };
6293
6304
  var jl_Boolean_toString = ($this) => {
6294
- return !$this.$value4 ? $rt_s(85) : $rt_s(89);
6305
+ return !$this.$value4 ? $rt_s(84) : $rt_s(88);
6295
6306
  };
6296
6307
  var jl_Boolean_equals = ($this, $obj) => {
6297
6308
  if ($this === $obj)
@@ -6721,7 +6732,7 @@ var asr_ProgramStatement_toString = ($this) => {
6721
6732
  jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(var$5, var$3), var$2), $rt_s(198)), var$4);
6722
6733
  var$2 = jl_AbstractStringBuilder_toString(var$5);
6723
6734
  } else {
6724
- $firstSpace = jl_String_indexOf0(var$2, $rt_s(38));
6735
+ $firstSpace = jl_String_indexOf0(var$2, $rt_s(37));
6725
6736
  var$2 = jl_String_substring($rt_s(197), 0, 16 - var$3.$nativeString.length | 0);
6726
6737
  var$4 = jl_String_substring($this.$basicAssemblyStatement, 0, $firstSpace);
6727
6738
  var$5 = new jl_StringBuilder();
@@ -7048,6 +7059,10 @@ var asrrh_RegisterFile_initializeProgramCounter0 = ($startAtMain) => {
7048
7059
  else
7049
7060
  asrrh_RegisterFile_initializeProgramCounter(Long_lo(asrrh_RegisterFile_programCounter.$resetValue0));
7050
7061
  };
7062
+ var asrrh_RegisterFile_getStackPointerRegister = () => {
7063
+ asrrh_RegisterFile_$callClinit();
7064
+ return asrrh_RegisterBlock_getRegister(asrrh_RegisterFile_instance, $rt_s(164));
7065
+ };
7051
7066
  var asrrh_RegisterFile_setProgramCounter = ($value) => {
7052
7067
  let $old, var$3;
7053
7068
  asrrh_RegisterFile_$callClinit();
@@ -7084,9 +7099,9 @@ var asrrh_RegisterFile__clinit_ = () => {
7084
7099
  var$3[1] = asrrh_Register__init_($rt_s(214), 1, Long_ZERO);
7085
7100
  var$4 = new asrrh_Register();
7086
7101
  asrrh_Memory_$callClinit();
7087
- asrrh_Register__init_0(var$4, $rt_s(17), 2, Long_fromInt(asrrh_Memory_stackPointer));
7102
+ asrrh_Register__init_0(var$4, $rt_s(164), 2, Long_fromInt(asrrh_Memory_stackPointer));
7088
7103
  var$3[2] = var$4;
7089
- var$3[3] = asrrh_Register__init_($rt_s(164), 3, Long_fromInt(asrrh_Memory_globalPointer));
7104
+ var$3[3] = asrrh_Register__init_($rt_s(163), 3, Long_fromInt(asrrh_Memory_globalPointer));
7090
7105
  var$3[4] = asrrh_Register__init_($rt_s(215), 4, Long_ZERO);
7091
7106
  var$3[5] = asrrh_Register__init_($rt_s(216), 5, Long_ZERO);
7092
7107
  var$3[6] = asrrh_Register__init_($rt_s(217), 6, Long_ZERO);
@@ -7119,6 +7134,40 @@ var asrrh_RegisterFile__clinit_ = () => {
7119
7134
  asrrh_RegisterFile_instance = var$1;
7120
7135
  asrrh_RegisterFile_programCounter = asrrh_Register__init_($rt_s(242), -1, Long_fromInt(asrrh_Memory_textBaseAddress));
7121
7136
  };
7137
+ var asr_JsRiscV$getTokenizedLines$lambda$_5_0 = $rt_classWithoutFields();
7138
+ var asr_JsRiscV$getTokenizedLines$lambda$_5_0_apply = (var$0, var$1) => {
7139
+ let var$2, var$3, var$4, var$5;
7140
+ var$1 = var$1;
7141
+ asr_JsRiscV_$callClinit();
7142
+ var$2 = $rt_createArray(asr_JsRiscVToken, asra_TokenList_size(var$1));
7143
+ var$3 = var$2.data;
7144
+ var$4 = 0;
7145
+ while (var$4 < asra_TokenList_size(var$1)) {
7146
+ var$3[var$4] = asr_JsRiscVToken__init_(asra_TokenList_get(var$1, var$4));
7147
+ var$4 = var$4 + 1 | 0;
7148
+ }
7149
+ var$5 = new asr_JsRiscVTokenizedLine();
7150
+ var$5.$line0 = var$1.$processedLine;
7151
+ var$5.$tokens0 = var$2;
7152
+ return var$5;
7153
+ };
7154
+ var asr_JsRiscV$getTokenizedLines$lambda$_5_1 = $rt_classWithoutFields();
7155
+ var asr_JsRiscV$getTokenizedLines$lambda$_5_1_apply = (var$0, var$1) => {
7156
+ asr_JsRiscV_$callClinit();
7157
+ return $rt_createArray(asr_JsRiscVTokenizedLine, var$1);
7158
+ };
7159
+ function asr_JsRiscVTokenizedLine() {
7160
+ let a = this;
7161
+ jl_Object.call(a);
7162
+ a.$line0 = null;
7163
+ a.$tokens0 = null;
7164
+ }
7165
+ var asr_JsRiscVTokenizedLine_getLine$exported$0 = (var$1) => {
7166
+ return $rt_ustr(var$1.$line0);
7167
+ };
7168
+ var asr_JsRiscVTokenizedLine_getTokens$exported$1 = (var$1) => {
7169
+ return otji_JS_wrap(var$1.$tokens0);
7170
+ };
7122
7171
  function asr_JsProgramStatement() {
7123
7172
  let a = this;
7124
7173
  jl_Object.call(a);
@@ -7196,40 +7245,6 @@ var asr_JsProgramStatement_getBinaryStatement$exported$4 = (var$1) => {
7196
7245
  var asr_JsProgramStatement_getMachineStatement$exported$5 = (var$1) => {
7197
7246
  return $rt_ustr(var$1.$machineStatement0);
7198
7247
  };
7199
- var asr_JsRiscV$getTokenizedLines$lambda$_5_0 = $rt_classWithoutFields();
7200
- var asr_JsRiscV$getTokenizedLines$lambda$_5_0_apply = (var$0, var$1) => {
7201
- let var$2, var$3, var$4, var$5;
7202
- var$1 = var$1;
7203
- asr_JsRiscV_$callClinit();
7204
- var$2 = $rt_createArray(asr_JsRiscVToken, asra_TokenList_size(var$1));
7205
- var$3 = var$2.data;
7206
- var$4 = 0;
7207
- while (var$4 < asra_TokenList_size(var$1)) {
7208
- var$3[var$4] = asr_JsRiscVToken__init_(asra_TokenList_get(var$1, var$4));
7209
- var$4 = var$4 + 1 | 0;
7210
- }
7211
- var$5 = new asr_JsRiscVTokenizedLine();
7212
- var$5.$line0 = var$1.$processedLine;
7213
- var$5.$tokens0 = var$2;
7214
- return var$5;
7215
- };
7216
- var asr_JsRiscV$getTokenizedLines$lambda$_5_1 = $rt_classWithoutFields();
7217
- var asr_JsRiscV$getTokenizedLines$lambda$_5_1_apply = (var$0, var$1) => {
7218
- asr_JsRiscV_$callClinit();
7219
- return $rt_createArray(asr_JsRiscVTokenizedLine, var$1);
7220
- };
7221
- function asr_JsRiscVTokenizedLine() {
7222
- let a = this;
7223
- jl_Object.call(a);
7224
- a.$line0 = null;
7225
- a.$tokens0 = null;
7226
- }
7227
- var asr_JsRiscVTokenizedLine_getLine$exported$0 = (var$1) => {
7228
- return $rt_ustr(var$1.$line0);
7229
- };
7230
- var asr_JsRiscVTokenizedLine_getTokens$exported$1 = (var$1) => {
7231
- return otji_JS_wrap(var$1.$tokens0);
7232
- };
7233
7248
  var ju_Arrays = $rt_classWithoutFields();
7234
7249
  var ju_Arrays_copyOf1 = ($array, $length) => {
7235
7250
  let $result, var$4, $sz, $i;
@@ -7460,6 +7475,30 @@ var asr_JsBackStep_getAction$exported$2 = (var$1) => {
7460
7475
  var asr_JsBackStep_getParam1$exported$3 = (var$1) => {
7461
7476
  return var$1.$param10;
7462
7477
  };
7478
+ function asr_JsStackFrame() {
7479
+ let a = this;
7480
+ jl_Object.call(a);
7481
+ a.$pc3 = 0;
7482
+ a.$toAddress0 = 0;
7483
+ a.$sp = 0;
7484
+ a.$fp = 0;
7485
+ a.$registers = null;
7486
+ }
7487
+ var asr_JsStackFrame_getPc$exported$0 = (var$1) => {
7488
+ return var$1.$pc3;
7489
+ };
7490
+ var asr_JsStackFrame_getToAddress$exported$1 = (var$1) => {
7491
+ return var$1.$toAddress0;
7492
+ };
7493
+ var asr_JsStackFrame_getRegisters$exported$2 = (var$1) => {
7494
+ return otji_JS_wrap0(var$1.$registers);
7495
+ };
7496
+ var asr_JsStackFrame_getSp$exported$3 = (var$1) => {
7497
+ return var$1.$sp;
7498
+ };
7499
+ var asr_JsStackFrame_getFp$exported$4 = (var$1) => {
7500
+ return var$1.$fp;
7501
+ };
7463
7502
  function asr_JsCompilationResult() {
7464
7503
  let a = this;
7465
7504
  jl_Object.call(a);
@@ -7522,30 +7561,6 @@ var asr_AssemblyException__init_ = (var_0) => {
7522
7561
  asr_AssemblyException__init_0(var_1, var_0);
7523
7562
  return var_1;
7524
7563
  };
7525
- function asr_JsStackFrame() {
7526
- let a = this;
7527
- jl_Object.call(a);
7528
- a.$pc3 = 0;
7529
- a.$toAddress = 0;
7530
- a.$sp = 0;
7531
- a.$fp = 0;
7532
- a.$registers = null;
7533
- }
7534
- var asr_JsStackFrame_getPc$exported$0 = (var$1) => {
7535
- return var$1.$pc3;
7536
- };
7537
- var asr_JsStackFrame_getToAddress$exported$1 = (var$1) => {
7538
- return var$1.$toAddress;
7539
- };
7540
- var asr_JsStackFrame_getRegisters$exported$2 = (var$1) => {
7541
- return otji_JS_wrap0(var$1.$registers);
7542
- };
7543
- var asr_JsStackFrame_getSp$exported$3 = (var$1) => {
7544
- return var$1.$sp;
7545
- };
7546
- var asr_JsStackFrame_getFp$exported$4 = (var$1) => {
7547
- return var$1.$fp;
7548
- };
7549
7564
  var ju_Map$Entry = $rt_classWithoutFields(0);
7550
7565
  function ju_MapEntry() {
7551
7566
  let a = this;
@@ -7751,7 +7766,7 @@ var asrr_BasicInstruction__init_ = ($this, $example, $description, $instrFormat,
7751
7766
  $this.$mnemonic = asrr_Instruction_extractOperator($this, $example);
7752
7767
  $this.$description = $description;
7753
7768
  $this.$instructionFormat = $instrFormat;
7754
- $description = jl_String_replaceAll($operMask, $rt_s(38), $rt_s(3));
7769
+ $description = jl_String_replaceAll($operMask, $rt_s(37), $rt_s(3));
7755
7770
  $this.$operationMask = $description;
7756
7771
  if ($description.$nativeString.length != 32) {
7757
7772
  $description = jl_System_out();
@@ -10087,10 +10102,29 @@ var asrri_JAL__init_ = () => {
10087
10102
  return var_0;
10088
10103
  };
10089
10104
  var asrri_JAL_simulate = ($this, $statement) => {
10090
- let $operands;
10105
+ let $operands, $address, var$4, var$5, var$6, var$7, var$8, var$9, var$10, var$11;
10091
10106
  $operands = $statement.$operands.data;
10092
10107
  asrr_InstructionSet_processReturnAddress($operands[0]);
10093
- asrr_InstructionSet_processJump((asrrh_RegisterFile_getProgramCounter() - 4 | 0) + $operands[1] | 0);
10108
+ $address = (asrrh_RegisterFile_getProgramCounter() - 4 | 0) + $operands[1] | 0;
10109
+ var$4 = new asrrh_StackFrame();
10110
+ var$5 = asrrh_RegisterFile_getProgramCounter();
10111
+ var$6 = Long_lo(asrrh_RegisterFile_getStackPointerRegister().$getValue());
10112
+ var$7 = Long_lo(asrrh_RegisterBlock_getRegister(asrrh_RegisterFile_instance, $rt_s(212)).$getValue());
10113
+ var$8 = asrrh_RegisterFile_instance.$regFile.data.length;
10114
+ var$9 = $rt_createIntArray(var$8);
10115
+ var$10 = var$9.data;
10116
+ var$11 = 0;
10117
+ while (var$11 < var$8) {
10118
+ var$10[var$11] = Long_lo(asrrh_RegisterFile_instance.$regFile.data[var$11].$getValue());
10119
+ var$11 = var$11 + 1 | 0;
10120
+ }
10121
+ var$4.$pc4 = var$5;
10122
+ var$4.$sp0 = var$6;
10123
+ var$4.$fp0 = var$7;
10124
+ var$4.$toAddress = $address;
10125
+ var$4.$registers0 = var$9;
10126
+ ju_ArrayList_add(asrrh_Stack_callStack, var$4);
10127
+ asrr_InstructionSet_processJump($address);
10094
10128
  };
10095
10129
  var asrri_JALR = $rt_classWithoutFields(asrr_BasicInstruction);
10096
10130
  var asrri_JALR__init_ = ($this) => {
@@ -10106,6 +10140,10 @@ var asrri_JALR_simulate = ($this, $statement) => {
10106
10140
  $operands = $statement.$operands.data;
10107
10141
  $target = asrrh_RegisterFile_getValue0($operands[1]);
10108
10142
  asrr_InstructionSet_processReturnAddress($operands[0]);
10143
+ if (!$operands[0] && $operands[1] == 1 && !ju_AbstractCollection_isEmpty(asrrh_Stack_callStack)) {
10144
+ $statement = asrrh_Stack_callStack;
10145
+ ju_ArrayList_remove($statement, $statement.$size0 - 1 | 0);
10146
+ }
10109
10147
  asrr_InstructionSet_processJump(($target + ($operands[2] << 20 >> 20) | 0) & -2);
10110
10148
  };
10111
10149
  var asrri_Load = $rt_classWithoutFields(asrr_BasicInstruction);
@@ -11065,10 +11103,10 @@ var asrr_PseudoOps_PSEUDO_OPS_64 = null;
11065
11103
  var asrr_PseudoOps__clinit_ = () => {
11066
11104
  asrr_PseudoOps_PSEUDO_OPS = $rt_wrapArray(jl_String, [
11067
11105
  $rt_s(757),
11068
- $rt_s(59),
11106
+ $rt_s(58),
11069
11107
  $rt_s(758),
11070
11108
  $rt_s(759),
11071
- $rt_s(59),
11109
+ $rt_s(58),
11072
11110
  $rt_s(760),
11073
11111
  $rt_s(761),
11074
11112
  $rt_s(762),
@@ -11076,10 +11114,10 @@ var asrr_PseudoOps__clinit_ = () => {
11076
11114
  $rt_s(764),
11077
11115
  $rt_s(765),
11078
11116
  $rt_s(766),
11079
- $rt_s(59),
11117
+ $rt_s(58),
11080
11118
  $rt_s(767),
11081
11119
  $rt_s(768),
11082
- $rt_s(59),
11120
+ $rt_s(58),
11083
11121
  $rt_s(769),
11084
11122
  $rt_s(770),
11085
11123
  $rt_s(771),
@@ -11087,7 +11125,7 @@ var asrr_PseudoOps__clinit_ = () => {
11087
11125
  $rt_s(773),
11088
11126
  $rt_s(774),
11089
11127
  $rt_s(775),
11090
- $rt_s(59),
11128
+ $rt_s(58),
11091
11129
  $rt_s(776),
11092
11130
  $rt_s(3),
11093
11131
  $rt_s(3),
@@ -11111,15 +11149,15 @@ var asrr_PseudoOps__clinit_ = () => {
11111
11149
  $rt_s(793),
11112
11150
  $rt_s(794),
11113
11151
  $rt_s(795),
11114
- $rt_s(59),
11152
+ $rt_s(58),
11115
11153
  $rt_s(796),
11116
- $rt_s(59),
11154
+ $rt_s(58),
11117
11155
  $rt_s(797),
11118
11156
  $rt_s(798),
11119
11157
  $rt_s(799),
11120
- $rt_s(59),
11158
+ $rt_s(58),
11121
11159
  $rt_s(800),
11122
- $rt_s(59),
11160
+ $rt_s(58),
11123
11161
  $rt_s(801),
11124
11162
  $rt_s(802),
11125
11163
  $rt_s(803),
@@ -11181,10 +11219,10 @@ var asrr_PseudoOps__clinit_ = () => {
11181
11219
  $rt_s(852),
11182
11220
  $rt_s(3),
11183
11221
  $rt_s(853),
11184
- $rt_s(59),
11222
+ $rt_s(58),
11185
11223
  $rt_s(854),
11186
11224
  $rt_s(855),
11187
- $rt_s(59),
11225
+ $rt_s(58),
11188
11226
  $rt_s(3),
11189
11227
  $rt_s(856),
11190
11228
  $rt_s(857),
@@ -11732,6 +11770,15 @@ var asrrh_RegisterBlock_resetRegisters = ($this) => {
11732
11770
  var$3 = var$3 + 1 | 0;
11733
11771
  }
11734
11772
  };
11773
+ function asrrh_StackFrame() {
11774
+ let a = this;
11775
+ jl_Object.call(a);
11776
+ a.$pc4 = 0;
11777
+ a.$toAddress = 0;
11778
+ a.$sp0 = 0;
11779
+ a.$fp0 = 0;
11780
+ a.$registers0 = null;
11781
+ }
11735
11782
  function asr_ErrorList() {
11736
11783
  let a = this;
11737
11784
  jl_Object.call(a);
@@ -11839,7 +11886,6 @@ var asr_ErrorList_generateReport = ($this, $isWarning) => {
11839
11886
  }
11840
11887
  return jl_AbstractStringBuilder_toString($report);
11841
11888
  };
11842
- var asrrh_StackFrame = $rt_classWithoutFields();
11843
11889
  function asrrh_MemoryConfiguration() {
11844
11890
  let a = this;
11845
11891
  jl_Object.call(a);
@@ -12335,7 +12381,7 @@ var asrrs_SyscallOpen_simulate = ($this, $statement) => {
12335
12381
  if ($retValue < 32) {
12336
12382
  var$6[$retValue] = jl_String__init_0(var$2);
12337
12383
  asru_SystemIO$FileIOData_fileFlags.data[$retValue] = var$3;
12338
- asru_SystemIO_fileErrorString = jl_String__init_0($rt_s(127));
12384
+ asru_SystemIO_fileErrorString = jl_String__init_0($rt_s(126));
12339
12385
  } else {
12340
12386
  $statement = new jl_StringBuilder();
12341
12387
  jl_AbstractStringBuilder__init_($statement);
@@ -12916,17 +12962,17 @@ var asrrs_SyscallReadString_simulate = ($this, $statement) => {
12916
12962
  }
12917
12963
  a: {
12918
12964
  var$5 = asr_JsRISCVIO_callStringHandler(asru_SystemIO_io, $rt_s(1059), $rt_createArray(jl_Object, 0));
12919
- if (var$5 === $rt_s(43))
12965
+ if (var$5 === $rt_s(42))
12920
12966
  $stringLength = 1;
12921
- else if ($rt_s(43).$nativeString.length > var$5.$nativeString.length)
12967
+ else if ($rt_s(42).$nativeString.length > var$5.$nativeString.length)
12922
12968
  $stringLength = 0;
12923
12969
  else {
12924
12970
  $index = 0;
12925
- var$8 = var$5.$nativeString.length - $rt_s(43).$nativeString.length | 0;
12971
+ var$8 = var$5.$nativeString.length - $rt_s(42).$nativeString.length | 0;
12926
12972
  while (var$8 < var$5.$nativeString.length) {
12927
12973
  var$9 = jl_String_charAt(var$5, var$8);
12928
12974
  $stringLength = $index + 1 | 0;
12929
- if (var$9 != jl_String_charAt($rt_s(43), $index)) {
12975
+ if (var$9 != jl_String_charAt($rt_s(42), $index)) {
12930
12976
  $stringLength = 0;
12931
12977
  break a;
12932
12978
  }
@@ -13030,7 +13076,7 @@ var asrrs_SyscallGetCWD_simulate = ($this, $statement) => {
13030
13076
  ju_Hashtable_put(var$3, $rt_s(1067), $rt_s(1068));
13031
13077
  ju_Hashtable_put(var$3, $rt_s(1069), $rt_s(1070));
13032
13078
  ju_Hashtable_put(var$3, $rt_s(1071), $rt_s(1072));
13033
- ju_Hashtable_put(var$3, $rt_s(1073), $rt_s(43));
13079
+ ju_Hashtable_put(var$3, $rt_s(1073), $rt_s(42));
13034
13080
  ju_Hashtable_put(var$3, $rt_s(1074), $rt_s(1075));
13035
13081
  ju_Hashtable_put(var$3, $rt_s(1076), $rt_s(1066));
13036
13082
  ju_Hashtable_put(var$3, $rt_s(1077), $rt_s(1070));
@@ -13316,7 +13362,7 @@ var otcic_JsConsolePrintStream_println = ($this, $s) => {
13316
13362
  let var$2;
13317
13363
  var$2 = $this;
13318
13364
  otcic_JSStdoutPrintStream_print(var$2, $s);
13319
- otcic_JSStdoutPrintStream_print(var$2, $rt_s(43));
13365
+ otcic_JSStdoutPrintStream_print(var$2, $rt_s(42));
13320
13366
  };
13321
13367
  var otcic_JsConsolePrintStream_println0 = ($this, $s) => {
13322
13368
  let var$2;
@@ -13727,89 +13773,6 @@ var ju_AbstractList$1_next = ($this) => {
13727
13773
  $this.$index4 = var$3 + 1 | 0;
13728
13774
  return var$2.$get0(var$3);
13729
13775
  };
13730
- var asrs_Simulator$Reason = $rt_classWithoutFields(jl_Enum);
13731
- var asrs_Simulator$Reason_BREAKPOINT = null;
13732
- var asrs_Simulator$Reason_EXCEPTION = null;
13733
- var asrs_Simulator$Reason_MAX_STEPS = null;
13734
- var asrs_Simulator$Reason_NORMAL_TERMINATION = null;
13735
- var asrs_Simulator$Reason_CLIFF_TERMINATION = null;
13736
- var asrs_Simulator$Reason_PAUSE = null;
13737
- var asrs_Simulator$Reason_STOP = null;
13738
- var asrs_Simulator$Reason_$VALUES = null;
13739
- var asrs_Simulator$Reason_values = () => {
13740
- return asrs_Simulator$Reason_$VALUES.$clone0();
13741
- };
13742
- var asrs_Simulator$Reason__clinit_ = () => {
13743
- let var$1, var$2, var$3;
13744
- var$1 = new asrs_Simulator$Reason();
13745
- jl_Enum__init_(var$1, $rt_s(1084), 0);
13746
- asrs_Simulator$Reason_BREAKPOINT = var$1;
13747
- var$1 = new asrs_Simulator$Reason();
13748
- jl_Enum__init_(var$1, $rt_s(1085), 1);
13749
- asrs_Simulator$Reason_EXCEPTION = var$1;
13750
- var$1 = new asrs_Simulator$Reason();
13751
- jl_Enum__init_(var$1, $rt_s(1086), 2);
13752
- asrs_Simulator$Reason_MAX_STEPS = var$1;
13753
- var$1 = new asrs_Simulator$Reason();
13754
- jl_Enum__init_(var$1, $rt_s(1087), 3);
13755
- asrs_Simulator$Reason_NORMAL_TERMINATION = var$1;
13756
- var$1 = new asrs_Simulator$Reason();
13757
- jl_Enum__init_(var$1, $rt_s(1088), 4);
13758
- asrs_Simulator$Reason_CLIFF_TERMINATION = var$1;
13759
- var$1 = new asrs_Simulator$Reason();
13760
- jl_Enum__init_(var$1, $rt_s(1089), 5);
13761
- asrs_Simulator$Reason_PAUSE = var$1;
13762
- var$1 = new asrs_Simulator$Reason();
13763
- jl_Enum__init_(var$1, $rt_s(1090), 6);
13764
- asrs_Simulator$Reason_STOP = var$1;
13765
- var$2 = $rt_createArray(asrs_Simulator$Reason, 7);
13766
- var$3 = var$2.data;
13767
- var$3[0] = asrs_Simulator$Reason_BREAKPOINT;
13768
- var$3[1] = asrs_Simulator$Reason_EXCEPTION;
13769
- var$3[2] = asrs_Simulator$Reason_MAX_STEPS;
13770
- var$3[3] = asrs_Simulator$Reason_NORMAL_TERMINATION;
13771
- var$3[4] = asrs_Simulator$Reason_CLIFF_TERMINATION;
13772
- var$3[5] = asrs_Simulator$Reason_PAUSE;
13773
- var$3[6] = var$1;
13774
- asrs_Simulator$Reason_$VALUES = var$2;
13775
- };
13776
- var jlr_Array = $rt_classWithoutFields();
13777
- var jlr_Array_getLength = (var$1) => {
13778
- if (var$1 === null || var$1.constructor.$meta.item === "undefined") {
13779
- $rt_throw(jl_IllegalArgumentException__init_());
13780
- }
13781
- return var$1.data.length;
13782
- };
13783
- var jlr_Array_newInstance = (var$1, $length) => {
13784
- if (var$1 === null) {
13785
- var$1 = new jl_NullPointerException();
13786
- jl_Throwable__init_(var$1);
13787
- $rt_throw(var$1);
13788
- }
13789
- if (var$1 === $rt_cls($rt_voidcls)) {
13790
- var$1 = new jl_IllegalArgumentException();
13791
- jl_Throwable__init_(var$1);
13792
- $rt_throw(var$1);
13793
- }
13794
- if ($length >= 0)
13795
- return jlr_Array_newInstanceImpl(var$1.$platformClass, $length);
13796
- var$1 = new jl_NegativeArraySizeException();
13797
- jl_Throwable__init_(var$1);
13798
- $rt_throw(var$1);
13799
- };
13800
- var jlr_Array_newInstanceImpl = (var$1, var$2) => {
13801
- if (var$1.$meta.primitive) {
13802
- switch (var$1) {
13803
- }
13804
- ;
13805
- }
13806
- return $rt_createArray(var$1, var$2);
13807
- };
13808
- var asrrh_Stack = $rt_classWithoutFields();
13809
- var asrrh_Stack_callStack = null;
13810
- var asrrh_Stack__clinit_ = () => {
13811
- asrrh_Stack_callStack = ju_ArrayList__init_();
13812
- };
13813
13776
  var asrrh_FloatingPointRegisterFile = $rt_classWithoutFields();
13814
13777
  var asrrh_FloatingPointRegisterFile_instance = null;
13815
13778
  var asrrh_FloatingPointRegisterFile_setRegisterToFloat = ($reg, $val) => {
@@ -13854,38 +13817,38 @@ var asrrh_FloatingPointRegisterFile__clinit_ = () => {
13854
13817
  var$1 = new asrrh_RegisterBlock();
13855
13818
  var$2 = $rt_createArray(asrrh_Register, 32);
13856
13819
  var$3 = var$2.data;
13857
- var$3[0] = asrrh_Register__init_($rt_s(1091), 0, Long_ZERO);
13858
- var$3[1] = asrrh_Register__init_($rt_s(1092), 1, Long_ZERO);
13859
- var$3[2] = asrrh_Register__init_($rt_s(1093), 2, Long_ZERO);
13860
- var$3[3] = asrrh_Register__init_($rt_s(1094), 3, Long_ZERO);
13861
- var$3[4] = asrrh_Register__init_($rt_s(1095), 4, Long_ZERO);
13862
- var$3[5] = asrrh_Register__init_($rt_s(1096), 5, Long_ZERO);
13863
- var$3[6] = asrrh_Register__init_($rt_s(1097), 6, Long_ZERO);
13864
- var$3[7] = asrrh_Register__init_($rt_s(1098), 7, Long_ZERO);
13865
- var$3[8] = asrrh_Register__init_($rt_s(1099), 8, Long_ZERO);
13866
- var$3[9] = asrrh_Register__init_($rt_s(1100), 9, Long_ZERO);
13820
+ var$3[0] = asrrh_Register__init_($rt_s(1084), 0, Long_ZERO);
13821
+ var$3[1] = asrrh_Register__init_($rt_s(1085), 1, Long_ZERO);
13822
+ var$3[2] = asrrh_Register__init_($rt_s(1086), 2, Long_ZERO);
13823
+ var$3[3] = asrrh_Register__init_($rt_s(1087), 3, Long_ZERO);
13824
+ var$3[4] = asrrh_Register__init_($rt_s(1088), 4, Long_ZERO);
13825
+ var$3[5] = asrrh_Register__init_($rt_s(1089), 5, Long_ZERO);
13826
+ var$3[6] = asrrh_Register__init_($rt_s(1090), 6, Long_ZERO);
13827
+ var$3[7] = asrrh_Register__init_($rt_s(1091), 7, Long_ZERO);
13828
+ var$3[8] = asrrh_Register__init_($rt_s(1092), 8, Long_ZERO);
13829
+ var$3[9] = asrrh_Register__init_($rt_s(1093), 9, Long_ZERO);
13867
13830
  var$3[10] = asrrh_Register__init_($rt_s(1043), 10, Long_ZERO);
13868
13831
  var$3[11] = asrrh_Register__init_($rt_s(1037), 11, Long_ZERO);
13869
- var$3[12] = asrrh_Register__init_($rt_s(1101), 12, Long_ZERO);
13870
- var$3[13] = asrrh_Register__init_($rt_s(1102), 13, Long_ZERO);
13871
- var$3[14] = asrrh_Register__init_($rt_s(1103), 14, Long_ZERO);
13872
- var$3[15] = asrrh_Register__init_($rt_s(1104), 15, Long_ZERO);
13873
- var$3[16] = asrrh_Register__init_($rt_s(1105), 16, Long_ZERO);
13874
- var$3[17] = asrrh_Register__init_($rt_s(1106), 17, Long_ZERO);
13875
- var$3[18] = asrrh_Register__init_($rt_s(1107), 18, Long_ZERO);
13876
- var$3[19] = asrrh_Register__init_($rt_s(1108), 19, Long_ZERO);
13877
- var$3[20] = asrrh_Register__init_($rt_s(1109), 20, Long_ZERO);
13878
- var$3[21] = asrrh_Register__init_($rt_s(1110), 21, Long_ZERO);
13879
- var$3[22] = asrrh_Register__init_($rt_s(1111), 22, Long_ZERO);
13880
- var$3[23] = asrrh_Register__init_($rt_s(1112), 23, Long_ZERO);
13881
- var$3[24] = asrrh_Register__init_($rt_s(1113), 24, Long_ZERO);
13882
- var$3[25] = asrrh_Register__init_($rt_s(1114), 25, Long_ZERO);
13883
- var$3[26] = asrrh_Register__init_($rt_s(1115), 26, Long_ZERO);
13884
- var$3[27] = asrrh_Register__init_($rt_s(1116), 27, Long_ZERO);
13885
- var$3[28] = asrrh_Register__init_($rt_s(1117), 28, Long_ZERO);
13886
- var$3[29] = asrrh_Register__init_($rt_s(1118), 29, Long_ZERO);
13887
- var$3[30] = asrrh_Register__init_($rt_s(1119), 30, Long_ZERO);
13888
- var$3[31] = asrrh_Register__init_($rt_s(1120), 31, Long_ZERO);
13832
+ var$3[12] = asrrh_Register__init_($rt_s(1094), 12, Long_ZERO);
13833
+ var$3[13] = asrrh_Register__init_($rt_s(1095), 13, Long_ZERO);
13834
+ var$3[14] = asrrh_Register__init_($rt_s(1096), 14, Long_ZERO);
13835
+ var$3[15] = asrrh_Register__init_($rt_s(1097), 15, Long_ZERO);
13836
+ var$3[16] = asrrh_Register__init_($rt_s(1098), 16, Long_ZERO);
13837
+ var$3[17] = asrrh_Register__init_($rt_s(1099), 17, Long_ZERO);
13838
+ var$3[18] = asrrh_Register__init_($rt_s(1100), 18, Long_ZERO);
13839
+ var$3[19] = asrrh_Register__init_($rt_s(1101), 19, Long_ZERO);
13840
+ var$3[20] = asrrh_Register__init_($rt_s(1102), 20, Long_ZERO);
13841
+ var$3[21] = asrrh_Register__init_($rt_s(1103), 21, Long_ZERO);
13842
+ var$3[22] = asrrh_Register__init_($rt_s(1104), 22, Long_ZERO);
13843
+ var$3[23] = asrrh_Register__init_($rt_s(1105), 23, Long_ZERO);
13844
+ var$3[24] = asrrh_Register__init_($rt_s(1106), 24, Long_ZERO);
13845
+ var$3[25] = asrrh_Register__init_($rt_s(1107), 25, Long_ZERO);
13846
+ var$3[26] = asrrh_Register__init_($rt_s(1108), 26, Long_ZERO);
13847
+ var$3[27] = asrrh_Register__init_($rt_s(1109), 27, Long_ZERO);
13848
+ var$3[28] = asrrh_Register__init_($rt_s(1110), 28, Long_ZERO);
13849
+ var$3[29] = asrrh_Register__init_($rt_s(1111), 29, Long_ZERO);
13850
+ var$3[30] = asrrh_Register__init_($rt_s(1112), 30, Long_ZERO);
13851
+ var$3[31] = asrrh_Register__init_($rt_s(1113), 31, Long_ZERO);
13889
13852
  asrrh_RegisterBlock__init_(var$1, 102, var$2);
13890
13853
  asrrh_FloatingPointRegisterFile_instance = var$1;
13891
13854
  };
@@ -13953,25 +13916,25 @@ var asrrh_ControlAndStatusRegisterFile__clinit_ = () => {
13953
13916
  var$2[0] = asrrh_MaskedRegister__init_($rt_s(675), 0, Long_ZERO, Long_fromInt(-18));
13954
13917
  var$2[1] = null;
13955
13918
  var$2[2] = null;
13956
- var$2[3] = asrrh_MaskedRegister__init_($rt_s(1121), 3, Long_ZERO, Long_fromInt(-256));
13957
- var$2[4] = asrrh_Register__init_($rt_s(1122), 4, Long_ZERO);
13958
- var$2[5] = asrrh_Register__init_($rt_s(1123), 5, Long_ZERO);
13959
- var$2[6] = asrrh_Register__init_($rt_s(1124), 64, Long_ZERO);
13919
+ var$2[3] = asrrh_MaskedRegister__init_($rt_s(1114), 3, Long_ZERO, Long_fromInt(-256));
13920
+ var$2[4] = asrrh_Register__init_($rt_s(1115), 4, Long_ZERO);
13921
+ var$2[5] = asrrh_Register__init_($rt_s(1116), 5, Long_ZERO);
13922
+ var$2[6] = asrrh_Register__init_($rt_s(1117), 64, Long_ZERO);
13960
13923
  var$2[7] = asrrh_Register__init_($rt_s(676), 65, Long_ZERO);
13961
- var$2[8] = asrrh_Register__init_($rt_s(1125), 66, Long_ZERO);
13962
- var$2[9] = asrrh_Register__init_($rt_s(1126), 67, Long_ZERO);
13963
- var$2[10] = asrrh_Register__init_($rt_s(1127), 68, Long_ZERO);
13964
- var$2[11] = asrrh_ReadOnlyRegister__init_($rt_s(1128), 3072, 0);
13965
- var$2[12] = asrrh_ReadOnlyRegister__init_($rt_s(1129), 3073, 0);
13966
- var$2[13] = asrrh_ReadOnlyRegister__init_($rt_s(1130), 3074, 0);
13924
+ var$2[8] = asrrh_Register__init_($rt_s(1118), 66, Long_ZERO);
13925
+ var$2[9] = asrrh_Register__init_($rt_s(1119), 67, Long_ZERO);
13926
+ var$2[10] = asrrh_Register__init_($rt_s(1120), 68, Long_ZERO);
13927
+ var$2[11] = asrrh_ReadOnlyRegister__init_($rt_s(1121), 3072, 0);
13928
+ var$2[12] = asrrh_ReadOnlyRegister__init_($rt_s(1122), 3073, 0);
13929
+ var$2[13] = asrrh_ReadOnlyRegister__init_($rt_s(1123), 3074, 0);
13967
13930
  var$2[14] = null;
13968
13931
  var$2[15] = null;
13969
13932
  var$2[16] = null;
13970
13933
  var$2[1] = asrrh_LinkedRegister__init_($rt_s(442), 1, var$2[3], Long_fromInt(31));
13971
13934
  var$2[2] = asrrh_LinkedRegister__init_($rt_s(443), 2, var$2[3], Long_fromInt(224));
13972
- var$2[14] = asrrh_LinkedRegister__init_($rt_s(1131), 3200, var$2[11], Long_create(0, 4294967295));
13973
- var$2[15] = asrrh_LinkedRegister__init_($rt_s(1132), 3201, var$2[12], Long_create(0, 4294967295));
13974
- var$2[16] = asrrh_LinkedRegister__init_($rt_s(1133), 3202, var$2[13], Long_create(0, 4294967295));
13935
+ var$2[14] = asrrh_LinkedRegister__init_($rt_s(1124), 3200, var$2[11], Long_create(0, 4294967295));
13936
+ var$2[15] = asrrh_LinkedRegister__init_($rt_s(1125), 3201, var$2[12], Long_create(0, 4294967295));
13937
+ var$2[16] = asrrh_LinkedRegister__init_($rt_s(1126), 3202, var$2[13], Long_create(0, 4294967295));
13975
13938
  asrrh_ControlAndStatusRegisterFile_instance = asrrh_RegisterBlock__init_0(95, $tmp_0);
13976
13939
  };
13977
13940
  var asrrh_InterruptController = $rt_classWithoutFields();
@@ -14077,7 +14040,7 @@ var asrrh_InterruptController_claimExternal = () => {
14077
14040
  a: {
14078
14041
  try {
14079
14042
  if (!asrrh_InterruptController_$assertionsDisabled && !asrrh_InterruptController_externalPending)
14080
- $rt_throw(jl_AssertionError__init_($rt_s(1134)));
14043
+ $rt_throw(jl_AssertionError__init_($rt_s(1127)));
14081
14044
  asrrh_InterruptController_externalPending = 0;
14082
14045
  var$2 = asrrh_InterruptController_externalValue;
14083
14046
  jl_Object_monitorExitSync(var$1);
@@ -14098,7 +14061,7 @@ var asrrh_InterruptController_claimTimer = () => {
14098
14061
  a: {
14099
14062
  try {
14100
14063
  if (!asrrh_InterruptController_$assertionsDisabled && !asrrh_InterruptController_timerPending)
14101
- $rt_throw(jl_AssertionError__init_($rt_s(1135)));
14064
+ $rt_throw(jl_AssertionError__init_($rt_s(1128)));
14102
14065
  asrrh_InterruptController_timerPending = 0;
14103
14066
  var$2 = asrrh_InterruptController_timerValue;
14104
14067
  jl_Object_monitorExitSync(var$1);
@@ -14120,9 +14083,9 @@ var asrrh_InterruptController_claimTrap = () => {
14120
14083
  try {
14121
14084
  var$2 = asrrh_InterruptController_$assertionsDisabled;
14122
14085
  if (!var$2 && !asrrh_InterruptController_trapPending)
14123
- $rt_throw(jl_AssertionError__init_($rt_s(1136)));
14086
+ $rt_throw(jl_AssertionError__init_($rt_s(1129)));
14124
14087
  if (!var$2 && asrrh_InterruptController_trapPC != (asrrh_RegisterFile_getProgramCounter() - 4 | 0))
14125
- $rt_throw(jl_AssertionError__init_($rt_s(1137)));
14088
+ $rt_throw(jl_AssertionError__init_($rt_s(1130)));
14126
14089
  asrrh_InterruptController_trapPending = 0;
14127
14090
  var$3 = asrrh_InterruptController_trapSE;
14128
14091
  jl_Object_monitorExitSync(var$1);
@@ -14143,6 +14106,89 @@ var asrrh_InterruptController__clinit_ = () => {
14143
14106
  asrrh_InterruptController_timerPending = 0;
14144
14107
  asrrh_InterruptController_trapPending = 0;
14145
14108
  };
14109
+ var asrrh_Stack = $rt_classWithoutFields();
14110
+ var asrrh_Stack_callStack = null;
14111
+ var asrrh_Stack__clinit_ = () => {
14112
+ asrrh_Stack_callStack = ju_ArrayList__init_();
14113
+ };
14114
+ var asrs_Simulator$Reason = $rt_classWithoutFields(jl_Enum);
14115
+ var asrs_Simulator$Reason_BREAKPOINT = null;
14116
+ var asrs_Simulator$Reason_EXCEPTION = null;
14117
+ var asrs_Simulator$Reason_MAX_STEPS = null;
14118
+ var asrs_Simulator$Reason_NORMAL_TERMINATION = null;
14119
+ var asrs_Simulator$Reason_CLIFF_TERMINATION = null;
14120
+ var asrs_Simulator$Reason_PAUSE = null;
14121
+ var asrs_Simulator$Reason_STOP = null;
14122
+ var asrs_Simulator$Reason_$VALUES = null;
14123
+ var asrs_Simulator$Reason_values = () => {
14124
+ return asrs_Simulator$Reason_$VALUES.$clone0();
14125
+ };
14126
+ var asrs_Simulator$Reason__clinit_ = () => {
14127
+ let var$1, var$2, var$3;
14128
+ var$1 = new asrs_Simulator$Reason();
14129
+ jl_Enum__init_(var$1, $rt_s(1131), 0);
14130
+ asrs_Simulator$Reason_BREAKPOINT = var$1;
14131
+ var$1 = new asrs_Simulator$Reason();
14132
+ jl_Enum__init_(var$1, $rt_s(1132), 1);
14133
+ asrs_Simulator$Reason_EXCEPTION = var$1;
14134
+ var$1 = new asrs_Simulator$Reason();
14135
+ jl_Enum__init_(var$1, $rt_s(1133), 2);
14136
+ asrs_Simulator$Reason_MAX_STEPS = var$1;
14137
+ var$1 = new asrs_Simulator$Reason();
14138
+ jl_Enum__init_(var$1, $rt_s(1134), 3);
14139
+ asrs_Simulator$Reason_NORMAL_TERMINATION = var$1;
14140
+ var$1 = new asrs_Simulator$Reason();
14141
+ jl_Enum__init_(var$1, $rt_s(1135), 4);
14142
+ asrs_Simulator$Reason_CLIFF_TERMINATION = var$1;
14143
+ var$1 = new asrs_Simulator$Reason();
14144
+ jl_Enum__init_(var$1, $rt_s(1136), 5);
14145
+ asrs_Simulator$Reason_PAUSE = var$1;
14146
+ var$1 = new asrs_Simulator$Reason();
14147
+ jl_Enum__init_(var$1, $rt_s(1137), 6);
14148
+ asrs_Simulator$Reason_STOP = var$1;
14149
+ var$2 = $rt_createArray(asrs_Simulator$Reason, 7);
14150
+ var$3 = var$2.data;
14151
+ var$3[0] = asrs_Simulator$Reason_BREAKPOINT;
14152
+ var$3[1] = asrs_Simulator$Reason_EXCEPTION;
14153
+ var$3[2] = asrs_Simulator$Reason_MAX_STEPS;
14154
+ var$3[3] = asrs_Simulator$Reason_NORMAL_TERMINATION;
14155
+ var$3[4] = asrs_Simulator$Reason_CLIFF_TERMINATION;
14156
+ var$3[5] = asrs_Simulator$Reason_PAUSE;
14157
+ var$3[6] = var$1;
14158
+ asrs_Simulator$Reason_$VALUES = var$2;
14159
+ };
14160
+ var jlr_Array = $rt_classWithoutFields();
14161
+ var jlr_Array_getLength = (var$1) => {
14162
+ if (var$1 === null || var$1.constructor.$meta.item === "undefined") {
14163
+ $rt_throw(jl_IllegalArgumentException__init_());
14164
+ }
14165
+ return var$1.data.length;
14166
+ };
14167
+ var jlr_Array_newInstance = (var$1, $length) => {
14168
+ if (var$1 === null) {
14169
+ var$1 = new jl_NullPointerException();
14170
+ jl_Throwable__init_(var$1);
14171
+ $rt_throw(var$1);
14172
+ }
14173
+ if (var$1 === $rt_cls($rt_voidcls)) {
14174
+ var$1 = new jl_IllegalArgumentException();
14175
+ jl_Throwable__init_(var$1);
14176
+ $rt_throw(var$1);
14177
+ }
14178
+ if ($length >= 0)
14179
+ return jlr_Array_newInstanceImpl(var$1.$platformClass, $length);
14180
+ var$1 = new jl_NegativeArraySizeException();
14181
+ jl_Throwable__init_(var$1);
14182
+ $rt_throw(var$1);
14183
+ };
14184
+ var jlr_Array_newInstanceImpl = (var$1, var$2) => {
14185
+ if (var$1.$meta.primitive) {
14186
+ switch (var$1) {
14187
+ }
14188
+ ;
14189
+ }
14190
+ return $rt_createArray(var$1, var$2);
14191
+ };
14146
14192
  function jur_Pattern() {
14147
14193
  let a = this;
14148
14194
  jl_Object.call(a);
@@ -14155,16 +14201,16 @@ function jur_Pattern() {
14155
14201
  a.$consCount = 0;
14156
14202
  a.$start2 = null;
14157
14203
  }
14158
- var jur_Pattern_matcher = ($this, $input) => {
14204
+ var jur_Pattern_matcher = ($this, var$1) => {
14159
14205
  let var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9;
14160
14206
  var$2 = new jur_Matcher();
14161
14207
  var$2.$leftBound0 = -1;
14162
14208
  var$2.$rightBound0 = -1;
14163
14209
  var$2.$pat = $this;
14164
14210
  var$2.$start6 = $this.$start2;
14165
- var$2.$string1 = $input;
14211
+ var$2.$string1 = var$1;
14166
14212
  var$2.$leftBound0 = 0;
14167
- var$3 = $input.$nativeString.length;
14213
+ var$3 = var$1.$nativeString.length;
14168
14214
  var$2.$rightBound0 = var$3;
14169
14215
  var$4 = new jur_MatchResultImpl();
14170
14216
  var$5 = var$2.$leftBound0;
@@ -14181,7 +14227,7 @@ var jur_Pattern_matcher = ($this, $input) => {
14181
14227
  if (var$7 > 0)
14182
14228
  var$4.$compQuantCounters = $rt_createIntArray(var$7);
14183
14229
  ju_Arrays_fill(var$4.$groupBounds, -1);
14184
- jur_MatchResultImpl_reset(var$4, $input, var$5, var$3);
14230
+ jur_MatchResultImpl_reset(var$4, var$1, var$5, var$3);
14185
14231
  var$2.$matchResult = var$4;
14186
14232
  var$4.$anchoringBounds = 1;
14187
14233
  return var$2;
@@ -15579,7 +15625,7 @@ var asra_Tokenizer_processCandidateToken = ($this, $token, $program, $line, $the
15579
15625
  asra_TokenList_add($tokenList, asra_Token__init_($type, $value, $program, $line, $tokenStartPos));
15580
15626
  };
15581
15627
  var asra_Tokenizer__clinit_ = () => {
15582
- asra_Tokenizer_escapedCharactersValues = $rt_wrapArray(jl_String, [$rt_s(1153), $rt_s(1154), $rt_s(1155), $rt_s(561), $rt_s(1156), $rt_s(112), $rt_s(1157), $rt_s(1158), $rt_s(6)]);
15628
+ asra_Tokenizer_escapedCharactersValues = $rt_wrapArray(jl_String, [$rt_s(1153), $rt_s(1154), $rt_s(1155), $rt_s(561), $rt_s(1156), $rt_s(111), $rt_s(1157), $rt_s(1158), $rt_s(6)]);
15583
15629
  };
15584
15630
  var ju_NoSuchElementException = $rt_classWithoutFields(jl_RuntimeException);
15585
15631
  function asr_JsCompilationResult$JsCompilationError() {
@@ -15863,7 +15909,7 @@ var jl_Thread__clinit_ = () => {
15863
15909
  var$2 = null;
15864
15910
  var$1.$finishedLock = new jl_Object();
15865
15911
  var$1.$alive = 1;
15866
- var$1.$name7 = $rt_s(18);
15912
+ var$1.$name7 = $rt_s(17);
15867
15913
  var$1.$target = var$2;
15868
15914
  var$3 = jl_Thread_nextId;
15869
15915
  jl_Thread_nextId = var$3 + 1 | 0;
@@ -15974,13 +16020,13 @@ var asrc_SyscallProperties_reset = ($this) => {
15974
16020
  var$1 = $this;
15975
16021
  ju_HashMap_put(var$1, $rt_s(1061), $rt_s(1159));
15976
16022
  ju_HashMap_put(var$1, $rt_s(300), $rt_s(248));
15977
- ju_HashMap_put(var$1, $rt_s(297), $rt_s(113));
16023
+ ju_HashMap_put(var$1, $rt_s(297), $rt_s(112));
15978
16024
  ju_HashMap_put(var$1, $rt_s(294), $rt_s(1160));
15979
16025
  ju_HashMap_put(var$1, $rt_s(309), $rt_s(1161));
15980
16026
  ju_HashMap_put(var$1, $rt_s(343), $rt_s(1162));
15981
16027
  ju_HashMap_put(var$1, $rt_s(340), $rt_s(1163));
15982
16028
  ju_HashMap_put(var$1, $rt_s(337), $rt_s(1164));
15983
- ju_HashMap_put(var$1, $rt_s(346), $rt_s(112));
16029
+ ju_HashMap_put(var$1, $rt_s(346), $rt_s(111));
15984
16030
  ju_HashMap_put(var$1, $rt_s(349), $rt_s(1156));
15985
16031
  ju_HashMap_put(var$1, $rt_s(261), $rt_s(561));
15986
16032
  ju_HashMap_put(var$1, $rt_s(291), $rt_s(522));
@@ -17175,7 +17221,7 @@ var jur_PatternSyntaxException_getMessage = ($this) => {
17175
17221
  var$10 = new jl_StringBuilder();
17176
17222
  jl_AbstractStringBuilder__init_(var$10);
17177
17223
  jl_AbstractStringBuilder_append(var$10, var$9);
17178
- jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(var$10, $rt_s(115)), var$8), $rt_s(115)), $filler);
17224
+ jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(var$10, $rt_s(114)), var$8), $rt_s(114)), $filler);
17179
17225
  $filler = jl_AbstractStringBuilder_toString(var$10);
17180
17226
  } else
17181
17227
  $filler = $rt_s(3);
@@ -19688,7 +19734,7 @@ function jur_LowHighSurrogateRangeSet() {
19688
19734
  }
19689
19735
  var jur_LowHighSurrogateRangeSet_getName = ($this) => {
19690
19736
  let var$1, var$2, var$3;
19691
- var$1 = !$this.$alt1 ? $rt_s(38) : $rt_s(1399);
19737
+ var$1 = !$this.$alt1 ? $rt_s(37) : $rt_s(1399);
19692
19738
  var$2 = $this.$surrChars.$toString();
19693
19739
  var$3 = new jl_StringBuilder();
19694
19740
  jl_AbstractStringBuilder__init_(var$3);
@@ -19806,7 +19852,7 @@ var jur_SupplRangeSet_matches = ($this, $stringIndex, $testString, $matchResult)
19806
19852
  };
19807
19853
  var jur_SupplRangeSet_getName = ($this) => {
19808
19854
  let var$1, var$2, var$3;
19809
- var$1 = !$this.$alt0 ? $rt_s(38) : $rt_s(1399);
19855
+ var$1 = !$this.$alt0 ? $rt_s(37) : $rt_s(1399);
19810
19856
  var$2 = $this.$chars.$toString();
19811
19857
  var$3 = new jl_StringBuilder();
19812
19858
  jl_AbstractStringBuilder__init_(var$3);
@@ -19839,7 +19885,7 @@ var jur_UCISupplRangeSet_contains = ($this, $ch) => {
19839
19885
  };
19840
19886
  var jur_UCISupplRangeSet_getName = ($this) => {
19841
19887
  let var$1, var$2, var$3;
19842
- var$1 = !$this.$alt0 ? $rt_s(38) : $rt_s(1399);
19888
+ var$1 = !$this.$alt0 ? $rt_s(37) : $rt_s(1399);
19843
19889
  var$2 = $this.$chars.$toString();
19844
19890
  var$3 = new jl_StringBuilder();
19845
19891
  jl_AbstractStringBuilder__init_(var$3);
@@ -19867,7 +19913,7 @@ var jur_UCIRangeSet_accepts = ($this, $strIndex, $testString) => {
19867
19913
  };
19868
19914
  var jur_UCIRangeSet_getName = ($this) => {
19869
19915
  let var$1, var$2, var$3;
19870
- var$1 = !$this.$alt2 ? $rt_s(38) : $rt_s(1399);
19916
+ var$1 = !$this.$alt2 ? $rt_s(37) : $rt_s(1399);
19871
19917
  var$2 = $this.$chars1.$toString();
19872
19918
  var$3 = new jl_StringBuilder();
19873
19919
  jl_AbstractStringBuilder__init_(var$3);
@@ -19895,7 +19941,7 @@ var jur_RangeSet_accepts = ($this, $strIndex, $testString) => {
19895
19941
  };
19896
19942
  var jur_RangeSet_getName = ($this) => {
19897
19943
  let var$1, var$2, var$3;
19898
- var$1 = !$this.$alt3 ? $rt_s(38) : $rt_s(1399);
19944
+ var$1 = !$this.$alt3 ? $rt_s(37) : $rt_s(1399);
19899
19945
  var$2 = $this.$chars0.$toString();
19900
19946
  var$3 = new jl_StringBuilder();
19901
19947
  jl_AbstractStringBuilder__init_(var$3);
@@ -20932,7 +20978,7 @@ var jur_DotSet_matches = ($this, $stringIndex, $testString, $matchResult) => {
20932
20978
  return $this.$lt0.$isLineTerminator($high) ? -1 : $this.$next3.$matches(var$5, $testString, $matchResult);
20933
20979
  };
20934
20980
  var jur_DotSet_getName = ($this) => {
20935
- return $rt_s(36);
20981
+ return $rt_s(35);
20936
20982
  };
20937
20983
  var jur_DotSet_setNext = ($this, $next) => {
20938
20984
  $this.$next3 = $next;
@@ -23873,10 +23919,10 @@ var asrs_Simulator$SimThread_handleTrap = ($this, $se, $pc) => {
23873
23919
  if (!$utvec && $se.$cause < 0)
23874
23920
  $rt_throw(jl_AssertionError__init_($rt_s(1501)));
23875
23921
  a: {
23876
- asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(1125), Long_fromInt($se.$cause));
23922
+ asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(1118), Long_fromInt($se.$cause));
23877
23923
  asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(676), Long_fromInt($pc));
23878
- asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(1126), Long_fromInt($se.$value5));
23879
- $base = asrrh_ControlAndStatusRegisterFile_getValue($rt_s(1123)) & -4;
23924
+ asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(1119), Long_fromInt($se.$value5));
23925
+ $base = asrrh_ControlAndStatusRegisterFile_getValue($rt_s(1116)) & -4;
23880
23926
  $exceptionHandler = null;
23881
23927
  if (!(asrrh_ControlAndStatusRegisterFile_getValue($rt_s(675)) & 1))
23882
23928
  var$6 = $exceptionHandler;
@@ -23912,12 +23958,12 @@ var asrs_Simulator$SimThread_handleInterrupt = ($this, $value, $cause, $pc) => {
23912
23958
  if (!$mode && !($cause & -2147483648))
23913
23959
  $rt_throw(jl_AssertionError__init_($rt_s(1502)));
23914
23960
  $code = $cause & 2147483647;
23915
- if (!$mode && !(asrrh_ControlAndStatusRegisterFile_getValue($rt_s(675)) & 1 && asrrh_ControlAndStatusRegisterFile_getValue($rt_s(1122)) & 1 << $code))
23961
+ if (!$mode && !(asrrh_ControlAndStatusRegisterFile_getValue($rt_s(675)) & 1 && asrrh_ControlAndStatusRegisterFile_getValue($rt_s(1115)) & 1 << $code))
23916
23962
  $rt_throw(jl_AssertionError__init_($rt_s(1503)));
23917
- asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(1125), Long_fromInt($cause));
23963
+ asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(1118), Long_fromInt($cause));
23918
23964
  asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(676), Long_fromInt($pc));
23919
- asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(1126), Long_fromInt($value));
23920
- $utvec = asrrh_ControlAndStatusRegisterFile_getValue($rt_s(1123));
23965
+ asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(1119), Long_fromInt($value));
23966
+ $utvec = asrrh_ControlAndStatusRegisterFile_getValue($rt_s(1116));
23921
23967
  $base = $utvec & -4;
23922
23968
  if (($utvec & 3) == 2)
23923
23969
  $base = $base + (4 * $code | 0) | 0;
@@ -23997,8 +24043,8 @@ var asrs_Simulator$SimThread_run = ($this) => {
23997
24043
  asrs_Simulator$SimThread_stopExecution($this, 0, $this.$constructReturnReason);
23998
24044
  return;
23999
24045
  }
24000
- $uip = asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1127));
24001
- $uie = asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1122));
24046
+ $uip = asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1120));
24047
+ $uie = asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1115));
24002
24048
  $IE = Long_eq(Long_and(asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(675)), Long_fromInt(1)), Long_ZERO) ? 0 : 1;
24003
24049
  $this.$pc0 = asrrh_RegisterFile_getProgramCounter();
24004
24050
  $se = asrrh_InterruptController_lock;
@@ -24189,8 +24235,8 @@ var asrs_Simulator$SimThread_run = ($this) => {
24189
24235
  jl_Object_monitorExit($se);
24190
24236
  $rt_throw($instruction);
24191
24237
  }
24192
- if (Long_ne($cycle, asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1127))))
24193
- asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(1127), $cycle);
24238
+ if (Long_ne($cycle, asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1120))))
24239
+ asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(1120), $cycle);
24194
24240
  var$14 = $this.$maxSteps;
24195
24241
  if (var$14 > 0) {
24196
24242
  $steps = $steps + 1 | 0;
@@ -24311,12 +24357,12 @@ var asrs_Simulator$SimThread_run = ($this) => {
24311
24357
  $waiting = 1;
24312
24358
  }
24313
24359
  v: {
24314
- $cycle = asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1128));
24315
- $instret = asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1130));
24360
+ $cycle = asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1121));
24361
+ $instret = asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1123));
24316
24362
  $time = jl_System_currentTimeMillis();
24317
- asrrh_ControlAndStatusRegisterFile_updateRegisterBackdoor($rt_s(1128), Long_add($cycle, Long_fromInt(1)));
24318
- asrrh_ControlAndStatusRegisterFile_updateRegisterBackdoor($rt_s(1130), Long_add($instret, Long_fromInt(1)));
24319
- asrrh_ControlAndStatusRegisterFile_updateRegisterBackdoor($rt_s(1129), $time);
24363
+ asrrh_ControlAndStatusRegisterFile_updateRegisterBackdoor($rt_s(1121), Long_add($cycle, Long_fromInt(1)));
24364
+ asrrh_ControlAndStatusRegisterFile_updateRegisterBackdoor($rt_s(1123), Long_add($instret, Long_fromInt(1)));
24365
+ asrrh_ControlAndStatusRegisterFile_updateRegisterBackdoor($rt_s(1122), $time);
24320
24366
  if (!$ebreak) {
24321
24367
  var$1 = $this.$breakPoints;
24322
24368
  if (var$1 === null)
@@ -24339,8 +24385,8 @@ var asrs_Simulator$SimThread_run = ($this) => {
24339
24385
  asrs_Simulator$SimThread_stopExecution($this, 0, $this.$constructReturnReason);
24340
24386
  return;
24341
24387
  }
24342
- $uip = asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1127));
24343
- $uie = asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1122));
24388
+ $uip = asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1120));
24389
+ $uie = asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1115));
24344
24390
  $IE = Long_eq(Long_and(asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(675)), Long_fromInt(1)), Long_ZERO) ? 0 : 1;
24345
24391
  $this.$pc0 = asrrh_RegisterFile_getProgramCounter();
24346
24392
  $se = asrrh_InterruptController_lock;
@@ -24376,8 +24422,8 @@ var asrs_Simulator$SimThread_run = ($this) => {
24376
24422
  asrs_Simulator$SimThread_stopExecution($this, 0, $this.$constructReturnReason);
24377
24423
  return;
24378
24424
  }
24379
- $uip = asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1127));
24380
- $uie = asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1122));
24425
+ $uip = asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1120));
24426
+ $uie = asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1115));
24381
24427
  $IE = Long_eq(Long_and(asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(675)), Long_fromInt(1)), Long_ZERO) ? 0 : 1;
24382
24428
  $this.$pc0 = asrrh_RegisterFile_getProgramCounter();
24383
24429
  $se = asrrh_InterruptController_lock;
@@ -24415,8 +24461,8 @@ var asrs_Simulator$SimThread_run = ($this) => {
24415
24461
  asrs_Simulator$SimThread_stopExecution($this, 0, $this.$constructReturnReason);
24416
24462
  return;
24417
24463
  }
24418
- $uip = asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1127));
24419
- $uie = asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1122));
24464
+ $uip = asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1120));
24465
+ $uie = asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1115));
24420
24466
  $IE = Long_eq(Long_and(asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(675)), Long_fromInt(1)), Long_ZERO) ? 0 : 1;
24421
24467
  $this.$pc0 = asrrh_RegisterFile_getProgramCounter();
24422
24468
  $se = asrrh_InterruptController_lock;
@@ -25459,7 +25505,7 @@ var asra_Assembler_transferGlobals = ($this) => {
25459
25505
  var$4 = var$6.$filename1;
25460
25506
  var$6 = new jl_StringBuilder();
25461
25507
  jl_AbstractStringBuilder__init_(var$6);
25462
- jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(var$6, $rt_s(80)), var$5), $rt_s(1548)), var$4), $rt_s(83));
25508
+ jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(var$6, $rt_s(79)), var$5), $rt_s(1548)), var$4), $rt_s(82));
25463
25509
  var$5 = jl_AbstractStringBuilder_toString(var$6);
25464
25510
  otcic_JsConsolePrintStream_println(var$9, var$5);
25465
25511
  }
@@ -31127,6 +31173,222 @@ var asrjt_Floating = $rt_classWithoutFields();
31127
31173
  var asrjt_Floating_isFinite = ($this) => {
31128
31174
  return !$this.$isZero() && !$this.$isNormal() && !$this.$isSubnormal() ? 0 : 1;
31129
31175
  };
31176
+ function asrjt_Float64() {
31177
+ asrjt_Floating.call(this);
31178
+ this.$bits1 = Long_ZERO;
31179
+ }
31180
+ var asrjt_Float64_Zero = null;
31181
+ var asrjt_Float64_NegativeZero = null;
31182
+ var asrjt_Float64_NaN = null;
31183
+ var asrjt_Float64_Infinity = null;
31184
+ var asrjt_Float64_NegativeInfinity = null;
31185
+ var asrjt_Float64_$assertionsDisabled = 0;
31186
+ var asrjt_Float64__init_1 = ($this, $bits) => {
31187
+ $this.$bits1 = $bits;
31188
+ };
31189
+ var asrjt_Float64__init_ = (var_0) => {
31190
+ let var_1 = new asrjt_Float64();
31191
+ asrjt_Float64__init_1(var_1, var_0);
31192
+ return var_1;
31193
+ };
31194
+ var asrjt_Float64__init_2 = ($this, $sign, $exponent, $significand) => {
31195
+ asrjt_Float64__init_1($this, Long_or(Long_or(!$sign ? Long_ZERO : Long_create(0, 2147483648), Long_shl(Long_and(Long_fromInt($exponent + 1023 | 0), Long_fromInt(2047)), 52)), Long_and($significand, Long_create(4294967295, 1048575))));
31196
+ };
31197
+ var asrjt_Float64__init_0 = (var_0, var_1, var_2) => {
31198
+ let var_3 = new asrjt_Float64();
31199
+ asrjt_Float64__init_2(var_3, var_0, var_1, var_2);
31200
+ return var_3;
31201
+ };
31202
+ var asrjt_Float64_exponent = ($this) => {
31203
+ return (Long_lo(Long_shru($this.$bits1, 52)) & 2047) - 1023 | 0;
31204
+ };
31205
+ var asrjt_Float64_negate = ($this) => {
31206
+ return asrjt_Float64__init_(Long_xor($this.$bits1, Long_create(0, 2147483648)));
31207
+ };
31208
+ var asrjt_Float64_isSignMinus = ($this) => {
31209
+ return Long_ne(Long_shru($this.$bits1, 63), Long_fromInt(1)) ? 0 : 1;
31210
+ };
31211
+ var asrjt_Float64_isInfinite = ($this) => {
31212
+ return asrjt_Float64_exponent($this) == 1024 && Long_eq(Long_and($this.$bits1, Long_create(4294967295, 1048575)), Long_ZERO) ? 1 : 0;
31213
+ };
31214
+ var asrjt_Float64_isNormal = ($this) => {
31215
+ return asrjt_Float64_exponent($this) != -1023 && asrjt_Float64_exponent($this) != 1024 ? 1 : 0;
31216
+ };
31217
+ var asrjt_Float64_isSubnormal = ($this) => {
31218
+ return asrjt_Float64_exponent($this) == -1023 && !asrjt_Float64_isZero($this) ? 1 : 0;
31219
+ };
31220
+ var asrjt_Float64_isNaN = ($this) => {
31221
+ return asrjt_Float64_exponent($this) == 1024 && !asrjt_Float64_isInfinite($this) ? 1 : 0;
31222
+ };
31223
+ var asrjt_Float64_isSignalling = ($this) => {
31224
+ if (!asrjt_Float64_isNaN($this))
31225
+ return 0;
31226
+ return Long_ne(Long_and($this.$bits1, Long_create(0, 524288)), Long_ZERO) ? 0 : 1;
31227
+ };
31228
+ var asrjt_Float64_isZero = ($this) => {
31229
+ let var$1;
31230
+ var$1 = $this.$bits1;
31231
+ return Long_ne(var$1, Long_ZERO) && Long_ne(var$1, Long_create(0, 2147483648)) ? 0 : 1;
31232
+ };
31233
+ var asrjt_Float64_fromExactFloat0 = ($this, $ef, $env) => {
31234
+ let $normalizedExponent, $mainBits, $roundedBits, $a, $bitsToRound, $upBits, $towardsZero, $awayZero;
31235
+ if (asrji_ExactFloat_isZero($ef))
31236
+ return !$ef.$sign ? asrjt_Float64_Zero : asrjt_Float64_NegativeZero;
31237
+ $ef = asrji_ExactFloat_normalize($ef);
31238
+ $normalizedExponent = $ef.$exponent0 + jm_BigInteger_bitLength($ef.$significand) | 0;
31239
+ if ($normalizedExponent > -1022) {
31240
+ if ($normalizedExponent > 1024) {
31241
+ $mainBits = $env.$flags;
31242
+ $roundedBits = asrj_Flags_overflow;
31243
+ ju_GenericEnumSet_add($mainBits, $roundedBits);
31244
+ $mainBits = $env.$flags;
31245
+ $roundedBits = asrj_Flags_inexact;
31246
+ ju_GenericEnumSet_add($mainBits, $roundedBits);
31247
+ asrjt_Float64$1_$callClinit();
31248
+ switch (asrjt_Float64$1_$SwitchMap$app$specy$rars$jsoftfloat$RoundingMode.data[jl_Enum_ordinal($env.$mode)]) {
31249
+ case 1:
31250
+ break;
31251
+ case 2:
31252
+ case 3:
31253
+ $normalizedExponent = $ef.$sign;
31254
+ if ($normalizedExponent == ($env.$mode !== asrj_RoundingMode_max ? 0 : 1))
31255
+ return asrjt_Float64__init_0($normalizedExponent, 1023, Long_fromInt(-1));
31256
+ return !$normalizedExponent ? asrjt_Float64_Infinity : asrjt_Float64_NegativeInfinity;
31257
+ case 4:
31258
+ case 5:
31259
+ return !$ef.$sign ? asrjt_Float64_Infinity : asrjt_Float64_NegativeInfinity;
31260
+ default:
31261
+ if (!asrjt_Float64_$assertionsDisabled)
31262
+ $rt_throw(jl_AssertionError__init_($rt_s(1617)));
31263
+ return !$ef.$sign ? asrjt_Float64_Infinity : asrjt_Float64_NegativeInfinity;
31264
+ }
31265
+ return asrjt_Float64__init_0($ef.$sign, 1023, Long_fromInt(-1));
31266
+ }
31267
+ if (jm_BigInteger_bitLength($ef.$significand) <= 53) {
31268
+ if (!asrjt_Float64_$assertionsDisabled && (($ef.$exponent0 + jm_BigInteger_bitLength($ef.$significand) | 0) - 1 | 0) <= -1023)
31269
+ $rt_throw(jl_AssertionError__init_($rt_s(1618)));
31270
+ $a = new asrjt_Float64();
31271
+ $normalizedExponent = $ef.$sign;
31272
+ $bitsToRound = ($ef.$exponent0 + jm_BigInteger_bitLength($ef.$significand) | 0) - 1 | 0;
31273
+ $ef = $ef.$significand;
31274
+ asrjt_Float64__init_2($a, $normalizedExponent, $bitsToRound, Long_and(jm_BigInteger_longValueExact(jm_BigInteger_shiftLeft($ef, 53 - jm_BigInteger_bitLength($ef) | 0)), Long_create(4294967295, 1048575)));
31275
+ return $a;
31276
+ }
31277
+ $mainBits = $env.$flags;
31278
+ $roundedBits = asrj_Flags_inexact;
31279
+ ju_GenericEnumSet_add($mainBits, $roundedBits);
31280
+ $bitsToRound = jm_BigInteger_bitLength($ef.$significand) - 53 | 0;
31281
+ $mainBits = jm_BigInteger_shiftLeft(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound), $bitsToRound);
31282
+ $roundedBits = jm_BigInteger_subtract($ef.$significand, $mainBits);
31283
+ $upBits = jm_BigInteger_add(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound), jm_BigInteger_valueOf(Long_fromInt(1)));
31284
+ $towardsZero = asrjt_Float64__init_0($ef.$sign, ($ef.$exponent0 + 52 | 0) + $bitsToRound | 0, Long_and(jm_BigInteger_longValueExact(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound)), Long_create(4294967295, 1048575)));
31285
+ $awayZero = !jm_BigInteger_testBit($upBits, 0) && jm_BigInteger_bitLength($upBits) > 53 ? asrjt_Float64__init_0($ef.$sign, ($ef.$exponent0 + 53 | 0) + $bitsToRound | 0, Long_and(jm_BigInteger_longValueExact(jm_BigInteger_shiftRight($upBits, 1)), Long_create(4294967295, 1048575))) : asrjt_Float64__init_0($ef.$sign, ($ef.$exponent0 + 52 | 0) + $bitsToRound | 0, Long_and(jm_BigInteger_longValueExact($upBits), Long_create(4294967295, 1048575)));
31286
+ } else {
31287
+ if ($ef.$exponent0 > -1075) {
31288
+ if (!asrjt_Float64_$assertionsDisabled && jm_BigInteger_bitLength($ef.$significand) > 52)
31289
+ $rt_throw(jl_AssertionError__init_($rt_s(1619)));
31290
+ return asrjt_Float64__init_0($ef.$sign, -1023, jm_BigInteger_longValueExact(jm_BigInteger_shiftLeft($ef.$significand, 1074 + $ef.$exponent0 | 0)));
31291
+ }
31292
+ $mainBits = $env.$flags;
31293
+ $roundedBits = asrj_Flags_inexact;
31294
+ ju_GenericEnumSet_add($mainBits, $roundedBits);
31295
+ $mainBits = $env.$flags;
31296
+ $roundedBits = asrj_Flags_underflow;
31297
+ ju_GenericEnumSet_add($mainBits, $roundedBits);
31298
+ $bitsToRound = -1074 - $ef.$exponent0 | 0;
31299
+ $mainBits = jm_BigInteger_shiftLeft(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound), $bitsToRound);
31300
+ $roundedBits = jm_BigInteger_subtract($ef.$significand, $mainBits);
31301
+ $towardsZero = asrjt_Float64__init_0($ef.$sign, -1023, jm_BigInteger_longValueExact(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound)));
31302
+ $upBits = jm_BigInteger_add(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound), jm_BigInteger_valueOf(Long_fromInt(1)));
31303
+ if (!jm_BigInteger_testBit($upBits, 0) && jm_BigInteger_bitLength($upBits) > 52)
31304
+ $awayZero = asrjt_Float64__init_0($ef.$sign, -1022, Long_and(jm_BigInteger_longValueExact($upBits), Long_create(4294967295, 1048575)));
31305
+ else {
31306
+ if (!asrjt_Float64_$assertionsDisabled && jm_BigInteger_bitLength($upBits) > 52)
31307
+ $rt_throw(jl_AssertionError__init_1());
31308
+ $awayZero = asrjt_Float64__init_0($ef.$sign, -1023, jm_BigInteger_longValueExact($upBits));
31309
+ }
31310
+ }
31311
+ asrjt_Float64$1_$callClinit();
31312
+ switch (asrjt_Float64$1_$SwitchMap$app$specy$rars$jsoftfloat$RoundingMode.data[jl_Enum_ordinal($env.$mode)]) {
31313
+ case 1:
31314
+ break;
31315
+ case 2:
31316
+ case 3:
31317
+ if ($ef.$sign == ($env.$mode !== asrj_RoundingMode_max ? 0 : 1))
31318
+ return $towardsZero;
31319
+ return $awayZero;
31320
+ default:
31321
+ $ef = jm_BigInteger_ONE;
31322
+ $normalizedExponent = $bitsToRound - 1 | 0;
31323
+ if (!jm_BigInteger_equals($roundedBits, jm_BigInteger_shiftLeft($ef, $normalizedExponent))) {
31324
+ if (jm_BigInteger_compareTo($roundedBits, jm_BigInteger_shiftLeft(jm_BigInteger_ONE, $normalizedExponent)) <= 0)
31325
+ return $towardsZero;
31326
+ return $awayZero;
31327
+ }
31328
+ if ($env.$mode !== asrj_RoundingMode_away && Long_ne(Long_and($awayZero.$bits1, Long_fromInt(1)), Long_ZERO))
31329
+ return $towardsZero;
31330
+ return $awayZero;
31331
+ }
31332
+ return $towardsZero;
31333
+ };
31334
+ var asrjt_Float64_toExactFloat = ($this) => {
31335
+ let $sign, $exponent, $significand;
31336
+ if (!asrjt_Float64_$assertionsDisabled && asrjt_Float64_isInfinite($this))
31337
+ $rt_throw(jl_AssertionError__init_($rt_s(1620)));
31338
+ if (!asrjt_Float64_$assertionsDisabled && asrjt_Float64_isNaN($this))
31339
+ $rt_throw(jl_AssertionError__init_($rt_s(1621)));
31340
+ if (!asrjt_Float64_$assertionsDisabled && asrjt_Float64_isZero($this))
31341
+ $rt_throw(jl_AssertionError__init_($rt_s(1622)));
31342
+ $sign = asrjt_Float64_isSignMinus($this);
31343
+ if (asrjt_Float64_isZero($this)) {
31344
+ $exponent = 0;
31345
+ $significand = jm_BigInteger_ZERO;
31346
+ } else if (asrjt_Float64_isNormal($this)) {
31347
+ $exponent = asrjt_Float64_exponent($this) - 52 | 0;
31348
+ $significand = jm_BigInteger_valueOf(Long_add(Long_and($this.$bits1, Long_create(4294967295, 1048575)), Long_create(0, 1048576)));
31349
+ } else {
31350
+ if (!asrjt_Float64_isSubnormal($this)) {
31351
+ if (asrjt_Float64_$assertionsDisabled)
31352
+ return null;
31353
+ $rt_throw(jl_AssertionError__init_($rt_s(1623)));
31354
+ }
31355
+ $exponent = asrjt_Float64_exponent($this) - 51 | 0;
31356
+ $significand = jm_BigInteger_valueOf(Long_and($this.$bits1, Long_create(4294967295, 1048575)));
31357
+ }
31358
+ return asrji_ExactFloat__init_($sign, $exponent, $significand);
31359
+ };
31360
+ var asrjt_Float64_maxPrecision = ($this) => {
31361
+ return 60;
31362
+ };
31363
+ var asrjt_Float64_negate0 = ($this) => {
31364
+ return asrjt_Float64_negate($this);
31365
+ };
31366
+ var asrjt_Float64_fromExactFloat = ($this, var$1, var$2) => {
31367
+ return asrjt_Float64_fromExactFloat0($this, var$1, var$2);
31368
+ };
31369
+ var asrjt_Float64_NegativeInfinity0 = ($this) => {
31370
+ return asrjt_Float64_NegativeInfinity;
31371
+ };
31372
+ var asrjt_Float64_Infinity0 = ($this) => {
31373
+ return asrjt_Float64_Infinity;
31374
+ };
31375
+ var asrjt_Float64_NegativeZero0 = ($this) => {
31376
+ return asrjt_Float64_NegativeZero;
31377
+ };
31378
+ var asrjt_Float64_Zero0 = ($this) => {
31379
+ return asrjt_Float64_Zero;
31380
+ };
31381
+ var asrjt_Float64_NaN0 = ($this) => {
31382
+ return asrjt_Float64_NaN;
31383
+ };
31384
+ var asrjt_Float64__clinit_ = () => {
31385
+ asrjt_Float64_$assertionsDisabled = 0;
31386
+ asrjt_Float64_Zero = asrjt_Float64__init_(Long_ZERO);
31387
+ asrjt_Float64_NegativeZero = asrjt_Float64__init_(Long_create(0, 2147483648));
31388
+ asrjt_Float64_NaN = asrjt_Float64__init_(Long_create(0, 2146959360));
31389
+ asrjt_Float64_Infinity = asrjt_Float64__init_(Long_create(0, 2146435072));
31390
+ asrjt_Float64_NegativeInfinity = asrjt_Float64__init_(Long_create(0, 4293918720));
31391
+ };
31130
31392
  function asrjt_Float32() {
31131
31393
  asrjt_Floating.call(this);
31132
31394
  this.$bits0 = 0;
@@ -31343,6 +31605,114 @@ var asrjt_Float32__clinit_ = () => {
31343
31605
  asrjt_Float32_Infinity = asrjt_Float32__init_(2139095040);
31344
31606
  asrjt_Float32_NegativeInfinity = asrjt_Float32__init_(-8388608);
31345
31607
  };
31608
+ var asrjo_Conversions = $rt_classWithoutFields();
31609
+ var asrjo_Conversions_convertToIntegral = ($f, $max, $min, $env, $quiet) => {
31610
+ let $copy, $rounded, var$8, var$9, var$10, var$11, var$12, var$13;
31611
+ if ($f.$isNaN()) {
31612
+ $f = $env.$flags;
31613
+ $min = asrj_Flags_invalid;
31614
+ ju_GenericEnumSet_add($f, $min);
31615
+ return $max;
31616
+ }
31617
+ if ($f.$isInfinite()) {
31618
+ $env = $env.$flags;
31619
+ $copy = asrj_Flags_invalid;
31620
+ ju_GenericEnumSet_add($env, $copy);
31621
+ if ($f.$isSignMinus())
31622
+ $max = $min;
31623
+ return $max;
31624
+ }
31625
+ $copy = asrj_Environment__init_();
31626
+ $copy.$mode = $env.$mode;
31627
+ if ($f.$isZero())
31628
+ $rounded = jm_BigInteger_ZERO;
31629
+ else {
31630
+ $f = $f.$toExactFloat();
31631
+ if (asrji_ExactFloat_isZero($f))
31632
+ $rounded = jm_BigInteger_ZERO;
31633
+ else {
31634
+ if (asrji_ExactFloat_isZero($f))
31635
+ $rounded = $f;
31636
+ else {
31637
+ $rounded = asrji_ExactFloat_normalize($f);
31638
+ var$8 = $rounded.$exponent0;
31639
+ if (var$8 < 0) {
31640
+ var$8 = -var$8 | 0;
31641
+ var$9 = jm_BigInteger_shiftLeft(jm_BigInteger_shiftRight($rounded.$significand, var$8), var$8);
31642
+ var$10 = jm_BigInteger_subtract($rounded.$significand, var$9);
31643
+ var$9 = asrji_ExactFloat_normalize(asrji_ExactFloat__init_($rounded.$sign, $rounded.$exponent0, var$9));
31644
+ var$11 = asrji_ExactFloat_add(var$9, asrji_ExactFloat__init_($rounded.$sign, 0, jm_BigInteger_valueOf(Long_fromInt(1))));
31645
+ var$12 = $env.$mode;
31646
+ if (var$12 === asrj_RoundingMode_zero)
31647
+ $rounded = var$9;
31648
+ else {
31649
+ var$13 = asrj_RoundingMode_max;
31650
+ if (var$12 !== var$13 && var$12 !== asrj_RoundingMode_min) {
31651
+ $rounded = jm_BigInteger_ONE;
31652
+ var$8 = var$8 - 1 | 0;
31653
+ $rounded = !jm_BigInteger_equals(var$10, jm_BigInteger_shiftLeft($rounded, var$8)) ? jm_BigInteger_compareTo(var$10, jm_BigInteger_shiftLeft(jm_BigInteger_ONE, var$8)) <= 0 ? var$9 : var$11 : $env.$mode !== asrj_RoundingMode_away && !jm_BigInteger_testBit(var$9.$significand, 0) ? var$9 : var$11;
31654
+ } else
31655
+ $rounded = (var$12 !== var$13 ? 0 : 1) != $rounded.$sign ? var$11 : var$9;
31656
+ }
31657
+ }
31658
+ }
31659
+ $rounded = asrji_ExactFloat_normalize($rounded);
31660
+ if (asrji_ExactFloat_compareTo($rounded, $f)) {
31661
+ var$9 = $env.$flags;
31662
+ var$10 = asrj_Flags_inexact;
31663
+ ju_GenericEnumSet_add(var$9, var$10);
31664
+ }
31665
+ if (!asrji_ExactFloat_$assertionsDisabled && $rounded.$exponent0 < 0)
31666
+ $rt_throw(jl_AssertionError__init_($rt_s(1624)));
31667
+ $rounded = jm_BigInteger_multiply(jm_BigInteger_shiftLeft($rounded.$significand, $rounded.$exponent0), jm_BigInteger_valueOf(!$f.$sign ? Long_fromInt(1) : Long_fromInt(-1)));
31668
+ }
31669
+ }
31670
+ if (!(jm_BigInteger_compareTo($rounded, $max) <= 0 && jm_BigInteger_compareTo($rounded, $min) >= 0)) {
31671
+ $f = $env.$flags;
31672
+ $env = asrj_Flags_invalid;
31673
+ ju_GenericEnumSet_add($f, $env);
31674
+ } else if (!$quiet) {
31675
+ $f = $copy.$flags;
31676
+ $copy = asrj_Flags_inexact;
31677
+ if (ju_GenericEnumSet_contains($f, $copy)) {
31678
+ $f = $env.$flags;
31679
+ $env = asrj_Flags_inexact;
31680
+ ju_GenericEnumSet_add($f, $env);
31681
+ }
31682
+ }
31683
+ if (jm_BigInteger_compareTo($rounded, $max) == -1)
31684
+ $max = $rounded;
31685
+ if (jm_BigInteger_compareTo($max, $min) == 1)
31686
+ $min = $max;
31687
+ return $min;
31688
+ };
31689
+ var asrjo_Conversions_convertToInt = ($f, $env, $quiet) => {
31690
+ return jm_BigInteger_intValueExact(asrjo_Conversions_convertToIntegral($f, jm_BigInteger_valueOf(Long_fromInt(2147483647)), jm_BigInteger_valueOf(Long_fromInt(-2147483648)), $env, $quiet));
31691
+ };
31692
+ var asrjo_Conversions_convertToUnsignedInt = ($f, $env, $quiet) => {
31693
+ return Long_lo(Long_and(jm_BigInteger_longValueExact(asrjo_Conversions_convertToIntegral($f, jm_BigInteger_valueOf(Long_create(4294967295, 0)), jm_BigInteger_ZERO, $env, $quiet)), Long_create(4294967295, 0)));
31694
+ };
31695
+ var asrjo_Conversions_convertToLong = ($f, $env, $quiet) => {
31696
+ return jm_BigInteger_longValueExact(asrjo_Conversions_convertToIntegral($f, jm_BigInteger_valueOf(Long_create(4294967295, 2147483647)), jm_BigInteger_valueOf(Long_create(0, 2147483648)), $env, $quiet));
31697
+ };
31698
+ var asrjo_Conversions_convertToUnsignedLong = ($f, $env, $quiet) => {
31699
+ return jm_BigInteger_longValue(asrjo_Conversions_convertToIntegral($f, jm_BigInteger_add(jm_BigInteger_valueOf(Long_fromInt(-1)), jm_BigInteger_shiftLeft(jm_BigInteger_ONE, 64)), jm_BigInteger_ZERO, $env, $quiet));
31700
+ };
31701
+ var asrjo_Conversions_convertFromInt = ($i, $env, $helper) => {
31702
+ let var$4;
31703
+ if (jm_BigInteger_equals($i, jm_BigInteger_ZERO))
31704
+ return $helper.$Zero();
31705
+ var$4 = new asrji_ExactFloat();
31706
+ if (jm_BigInteger_compareTo($i, jm_BigInteger_ZERO) >= 0)
31707
+ var$4.$sign = 0;
31708
+ else {
31709
+ var$4.$sign = 1;
31710
+ $i = jm_BigInteger_negate($i);
31711
+ }
31712
+ var$4.$exponent0 = 0;
31713
+ var$4.$significand = $i;
31714
+ return $helper.$fromExactFloat(var$4, $env);
31715
+ };
31346
31716
  var asrjo_Comparisons = $rt_classWithoutFields();
31347
31717
  var asrjo_Comparisons_compareNoNAN = ($a, $b) => {
31348
31718
  if ($a.$isZero()) {
@@ -31647,7 +32017,7 @@ var jm_BigInteger_testBit = ($this, $n) => {
31647
32017
  return !($this.$digits.data[0] & 1) ? 0 : 1;
31648
32018
  if ($n < 0) {
31649
32019
  var$2 = new jl_ArithmeticException();
31650
- jl_Throwable__init_0(var$2, $rt_s(1624));
32020
+ jl_Throwable__init_0(var$2, $rt_s(1625));
31651
32021
  $rt_throw(var$2);
31652
32022
  }
31653
32023
  $intCount = $n >> 5;
@@ -31675,7 +32045,7 @@ var jm_BigInteger_intValueExact = ($this) => {
31675
32045
  if ($this.$numberLength <= 1 && jm_BigInteger_bitLength($this) <= 31)
31676
32046
  return $rt_imul($this.$sign0, $this.$digits.data[0]);
31677
32047
  var$1 = new jl_ArithmeticException();
31678
- jl_Throwable__init_0(var$1, $rt_s(1625));
32048
+ jl_Throwable__init_0(var$1, $rt_s(1626));
31679
32049
  $rt_throw(var$1);
31680
32050
  };
31681
32051
  var jm_BigInteger_longValue = ($this) => {
@@ -31693,7 +32063,7 @@ var jm_BigInteger_longValueExact = ($this) => {
31693
32063
  if ($this.$numberLength <= 2 && jm_BigInteger_bitLength($this) <= 63)
31694
32064
  return jm_BigInteger_longValue($this);
31695
32065
  var$1 = new jl_ArithmeticException();
31696
- jl_Throwable__init_0(var$1, $rt_s(1626));
32066
+ jl_Throwable__init_0(var$1, $rt_s(1627));
31697
32067
  $rt_throw(var$1);
31698
32068
  };
31699
32069
  var jm_BigInteger_compareTo = ($this, $val) => {
@@ -31814,330 +32184,6 @@ var jm_BigInteger__clinit_ = () => {
31814
32184
  $i = $i + 1 | 0;
31815
32185
  }
31816
32186
  };
31817
- var asrjo_Conversions = $rt_classWithoutFields();
31818
- var asrjo_Conversions_convertToIntegral = ($f, $max, $min, $env, $quiet) => {
31819
- let $copy, $rounded, var$8, var$9, var$10, var$11, var$12, var$13;
31820
- if ($f.$isNaN()) {
31821
- $f = $env.$flags;
31822
- $min = asrj_Flags_invalid;
31823
- ju_GenericEnumSet_add($f, $min);
31824
- return $max;
31825
- }
31826
- if ($f.$isInfinite()) {
31827
- $env = $env.$flags;
31828
- $copy = asrj_Flags_invalid;
31829
- ju_GenericEnumSet_add($env, $copy);
31830
- if ($f.$isSignMinus())
31831
- $max = $min;
31832
- return $max;
31833
- }
31834
- $copy = asrj_Environment__init_();
31835
- $copy.$mode = $env.$mode;
31836
- if ($f.$isZero())
31837
- $rounded = jm_BigInteger_ZERO;
31838
- else {
31839
- $f = $f.$toExactFloat();
31840
- if (asrji_ExactFloat_isZero($f))
31841
- $rounded = jm_BigInteger_ZERO;
31842
- else {
31843
- if (asrji_ExactFloat_isZero($f))
31844
- $rounded = $f;
31845
- else {
31846
- $rounded = asrji_ExactFloat_normalize($f);
31847
- var$8 = $rounded.$exponent0;
31848
- if (var$8 < 0) {
31849
- var$8 = -var$8 | 0;
31850
- var$9 = jm_BigInteger_shiftLeft(jm_BigInteger_shiftRight($rounded.$significand, var$8), var$8);
31851
- var$10 = jm_BigInteger_subtract($rounded.$significand, var$9);
31852
- var$9 = asrji_ExactFloat_normalize(asrji_ExactFloat__init_($rounded.$sign, $rounded.$exponent0, var$9));
31853
- var$11 = asrji_ExactFloat_add(var$9, asrji_ExactFloat__init_($rounded.$sign, 0, jm_BigInteger_valueOf(Long_fromInt(1))));
31854
- var$12 = $env.$mode;
31855
- if (var$12 === asrj_RoundingMode_zero)
31856
- $rounded = var$9;
31857
- else {
31858
- var$13 = asrj_RoundingMode_max;
31859
- if (var$12 !== var$13 && var$12 !== asrj_RoundingMode_min) {
31860
- $rounded = jm_BigInteger_ONE;
31861
- var$8 = var$8 - 1 | 0;
31862
- $rounded = !jm_BigInteger_equals(var$10, jm_BigInteger_shiftLeft($rounded, var$8)) ? jm_BigInteger_compareTo(var$10, jm_BigInteger_shiftLeft(jm_BigInteger_ONE, var$8)) <= 0 ? var$9 : var$11 : $env.$mode !== asrj_RoundingMode_away && !jm_BigInteger_testBit(var$9.$significand, 0) ? var$9 : var$11;
31863
- } else
31864
- $rounded = (var$12 !== var$13 ? 0 : 1) != $rounded.$sign ? var$11 : var$9;
31865
- }
31866
- }
31867
- }
31868
- $rounded = asrji_ExactFloat_normalize($rounded);
31869
- if (asrji_ExactFloat_compareTo($rounded, $f)) {
31870
- var$9 = $env.$flags;
31871
- var$10 = asrj_Flags_inexact;
31872
- ju_GenericEnumSet_add(var$9, var$10);
31873
- }
31874
- if (!asrji_ExactFloat_$assertionsDisabled && $rounded.$exponent0 < 0)
31875
- $rt_throw(jl_AssertionError__init_($rt_s(1627)));
31876
- $rounded = jm_BigInteger_multiply(jm_BigInteger_shiftLeft($rounded.$significand, $rounded.$exponent0), jm_BigInteger_valueOf(!$f.$sign ? Long_fromInt(1) : Long_fromInt(-1)));
31877
- }
31878
- }
31879
- if (!(jm_BigInteger_compareTo($rounded, $max) <= 0 && jm_BigInteger_compareTo($rounded, $min) >= 0)) {
31880
- $f = $env.$flags;
31881
- $env = asrj_Flags_invalid;
31882
- ju_GenericEnumSet_add($f, $env);
31883
- } else if (!$quiet) {
31884
- $f = $copy.$flags;
31885
- $copy = asrj_Flags_inexact;
31886
- if (ju_GenericEnumSet_contains($f, $copy)) {
31887
- $f = $env.$flags;
31888
- $env = asrj_Flags_inexact;
31889
- ju_GenericEnumSet_add($f, $env);
31890
- }
31891
- }
31892
- if (jm_BigInteger_compareTo($rounded, $max) == -1)
31893
- $max = $rounded;
31894
- if (jm_BigInteger_compareTo($max, $min) == 1)
31895
- $min = $max;
31896
- return $min;
31897
- };
31898
- var asrjo_Conversions_convertToInt = ($f, $env, $quiet) => {
31899
- return jm_BigInteger_intValueExact(asrjo_Conversions_convertToIntegral($f, jm_BigInteger_valueOf(Long_fromInt(2147483647)), jm_BigInteger_valueOf(Long_fromInt(-2147483648)), $env, $quiet));
31900
- };
31901
- var asrjo_Conversions_convertToUnsignedInt = ($f, $env, $quiet) => {
31902
- return Long_lo(Long_and(jm_BigInteger_longValueExact(asrjo_Conversions_convertToIntegral($f, jm_BigInteger_valueOf(Long_create(4294967295, 0)), jm_BigInteger_ZERO, $env, $quiet)), Long_create(4294967295, 0)));
31903
- };
31904
- var asrjo_Conversions_convertToLong = ($f, $env, $quiet) => {
31905
- return jm_BigInteger_longValueExact(asrjo_Conversions_convertToIntegral($f, jm_BigInteger_valueOf(Long_create(4294967295, 2147483647)), jm_BigInteger_valueOf(Long_create(0, 2147483648)), $env, $quiet));
31906
- };
31907
- var asrjo_Conversions_convertToUnsignedLong = ($f, $env, $quiet) => {
31908
- return jm_BigInteger_longValue(asrjo_Conversions_convertToIntegral($f, jm_BigInteger_add(jm_BigInteger_valueOf(Long_fromInt(-1)), jm_BigInteger_shiftLeft(jm_BigInteger_ONE, 64)), jm_BigInteger_ZERO, $env, $quiet));
31909
- };
31910
- var asrjo_Conversions_convertFromInt = ($i, $env, $helper) => {
31911
- let var$4;
31912
- if (jm_BigInteger_equals($i, jm_BigInteger_ZERO))
31913
- return $helper.$Zero();
31914
- var$4 = new asrji_ExactFloat();
31915
- if (jm_BigInteger_compareTo($i, jm_BigInteger_ZERO) >= 0)
31916
- var$4.$sign = 0;
31917
- else {
31918
- var$4.$sign = 1;
31919
- $i = jm_BigInteger_negate($i);
31920
- }
31921
- var$4.$exponent0 = 0;
31922
- var$4.$significand = $i;
31923
- return $helper.$fromExactFloat(var$4, $env);
31924
- };
31925
- function asrjt_Float64() {
31926
- asrjt_Floating.call(this);
31927
- this.$bits1 = Long_ZERO;
31928
- }
31929
- var asrjt_Float64_Zero = null;
31930
- var asrjt_Float64_NegativeZero = null;
31931
- var asrjt_Float64_NaN = null;
31932
- var asrjt_Float64_Infinity = null;
31933
- var asrjt_Float64_NegativeInfinity = null;
31934
- var asrjt_Float64_$assertionsDisabled = 0;
31935
- var asrjt_Float64__init_1 = ($this, $bits) => {
31936
- $this.$bits1 = $bits;
31937
- };
31938
- var asrjt_Float64__init_ = (var_0) => {
31939
- let var_1 = new asrjt_Float64();
31940
- asrjt_Float64__init_1(var_1, var_0);
31941
- return var_1;
31942
- };
31943
- var asrjt_Float64__init_2 = ($this, $sign, $exponent, $significand) => {
31944
- asrjt_Float64__init_1($this, Long_or(Long_or(!$sign ? Long_ZERO : Long_create(0, 2147483648), Long_shl(Long_and(Long_fromInt($exponent + 1023 | 0), Long_fromInt(2047)), 52)), Long_and($significand, Long_create(4294967295, 1048575))));
31945
- };
31946
- var asrjt_Float64__init_0 = (var_0, var_1, var_2) => {
31947
- let var_3 = new asrjt_Float64();
31948
- asrjt_Float64__init_2(var_3, var_0, var_1, var_2);
31949
- return var_3;
31950
- };
31951
- var asrjt_Float64_exponent = ($this) => {
31952
- return (Long_lo(Long_shru($this.$bits1, 52)) & 2047) - 1023 | 0;
31953
- };
31954
- var asrjt_Float64_negate = ($this) => {
31955
- return asrjt_Float64__init_(Long_xor($this.$bits1, Long_create(0, 2147483648)));
31956
- };
31957
- var asrjt_Float64_isSignMinus = ($this) => {
31958
- return Long_ne(Long_shru($this.$bits1, 63), Long_fromInt(1)) ? 0 : 1;
31959
- };
31960
- var asrjt_Float64_isInfinite = ($this) => {
31961
- return asrjt_Float64_exponent($this) == 1024 && Long_eq(Long_and($this.$bits1, Long_create(4294967295, 1048575)), Long_ZERO) ? 1 : 0;
31962
- };
31963
- var asrjt_Float64_isNormal = ($this) => {
31964
- return asrjt_Float64_exponent($this) != -1023 && asrjt_Float64_exponent($this) != 1024 ? 1 : 0;
31965
- };
31966
- var asrjt_Float64_isSubnormal = ($this) => {
31967
- return asrjt_Float64_exponent($this) == -1023 && !asrjt_Float64_isZero($this) ? 1 : 0;
31968
- };
31969
- var asrjt_Float64_isNaN = ($this) => {
31970
- return asrjt_Float64_exponent($this) == 1024 && !asrjt_Float64_isInfinite($this) ? 1 : 0;
31971
- };
31972
- var asrjt_Float64_isSignalling = ($this) => {
31973
- if (!asrjt_Float64_isNaN($this))
31974
- return 0;
31975
- return Long_ne(Long_and($this.$bits1, Long_create(0, 524288)), Long_ZERO) ? 0 : 1;
31976
- };
31977
- var asrjt_Float64_isZero = ($this) => {
31978
- let var$1;
31979
- var$1 = $this.$bits1;
31980
- return Long_ne(var$1, Long_ZERO) && Long_ne(var$1, Long_create(0, 2147483648)) ? 0 : 1;
31981
- };
31982
- var asrjt_Float64_fromExactFloat0 = ($this, $ef, $env) => {
31983
- let $normalizedExponent, $mainBits, $roundedBits, $a, $bitsToRound, $upBits, $towardsZero, $awayZero;
31984
- if (asrji_ExactFloat_isZero($ef))
31985
- return !$ef.$sign ? asrjt_Float64_Zero : asrjt_Float64_NegativeZero;
31986
- $ef = asrji_ExactFloat_normalize($ef);
31987
- $normalizedExponent = $ef.$exponent0 + jm_BigInteger_bitLength($ef.$significand) | 0;
31988
- if ($normalizedExponent > -1022) {
31989
- if ($normalizedExponent > 1024) {
31990
- $mainBits = $env.$flags;
31991
- $roundedBits = asrj_Flags_overflow;
31992
- ju_GenericEnumSet_add($mainBits, $roundedBits);
31993
- $mainBits = $env.$flags;
31994
- $roundedBits = asrj_Flags_inexact;
31995
- ju_GenericEnumSet_add($mainBits, $roundedBits);
31996
- asrjt_Float64$1_$callClinit();
31997
- switch (asrjt_Float64$1_$SwitchMap$app$specy$rars$jsoftfloat$RoundingMode.data[jl_Enum_ordinal($env.$mode)]) {
31998
- case 1:
31999
- break;
32000
- case 2:
32001
- case 3:
32002
- $normalizedExponent = $ef.$sign;
32003
- if ($normalizedExponent == ($env.$mode !== asrj_RoundingMode_max ? 0 : 1))
32004
- return asrjt_Float64__init_0($normalizedExponent, 1023, Long_fromInt(-1));
32005
- return !$normalizedExponent ? asrjt_Float64_Infinity : asrjt_Float64_NegativeInfinity;
32006
- case 4:
32007
- case 5:
32008
- return !$ef.$sign ? asrjt_Float64_Infinity : asrjt_Float64_NegativeInfinity;
32009
- default:
32010
- if (!asrjt_Float64_$assertionsDisabled)
32011
- $rt_throw(jl_AssertionError__init_($rt_s(1617)));
32012
- return !$ef.$sign ? asrjt_Float64_Infinity : asrjt_Float64_NegativeInfinity;
32013
- }
32014
- return asrjt_Float64__init_0($ef.$sign, 1023, Long_fromInt(-1));
32015
- }
32016
- if (jm_BigInteger_bitLength($ef.$significand) <= 53) {
32017
- if (!asrjt_Float64_$assertionsDisabled && (($ef.$exponent0 + jm_BigInteger_bitLength($ef.$significand) | 0) - 1 | 0) <= -1023)
32018
- $rt_throw(jl_AssertionError__init_($rt_s(1618)));
32019
- $a = new asrjt_Float64();
32020
- $normalizedExponent = $ef.$sign;
32021
- $bitsToRound = ($ef.$exponent0 + jm_BigInteger_bitLength($ef.$significand) | 0) - 1 | 0;
32022
- $ef = $ef.$significand;
32023
- asrjt_Float64__init_2($a, $normalizedExponent, $bitsToRound, Long_and(jm_BigInteger_longValueExact(jm_BigInteger_shiftLeft($ef, 53 - jm_BigInteger_bitLength($ef) | 0)), Long_create(4294967295, 1048575)));
32024
- return $a;
32025
- }
32026
- $mainBits = $env.$flags;
32027
- $roundedBits = asrj_Flags_inexact;
32028
- ju_GenericEnumSet_add($mainBits, $roundedBits);
32029
- $bitsToRound = jm_BigInteger_bitLength($ef.$significand) - 53 | 0;
32030
- $mainBits = jm_BigInteger_shiftLeft(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound), $bitsToRound);
32031
- $roundedBits = jm_BigInteger_subtract($ef.$significand, $mainBits);
32032
- $upBits = jm_BigInteger_add(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound), jm_BigInteger_valueOf(Long_fromInt(1)));
32033
- $towardsZero = asrjt_Float64__init_0($ef.$sign, ($ef.$exponent0 + 52 | 0) + $bitsToRound | 0, Long_and(jm_BigInteger_longValueExact(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound)), Long_create(4294967295, 1048575)));
32034
- $awayZero = !jm_BigInteger_testBit($upBits, 0) && jm_BigInteger_bitLength($upBits) > 53 ? asrjt_Float64__init_0($ef.$sign, ($ef.$exponent0 + 53 | 0) + $bitsToRound | 0, Long_and(jm_BigInteger_longValueExact(jm_BigInteger_shiftRight($upBits, 1)), Long_create(4294967295, 1048575))) : asrjt_Float64__init_0($ef.$sign, ($ef.$exponent0 + 52 | 0) + $bitsToRound | 0, Long_and(jm_BigInteger_longValueExact($upBits), Long_create(4294967295, 1048575)));
32035
- } else {
32036
- if ($ef.$exponent0 > -1075) {
32037
- if (!asrjt_Float64_$assertionsDisabled && jm_BigInteger_bitLength($ef.$significand) > 52)
32038
- $rt_throw(jl_AssertionError__init_($rt_s(1619)));
32039
- return asrjt_Float64__init_0($ef.$sign, -1023, jm_BigInteger_longValueExact(jm_BigInteger_shiftLeft($ef.$significand, 1074 + $ef.$exponent0 | 0)));
32040
- }
32041
- $mainBits = $env.$flags;
32042
- $roundedBits = asrj_Flags_inexact;
32043
- ju_GenericEnumSet_add($mainBits, $roundedBits);
32044
- $mainBits = $env.$flags;
32045
- $roundedBits = asrj_Flags_underflow;
32046
- ju_GenericEnumSet_add($mainBits, $roundedBits);
32047
- $bitsToRound = -1074 - $ef.$exponent0 | 0;
32048
- $mainBits = jm_BigInteger_shiftLeft(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound), $bitsToRound);
32049
- $roundedBits = jm_BigInteger_subtract($ef.$significand, $mainBits);
32050
- $towardsZero = asrjt_Float64__init_0($ef.$sign, -1023, jm_BigInteger_longValueExact(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound)));
32051
- $upBits = jm_BigInteger_add(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound), jm_BigInteger_valueOf(Long_fromInt(1)));
32052
- if (!jm_BigInteger_testBit($upBits, 0) && jm_BigInteger_bitLength($upBits) > 52)
32053
- $awayZero = asrjt_Float64__init_0($ef.$sign, -1022, Long_and(jm_BigInteger_longValueExact($upBits), Long_create(4294967295, 1048575)));
32054
- else {
32055
- if (!asrjt_Float64_$assertionsDisabled && jm_BigInteger_bitLength($upBits) > 52)
32056
- $rt_throw(jl_AssertionError__init_1());
32057
- $awayZero = asrjt_Float64__init_0($ef.$sign, -1023, jm_BigInteger_longValueExact($upBits));
32058
- }
32059
- }
32060
- asrjt_Float64$1_$callClinit();
32061
- switch (asrjt_Float64$1_$SwitchMap$app$specy$rars$jsoftfloat$RoundingMode.data[jl_Enum_ordinal($env.$mode)]) {
32062
- case 1:
32063
- break;
32064
- case 2:
32065
- case 3:
32066
- if ($ef.$sign == ($env.$mode !== asrj_RoundingMode_max ? 0 : 1))
32067
- return $towardsZero;
32068
- return $awayZero;
32069
- default:
32070
- $ef = jm_BigInteger_ONE;
32071
- $normalizedExponent = $bitsToRound - 1 | 0;
32072
- if (!jm_BigInteger_equals($roundedBits, jm_BigInteger_shiftLeft($ef, $normalizedExponent))) {
32073
- if (jm_BigInteger_compareTo($roundedBits, jm_BigInteger_shiftLeft(jm_BigInteger_ONE, $normalizedExponent)) <= 0)
32074
- return $towardsZero;
32075
- return $awayZero;
32076
- }
32077
- if ($env.$mode !== asrj_RoundingMode_away && Long_ne(Long_and($awayZero.$bits1, Long_fromInt(1)), Long_ZERO))
32078
- return $towardsZero;
32079
- return $awayZero;
32080
- }
32081
- return $towardsZero;
32082
- };
32083
- var asrjt_Float64_toExactFloat = ($this) => {
32084
- let $sign, $exponent, $significand;
32085
- if (!asrjt_Float64_$assertionsDisabled && asrjt_Float64_isInfinite($this))
32086
- $rt_throw(jl_AssertionError__init_($rt_s(1620)));
32087
- if (!asrjt_Float64_$assertionsDisabled && asrjt_Float64_isNaN($this))
32088
- $rt_throw(jl_AssertionError__init_($rt_s(1621)));
32089
- if (!asrjt_Float64_$assertionsDisabled && asrjt_Float64_isZero($this))
32090
- $rt_throw(jl_AssertionError__init_($rt_s(1622)));
32091
- $sign = asrjt_Float64_isSignMinus($this);
32092
- if (asrjt_Float64_isZero($this)) {
32093
- $exponent = 0;
32094
- $significand = jm_BigInteger_ZERO;
32095
- } else if (asrjt_Float64_isNormal($this)) {
32096
- $exponent = asrjt_Float64_exponent($this) - 52 | 0;
32097
- $significand = jm_BigInteger_valueOf(Long_add(Long_and($this.$bits1, Long_create(4294967295, 1048575)), Long_create(0, 1048576)));
32098
- } else {
32099
- if (!asrjt_Float64_isSubnormal($this)) {
32100
- if (asrjt_Float64_$assertionsDisabled)
32101
- return null;
32102
- $rt_throw(jl_AssertionError__init_($rt_s(1623)));
32103
- }
32104
- $exponent = asrjt_Float64_exponent($this) - 51 | 0;
32105
- $significand = jm_BigInteger_valueOf(Long_and($this.$bits1, Long_create(4294967295, 1048575)));
32106
- }
32107
- return asrji_ExactFloat__init_($sign, $exponent, $significand);
32108
- };
32109
- var asrjt_Float64_maxPrecision = ($this) => {
32110
- return 60;
32111
- };
32112
- var asrjt_Float64_negate0 = ($this) => {
32113
- return asrjt_Float64_negate($this);
32114
- };
32115
- var asrjt_Float64_fromExactFloat = ($this, var$1, var$2) => {
32116
- return asrjt_Float64_fromExactFloat0($this, var$1, var$2);
32117
- };
32118
- var asrjt_Float64_NegativeInfinity0 = ($this) => {
32119
- return asrjt_Float64_NegativeInfinity;
32120
- };
32121
- var asrjt_Float64_Infinity0 = ($this) => {
32122
- return asrjt_Float64_Infinity;
32123
- };
32124
- var asrjt_Float64_NegativeZero0 = ($this) => {
32125
- return asrjt_Float64_NegativeZero;
32126
- };
32127
- var asrjt_Float64_Zero0 = ($this) => {
32128
- return asrjt_Float64_Zero;
32129
- };
32130
- var asrjt_Float64_NaN0 = ($this) => {
32131
- return asrjt_Float64_NaN;
32132
- };
32133
- var asrjt_Float64__clinit_ = () => {
32134
- asrjt_Float64_$assertionsDisabled = 0;
32135
- asrjt_Float64_Zero = asrjt_Float64__init_(Long_ZERO);
32136
- asrjt_Float64_NegativeZero = asrjt_Float64__init_(Long_create(0, 2147483648));
32137
- asrjt_Float64_NaN = asrjt_Float64__init_(Long_create(0, 2146959360));
32138
- asrjt_Float64_Infinity = asrjt_Float64__init_(Long_create(0, 2146435072));
32139
- asrjt_Float64_NegativeInfinity = asrjt_Float64__init_(Long_create(0, 4293918720));
32140
- };
32141
32187
  var asrjo_Arithmetic = $rt_classWithoutFields();
32142
32188
  var asrjo_Arithmetic_$assertionsDisabled = 0;
32143
32189
  var asrjo_Arithmetic_add = ($a, $b, $env) => {
@@ -32662,6 +32708,7 @@ var jm_Elementary_subtract = ($a, $aSize, $b, $bSize) => {
32662
32708
  }
32663
32709
  return $res;
32664
32710
  };
32711
+ var jl_ArithmeticException = $rt_classWithoutFields(jl_RuntimeException);
32665
32712
  var jm_BitLevel = $rt_classWithoutFields();
32666
32713
  var jm_BitLevel_shiftLeft = ($source, $count) => {
32667
32714
  let $intCount, var$4, var$5, $resLength, $resDigits, var$8, var$9, var$10, var$11, var$12, $result;
@@ -32776,7 +32823,6 @@ var jm_BitLevel_shiftRight = ($source, $count) => {
32776
32823
  jm_BigInteger_cutOffLeadingZeroes($result);
32777
32824
  return $result;
32778
32825
  };
32779
- var jl_ArithmeticException = $rt_classWithoutFields(jl_RuntimeException);
32780
32826
  var asrrs_NullString = $rt_classWithoutFields();
32781
32827
  var asrrs_NullString_get = ($statement) => {
32782
32828
  return asrrs_NullString_get0($statement, $rt_s(220));
@@ -33732,34 +33778,34 @@ function ju_Hashtable$Entry() {
33732
33778
  var ju_Hashtable$Entry_equalsKey = ($this, $aKey, $hash) => {
33733
33779
  return $this.$hashcode == jl_String_hashCode($aKey) && $this.$key.$equals($aKey) ? 1 : 0;
33734
33780
  };
33735
- var asrjt_Float64$1 = $rt_classWithoutFields();
33736
- var asrjt_Float64$1_$SwitchMap$app$specy$rars$jsoftfloat$RoundingMode = null;
33737
- var asrjt_Float64$1_$callClinit = () => {
33738
- asrjt_Float64$1_$callClinit = $rt_eraseClinit(asrjt_Float64$1);
33739
- asrjt_Float64$1__clinit_();
33781
+ var asrjt_Float32$1 = $rt_classWithoutFields();
33782
+ var asrjt_Float32$1_$SwitchMap$app$specy$rars$jsoftfloat$RoundingMode = null;
33783
+ var asrjt_Float32$1_$callClinit = () => {
33784
+ asrjt_Float32$1_$callClinit = $rt_eraseClinit(asrjt_Float32$1);
33785
+ asrjt_Float32$1__clinit_();
33740
33786
  };
33741
- var asrjt_Float64$1__clinit_ = () => {
33787
+ var asrjt_Float32$1__clinit_ = () => {
33742
33788
  let var$1, var$2;
33743
33789
  var$1 = $rt_createIntArray(asrj_RoundingMode_values().data.length);
33744
33790
  var$2 = var$1.data;
33745
- asrjt_Float64$1_$SwitchMap$app$specy$rars$jsoftfloat$RoundingMode = var$1;
33791
+ asrjt_Float32$1_$SwitchMap$app$specy$rars$jsoftfloat$RoundingMode = var$1;
33746
33792
  var$2[asrj_RoundingMode_zero.$ordinal0] = 1;
33747
33793
  var$2[asrj_RoundingMode_min.$ordinal0] = 2;
33748
33794
  var$2[asrj_RoundingMode_max.$ordinal0] = 3;
33749
33795
  var$2[asrj_RoundingMode_away.$ordinal0] = 4;
33750
33796
  var$2[asrj_RoundingMode_even.$ordinal0] = 5;
33751
33797
  };
33752
- var asrjt_Float32$1 = $rt_classWithoutFields();
33753
- var asrjt_Float32$1_$SwitchMap$app$specy$rars$jsoftfloat$RoundingMode = null;
33754
- var asrjt_Float32$1_$callClinit = () => {
33755
- asrjt_Float32$1_$callClinit = $rt_eraseClinit(asrjt_Float32$1);
33756
- asrjt_Float32$1__clinit_();
33798
+ var asrjt_Float64$1 = $rt_classWithoutFields();
33799
+ var asrjt_Float64$1_$SwitchMap$app$specy$rars$jsoftfloat$RoundingMode = null;
33800
+ var asrjt_Float64$1_$callClinit = () => {
33801
+ asrjt_Float64$1_$callClinit = $rt_eraseClinit(asrjt_Float64$1);
33802
+ asrjt_Float64$1__clinit_();
33757
33803
  };
33758
- var asrjt_Float32$1__clinit_ = () => {
33804
+ var asrjt_Float64$1__clinit_ = () => {
33759
33805
  let var$1, var$2;
33760
33806
  var$1 = $rt_createIntArray(asrj_RoundingMode_values().data.length);
33761
33807
  var$2 = var$1.data;
33762
- asrjt_Float32$1_$SwitchMap$app$specy$rars$jsoftfloat$RoundingMode = var$1;
33808
+ asrjt_Float64$1_$SwitchMap$app$specy$rars$jsoftfloat$RoundingMode = var$1;
33763
33809
  var$2[asrj_RoundingMode_zero.$ordinal0] = 1;
33764
33810
  var$2[asrj_RoundingMode_min.$ordinal0] = 2;
33765
33811
  var$2[asrj_RoundingMode_max.$ordinal0] = 3;
@@ -34908,16 +34954,6 @@ $rt_metadata([
34908
34954
  0,
34909
34955
  asrrh_RegisterFile_$callClinit,
34910
34956
  0,
34911
- asr_JsProgramStatement,
34912
- "JsProgramStatement",
34913
- 10,
34914
- jl_Object,
34915
- [],
34916
- 0,
34917
- 3,
34918
- 0,
34919
- 0,
34920
- 0,
34921
34957
  asr_JsRiscV$getTokenizedLines$lambda$_5_0,
34922
34958
  0,
34923
34959
  jl_Object,
@@ -34946,6 +34982,16 @@ $rt_metadata([
34946
34982
  0,
34947
34983
  0,
34948
34984
  0,
34985
+ asr_JsProgramStatement,
34986
+ "JsProgramStatement",
34987
+ 10,
34988
+ jl_Object,
34989
+ [],
34990
+ 0,
34991
+ 3,
34992
+ 0,
34993
+ 0,
34994
+ 0,
34949
34995
  ju_Arrays,
34950
34996
  0,
34951
34997
  jl_Object,
@@ -35001,8 +35047,8 @@ $rt_metadata([
35001
35047
  0,
35002
35048
  0,
35003
35049
  0,
35004
- asr_JsCompilationResult,
35005
- "JsCompilationResult",
35050
+ asr_JsStackFrame,
35051
+ "JsStackFrame",
35006
35052
  10,
35007
35053
  jl_Object,
35008
35054
  [],
@@ -35011,19 +35057,19 @@ $rt_metadata([
35011
35057
  0,
35012
35058
  0,
35013
35059
  0,
35014
- asr_AssemblyException,
35015
- 0,
35016
- jl_Exception,
35060
+ asr_JsCompilationResult,
35061
+ "JsCompilationResult",
35062
+ 10,
35063
+ jl_Object,
35017
35064
  [],
35018
35065
  0,
35019
35066
  3,
35020
35067
  0,
35021
35068
  0,
35022
35069
  0,
35023
- asr_JsStackFrame,
35024
- "JsStackFrame",
35025
- 10,
35026
- jl_Object,
35070
+ asr_AssemblyException,
35071
+ 0,
35072
+ jl_Exception,
35027
35073
  [],
35028
35074
  0,
35029
35075
  3,
@@ -36802,8 +36848,9 @@ $rt_metadata([
36802
36848
  0,
36803
36849
  0,
36804
36850
  0,
36805
- asr_ErrorList,
36806
- 0,
36851
+ asrrh_StackFrame,
36852
+ "StackFrame",
36853
+ 7,
36807
36854
  jl_Object,
36808
36855
  [],
36809
36856
  0,
@@ -36811,7 +36858,7 @@ $rt_metadata([
36811
36858
  0,
36812
36859
  0,
36813
36860
  0,
36814
- asrrh_StackFrame,
36861
+ asr_ErrorList,
36815
36862
  0,
36816
36863
  jl_Object,
36817
36864
  [],
@@ -37518,26 +37565,25 @@ $rt_metadata([
37518
37565
  0,
37519
37566
  0,
37520
37567
  ["$hasNext", $rt_wrapFunction0(ju_AbstractList$1_hasNext), "$next", $rt_wrapFunction0(ju_AbstractList$1_next)],
37521
- asrs_Simulator$Reason,
37522
- "Simulator$Reason",
37523
- 3,
37524
- jl_Enum,
37568
+ asrrh_FloatingPointRegisterFile,
37569
+ 0,
37570
+ jl_Object,
37525
37571
  [],
37526
- 12,
37572
+ 0,
37527
37573
  3,
37528
37574
  0,
37529
37575
  0,
37530
37576
  0,
37531
- jlr_Array,
37577
+ asrrh_ControlAndStatusRegisterFile,
37532
37578
  0,
37533
37579
  jl_Object,
37534
37580
  [],
37535
- 4,
37581
+ 0,
37536
37582
  3,
37537
37583
  0,
37538
37584
  0,
37539
37585
  0,
37540
- asrrh_Stack,
37586
+ asrrh_InterruptController,
37541
37587
  0,
37542
37588
  jl_Object,
37543
37589
  [],
@@ -37546,7 +37592,7 @@ $rt_metadata([
37546
37592
  0,
37547
37593
  0,
37548
37594
  0,
37549
- asrrh_FloatingPointRegisterFile,
37595
+ asrrh_Stack,
37550
37596
  0,
37551
37597
  jl_Object,
37552
37598
  [],
@@ -37555,20 +37601,21 @@ $rt_metadata([
37555
37601
  0,
37556
37602
  0,
37557
37603
  0,
37558
- asrrh_ControlAndStatusRegisterFile,
37559
- 0,
37560
- jl_Object,
37604
+ asrs_Simulator$Reason,
37605
+ "Simulator$Reason",
37606
+ 3,
37607
+ jl_Enum,
37561
37608
  [],
37562
- 0,
37609
+ 12,
37563
37610
  3,
37564
37611
  0,
37565
37612
  0,
37566
37613
  0,
37567
- asrrh_InterruptController,
37614
+ jlr_Array,
37568
37615
  0,
37569
37616
  jl_Object,
37570
37617
  [],
37571
- 0,
37618
+ 4,
37572
37619
  3,
37573
37620
  0,
37574
37621
  0,
@@ -40576,6 +40623,48 @@ $rt_metadata([
40576
40623
  0,
40577
40624
  0,
40578
40625
  0,
40626
+ asrjt_Float64,
40627
+ 0,
40628
+ asrjt_Floating,
40629
+ [],
40630
+ 0,
40631
+ 3,
40632
+ 0,
40633
+ 0,
40634
+ [
40635
+ "$isSignMinus",
40636
+ $rt_wrapFunction0(asrjt_Float64_isSignMinus),
40637
+ "$isInfinite",
40638
+ $rt_wrapFunction0(asrjt_Float64_isInfinite),
40639
+ "$isNormal",
40640
+ $rt_wrapFunction0(asrjt_Float64_isNormal),
40641
+ "$isSubnormal",
40642
+ $rt_wrapFunction0(asrjt_Float64_isSubnormal),
40643
+ "$isNaN",
40644
+ $rt_wrapFunction0(asrjt_Float64_isNaN),
40645
+ "$isSignalling",
40646
+ $rt_wrapFunction0(asrjt_Float64_isSignalling),
40647
+ "$isZero",
40648
+ $rt_wrapFunction0(asrjt_Float64_isZero),
40649
+ "$toExactFloat",
40650
+ $rt_wrapFunction0(asrjt_Float64_toExactFloat),
40651
+ "$maxPrecision",
40652
+ $rt_wrapFunction0(asrjt_Float64_maxPrecision),
40653
+ "$negate2",
40654
+ $rt_wrapFunction0(asrjt_Float64_negate0),
40655
+ "$fromExactFloat",
40656
+ $rt_wrapFunction2(asrjt_Float64_fromExactFloat),
40657
+ "$NegativeInfinity",
40658
+ $rt_wrapFunction0(asrjt_Float64_NegativeInfinity0),
40659
+ "$Infinity",
40660
+ $rt_wrapFunction0(asrjt_Float64_Infinity0),
40661
+ "$NegativeZero",
40662
+ $rt_wrapFunction0(asrjt_Float64_NegativeZero0),
40663
+ "$Zero",
40664
+ $rt_wrapFunction0(asrjt_Float64_Zero0),
40665
+ "$NaN",
40666
+ $rt_wrapFunction0(asrjt_Float64_NaN0)
40667
+ ],
40579
40668
  asrjt_Float32,
40580
40669
  0,
40581
40670
  asrjt_Floating,
@@ -40618,7 +40707,7 @@ $rt_metadata([
40618
40707
  "$NaN",
40619
40708
  $rt_wrapFunction0(asrjt_Float32_NaN0)
40620
40709
  ],
40621
- asrjo_Comparisons,
40710
+ asrjo_Conversions,
40622
40711
  0,
40623
40712
  jl_Object,
40624
40713
  [],
@@ -40627,16 +40716,7 @@ $rt_metadata([
40627
40716
  0,
40628
40717
  0,
40629
40718
  0,
40630
- jm_BigInteger,
40631
- 0,
40632
- jl_Number,
40633
- [jl_Comparable, ji_Serializable],
40634
- 0,
40635
- 3,
40636
- 0,
40637
- 0,
40638
- 0,
40639
- asrjo_Conversions,
40719
+ asrjo_Comparisons,
40640
40720
  0,
40641
40721
  jl_Object,
40642
40722
  [],
@@ -40645,48 +40725,15 @@ $rt_metadata([
40645
40725
  0,
40646
40726
  0,
40647
40727
  0,
40648
- asrjt_Float64,
40728
+ jm_BigInteger,
40649
40729
  0,
40650
- asrjt_Floating,
40651
- [],
40730
+ jl_Number,
40731
+ [jl_Comparable, ji_Serializable],
40652
40732
  0,
40653
40733
  3,
40654
40734
  0,
40655
40735
  0,
40656
- [
40657
- "$isSignMinus",
40658
- $rt_wrapFunction0(asrjt_Float64_isSignMinus),
40659
- "$isInfinite",
40660
- $rt_wrapFunction0(asrjt_Float64_isInfinite),
40661
- "$isNormal",
40662
- $rt_wrapFunction0(asrjt_Float64_isNormal),
40663
- "$isSubnormal",
40664
- $rt_wrapFunction0(asrjt_Float64_isSubnormal),
40665
- "$isNaN",
40666
- $rt_wrapFunction0(asrjt_Float64_isNaN),
40667
- "$isSignalling",
40668
- $rt_wrapFunction0(asrjt_Float64_isSignalling),
40669
- "$isZero",
40670
- $rt_wrapFunction0(asrjt_Float64_isZero),
40671
- "$toExactFloat",
40672
- $rt_wrapFunction0(asrjt_Float64_toExactFloat),
40673
- "$maxPrecision",
40674
- $rt_wrapFunction0(asrjt_Float64_maxPrecision),
40675
- "$negate2",
40676
- $rt_wrapFunction0(asrjt_Float64_negate0),
40677
- "$fromExactFloat",
40678
- $rt_wrapFunction2(asrjt_Float64_fromExactFloat),
40679
- "$NegativeInfinity",
40680
- $rt_wrapFunction0(asrjt_Float64_NegativeInfinity0),
40681
- "$Infinity",
40682
- $rt_wrapFunction0(asrjt_Float64_Infinity0),
40683
- "$NegativeZero",
40684
- $rt_wrapFunction0(asrjt_Float64_NegativeZero0),
40685
- "$Zero",
40686
- $rt_wrapFunction0(asrjt_Float64_Zero0),
40687
- "$NaN",
40688
- $rt_wrapFunction0(asrjt_Float64_NaN0)
40689
- ],
40736
+ 0,
40690
40737
  asrjo_Arithmetic,
40691
40738
  0,
40692
40739
  jl_Object,
@@ -40770,21 +40817,21 @@ $rt_metadata([
40770
40817
  0,
40771
40818
  0,
40772
40819
  0,
40773
- jm_BitLevel,
40820
+ jl_ArithmeticException,
40774
40821
  0,
40775
- jl_Object,
40822
+ jl_RuntimeException,
40776
40823
  [],
40777
40824
  0,
40825
+ 3,
40778
40826
  0,
40779
40827
  0,
40780
40828
  0,
40829
+ jm_BitLevel,
40781
40830
  0,
40782
- jl_ArithmeticException,
40783
- 0,
40784
- jl_RuntimeException,
40831
+ jl_Object,
40785
40832
  [],
40786
40833
  0,
40787
- 3,
40834
+ 0,
40788
40835
  0,
40789
40836
  0,
40790
40837
  0,
@@ -40925,23 +40972,23 @@ $rt_metadata([
40925
40972
  0,
40926
40973
  0,
40927
40974
  0,
40928
- asrjt_Float64$1,
40975
+ asrjt_Float32$1,
40929
40976
  0,
40930
40977
  jl_Object,
40931
40978
  [],
40932
40979
  32,
40933
40980
  0,
40934
40981
  0,
40935
- asrjt_Float64$1_$callClinit,
40982
+ asrjt_Float32$1_$callClinit,
40936
40983
  0,
40937
- asrjt_Float32$1,
40984
+ asrjt_Float64$1,
40938
40985
  0,
40939
40986
  jl_Object,
40940
40987
  [],
40941
40988
  32,
40942
40989
  0,
40943
40990
  0,
40944
- asrjt_Float32$1_$callClinit,
40991
+ asrjt_Float64$1_$callClinit,
40945
40992
  0,
40946
40993
  jm_Multiplication,
40947
40994
  0,
@@ -41059,7 +41106,6 @@ $rt_stringPool([
41059
41106
  "Illegal radix: ",
41060
41107
  "Internal RARS error: address exception while back-stepping.",
41061
41108
  "Invalid boolean setting ID",
41062
- "sp",
41063
41109
  "main",
41064
41110
  "object",
41065
41111
  "function",
@@ -41115,7 +41161,7 @@ $rt_stringPool([
41115
41161
  "store address out of range ",
41116
41162
  "store address not aligned on halfword boundary ",
41117
41163
  "Store address to text segment out of range",
41118
- "cCannot read directly from text segment!",
41164
+ "Cannot read directly from text segment!",
41119
41165
  "Load address not aligned to word boundary ",
41120
41166
  "Load address not aligned on halfword boundary ",
41121
41167
  "fetch address for text segment out of range ",
@@ -41207,6 +41253,7 @@ $rt_stringPool([
41207
41253
  "CompactTextAtZero",
41208
41254
  "Compact, Text at Address 0",
41209
41255
  "gp",
41256
+ "sp",
41210
41257
  ".text base address",
41211
41258
  "data segment base address",
41212
41259
  ".extern base address",
@@ -42126,13 +42173,6 @@ $rt_stringPool([
42126
42173
  "Can't parse empty string",
42127
42174
  "The string does not represent a number",
42128
42175
  "The string represents a too big number",
42129
- "BREAKPOINT",
42130
- "EXCEPTION",
42131
- "MAX_STEPS",
42132
- "NORMAL_TERMINATION",
42133
- "CLIFF_TERMINATION",
42134
- "PAUSE",
42135
- "STOP",
42136
42176
  "ft0",
42137
42177
  "ft1",
42138
42178
  "ft2",
@@ -42180,6 +42220,13 @@ $rt_stringPool([
42180
42220
  "Cannot claim, no timer interrupt pending",
42181
42221
  "Cannot claim, no trap pending",
42182
42222
  "trapPC doesn't match current pc",
42223
+ "BREAKPOINT",
42224
+ "EXCEPTION",
42225
+ "MAX_STEPS",
42226
+ "NORMAL_TERMINATION",
42227
+ "CLIFF_TERMINATION",
42228
+ "PAUSE",
42229
+ "STOP",
42183
42230
  "Patter is null",
42184
42231
  "Recursive include of file ",
42185
42232
  "Error reading include file ",
@@ -42666,10 +42713,10 @@ $rt_stringPool([
42666
42713
  "NaNs are not exact",
42667
42714
  "Zeros should be handled explicitly",
42668
42715
  "This should not be reachable",
42716
+ "There can't be any fractions at this point",
42669
42717
  "Negative bit address",
42670
42718
  "BigInteger out of int range",
42671
42719
  "BigInteger out of long range",
42672
- "There can't be any fractions at this point",
42673
42720
  "Square root of a negative number is not real",
42674
42721
  "Cannot get here",
42675
42722
  "Both should definitely be finite by this point",
@@ -42752,6 +42799,13 @@ var $rt_jso_marker = Symbol("jsoClass");
42752
42799
  Object.defineProperty(c, "example", {
42753
42800
  get: $rt_callWithReceiver(asr_JsInstruction_getExample$exported$3)
42754
42801
  });
42802
+ c = asr_JsRiscVTokenizedLine.prototype;
42803
+ Object.defineProperty(c, "line", {
42804
+ get: $rt_callWithReceiver(asr_JsRiscVTokenizedLine_getLine$exported$0)
42805
+ });
42806
+ Object.defineProperty(c, "tokens", {
42807
+ get: $rt_callWithReceiver(asr_JsRiscVTokenizedLine_getTokens$exported$1)
42808
+ });
42755
42809
  c = asr_JsProgramStatement.prototype;
42756
42810
  Object.defineProperty(c, "assemblyStatement", {
42757
42811
  get: $rt_callWithReceiver(asr_JsProgramStatement_getAssemblyStatement$exported$1)
@@ -42771,13 +42825,6 @@ var $rt_jso_marker = Symbol("jsoClass");
42771
42825
  Object.defineProperty(c, "source", {
42772
42826
  get: $rt_callWithReceiver(asr_JsProgramStatement_getSource$exported$2)
42773
42827
  });
42774
- c = asr_JsRiscVTokenizedLine.prototype;
42775
- Object.defineProperty(c, "line", {
42776
- get: $rt_callWithReceiver(asr_JsRiscVTokenizedLine_getLine$exported$0)
42777
- });
42778
- Object.defineProperty(c, "tokens", {
42779
- get: $rt_callWithReceiver(asr_JsRiscVTokenizedLine_getTokens$exported$1)
42780
- });
42781
42828
  c = asr_JsBackStep.prototype;
42782
42829
  Object.defineProperty(c, "pc", {
42783
42830
  get: $rt_callWithReceiver(asr_JsBackStep_getPc$exported$0)
@@ -42791,16 +42838,6 @@ var $rt_jso_marker = Symbol("jsoClass");
42791
42838
  Object.defineProperty(c, "param2", {
42792
42839
  get: $rt_callWithReceiver(asr_JsBackStep_getParam2$exported$1)
42793
42840
  });
42794
- c = asr_JsCompilationResult.prototype;
42795
- Object.defineProperty(c, "hasErrors", {
42796
- get: $rt_callWithReceiver(asr_JsCompilationResult_hasErrors$exported$1)
42797
- });
42798
- Object.defineProperty(c, "report", {
42799
- get: $rt_callWithReceiver(asr_JsCompilationResult_getReport$exported$2)
42800
- });
42801
- Object.defineProperty(c, "errors", {
42802
- get: $rt_callWithReceiver(asr_JsCompilationResult_getErrors$exported$0)
42803
- });
42804
42841
  c = asr_JsStackFrame.prototype;
42805
42842
  Object.defineProperty(c, "pc", {
42806
42843
  get: $rt_callWithReceiver(asr_JsStackFrame_getPc$exported$0)
@@ -42817,6 +42854,16 @@ var $rt_jso_marker = Symbol("jsoClass");
42817
42854
  Object.defineProperty(c, "toAddress", {
42818
42855
  get: $rt_callWithReceiver(asr_JsStackFrame_getToAddress$exported$1)
42819
42856
  });
42857
+ c = asr_JsCompilationResult.prototype;
42858
+ Object.defineProperty(c, "hasErrors", {
42859
+ get: $rt_callWithReceiver(asr_JsCompilationResult_hasErrors$exported$1)
42860
+ });
42861
+ Object.defineProperty(c, "report", {
42862
+ get: $rt_callWithReceiver(asr_JsCompilationResult_getReport$exported$2)
42863
+ });
42864
+ Object.defineProperty(c, "errors", {
42865
+ get: $rt_callWithReceiver(asr_JsCompilationResult_getErrors$exported$0)
42866
+ });
42820
42867
  c = asr_JsCompilationResult$JsCompilationError.prototype;
42821
42868
  Object.defineProperty(c, "macroExpansionHistory", {
42822
42869
  get: $rt_callWithReceiver(asr_JsCompilationResult$JsCompilationError_getMacroExpansionHistory$exported$3)
@@ -42863,26 +42910,26 @@ function $rt_export_class_JsInstruction_32() {
42863
42910
  throw new Error("Can't instantiate this class directly");
42864
42911
  }
42865
42912
  $rt_export_class_JsInstruction_32.prototype = asr_JsInstruction.prototype;
42866
- function $rt_export_class_JsProgramStatement_71() {
42913
+ function $rt_export_class_JsRiscVTokenizedLine_73() {
42867
42914
  throw new Error("Can't instantiate this class directly");
42868
42915
  }
42869
- $rt_export_class_JsProgramStatement_71.prototype = asr_JsProgramStatement.prototype;
42870
- function $rt_export_class_JsRiscVTokenizedLine_74() {
42916
+ $rt_export_class_JsRiscVTokenizedLine_73.prototype = asr_JsRiscVTokenizedLine.prototype;
42917
+ function $rt_export_class_JsProgramStatement_74() {
42871
42918
  throw new Error("Can't instantiate this class directly");
42872
42919
  }
42873
- $rt_export_class_JsRiscVTokenizedLine_74.prototype = asr_JsRiscVTokenizedLine.prototype;
42920
+ $rt_export_class_JsProgramStatement_74.prototype = asr_JsProgramStatement.prototype;
42874
42921
  function $rt_export_class_JsBackStep_80() {
42875
42922
  throw new Error("Can't instantiate this class directly");
42876
42923
  }
42877
42924
  $rt_export_class_JsBackStep_80.prototype = asr_JsBackStep.prototype;
42878
- function $rt_export_class_JsCompilationResult_81() {
42925
+ function $rt_export_class_JsStackFrame_81() {
42879
42926
  throw new Error("Can't instantiate this class directly");
42880
42927
  }
42881
- $rt_export_class_JsCompilationResult_81.prototype = asr_JsCompilationResult.prototype;
42882
- function $rt_export_class_JsStackFrame_83() {
42928
+ $rt_export_class_JsStackFrame_81.prototype = asr_JsStackFrame.prototype;
42929
+ function $rt_export_class_JsCompilationResult_82() {
42883
42930
  throw new Error("Can't instantiate this class directly");
42884
42931
  }
42885
- $rt_export_class_JsStackFrame_83.prototype = asr_JsStackFrame.prototype;
42932
+ $rt_export_class_JsCompilationResult_82.prototype = asr_JsCompilationResult.prototype;
42886
42933
  function $rt_export_class_JsCompilationError_349() {
42887
42934
  throw new Error("Can't instantiate this class directly");
42888
42935
  }