@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.js CHANGED
@@ -2697,11 +2697,11 @@ var asr_JsRiscV_getCallStack$exported$4 = (var$1) => {
2697
2697
  while (var$3 < asr_RARS_getCallStack(var$1.$main).data.length) {
2698
2698
  var$5 = new asr_JsStackFrame();
2699
2699
  var$6 = asr_RARS_getCallStack(var$1.$main).data[var$3];
2700
- var$5.$pc3 = var$6.$getPC();
2701
- var$5.$toAddress = var$6.$getToAddress();
2702
- var$5.$sp = var$6.$getSP();
2703
- var$5.$fp = var$6.$getFP();
2704
- var$5.$registers = var$6.$getRegisters();
2700
+ var$5.$pc3 = var$6.$pc4;
2701
+ var$5.$toAddress0 = var$6.$toAddress;
2702
+ var$5.$sp = var$6.$sp0;
2703
+ var$5.$fp = var$6.$fp0;
2704
+ var$5.$registers = var$6.$registers0;
2705
2705
  ju_ArrayList_add(var$4, var$5);
2706
2706
  var$3 = var$3 + 1 | 0;
2707
2707
  }
@@ -2934,9 +2934,21 @@ var asr_JsRiscV_initialize$exported$12 = (var$1, var$2) => {
2934
2934
  ju_ArrayList_clear(asrrh_Stack_callStack);
2935
2935
  };
2936
2936
  var asr_JsRiscV_getUndoStack$exported$13 = (var$1) => {
2937
- let var$2;
2937
+ let var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9;
2938
2938
  asr_JsRiscV_$callClinit();
2939
- var$1 = ju_Arrays_stream(var$1.$main.$main0.$backStepper.$backSteps.$stack);
2939
+ var$2 = var$1.$main.$main0.$backStepper.$backSteps;
2940
+ var$3 = var$2.$size1;
2941
+ var$4 = $rt_createArray(asrs_BackStepper$BackStep, var$3);
2942
+ var$5 = var$4.data;
2943
+ var$6 = 0;
2944
+ while (var$6 < var$3) {
2945
+ var$7 = var$2.$stack.data;
2946
+ var$8 = var$2.$top - var$6 | 0;
2947
+ var$9 = var$2.$capacity;
2948
+ var$5[var$6] = var$7[(var$8 + var$9 | 0) % var$9 | 0];
2949
+ var$6 = var$6 + 1 | 0;
2950
+ }
2951
+ var$1 = ju_Arrays_stream(var$4);
2940
2952
  var$2 = new asr_JsRiscV$getUndoStack$lambda$_21_0();
2941
2953
  var$1 = jusi_SimpleStreamImpl_map(var$1, var$2);
2942
2954
  var$2 = new asr_JsRiscV$getUndoStack$lambda$_21_1();
@@ -3184,8 +3196,7 @@ var asr_JsRiscV_readMemoryBytes$exported$30 = (var$1, var$2, var$3) => {
3184
3196
  var asr_JsRiscV_getStackPointer$exported$31 = (var$1) => {
3185
3197
  asr_JsRiscV_$callClinit();
3186
3198
  var$1;
3187
- asrrh_RegisterFile_$callClinit();
3188
- return Long_lo(asrrh_RegisterBlock_getRegister(asrrh_RegisterFile_instance, $rt_s(17)).$getValue());
3199
+ return Long_lo(asrrh_RegisterFile_getStackPointerRegister().$getValue());
3189
3200
  };
3190
3201
  var asr_JsRiscV_initializeRISCV$exported$0 = () => {
3191
3202
  asr_JsRiscV_$callClinit();
@@ -3200,7 +3211,7 @@ var asr_JsRiscV_makeRiscVfromSource$exported$1 = (var$1) => {
3200
3211
  var$3 = new asrrf_MemoryFileSystem();
3201
3212
  var$3.$files = ju_HashMap__init_();
3202
3213
  var$4 = var$3;
3203
- ju_HashMap_put(var$4.$files, $rt_s(18), var$1);
3214
+ ju_HashMap_put(var$4.$files, $rt_s(17), var$1);
3204
3215
  var$5 = asr_RISCVprogram__init_();
3205
3216
  var$6 = ju_ArrayList__init_();
3206
3217
  var$4 = ju_AbstractList_iterator(asrrf_MemoryFileSystem_getFiles(var$4));
@@ -3215,7 +3226,7 @@ var asr_JsRiscV_makeRiscVfromSource$exported$1 = (var$1) => {
3215
3226
  return var$2;
3216
3227
  }
3217
3228
  var$8 = ju_AbstractList$1_next(var$4);
3218
- var$9 = jl_String_equals(var$8.$name2, $rt_s(18)) ? var$5 : asr_RISCVprogram__init_();
3229
+ var$9 = jl_String_equals(var$8.$name2, $rt_s(17)) ? var$5 : asr_RISCVprogram__init_();
3219
3230
  asr_RISCVprogram_readSource(var$9, var$8.$name2, var$8.$source2);
3220
3231
  var$8 = asra_Tokenizer__init_();
3221
3232
  var$9.$tokenizer = var$8;
@@ -3288,11 +3299,11 @@ var asr_JsRiscV__clinit_ = () => {
3288
3299
  ju_Comparator$NaturalOrder__clinit_();
3289
3300
  asrr_BasicInstructionFormat__clinit_();
3290
3301
  jl_Long__clinit_();
3291
- asrs_Simulator$Reason__clinit_();
3292
- asrrh_Stack__clinit_();
3293
3302
  asrrh_FloatingPointRegisterFile__clinit_();
3294
3303
  asrrh_ControlAndStatusRegisterFile__clinit_();
3295
3304
  asrrh_InterruptController__clinit_();
3305
+ asrrh_Stack__clinit_();
3306
+ asrs_Simulator$Reason__clinit_();
3296
3307
  asra_Tokenizer__clinit_();
3297
3308
  asrs_Simulator__clinit_();
3298
3309
  asra_Directives__clinit_();
@@ -3309,9 +3320,9 @@ var asr_JsRiscV__clinit_ = () => {
3309
3320
  jnc_CodingErrorAction__clinit_();
3310
3321
  jnc_CoderResult__clinit_();
3311
3322
  jn_ByteOrder__clinit_();
3323
+ asrjt_Float64__clinit_();
3312
3324
  asrjt_Float32__clinit_();
3313
3325
  jm_BigInteger__clinit_();
3314
- asrjt_Float64__clinit_();
3315
3326
  asrjo_Arithmetic__clinit_();
3316
3327
  asrj_RoundingMode__clinit_();
3317
3328
  asrj_Flags__clinit_();
@@ -3705,7 +3716,7 @@ var otji_JSWrapper_wrap = ($jsNumber) => {
3705
3716
  if ($jsNumber === null)
3706
3717
  return null;
3707
3718
  $type = $rt_str(typeof $jsNumber);
3708
- $isObject = !jl_String_equals($type, $rt_s(19)) && !jl_String_equals($type, $rt_s(20)) ? 0 : 1;
3719
+ $isObject = !jl_String_equals($type, $rt_s(18)) && !jl_String_equals($type, $rt_s(19)) ? 0 : 1;
3709
3720
  otji_JSWrapper$Helper_$callClinit();
3710
3721
  $wrappers = otji_JSWrapper$Helper_wrappers;
3711
3722
  if ($wrappers !== null) {
@@ -3718,7 +3729,7 @@ var otji_JSWrapper_wrap = ($jsNumber) => {
3718
3729
  $wrappers.set($jsNumber, new WeakRef($wrapper));
3719
3730
  return $wrapper;
3720
3731
  }
3721
- if (jl_String_equals($type, $rt_s(21))) {
3732
+ if (jl_String_equals($type, $rt_s(20))) {
3722
3733
  $stringWrappers = otji_JSWrapper$Helper_stringWrappers;
3723
3734
  $stringFinalizationRegistry = otji_JSWrapper$Helper_stringFinalizationRegistry;
3724
3735
  $existingRef = $stringWrappers.get($jsNumber);
@@ -3731,7 +3742,7 @@ var otji_JSWrapper_wrap = ($jsNumber) => {
3731
3742
  otji_JSWrapper_register$js_body$_4($stringFinalizationRegistry, $wrapperAsJs, $jsNumber);
3732
3743
  return $wrapper;
3733
3744
  }
3734
- if (jl_String_equals($type, $rt_s(22))) {
3745
+ if (jl_String_equals($type, $rt_s(21))) {
3735
3746
  $numberWrappers = otji_JSWrapper$Helper_numberWrappers;
3736
3747
  $numberFinalizationRegistry = otji_JSWrapper$Helper_numberFinalizationRegistry;
3737
3748
  $existingRef = $numberWrappers.get($jsNumber);
@@ -3744,7 +3755,7 @@ var otji_JSWrapper_wrap = ($jsNumber) => {
3744
3755
  otji_JSWrapper_register$js_body$_4($numberFinalizationRegistry, $wrapperAsJs, $jsNumber);
3745
3756
  return $wrapper;
3746
3757
  }
3747
- if (jl_String_equals($type, $rt_s(23))) {
3758
+ if (jl_String_equals($type, $rt_s(22))) {
3748
3759
  $existingRef = otji_JSWrapper$Helper_undefinedWrapper;
3749
3760
  $existing = $existingRef === null ? void 0 : $existingRef.deref();
3750
3761
  if (!(typeof $existing == "undefined" ? 1 : 0))
@@ -3786,7 +3797,7 @@ var otji_JSWrapper_equals = ($this, $obj) => {
3786
3797
  return $this.$js !== $obj.$js ? 0 : 1;
3787
3798
  };
3788
3799
  var otji_JSWrapper_toString = ($this) => {
3789
- return (typeof $this.$js == "undefined" ? 1 : 0) ? $rt_s(23) : $rt_str($this.$js.toString());
3800
+ return (typeof $this.$js == "undefined" ? 1 : 0) ? $rt_s(22) : $rt_str($this.$js.toString());
3790
3801
  };
3791
3802
  var otji_JSWrapper_register$js_body$_4 = (var$1, var$2, var$3) => {
3792
3803
  return var$1.register(var$2, var$3);
@@ -3837,7 +3848,7 @@ var asr_RARS_initializeRISCV = () => {
3837
3848
  if (!asr_Globals_initialized) {
3838
3849
  asrrh_Memory_$callClinit();
3839
3850
  asr_Globals_memory = asrrh_Memory_uniqueMemoryInstance;
3840
- asr_Globals_symbolTable = asra_SymbolTable__init_($rt_s(24));
3851
+ asr_Globals_symbolTable = asra_SymbolTable__init_($rt_s(23));
3841
3852
  var$1 = new asr_Settings();
3842
3853
  asr_Settings_$callClinit();
3843
3854
  ju_Observable__init_(var$1);
@@ -4084,12 +4095,12 @@ var asr_Globals_getConfigProperties = () => {
4084
4095
  var$1 = new asrc_ConfigProperties();
4085
4096
  ju_HashMap__init_0(var$1);
4086
4097
  var$2 = var$1;
4087
- ju_HashMap_put(var$2, $rt_s(25), $rt_s(26));
4088
- ju_HashMap_put(var$2, $rt_s(27), $rt_s(28));
4089
- ju_HashMap_put(var$2, $rt_s(29), $rt_s(30));
4090
- ju_HashMap_put(var$2, $rt_s(31), $rt_s(32));
4091
- ju_HashMap_put(var$2, $rt_s(33), $rt_s(34));
4092
- ju_HashMap_put(var$2, $rt_s(35), $rt_s(36));
4098
+ ju_HashMap_put(var$2, $rt_s(24), $rt_s(25));
4099
+ ju_HashMap_put(var$2, $rt_s(26), $rt_s(27));
4100
+ ju_HashMap_put(var$2, $rt_s(28), $rt_s(29));
4101
+ ju_HashMap_put(var$2, $rt_s(30), $rt_s(31));
4102
+ ju_HashMap_put(var$2, $rt_s(32), $rt_s(33));
4103
+ ju_HashMap_put(var$2, $rt_s(34), $rt_s(35));
4093
4104
  asr_Globals_configProperties = var$1;
4094
4105
  }
4095
4106
  return asr_Globals_configProperties;
@@ -4101,26 +4112,26 @@ var asr_Globals_getSettings = () => {
4101
4112
  var asr_Globals_getAsciiNonPrint = () => {
4102
4113
  let $anp;
4103
4114
  asr_Globals_$callClinit();
4104
- $anp = ju_HashMap_get(asr_Globals_getConfigProperties(), $rt_s(35));
4115
+ $anp = ju_HashMap_get(asr_Globals_getConfigProperties(), $rt_s(34));
4105
4116
  if ($anp === null)
4106
- $anp = $rt_s(36);
4107
- else if (jl_String_equals($anp, $rt_s(37)))
4108
- $anp = $rt_s(38);
4117
+ $anp = $rt_s(35);
4118
+ else if (jl_String_equals($anp, $rt_s(36)))
4119
+ $anp = $rt_s(37);
4109
4120
  return $anp;
4110
4121
  };
4111
4122
  var asr_Globals__clinit_ = () => {
4112
4123
  let var$1, var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, var$10;
4113
4124
  asr_Globals_debug = 0;
4114
- asr_Globals_userInputAlert = $rt_s(39);
4125
+ asr_Globals_userInputAlert = $rt_s(38);
4115
4126
  asr_Globals_initialized = 0;
4116
4127
  asr_Globals_$callClinit();
4117
- asr_Globals_maximumMessageCharacters = asrc_ConfigMap_getIntegerValue(asr_Globals_getConfigProperties(), $rt_s(25));
4118
- asr_Globals_maximumErrorMessages = asrc_ConfigMap_getIntegerValue(asr_Globals_getConfigProperties(), $rt_s(27));
4119
- asr_Globals_maximumBacksteps = asrc_ConfigMap_getIntegerValue(asr_Globals_getConfigProperties(), $rt_s(29));
4120
- asr_Globals_copyrightYears = $rt_s(40);
4121
- asr_Globals_copyrightHolders = $rt_s(41);
4128
+ asr_Globals_maximumMessageCharacters = asrc_ConfigMap_getIntegerValue(asr_Globals_getConfigProperties(), $rt_s(24));
4129
+ asr_Globals_maximumErrorMessages = asrc_ConfigMap_getIntegerValue(asr_Globals_getConfigProperties(), $rt_s(26));
4130
+ asr_Globals_maximumBacksteps = asrc_ConfigMap_getIntegerValue(asr_Globals_getConfigProperties(), $rt_s(28));
4131
+ asr_Globals_copyrightYears = $rt_s(39);
4132
+ asr_Globals_copyrightHolders = $rt_s(40);
4122
4133
  asr_Globals_ASCII_NON_PRINT = asr_Globals_getAsciiNonPrint();
4123
- var$1 = ju_HashMap_get(asr_Globals_getConfigProperties(), $rt_s(33));
4134
+ var$1 = ju_HashMap_get(asr_Globals_getConfigProperties(), $rt_s(32));
4124
4135
  var$2 = asr_Globals_getAsciiNonPrint();
4125
4136
  if (var$1 === null) {
4126
4137
  var$3 = $rt_createArray(jl_String, 127);
@@ -4129,9 +4140,9 @@ var asr_Globals__clinit_ = () => {
4129
4140
  var$6 = var$4.length;
4130
4141
  while (var$5 < var$6) {
4131
4142
  if (!var$5)
4132
- var$4[var$5] = $rt_s(42);
4143
+ var$4[var$5] = $rt_s(41);
4133
4144
  else if (var$5 == 10)
4134
- var$4[var$5] = $rt_s(43);
4145
+ var$4[var$5] = $rt_s(42);
4135
4146
  else if (var$5 < 32)
4136
4147
  var$4[var$5] = var$2;
4137
4148
  else {
@@ -4145,7 +4156,7 @@ var asr_Globals__clinit_ = () => {
4145
4156
  var$5 = var$5 + 1 | 0;
4146
4157
  }
4147
4158
  } else {
4148
- var$3 = jl_String_split(var$1, $rt_s(44));
4159
+ var$3 = jl_String_split(var$1, $rt_s(43));
4149
4160
  var$5 = 0;
4150
4161
  var$6 = 0;
4151
4162
  while (true) {
@@ -4155,8 +4166,8 @@ var asr_Globals__clinit_ = () => {
4155
4166
  break;
4156
4167
  if (jl_String_equals(var$4[var$6], $rt_s(4)))
4157
4168
  var$4[var$6] = var$2;
4158
- if (jl_String_equals(var$4[var$6], $rt_s(37)))
4159
- var$4[var$6] = $rt_s(38);
4169
+ if (jl_String_equals(var$4[var$6], $rt_s(36)))
4170
+ var$4[var$6] = $rt_s(37);
4160
4171
  if (var$4[var$6].$nativeString.length > var$5)
4161
4172
  var$5 = var$4[var$6].$nativeString.length;
4162
4173
  var$6 = var$6 + 1 | 0;
@@ -4164,7 +4175,7 @@ var asr_Globals__clinit_ = () => {
4164
4175
  var$8 = var$5 + 1 | 0;
4165
4176
  var$9 = 0;
4166
4177
  while (var$9 < var$7) {
4167
- var$1 = jl_String_substring($rt_s(45), 0, var$8 - var$4[var$9].$nativeString.length | 0);
4178
+ var$1 = jl_String_substring($rt_s(44), 0, var$8 - var$4[var$9].$nativeString.length | 0);
4168
4179
  var$10 = var$4[var$9];
4169
4180
  var$2 = new jl_StringBuilder();
4170
4181
  jl_AbstractStringBuilder__init_(var$2);
@@ -4197,7 +4208,7 @@ var asr_JsRISCVIO_callHandler = ($this, $name, $args) => {
4197
4208
  $handler = new jl_IllegalArgumentException();
4198
4209
  var$4 = new jl_StringBuilder();
4199
4210
  jl_AbstractStringBuilder__init_(var$4);
4200
- jl_StringBuilder_append(jl_StringBuilder_append(var$4, $rt_s(46)), $name);
4211
+ jl_StringBuilder_append(jl_StringBuilder_append(var$4, $rt_s(45)), $name);
4201
4212
  jl_Throwable__init_0($handler, jl_AbstractStringBuilder_toString(var$4));
4202
4213
  $rt_throw($handler);
4203
4214
  }
@@ -4221,7 +4232,7 @@ var asr_JsRISCVIO_callHandler = ($this, $name, $args) => {
4221
4232
  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])));
4222
4233
  if (var$5 != 8) {
4223
4234
  $handler = new jl_IllegalArgumentException();
4224
- jl_Throwable__init_0($handler, $rt_s(47));
4235
+ jl_Throwable__init_0($handler, $rt_s(46));
4225
4236
  $rt_throw($handler);
4226
4237
  }
4227
4238
  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])));
@@ -4234,7 +4245,7 @@ var asr_JsRISCVIO_callIntHandler = ($this, $name, $args) => {
4234
4245
  $result = new jl_IllegalArgumentException();
4235
4246
  var$4 = new jl_StringBuilder();
4236
4247
  jl_AbstractStringBuilder__init_(var$4);
4237
- jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(var$4, $rt_s(48)), $name), $rt_s(49));
4248
+ jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(var$4, $rt_s(47)), $name), $rt_s(48));
4238
4249
  jl_Throwable__init_0($result, jl_AbstractStringBuilder_toString(var$4));
4239
4250
  $rt_throw($result);
4240
4251
  };
@@ -4246,7 +4257,7 @@ var asr_JsRISCVIO_callStringHandler = ($this, $name, $args) => {
4246
4257
  $result = new jl_IllegalArgumentException();
4247
4258
  var$4 = new jl_StringBuilder();
4248
4259
  jl_AbstractStringBuilder__init_(var$4);
4249
- jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(var$4, $rt_s(48)), $name), $rt_s(50));
4260
+ jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(var$4, $rt_s(47)), $name), $rt_s(49));
4250
4261
  jl_Throwable__init_0($result, jl_AbstractStringBuilder_toString(var$4));
4251
4262
  $rt_throw($result);
4252
4263
  };
@@ -4257,13 +4268,13 @@ var asr_JsRISCVIO_openFile = ($this, $filename, $flags, $append) => {
4257
4268
  var$5[0] = otji_JSWrapper_wrap($rt_ustr($filename));
4258
4269
  var$5[1] = otji_JSWrapper_wrap($flags);
4259
4270
  var$5[2] = otji_JSWrapper_wrap(!!$append);
4260
- return asr_JsRISCVIO_callIntHandler($this, $rt_s(51), var$4);
4271
+ return asr_JsRISCVIO_callIntHandler($this, $rt_s(50), var$4);
4261
4272
  };
4262
4273
  var asr_JsRISCVIO_closeFile = ($this, $fileDescriptor) => {
4263
4274
  let var$2;
4264
4275
  var$2 = $rt_createArray(jl_Object, 1);
4265
4276
  var$2.data[0] = otji_JSWrapper_wrap($fileDescriptor);
4266
- asr_JsRISCVIO_callHandler($this, $rt_s(52), var$2);
4277
+ asr_JsRISCVIO_callHandler($this, $rt_s(51), var$2);
4267
4278
  };
4268
4279
  var asr_JsRISCVIO_writeFile = ($this, $fileDescriptor, $buffer) => {
4269
4280
  let var$3, var$4, var$5;
@@ -4273,13 +4284,13 @@ var asr_JsRISCVIO_writeFile = ($this, $fileDescriptor, $buffer) => {
4273
4284
  var$5 = $rt_createArray($rt_arraycls($rt_bytecls), 1);
4274
4285
  var$5.data[0] = $buffer;
4275
4286
  var$4[1] = otji_JSWrapper_wrap(otjc_JSArray_of(var$5));
4276
- asr_JsRISCVIO_callHandler($this, $rt_s(53), var$3);
4287
+ asr_JsRISCVIO_callHandler($this, $rt_s(52), var$3);
4277
4288
  };
4278
4289
  var asr_JsRISCVIO_inputDialog = ($this, $message) => {
4279
4290
  let var$2;
4280
4291
  var$2 = $rt_createArray(jl_Object, 1);
4281
4292
  var$2.data[0] = otji_JSWrapper_wrap($rt_ustr($message));
4282
- return asr_JsRISCVIO_callStringHandler($this, $rt_s(54), var$2);
4293
+ return asr_JsRISCVIO_callStringHandler($this, $rt_s(53), var$2);
4283
4294
  };
4284
4295
  var asr_JsRISCVIO_outputDialog = ($this, $message, $type) => {
4285
4296
  let var$3, var$4;
@@ -4287,7 +4298,7 @@ var asr_JsRISCVIO_outputDialog = ($this, $message, $type) => {
4287
4298
  var$4 = var$3.data;
4288
4299
  var$4[0] = otji_JSWrapper_wrap($rt_ustr($message));
4289
4300
  var$4[1] = otji_JSWrapper_wrap($type);
4290
- asr_JsRISCVIO_callHandler($this, $rt_s(55), var$3);
4301
+ asr_JsRISCVIO_callHandler($this, $rt_s(54), var$3);
4291
4302
  };
4292
4303
  var asr_JsRISCVIO_stdIn = ($this, $buffer, $length) => {
4293
4304
  let var$3, var$4, var$5;
@@ -4297,7 +4308,7 @@ var asr_JsRISCVIO_stdIn = ($this, $buffer, $length) => {
4297
4308
  var$5.data[0] = $buffer;
4298
4309
  var$4[0] = otji_JSWrapper_wrap(otjc_JSArray_of(var$5));
4299
4310
  var$4[1] = otji_JSWrapper_wrap($length);
4300
- asr_JsRISCVIO_callHandler($this, $rt_s(56), var$3);
4311
+ asr_JsRISCVIO_callHandler($this, $rt_s(55), var$3);
4301
4312
  };
4302
4313
  var asr_JsRISCVIO_stdOut = ($this, $buffer) => {
4303
4314
  let var$2, var$3, var$4;
@@ -4306,7 +4317,7 @@ var asr_JsRISCVIO_stdOut = ($this, $buffer) => {
4306
4317
  var$4 = $rt_createArray($rt_arraycls($rt_bytecls), 1);
4307
4318
  var$4.data[0] = $buffer;
4308
4319
  var$3[0] = otji_JSWrapper_wrap(otjc_JSArray_of(var$4));
4309
- asr_JsRISCVIO_callHandler($this, $rt_s(57), var$2);
4320
+ asr_JsRISCVIO_callHandler($this, $rt_s(56), var$2);
4310
4321
  };
4311
4322
  var asr_JsRISCVIO_stdErr = ($this, $buffer) => {
4312
4323
  let var$2, var$3, var$4;
@@ -4315,7 +4326,7 @@ var asr_JsRISCVIO_stdErr = ($this, $buffer) => {
4315
4326
  var$4 = $rt_createArray($rt_arraycls($rt_bytecls), 1);
4316
4327
  var$4.data[0] = $buffer;
4317
4328
  var$3[0] = otji_JSWrapper_wrap(otjc_JSArray_of(var$4));
4318
- asr_JsRISCVIO_callHandler($this, $rt_s(58), var$2);
4329
+ asr_JsRISCVIO_callHandler($this, $rt_s(57), var$2);
4319
4330
  };
4320
4331
  var asrrf_RISCVFileSystem = $rt_classWithoutFields();
4321
4332
  function asrrf_MemoryFileSystem() {
@@ -4361,15 +4372,15 @@ var asrr_InstructionSet_populate = ($this) => {
4361
4372
  $mask = ju_AbstractList_iterator($maskMap);
4362
4373
  while (ju_AbstractList$1_hasNext($mask)) {
4363
4374
  $matchMaps = ju_AbstractList$1_next($mask);
4364
- if (!jl_String_startsWith($matchMaps, $rt_s(59)) && !jl_String_startsWith($matchMaps, $rt_s(38)) && $matchMaps.$nativeString.length > 0) {
4375
+ if (!jl_String_startsWith($matchMaps, $rt_s(58)) && !jl_String_startsWith($matchMaps, $rt_s(37)) && $matchMaps.$nativeString.length > 0) {
4365
4376
  $inst = $rt_s(3);
4366
- $basic = ju_StringTokenizer__init_($matchMaps, $rt_s(60));
4377
+ $basic = ju_StringTokenizer__init_($matchMaps, $rt_s(59));
4367
4378
  $maskMap = ju_StringTokenizer_nextToken($basic);
4368
4379
  $matchMaps = $rt_s(3);
4369
4380
  a: {
4370
4381
  while (ju_StringTokenizer_hasMoreTokens($basic)) {
4371
4382
  $match = ju_StringTokenizer_nextToken($basic);
4372
- if (jl_String_startsWith($match, $rt_s(59))) {
4383
+ if (jl_String_startsWith($match, $rt_s(58))) {
4373
4384
  $inst = jl_String_substring0($match, 1);
4374
4385
  break a;
4375
4386
  }
@@ -4394,7 +4405,7 @@ var asrr_InstructionSet_populate = ($this) => {
4394
4405
  asrr_Instruction_createExampleTokenList($inst);
4395
4406
  if ($matchMaps !== null && $matchMaps.$nativeString.length) {
4396
4407
  $maskMap = ju_ArrayList__init_();
4397
- $matchMap = ju_StringTokenizer__init_($matchMaps, $rt_s(43));
4408
+ $matchMap = ju_StringTokenizer__init_($matchMaps, $rt_s(42));
4398
4409
  while (ju_StringTokenizer_hasMoreTokens($matchMap)) {
4399
4410
  ju_ArrayList_add($maskMap, ju_StringTokenizer_nextToken($matchMap));
4400
4411
  }
@@ -4733,9 +4744,9 @@ var asrrh_Memory_allocateBytesFromHeap = ($this, $numBytes) => {
4733
4744
  var$3 = new jl_IllegalArgumentException();
4734
4745
  var$4 = new jl_StringBuilder();
4735
4746
  jl_AbstractStringBuilder__init_(var$4);
4736
- var$5 = jl_StringBuilder_append(var$4, $rt_s(61));
4747
+ var$5 = jl_StringBuilder_append(var$4, $rt_s(60));
4737
4748
  jl_AbstractStringBuilder_append(var$5, $numBytes);
4738
- jl_StringBuilder_append(var$5, $rt_s(62));
4749
+ jl_StringBuilder_append(var$5, $rt_s(61));
4739
4750
  jl_Throwable__init_0(var$3, jl_AbstractStringBuilder_toString(var$4));
4740
4751
  $rt_throw(var$3);
4741
4752
  }
@@ -4750,9 +4761,9 @@ var asrrh_Memory_allocateBytesFromHeap = ($this, $numBytes) => {
4750
4761
  var$3 = new jl_IllegalArgumentException();
4751
4762
  var$4 = new jl_StringBuilder();
4752
4763
  jl_AbstractStringBuilder__init_(var$4);
4753
- var$5 = jl_StringBuilder_append(var$4, $rt_s(61));
4764
+ var$5 = jl_StringBuilder_append(var$4, $rt_s(60));
4754
4765
  jl_AbstractStringBuilder_append(var$5, $numBytes);
4755
- jl_StringBuilder_append(var$5, $rt_s(63));
4766
+ jl_StringBuilder_append(var$5, $rt_s(62));
4756
4767
  jl_Throwable__init_0(var$3, jl_AbstractStringBuilder_toString(var$4));
4757
4768
  $rt_throw(var$3);
4758
4769
  };
@@ -4764,13 +4775,13 @@ var asrrh_Memory_set = ($this, $address, $value, $length) => {
4764
4775
  $oldStatement = jl_System_out();
4765
4776
  var$6 = new jl_StringBuilder();
4766
4777
  jl_AbstractStringBuilder__init_(var$6);
4767
- var$7 = jl_StringBuilder_append(var$6, $rt_s(64));
4778
+ var$7 = jl_StringBuilder_append(var$6, $rt_s(63));
4768
4779
  jl_AbstractStringBuilder_append(var$7, $address);
4769
- var$7 = jl_StringBuilder_append(var$7, $rt_s(65));
4780
+ var$7 = jl_StringBuilder_append(var$7, $rt_s(64));
4770
4781
  jl_AbstractStringBuilder_append(var$7, $value);
4771
4782
  jl_AbstractStringBuilder_append0(var$7, 40);
4772
4783
  jl_AbstractStringBuilder_append(var$7, $length);
4773
- jl_StringBuilder_append(var$7, $rt_s(66));
4784
+ jl_StringBuilder_append(var$7, $rt_s(65));
4774
4785
  var$6 = jl_AbstractStringBuilder_toString(var$6);
4775
4786
  otcic_JsConsolePrintStream_println($oldStatement, var$6);
4776
4787
  }
@@ -4794,13 +4805,13 @@ var asrrh_Memory_set = ($this, $address, $value, $length) => {
4794
4805
  var$9 = asrrh_Memory_storeBytesInTable($this, $this.$memoryMapBlockTable, $relativeByteAddress, $length, $value);
4795
4806
  break a;
4796
4807
  }
4797
- $rt_throw(asrrh_AddressErrorException__init_($rt_s(67), 7, $address));
4808
+ $rt_throw(asrrh_AddressErrorException__init_($rt_s(66), 7, $address));
4798
4809
  }
4799
4810
  if (!asr_Settings_getBooleanSetting(asr_Globals_getSettings(), asr_Settings$Bool_SELF_MODIFYING_CODE_ENABLED))
4800
- $rt_throw(asrrh_AddressErrorException__init_($rt_s(68), 7, $address));
4811
+ $rt_throw(asrrh_AddressErrorException__init_($rt_s(67), 7, $address));
4801
4812
  $relativeByteAddress = $address % 4 | 0;
4802
4813
  if (($relativeByteAddress + $length | 0) > 4)
4803
- $rt_throw(asrrh_AddressErrorException__init_($rt_s(69), 4, $address));
4814
+ $rt_throw(asrrh_AddressErrorException__init_($rt_s(68), 4, $address));
4804
4815
  var$10 = ($address / 4 | 0) * 4 | 0;
4805
4816
  $oldStatement = asrrh_Memory_getStatementNoNotify($this, var$10);
4806
4817
  if ($oldStatement !== null)
@@ -4840,10 +4851,10 @@ var asrrh_Memory_setRawWord = ($this, $address, $value) => {
4840
4851
  $oldValue = asrrh_Memory_storeWordInTable($this, $this.$memoryMapBlockTable, $relative, $value);
4841
4852
  break a;
4842
4853
  }
4843
- $rt_throw(asrrh_AddressErrorException__init_($rt_s(70), 7, $address));
4854
+ $rt_throw(asrrh_AddressErrorException__init_($rt_s(69), 7, $address));
4844
4855
  }
4845
4856
  if (!asr_Settings_getBooleanSetting(asr_Globals_getSettings(), asr_Settings$Bool_SELF_MODIFYING_CODE_ENABLED))
4846
- $rt_throw(asrrh_AddressErrorException__init_($rt_s(68), 7, $address));
4857
+ $rt_throw(asrrh_AddressErrorException__init_($rt_s(67), 7, $address));
4847
4858
  $oldStatement = asrrh_Memory_getStatementNoNotify($this, $address);
4848
4859
  if ($oldStatement !== null)
4849
4860
  $oldValue = $oldStatement.$binaryStatement;
@@ -4872,7 +4883,7 @@ var asrrh_Memory_setWord = ($this, $address, $value) => {
4872
4883
  var asrrh_Memory_setHalf = ($this, $address, $value) => {
4873
4884
  let var$3;
4874
4885
  if ($address % 2 | 0)
4875
- $rt_throw(asrrh_AddressErrorException__init_($rt_s(71), 6, $address));
4886
+ $rt_throw(asrrh_AddressErrorException__init_($rt_s(70), 6, $address));
4876
4887
  if (!asr_Settings_getBackSteppingEnabled(asr_Globals_getSettings()))
4877
4888
  $value = asrrh_Memory_set($this, $address, $value, 2);
4878
4889
  else {
@@ -4909,16 +4920,16 @@ var asrrh_Memory_setStatement = ($this, $address, $statement) => {
4909
4920
  let var$3, var$4, var$5, var$6, var$7;
4910
4921
  asrrh_Memory_checkStoreWordAligned($address);
4911
4922
  if (!asrrh_Memory_inTextSegment($address))
4912
- $rt_throw(asrrh_AddressErrorException__init_($rt_s(72), 7, $address));
4923
+ $rt_throw(asrrh_AddressErrorException__init_($rt_s(71), 7, $address));
4913
4924
  asr_Globals_$callClinit();
4914
4925
  if (asr_Globals_debug) {
4915
4926
  var$3 = jl_System_out();
4916
4927
  var$4 = $statement.$binaryStatement;
4917
4928
  var$5 = new jl_StringBuilder();
4918
4929
  jl_AbstractStringBuilder__init_(var$5);
4919
- var$6 = jl_StringBuilder_append(var$5, $rt_s(64));
4930
+ var$6 = jl_StringBuilder_append(var$5, $rt_s(63));
4920
4931
  jl_AbstractStringBuilder_append(var$6, $address);
4921
- jl_AbstractStringBuilder_append(jl_StringBuilder_append(var$6, $rt_s(65)), var$4);
4932
+ jl_AbstractStringBuilder_append(jl_StringBuilder_append(var$6, $rt_s(64)), var$4);
4922
4933
  var$5 = jl_AbstractStringBuilder_toString(var$5);
4923
4934
  otcic_JsConsolePrintStream_println(var$3, var$5);
4924
4935
  }
@@ -4958,12 +4969,12 @@ var asrrh_Memory_get0 = ($this, $address, $length, $notify) => {
4958
4969
  $relativeByteAddress = asrrh_Memory_fetchBytesFromTable($this, $this.$memoryMapBlockTable, $relativeByteAddress, $length);
4959
4970
  } else {
4960
4971
  if (!asrrh_Memory_inTextSegment($address))
4961
- $rt_throw(asrrh_AddressErrorException__init_($rt_s(67), 5, $address));
4972
+ $rt_throw(asrrh_AddressErrorException__init_($rt_s(66), 5, $address));
4962
4973
  if (!asr_Settings_getBooleanSetting(asr_Globals_getSettings(), asr_Settings$Bool_SELF_MODIFYING_CODE_ENABLED))
4963
- $rt_throw(asrrh_AddressErrorException__init_($rt_s(73), 5, $address));
4974
+ $rt_throw(asrrh_AddressErrorException__init_($rt_s(72), 5, $address));
4964
4975
  var$6 = $address % 4 | 0;
4965
4976
  if ((var$6 + $length | 0) > 4)
4966
- $rt_throw(asrrh_AddressErrorException__init_($rt_s(74), 4, $address));
4977
+ $rt_throw(asrrh_AddressErrorException__init_($rt_s(73), 4, $address));
4967
4978
  $stmt = asrrh_Memory_getStatementNoNotify($this, ($address / 4 | 0) * 4 | 0);
4968
4979
  $relativeByteAddress = $stmt === null ? 0 : $length == 4 ? $stmt.$binaryStatement : $stmt.$binaryStatement >> (8 * var$6 | 0) & ((1 << ($length * 8 | 0)) - 1 | 0);
4969
4980
  }
@@ -4980,7 +4991,7 @@ var asrrh_Memory_getWord = ($this, $address) => {
4980
4991
  var asrrh_Memory_getHalf = ($this, $address) => {
4981
4992
  if (!($address % 2 | 0))
4982
4993
  return asrrh_Memory_get($this, $address, 2);
4983
- $rt_throw(asrrh_AddressErrorException__init_($rt_s(75), 4, $address));
4994
+ $rt_throw(asrrh_AddressErrorException__init_($rt_s(74), 4, $address));
4984
4995
  };
4985
4996
  var asrrh_Memory_getByte = ($this, $address) => {
4986
4997
  return asrrh_Memory_get($this, $address, 1);
@@ -4995,7 +5006,7 @@ var asrrh_Memory_getStatement0 = ($this, $address, $notify) => {
4995
5006
  let var$3, var$4, var$5, var$6, var$7;
4996
5007
  asrrh_Memory_checkLoadWordAligned($address);
4997
5008
  if (!asr_Settings_getBooleanSetting(asr_Globals_getSettings(), asr_Settings$Bool_SELF_MODIFYING_CODE_ENABLED) && !asrrh_Memory_inTextSegment($address))
4998
- $rt_throw(asrrh_AddressErrorException__init_($rt_s(76), 5, $address));
5009
+ $rt_throw(asrrh_AddressErrorException__init_($rt_s(75), 5, $address));
4999
5010
  if (!asrrh_Memory_inTextSegment($address))
5000
5011
  return asr_ProgramStatement__init_(asrrh_Memory_get($this, $address, 4), $address);
5001
5012
  var$3 = asrrh_Memory_textBaseAddress;
@@ -5029,13 +5040,13 @@ var asrrh_Memory_checkLoadWordAligned = ($address) => {
5029
5040
  asrrh_Memory_$callClinit();
5030
5041
  if (asrrh_Memory_wordAligned($address))
5031
5042
  return;
5032
- $rt_throw(asrrh_AddressErrorException__init_($rt_s(74), 4, $address));
5043
+ $rt_throw(asrrh_AddressErrorException__init_($rt_s(73), 4, $address));
5033
5044
  };
5034
5045
  var asrrh_Memory_checkStoreWordAligned = ($address) => {
5035
5046
  asrrh_Memory_$callClinit();
5036
5047
  if (asrrh_Memory_wordAligned($address))
5037
5048
  return;
5038
- $rt_throw(asrrh_AddressErrorException__init_($rt_s(77), 6, $address));
5049
+ $rt_throw(asrrh_AddressErrorException__init_($rt_s(76), 6, $address));
5039
5050
  };
5040
5051
  var asrrh_Memory_inTextSegment = ($address) => {
5041
5052
  asrrh_Memory_$callClinit();
@@ -5201,7 +5212,7 @@ var asra_SymbolTable_addSymbol = ($this, $token, $address, $b, $errors) => {
5201
5212
  $address = $token.$sourcePos;
5202
5213
  $token = new jl_StringBuilder();
5203
5214
  jl_AbstractStringBuilder__init_($token);
5204
- jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append($token, $rt_s(78)), $label), $rt_s(79));
5215
+ jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append($token, $rt_s(77)), $label), $rt_s(78));
5205
5216
  asr_ErrorMessage__init_(var$6, var$7, $b, $address, jl_AbstractStringBuilder_toString($token));
5206
5217
  asr_ErrorList_add($errors, var$6);
5207
5218
  } else {
@@ -5217,9 +5228,9 @@ var asra_SymbolTable_addSymbol = ($this, $token, $address, $b, $errors) => {
5217
5228
  $errors = $this.$filename1;
5218
5229
  var$6 = new jl_StringBuilder();
5219
5230
  jl_AbstractStringBuilder__init_(var$6);
5220
- $label = jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(var$6, $rt_s(80)), $label), $rt_s(81));
5231
+ $label = jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(var$6, $rt_s(79)), $label), $rt_s(80));
5221
5232
  jl_AbstractStringBuilder_append($label, $address);
5222
- jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append($label, $rt_s(82)), $errors), $rt_s(83));
5233
+ jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append($label, $rt_s(81)), $errors), $rt_s(82));
5223
5234
  $errors = jl_AbstractStringBuilder_toString(var$6);
5224
5235
  otcic_JsConsolePrintStream_println($token, $errors);
5225
5236
  }
@@ -5294,7 +5305,7 @@ var asra_SymbolTable_clear = ($this) => {
5294
5305
  $this.$table = ju_ArrayList__init_();
5295
5306
  };
5296
5307
  var asra_SymbolTable__clinit_ = () => {
5297
- asra_SymbolTable_startLabel = $rt_s(18);
5308
+ asra_SymbolTable_startLabel = $rt_s(17);
5298
5309
  };
5299
5310
  function asr_Settings() {
5300
5311
  let a = this;
@@ -5338,27 +5349,27 @@ var asr_Settings__clinit_ = () => {
5338
5349
  var$1 = new asrc_SettingsProperties();
5339
5350
  ju_HashMap__init_0(var$1);
5340
5351
  var$2 = var$1;
5341
- ju_HashMap_put(var$2, $rt_s(84), $rt_s(85));
5342
- ju_HashMap_put(var$2, $rt_s(86), $rt_s(85));
5343
- ju_HashMap_put(var$2, $rt_s(87), $rt_s(85));
5344
- ju_HashMap_put(var$2, $rt_s(88), $rt_s(89));
5345
- ju_HashMap_put(var$2, $rt_s(90), $rt_s(85));
5346
- ju_HashMap_put(var$2, $rt_s(91), $rt_s(89));
5347
- ju_HashMap_put(var$2, $rt_s(92), $rt_s(89));
5348
- ju_HashMap_put(var$2, $rt_s(93), $rt_s(89));
5349
- ju_HashMap_put(var$2, $rt_s(94), $rt_s(89));
5350
- ju_HashMap_put(var$2, $rt_s(95), $rt_s(89));
5351
- ju_HashMap_put(var$2, $rt_s(96), $rt_s(85));
5352
- ju_HashMap_put(var$2, $rt_s(97), $rt_s(85));
5353
- ju_HashMap_put(var$2, $rt_s(98), $rt_s(85));
5354
- ju_HashMap_put(var$2, $rt_s(99), $rt_s(89));
5355
- ju_HashMap_put(var$2, $rt_s(100), $rt_s(85));
5356
- ju_HashMap_put(var$2, $rt_s(101), $rt_s(85));
5357
- ju_HashMap_put(var$2, $rt_s(102), $rt_s(89));
5358
- ju_HashMap_put(var$2, $rt_s(103), $rt_s(3));
5352
+ ju_HashMap_put(var$2, $rt_s(83), $rt_s(84));
5353
+ ju_HashMap_put(var$2, $rt_s(85), $rt_s(84));
5354
+ ju_HashMap_put(var$2, $rt_s(86), $rt_s(84));
5355
+ ju_HashMap_put(var$2, $rt_s(87), $rt_s(88));
5356
+ ju_HashMap_put(var$2, $rt_s(89), $rt_s(84));
5357
+ ju_HashMap_put(var$2, $rt_s(90), $rt_s(88));
5358
+ ju_HashMap_put(var$2, $rt_s(91), $rt_s(88));
5359
+ ju_HashMap_put(var$2, $rt_s(92), $rt_s(88));
5360
+ ju_HashMap_put(var$2, $rt_s(93), $rt_s(88));
5361
+ ju_HashMap_put(var$2, $rt_s(94), $rt_s(88));
5362
+ ju_HashMap_put(var$2, $rt_s(95), $rt_s(84));
5363
+ ju_HashMap_put(var$2, $rt_s(96), $rt_s(84));
5364
+ ju_HashMap_put(var$2, $rt_s(97), $rt_s(84));
5365
+ ju_HashMap_put(var$2, $rt_s(98), $rt_s(88));
5366
+ ju_HashMap_put(var$2, $rt_s(99), $rt_s(84));
5367
+ ju_HashMap_put(var$2, $rt_s(100), $rt_s(84));
5368
+ ju_HashMap_put(var$2, $rt_s(101), $rt_s(88));
5369
+ ju_HashMap_put(var$2, $rt_s(102), $rt_s(3));
5359
5370
  asr_Settings_settingsProperties = var$1;
5360
- 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)]);
5361
- 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)]);
5371
+ 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)]);
5372
+ 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)]);
5362
5373
  };
5363
5374
  var ju_Map = $rt_classWithoutFields(0);
5364
5375
  function ju_AbstractMap() {
@@ -5451,26 +5462,26 @@ var ju_AbstractMap_toString = ($this) => {
5451
5462
  $e = ju_HashMap$EntryIterator_next($iter);
5452
5463
  $e_0 = $e.$key;
5453
5464
  if ($e_0 === $this)
5454
- $e_0 = $rt_s(114);
5465
+ $e_0 = $rt_s(113);
5455
5466
  jl_StringBuilder_append($sb, $e_0);
5456
5467
  jl_AbstractStringBuilder_append0($sb, 61);
5457
5468
  $e_0 = $e.$value0;
5458
5469
  if ($e_0 === $this)
5459
- $e_0 = $rt_s(114);
5470
+ $e_0 = $rt_s(113);
5460
5471
  jl_StringBuilder_append($sb, $e_0);
5461
5472
  }
5462
5473
  $e_0 = $iter;
5463
5474
  while (ju_HashMap$AbstractMapIterator_hasNext(var$3)) {
5464
- jl_AbstractStringBuilder_append1($sb, $rt_s(115));
5475
+ jl_AbstractStringBuilder_append1($sb, $rt_s(114));
5465
5476
  $e = ju_HashMap$EntryIterator_next($e_0);
5466
5477
  $iter = $e.$key;
5467
5478
  if ($iter === $this)
5468
- $iter = $rt_s(114);
5479
+ $iter = $rt_s(113);
5469
5480
  jl_StringBuilder_append($sb, $iter);
5470
5481
  jl_AbstractStringBuilder_append0($sb, 61);
5471
5482
  $iter = $e.$value0;
5472
5483
  if ($iter === $this)
5473
- $iter = $rt_s(114);
5484
+ $iter = $rt_s(113);
5474
5485
  jl_StringBuilder_append($sb, $iter);
5475
5486
  }
5476
5487
  jl_AbstractStringBuilder_append0($sb, 125);
@@ -5633,29 +5644,29 @@ var asru_SystemIO = $rt_classWithoutFields();
5633
5644
  var asru_SystemIO_fileErrorString = null;
5634
5645
  var asru_SystemIO_io = null;
5635
5646
  var asru_SystemIO_readInteger = ($serviceNumber) => {
5636
- return asr_JsRISCVIO_callIntHandler(asru_SystemIO_io, $rt_s(116), $rt_createArray(jl_Object, 0));
5647
+ return asr_JsRISCVIO_callIntHandler(asru_SystemIO_io, $rt_s(115), $rt_createArray(jl_Object, 0));
5637
5648
  };
5638
5649
  var asru_SystemIO_readFloat = ($serviceNumber) => {
5639
5650
  let var$2, var$3;
5640
- var$2 = asr_JsRISCVIO_callHandler(asru_SystemIO_io, $rt_s(117), $rt_createArray(jl_Object, 0));
5651
+ var$2 = asr_JsRISCVIO_callHandler(asru_SystemIO_io, $rt_s(116), $rt_createArray(jl_Object, 0));
5641
5652
  if (typeof var$2 === "number" ? 1 : 0)
5642
5653
  return var$2;
5643
5654
  var$2 = new jl_IllegalArgumentException();
5644
5655
  var$3 = new jl_StringBuilder();
5645
5656
  jl_AbstractStringBuilder__init_(var$3);
5646
- jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(var$3, $rt_s(48)), $rt_s(117)), $rt_s(118));
5657
+ jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(var$3, $rt_s(47)), $rt_s(116)), $rt_s(117));
5647
5658
  jl_Throwable__init_0(var$2, jl_AbstractStringBuilder_toString(var$3));
5648
5659
  $rt_throw(var$2);
5649
5660
  };
5650
5661
  var asru_SystemIO_readDouble = ($serviceNumber) => {
5651
5662
  let var$2, var$3;
5652
- var$2 = asr_JsRISCVIO_callHandler(asru_SystemIO_io, $rt_s(119), $rt_createArray(jl_Object, 0));
5663
+ var$2 = asr_JsRISCVIO_callHandler(asru_SystemIO_io, $rt_s(118), $rt_createArray(jl_Object, 0));
5653
5664
  if (typeof var$2 === "number" ? 1 : 0)
5654
5665
  return var$2;
5655
5666
  var$2 = new jl_IllegalArgumentException();
5656
5667
  var$3 = new jl_StringBuilder();
5657
5668
  jl_AbstractStringBuilder__init_(var$3);
5658
- jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(var$3, $rt_s(48)), $rt_s(119)), $rt_s(120));
5669
+ jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(var$3, $rt_s(47)), $rt_s(118)), $rt_s(119));
5659
5670
  jl_Throwable__init_0(var$2, jl_AbstractStringBuilder_toString(var$3));
5660
5671
  $rt_throw(var$2);
5661
5672
  };
@@ -5664,11 +5675,11 @@ var asru_SystemIO_printString = ($string) => {
5664
5675
  var$2 = asru_SystemIO_io;
5665
5676
  var$3 = $rt_createArray(jl_Object, 1);
5666
5677
  var$3.data[0] = otji_JSWrapper_wrap($rt_ustr($string));
5667
- asr_JsRISCVIO_callHandler(var$2, $rt_s(121), var$3);
5678
+ asr_JsRISCVIO_callHandler(var$2, $rt_s(120), var$3);
5668
5679
  };
5669
5680
  var asru_SystemIO_readChar = ($serviceNumber) => {
5670
5681
  let $input, $e, var$4, $$je;
5671
- $input = asr_JsRISCVIO_callStringHandler(asru_SystemIO_io, $rt_s(122), $rt_createArray(jl_Object, 0));
5682
+ $input = asr_JsRISCVIO_callStringHandler(asru_SystemIO_io, $rt_s(121), $rt_createArray(jl_Object, 0));
5672
5683
  if ($input.$nativeString.length == 1) {
5673
5684
  $input = jl_String_valueOf1(jl_String_charAt($input, 0));
5674
5685
  a: {
@@ -5690,7 +5701,7 @@ var asru_SystemIO_readChar = ($serviceNumber) => {
5690
5701
  $input = new jl_IllegalArgumentException();
5691
5702
  var$4 = new jl_StringBuilder();
5692
5703
  jl_AbstractStringBuilder__init_(var$4);
5693
- jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(var$4, $rt_s(48)), $rt_s(122)), $rt_s(123));
5704
+ jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(var$4, $rt_s(47)), $rt_s(121)), $rt_s(122));
5694
5705
  jl_Throwable__init_0($input, jl_AbstractStringBuilder_toString(var$4));
5695
5706
  $rt_throw($input);
5696
5707
  };
@@ -5702,9 +5713,9 @@ var asru_SystemIO_resetFiles = () => {
5702
5713
  var$1 = var$1 + 1 | 0;
5703
5714
  }
5704
5715
  var$2 = asru_SystemIO$FileIOData_fileNames.data;
5705
- var$2[0] = $rt_s(124);
5706
- var$2[1] = $rt_s(125);
5707
- var$2[2] = $rt_s(126);
5716
+ var$2[0] = $rt_s(123);
5717
+ var$2[1] = $rt_s(124);
5718
+ var$2[2] = $rt_s(125);
5708
5719
  var$2 = asru_SystemIO$FileIOData_fileFlags.data;
5709
5720
  var$2[0] = 0;
5710
5721
  var$2[1] = 1;
@@ -5720,7 +5731,7 @@ var asru_SystemIO_resetFiles = () => {
5720
5731
  otcic_JsConsolePrintStream_flush(jl_System_err());
5721
5732
  };
5722
5733
  var asru_SystemIO__clinit_ = () => {
5723
- asru_SystemIO_fileErrorString = jl_String__init_0($rt_s(127));
5734
+ asru_SystemIO_fileErrorString = jl_String__init_0($rt_s(126));
5724
5735
  };
5725
5736
  function asr_RISCVprogram() {
5726
5737
  let a = this;
@@ -5771,7 +5782,7 @@ var asr_RISCVprogram_readSource = ($this, $file, $source) => {
5771
5782
  let var$3, var$4;
5772
5783
  $this.$filename = $file;
5773
5784
  var$3 = new ju_ArrayList();
5774
- var$4 = jl_String_split($source, $rt_s(43));
5785
+ var$4 = jl_String_split($source, $rt_s(42));
5775
5786
  ju_Objects_requireNonNull(var$4);
5776
5787
  $file = new ju_Arrays$ArrayAsList();
5777
5788
  $file.$array3 = var$4;
@@ -6133,7 +6144,7 @@ var jl_Enum_compareTo = ($this, var$1) => {
6133
6144
  var$1 = jl_String_valueOf(jl_Enum_getDeclaringClass(var$1));
6134
6145
  var$4 = new jl_StringBuilder();
6135
6146
  jl_AbstractStringBuilder__init_(var$4);
6136
- jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(var$4, $rt_s(128)), var$3), $rt_s(129)), var$1);
6147
+ jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(var$4, $rt_s(127)), var$3), $rt_s(128)), var$1);
6137
6148
  jl_Throwable__init_0(var$2, jl_AbstractStringBuilder_toString(var$4));
6138
6149
  $rt_throw(var$2);
6139
6150
  };
@@ -6187,28 +6198,28 @@ var asr_Settings$Bool_getName = ($this) => {
6187
6198
  };
6188
6199
  var asr_Settings$Bool__clinit_ = () => {
6189
6200
  let var$1, var$2, var$3;
6190
- asr_Settings$Bool_EXTENDED_ASSEMBLER_ENABLED = asr_Settings$Bool__init_($rt_s(130), 0, $rt_s(95), 1);
6191
- asr_Settings$Bool_ASSEMBLE_ON_OPEN = asr_Settings$Bool__init_($rt_s(131), 1, $rt_s(86), 0);
6192
- asr_Settings$Bool_ASSEMBLE_OPEN = asr_Settings$Bool__init_($rt_s(132), 2, $rt_s(133), 0);
6193
- asr_Settings$Bool_ASSEMBLE_ALL = asr_Settings$Bool__init_($rt_s(134), 3, $rt_s(84), 0);
6194
- asr_Settings$Bool_LABEL_WINDOW_VISIBILITY = asr_Settings$Bool__init_($rt_s(135), 4, $rt_s(96), 0);
6195
- asr_Settings$Bool_DISPLAY_ADDRESSES_IN_HEX = asr_Settings$Bool__init_($rt_s(136), 5, $rt_s(91), 1);
6196
- asr_Settings$Bool_DISPLAY_VALUES_IN_HEX = asr_Settings$Bool__init_($rt_s(137), 6, $rt_s(92), 1);
6197
- asr_Settings$Bool_EXCEPTION_HANDLER_ENABLED = asr_Settings$Bool__init_($rt_s(138), 7, $rt_s(97), 0);
6198
- asr_Settings$Bool_EDITOR_LINE_NUMBERS_DISPLAYED = asr_Settings$Bool__init_($rt_s(139), 8, $rt_s(94), 1);
6199
- asr_Settings$Bool_WARNINGS_ARE_ERRORS = asr_Settings$Bool__init_($rt_s(140), 9, $rt_s(101), 0);
6200
- asr_Settings$Bool_PROGRAM_ARGUMENTS = asr_Settings$Bool__init_($rt_s(141), 10, $rt_s(98), 0);
6201
- asr_Settings$Bool_DATA_SEGMENT_HIGHLIGHTING = asr_Settings$Bool__init_($rt_s(142), 11, $rt_s(88), 1);
6202
- asr_Settings$Bool_REGISTERS_HIGHLIGHTING = asr_Settings$Bool__init_($rt_s(143), 12, $rt_s(99), 1);
6203
- asr_Settings$Bool_START_AT_MAIN = asr_Settings$Bool__init_($rt_s(144), 13, $rt_s(100), 0);
6204
- asr_Settings$Bool_EDITOR_CURRENT_LINE_HIGHLIGHTING = asr_Settings$Bool__init_($rt_s(145), 14, $rt_s(93), 1);
6205
- asr_Settings$Bool_POPUP_INSTRUCTION_GUIDANCE = asr_Settings$Bool__init_($rt_s(146), 15, $rt_s(102), 1);
6206
- asr_Settings$Bool_POPUP_SYSCALL_INPUT = asr_Settings$Bool__init_($rt_s(147), 16, $rt_s(148), 0);
6207
- asr_Settings$Bool_GENERIC_TEXT_EDITOR = asr_Settings$Bool__init_($rt_s(149), 17, $rt_s(150), 0);
6208
- asr_Settings$Bool_AUTO_INDENT = asr_Settings$Bool__init_($rt_s(151), 18, $rt_s(152), 1);
6209
- asr_Settings$Bool_SELF_MODIFYING_CODE_ENABLED = asr_Settings$Bool__init_($rt_s(153), 19, $rt_s(154), 0);
6210
- asr_Settings$Bool_RV64_ENABLED = asr_Settings$Bool__init_($rt_s(155), 20, $rt_s(156), 0);
6211
- var$1 = asr_Settings$Bool__init_($rt_s(157), 21, $rt_s(158), 0);
6201
+ asr_Settings$Bool_EXTENDED_ASSEMBLER_ENABLED = asr_Settings$Bool__init_($rt_s(129), 0, $rt_s(94), 1);
6202
+ asr_Settings$Bool_ASSEMBLE_ON_OPEN = asr_Settings$Bool__init_($rt_s(130), 1, $rt_s(85), 0);
6203
+ asr_Settings$Bool_ASSEMBLE_OPEN = asr_Settings$Bool__init_($rt_s(131), 2, $rt_s(132), 0);
6204
+ asr_Settings$Bool_ASSEMBLE_ALL = asr_Settings$Bool__init_($rt_s(133), 3, $rt_s(83), 0);
6205
+ asr_Settings$Bool_LABEL_WINDOW_VISIBILITY = asr_Settings$Bool__init_($rt_s(134), 4, $rt_s(95), 0);
6206
+ asr_Settings$Bool_DISPLAY_ADDRESSES_IN_HEX = asr_Settings$Bool__init_($rt_s(135), 5, $rt_s(90), 1);
6207
+ asr_Settings$Bool_DISPLAY_VALUES_IN_HEX = asr_Settings$Bool__init_($rt_s(136), 6, $rt_s(91), 1);
6208
+ asr_Settings$Bool_EXCEPTION_HANDLER_ENABLED = asr_Settings$Bool__init_($rt_s(137), 7, $rt_s(96), 0);
6209
+ asr_Settings$Bool_EDITOR_LINE_NUMBERS_DISPLAYED = asr_Settings$Bool__init_($rt_s(138), 8, $rt_s(93), 1);
6210
+ asr_Settings$Bool_WARNINGS_ARE_ERRORS = asr_Settings$Bool__init_($rt_s(139), 9, $rt_s(100), 0);
6211
+ asr_Settings$Bool_PROGRAM_ARGUMENTS = asr_Settings$Bool__init_($rt_s(140), 10, $rt_s(97), 0);
6212
+ asr_Settings$Bool_DATA_SEGMENT_HIGHLIGHTING = asr_Settings$Bool__init_($rt_s(141), 11, $rt_s(87), 1);
6213
+ asr_Settings$Bool_REGISTERS_HIGHLIGHTING = asr_Settings$Bool__init_($rt_s(142), 12, $rt_s(98), 1);
6214
+ asr_Settings$Bool_START_AT_MAIN = asr_Settings$Bool__init_($rt_s(143), 13, $rt_s(99), 0);
6215
+ asr_Settings$Bool_EDITOR_CURRENT_LINE_HIGHLIGHTING = asr_Settings$Bool__init_($rt_s(144), 14, $rt_s(92), 1);
6216
+ asr_Settings$Bool_POPUP_INSTRUCTION_GUIDANCE = asr_Settings$Bool__init_($rt_s(145), 15, $rt_s(101), 1);
6217
+ asr_Settings$Bool_POPUP_SYSCALL_INPUT = asr_Settings$Bool__init_($rt_s(146), 16, $rt_s(147), 0);
6218
+ asr_Settings$Bool_GENERIC_TEXT_EDITOR = asr_Settings$Bool__init_($rt_s(148), 17, $rt_s(149), 0);
6219
+ asr_Settings$Bool_AUTO_INDENT = asr_Settings$Bool__init_($rt_s(150), 18, $rt_s(151), 1);
6220
+ asr_Settings$Bool_SELF_MODIFYING_CODE_ENABLED = asr_Settings$Bool__init_($rt_s(152), 19, $rt_s(153), 0);
6221
+ asr_Settings$Bool_RV64_ENABLED = asr_Settings$Bool__init_($rt_s(154), 20, $rt_s(155), 0);
6222
+ var$1 = asr_Settings$Bool__init_($rt_s(156), 21, $rt_s(157), 0);
6212
6223
  asr_Settings$Bool_DERIVE_CURRENT_WORKING_DIRECTORY = var$1;
6213
6224
  var$2 = $rt_createArray(asr_Settings$Bool, 22);
6214
6225
  var$3 = var$2.data;
@@ -6249,9 +6260,9 @@ var asrrh_MemoryConfigurations_buildConfigurationCollection = () => {
6249
6260
  if (asrrh_MemoryConfigurations_configurations === null) {
6250
6261
  var$1 = ju_ArrayList__init_();
6251
6262
  asrrh_MemoryConfigurations_configurations = var$1;
6252
- ju_ArrayList_add(var$1, asrrh_MemoryConfiguration__init_($rt_s(159), $rt_s(159), asrrh_MemoryConfigurations_configurationItemNames, asrrh_MemoryConfigurations_defaultConfigurationItemValues));
6253
- ju_ArrayList_add(asrrh_MemoryConfigurations_configurations, asrrh_MemoryConfiguration__init_($rt_s(160), $rt_s(161), asrrh_MemoryConfigurations_configurationItemNames, asrrh_MemoryConfigurations_dataBasedCompactConfigurationItemValues));
6254
- ju_ArrayList_add(asrrh_MemoryConfigurations_configurations, asrrh_MemoryConfiguration__init_($rt_s(162), $rt_s(163), asrrh_MemoryConfigurations_configurationItemNames, asrrh_MemoryConfigurations_textBasedCompactConfigurationItemValues));
6263
+ ju_ArrayList_add(var$1, asrrh_MemoryConfiguration__init_($rt_s(158), $rt_s(158), asrrh_MemoryConfigurations_configurationItemNames, asrrh_MemoryConfigurations_defaultConfigurationItemValues));
6264
+ ju_ArrayList_add(asrrh_MemoryConfigurations_configurations, asrrh_MemoryConfiguration__init_($rt_s(159), $rt_s(160), asrrh_MemoryConfigurations_configurationItemNames, asrrh_MemoryConfigurations_dataBasedCompactConfigurationItemValues));
6265
+ ju_ArrayList_add(asrrh_MemoryConfigurations_configurations, asrrh_MemoryConfiguration__init_($rt_s(161), $rt_s(162), asrrh_MemoryConfigurations_configurationItemNames, asrrh_MemoryConfigurations_textBasedCompactConfigurationItemValues));
6255
6266
  var$2 = ju_ArrayList_get(asrrh_MemoryConfigurations_configurations, 0);
6256
6267
  asrrh_MemoryConfigurations_defaultConfiguration = var$2;
6257
6268
  asrrh_MemoryConfigurations_currentConfiguration = var$2;
@@ -6273,8 +6284,8 @@ var asrrh_MemoryConfigurations_buildConfigurationCollection = () => {
6273
6284
  if (var$2 !== null && var$2 !== asrrh_MemoryConfigurations_currentConfiguration) {
6274
6285
  asrrh_MemoryConfigurations_currentConfiguration = var$2;
6275
6286
  asrrh_Memory_clear(asr_Globals_memory);
6276
- asrrh_Register_changeResetValue(asrrh_RegisterFile_getRegister($rt_s(164)), Long_fromInt(asrrh_MemoryConfiguration_getGlobalPointer(var$2)));
6277
- asrrh_Register_changeResetValue(asrrh_RegisterFile_getRegister($rt_s(17)), Long_fromInt(asrrh_MemoryConfiguration_getStackPointer(var$2)));
6287
+ asrrh_Register_changeResetValue(asrrh_RegisterFile_getRegister($rt_s(163)), Long_fromInt(asrrh_MemoryConfiguration_getGlobalPointer(var$2)));
6288
+ asrrh_Register_changeResetValue(asrrh_RegisterFile_getRegister($rt_s(164)), Long_fromInt(asrrh_MemoryConfiguration_getStackPointer(var$2)));
6278
6289
  asrrh_Register_changeResetValue(asrrh_RegisterFile_programCounter, Long_fromInt(asrrh_MemoryConfiguration_getTextBaseAddress(var$2)));
6279
6290
  asrrh_RegisterFile_initializeProgramCounter(asrrh_MemoryConfiguration_getTextBaseAddress(var$2));
6280
6291
  asrrh_RegisterFile_resetRegisters();
@@ -6322,10 +6333,10 @@ var jl_Boolean_valueOf = ($value) => {
6322
6333
  return !$value ? jl_Boolean_FALSE : jl_Boolean_TRUE;
6323
6334
  };
6324
6335
  var jl_Boolean_valueOf0 = ($value) => {
6325
- return jl_Boolean_valueOf($value !== null && jl_String_equals(jl_String_toLowerCase($value), $rt_s(89)) ? 1 : 0);
6336
+ return jl_Boolean_valueOf($value !== null && jl_String_equals(jl_String_toLowerCase($value), $rt_s(88)) ? 1 : 0);
6326
6337
  };
6327
6338
  var jl_Boolean_toString = ($this) => {
6328
- return !$this.$value4 ? $rt_s(85) : $rt_s(89);
6339
+ return !$this.$value4 ? $rt_s(84) : $rt_s(88);
6329
6340
  };
6330
6341
  var jl_Boolean_equals = ($this, $obj) => {
6331
6342
  if ($this === $obj)
@@ -6755,7 +6766,7 @@ var asr_ProgramStatement_toString = ($this) => {
6755
6766
  jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(var$5, var$3), var$2), $rt_s(198)), var$4);
6756
6767
  var$2 = jl_AbstractStringBuilder_toString(var$5);
6757
6768
  } else {
6758
- $firstSpace = jl_String_indexOf0(var$2, $rt_s(38));
6769
+ $firstSpace = jl_String_indexOf0(var$2, $rt_s(37));
6759
6770
  var$2 = jl_String_substring($rt_s(197), 0, 16 - var$3.$nativeString.length | 0);
6760
6771
  var$4 = jl_String_substring($this.$basicAssemblyStatement, 0, $firstSpace);
6761
6772
  var$5 = new jl_StringBuilder();
@@ -7082,6 +7093,10 @@ var asrrh_RegisterFile_initializeProgramCounter0 = ($startAtMain) => {
7082
7093
  else
7083
7094
  asrrh_RegisterFile_initializeProgramCounter(Long_lo(asrrh_RegisterFile_programCounter.$resetValue0));
7084
7095
  };
7096
+ var asrrh_RegisterFile_getStackPointerRegister = () => {
7097
+ asrrh_RegisterFile_$callClinit();
7098
+ return asrrh_RegisterBlock_getRegister(asrrh_RegisterFile_instance, $rt_s(164));
7099
+ };
7085
7100
  var asrrh_RegisterFile_setProgramCounter = ($value) => {
7086
7101
  let $old, var$3;
7087
7102
  asrrh_RegisterFile_$callClinit();
@@ -7118,9 +7133,9 @@ var asrrh_RegisterFile__clinit_ = () => {
7118
7133
  var$3[1] = asrrh_Register__init_($rt_s(214), 1, Long_ZERO);
7119
7134
  var$4 = new asrrh_Register();
7120
7135
  asrrh_Memory_$callClinit();
7121
- asrrh_Register__init_0(var$4, $rt_s(17), 2, Long_fromInt(asrrh_Memory_stackPointer));
7136
+ asrrh_Register__init_0(var$4, $rt_s(164), 2, Long_fromInt(asrrh_Memory_stackPointer));
7122
7137
  var$3[2] = var$4;
7123
- var$3[3] = asrrh_Register__init_($rt_s(164), 3, Long_fromInt(asrrh_Memory_globalPointer));
7138
+ var$3[3] = asrrh_Register__init_($rt_s(163), 3, Long_fromInt(asrrh_Memory_globalPointer));
7124
7139
  var$3[4] = asrrh_Register__init_($rt_s(215), 4, Long_ZERO);
7125
7140
  var$3[5] = asrrh_Register__init_($rt_s(216), 5, Long_ZERO);
7126
7141
  var$3[6] = asrrh_Register__init_($rt_s(217), 6, Long_ZERO);
@@ -7153,6 +7168,40 @@ var asrrh_RegisterFile__clinit_ = () => {
7153
7168
  asrrh_RegisterFile_instance = var$1;
7154
7169
  asrrh_RegisterFile_programCounter = asrrh_Register__init_($rt_s(242), -1, Long_fromInt(asrrh_Memory_textBaseAddress));
7155
7170
  };
7171
+ var asr_JsRiscV$getTokenizedLines$lambda$_5_0 = $rt_classWithoutFields();
7172
+ var asr_JsRiscV$getTokenizedLines$lambda$_5_0_apply = (var$0, var$1) => {
7173
+ let var$2, var$3, var$4, var$5;
7174
+ var$1 = var$1;
7175
+ asr_JsRiscV_$callClinit();
7176
+ var$2 = $rt_createArray(asr_JsRiscVToken, asra_TokenList_size(var$1));
7177
+ var$3 = var$2.data;
7178
+ var$4 = 0;
7179
+ while (var$4 < asra_TokenList_size(var$1)) {
7180
+ var$3[var$4] = asr_JsRiscVToken__init_(asra_TokenList_get(var$1, var$4));
7181
+ var$4 = var$4 + 1 | 0;
7182
+ }
7183
+ var$5 = new asr_JsRiscVTokenizedLine();
7184
+ var$5.$line0 = var$1.$processedLine;
7185
+ var$5.$tokens0 = var$2;
7186
+ return var$5;
7187
+ };
7188
+ var asr_JsRiscV$getTokenizedLines$lambda$_5_1 = $rt_classWithoutFields();
7189
+ var asr_JsRiscV$getTokenizedLines$lambda$_5_1_apply = (var$0, var$1) => {
7190
+ asr_JsRiscV_$callClinit();
7191
+ return $rt_createArray(asr_JsRiscVTokenizedLine, var$1);
7192
+ };
7193
+ function asr_JsRiscVTokenizedLine() {
7194
+ let a = this;
7195
+ jl_Object.call(a);
7196
+ a.$line0 = null;
7197
+ a.$tokens0 = null;
7198
+ }
7199
+ var asr_JsRiscVTokenizedLine_getLine$exported$0 = (var$1) => {
7200
+ return $rt_ustr(var$1.$line0);
7201
+ };
7202
+ var asr_JsRiscVTokenizedLine_getTokens$exported$1 = (var$1) => {
7203
+ return otji_JS_wrap(var$1.$tokens0);
7204
+ };
7156
7205
  function asr_JsProgramStatement() {
7157
7206
  let a = this;
7158
7207
  jl_Object.call(a);
@@ -7230,40 +7279,6 @@ var asr_JsProgramStatement_getBinaryStatement$exported$4 = (var$1) => {
7230
7279
  var asr_JsProgramStatement_getMachineStatement$exported$5 = (var$1) => {
7231
7280
  return $rt_ustr(var$1.$machineStatement0);
7232
7281
  };
7233
- var asr_JsRiscV$getTokenizedLines$lambda$_5_0 = $rt_classWithoutFields();
7234
- var asr_JsRiscV$getTokenizedLines$lambda$_5_0_apply = (var$0, var$1) => {
7235
- let var$2, var$3, var$4, var$5;
7236
- var$1 = var$1;
7237
- asr_JsRiscV_$callClinit();
7238
- var$2 = $rt_createArray(asr_JsRiscVToken, asra_TokenList_size(var$1));
7239
- var$3 = var$2.data;
7240
- var$4 = 0;
7241
- while (var$4 < asra_TokenList_size(var$1)) {
7242
- var$3[var$4] = asr_JsRiscVToken__init_(asra_TokenList_get(var$1, var$4));
7243
- var$4 = var$4 + 1 | 0;
7244
- }
7245
- var$5 = new asr_JsRiscVTokenizedLine();
7246
- var$5.$line0 = var$1.$processedLine;
7247
- var$5.$tokens0 = var$2;
7248
- return var$5;
7249
- };
7250
- var asr_JsRiscV$getTokenizedLines$lambda$_5_1 = $rt_classWithoutFields();
7251
- var asr_JsRiscV$getTokenizedLines$lambda$_5_1_apply = (var$0, var$1) => {
7252
- asr_JsRiscV_$callClinit();
7253
- return $rt_createArray(asr_JsRiscVTokenizedLine, var$1);
7254
- };
7255
- function asr_JsRiscVTokenizedLine() {
7256
- let a = this;
7257
- jl_Object.call(a);
7258
- a.$line0 = null;
7259
- a.$tokens0 = null;
7260
- }
7261
- var asr_JsRiscVTokenizedLine_getLine$exported$0 = (var$1) => {
7262
- return $rt_ustr(var$1.$line0);
7263
- };
7264
- var asr_JsRiscVTokenizedLine_getTokens$exported$1 = (var$1) => {
7265
- return otji_JS_wrap(var$1.$tokens0);
7266
- };
7267
7282
  var ju_Arrays = $rt_classWithoutFields();
7268
7283
  var ju_Arrays_copyOf1 = ($array, $length) => {
7269
7284
  let $result, var$4, $sz, $i;
@@ -7494,6 +7509,30 @@ var asr_JsBackStep_getAction$exported$2 = (var$1) => {
7494
7509
  var asr_JsBackStep_getParam1$exported$3 = (var$1) => {
7495
7510
  return var$1.$param10;
7496
7511
  };
7512
+ function asr_JsStackFrame() {
7513
+ let a = this;
7514
+ jl_Object.call(a);
7515
+ a.$pc3 = 0;
7516
+ a.$toAddress0 = 0;
7517
+ a.$sp = 0;
7518
+ a.$fp = 0;
7519
+ a.$registers = null;
7520
+ }
7521
+ var asr_JsStackFrame_getPc$exported$0 = (var$1) => {
7522
+ return var$1.$pc3;
7523
+ };
7524
+ var asr_JsStackFrame_getToAddress$exported$1 = (var$1) => {
7525
+ return var$1.$toAddress0;
7526
+ };
7527
+ var asr_JsStackFrame_getRegisters$exported$2 = (var$1) => {
7528
+ return otji_JS_wrap0(var$1.$registers);
7529
+ };
7530
+ var asr_JsStackFrame_getSp$exported$3 = (var$1) => {
7531
+ return var$1.$sp;
7532
+ };
7533
+ var asr_JsStackFrame_getFp$exported$4 = (var$1) => {
7534
+ return var$1.$fp;
7535
+ };
7497
7536
  function asr_JsCompilationResult() {
7498
7537
  let a = this;
7499
7538
  jl_Object.call(a);
@@ -7556,30 +7595,6 @@ var asr_AssemblyException__init_ = (var_0) => {
7556
7595
  asr_AssemblyException__init_0(var_1, var_0);
7557
7596
  return var_1;
7558
7597
  };
7559
- function asr_JsStackFrame() {
7560
- let a = this;
7561
- jl_Object.call(a);
7562
- a.$pc3 = 0;
7563
- a.$toAddress = 0;
7564
- a.$sp = 0;
7565
- a.$fp = 0;
7566
- a.$registers = null;
7567
- }
7568
- var asr_JsStackFrame_getPc$exported$0 = (var$1) => {
7569
- return var$1.$pc3;
7570
- };
7571
- var asr_JsStackFrame_getToAddress$exported$1 = (var$1) => {
7572
- return var$1.$toAddress;
7573
- };
7574
- var asr_JsStackFrame_getRegisters$exported$2 = (var$1) => {
7575
- return otji_JS_wrap0(var$1.$registers);
7576
- };
7577
- var asr_JsStackFrame_getSp$exported$3 = (var$1) => {
7578
- return var$1.$sp;
7579
- };
7580
- var asr_JsStackFrame_getFp$exported$4 = (var$1) => {
7581
- return var$1.$fp;
7582
- };
7583
7598
  var ju_Map$Entry = $rt_classWithoutFields(0);
7584
7599
  function ju_MapEntry() {
7585
7600
  let a = this;
@@ -7785,7 +7800,7 @@ var asrr_BasicInstruction__init_ = ($this, $example, $description, $instrFormat,
7785
7800
  $this.$mnemonic = asrr_Instruction_extractOperator($this, $example);
7786
7801
  $this.$description = $description;
7787
7802
  $this.$instructionFormat = $instrFormat;
7788
- $description = jl_String_replaceAll($operMask, $rt_s(38), $rt_s(3));
7803
+ $description = jl_String_replaceAll($operMask, $rt_s(37), $rt_s(3));
7789
7804
  $this.$operationMask = $description;
7790
7805
  if ($description.$nativeString.length != 32) {
7791
7806
  $description = jl_System_out();
@@ -10121,10 +10136,29 @@ var asrri_JAL__init_ = () => {
10121
10136
  return var_0;
10122
10137
  };
10123
10138
  var asrri_JAL_simulate = ($this, $statement) => {
10124
- let $operands;
10139
+ let $operands, $address, var$4, var$5, var$6, var$7, var$8, var$9, var$10, var$11;
10125
10140
  $operands = $statement.$operands.data;
10126
10141
  asrr_InstructionSet_processReturnAddress($operands[0]);
10127
- asrr_InstructionSet_processJump((asrrh_RegisterFile_getProgramCounter() - 4 | 0) + $operands[1] | 0);
10142
+ $address = (asrrh_RegisterFile_getProgramCounter() - 4 | 0) + $operands[1] | 0;
10143
+ var$4 = new asrrh_StackFrame();
10144
+ var$5 = asrrh_RegisterFile_getProgramCounter();
10145
+ var$6 = Long_lo(asrrh_RegisterFile_getStackPointerRegister().$getValue());
10146
+ var$7 = Long_lo(asrrh_RegisterBlock_getRegister(asrrh_RegisterFile_instance, $rt_s(212)).$getValue());
10147
+ var$8 = asrrh_RegisterFile_instance.$regFile.data.length;
10148
+ var$9 = $rt_createIntArray(var$8);
10149
+ var$10 = var$9.data;
10150
+ var$11 = 0;
10151
+ while (var$11 < var$8) {
10152
+ var$10[var$11] = Long_lo(asrrh_RegisterFile_instance.$regFile.data[var$11].$getValue());
10153
+ var$11 = var$11 + 1 | 0;
10154
+ }
10155
+ var$4.$pc4 = var$5;
10156
+ var$4.$sp0 = var$6;
10157
+ var$4.$fp0 = var$7;
10158
+ var$4.$toAddress = $address;
10159
+ var$4.$registers0 = var$9;
10160
+ ju_ArrayList_add(asrrh_Stack_callStack, var$4);
10161
+ asrr_InstructionSet_processJump($address);
10128
10162
  };
10129
10163
  var asrri_JALR = $rt_classWithoutFields(asrr_BasicInstruction);
10130
10164
  var asrri_JALR__init_ = ($this) => {
@@ -10140,6 +10174,10 @@ var asrri_JALR_simulate = ($this, $statement) => {
10140
10174
  $operands = $statement.$operands.data;
10141
10175
  $target = asrrh_RegisterFile_getValue0($operands[1]);
10142
10176
  asrr_InstructionSet_processReturnAddress($operands[0]);
10177
+ if (!$operands[0] && $operands[1] == 1 && !ju_AbstractCollection_isEmpty(asrrh_Stack_callStack)) {
10178
+ $statement = asrrh_Stack_callStack;
10179
+ ju_ArrayList_remove($statement, $statement.$size0 - 1 | 0);
10180
+ }
10143
10181
  asrr_InstructionSet_processJump(($target + ($operands[2] << 20 >> 20) | 0) & -2);
10144
10182
  };
10145
10183
  var asrri_Load = $rt_classWithoutFields(asrr_BasicInstruction);
@@ -11099,10 +11137,10 @@ var asrr_PseudoOps_PSEUDO_OPS_64 = null;
11099
11137
  var asrr_PseudoOps__clinit_ = () => {
11100
11138
  asrr_PseudoOps_PSEUDO_OPS = $rt_wrapArray(jl_String, [
11101
11139
  $rt_s(757),
11102
- $rt_s(59),
11140
+ $rt_s(58),
11103
11141
  $rt_s(758),
11104
11142
  $rt_s(759),
11105
- $rt_s(59),
11143
+ $rt_s(58),
11106
11144
  $rt_s(760),
11107
11145
  $rt_s(761),
11108
11146
  $rt_s(762),
@@ -11110,10 +11148,10 @@ var asrr_PseudoOps__clinit_ = () => {
11110
11148
  $rt_s(764),
11111
11149
  $rt_s(765),
11112
11150
  $rt_s(766),
11113
- $rt_s(59),
11151
+ $rt_s(58),
11114
11152
  $rt_s(767),
11115
11153
  $rt_s(768),
11116
- $rt_s(59),
11154
+ $rt_s(58),
11117
11155
  $rt_s(769),
11118
11156
  $rt_s(770),
11119
11157
  $rt_s(771),
@@ -11121,7 +11159,7 @@ var asrr_PseudoOps__clinit_ = () => {
11121
11159
  $rt_s(773),
11122
11160
  $rt_s(774),
11123
11161
  $rt_s(775),
11124
- $rt_s(59),
11162
+ $rt_s(58),
11125
11163
  $rt_s(776),
11126
11164
  $rt_s(3),
11127
11165
  $rt_s(3),
@@ -11145,15 +11183,15 @@ var asrr_PseudoOps__clinit_ = () => {
11145
11183
  $rt_s(793),
11146
11184
  $rt_s(794),
11147
11185
  $rt_s(795),
11148
- $rt_s(59),
11186
+ $rt_s(58),
11149
11187
  $rt_s(796),
11150
- $rt_s(59),
11188
+ $rt_s(58),
11151
11189
  $rt_s(797),
11152
11190
  $rt_s(798),
11153
11191
  $rt_s(799),
11154
- $rt_s(59),
11192
+ $rt_s(58),
11155
11193
  $rt_s(800),
11156
- $rt_s(59),
11194
+ $rt_s(58),
11157
11195
  $rt_s(801),
11158
11196
  $rt_s(802),
11159
11197
  $rt_s(803),
@@ -11215,10 +11253,10 @@ var asrr_PseudoOps__clinit_ = () => {
11215
11253
  $rt_s(852),
11216
11254
  $rt_s(3),
11217
11255
  $rt_s(853),
11218
- $rt_s(59),
11256
+ $rt_s(58),
11219
11257
  $rt_s(854),
11220
11258
  $rt_s(855),
11221
- $rt_s(59),
11259
+ $rt_s(58),
11222
11260
  $rt_s(3),
11223
11261
  $rt_s(856),
11224
11262
  $rt_s(857),
@@ -11766,6 +11804,15 @@ var asrrh_RegisterBlock_resetRegisters = ($this) => {
11766
11804
  var$3 = var$3 + 1 | 0;
11767
11805
  }
11768
11806
  };
11807
+ function asrrh_StackFrame() {
11808
+ let a = this;
11809
+ jl_Object.call(a);
11810
+ a.$pc4 = 0;
11811
+ a.$toAddress = 0;
11812
+ a.$sp0 = 0;
11813
+ a.$fp0 = 0;
11814
+ a.$registers0 = null;
11815
+ }
11769
11816
  function asr_ErrorList() {
11770
11817
  let a = this;
11771
11818
  jl_Object.call(a);
@@ -11873,7 +11920,6 @@ var asr_ErrorList_generateReport = ($this, $isWarning) => {
11873
11920
  }
11874
11921
  return jl_AbstractStringBuilder_toString($report);
11875
11922
  };
11876
- var asrrh_StackFrame = $rt_classWithoutFields();
11877
11923
  function asrrh_MemoryConfiguration() {
11878
11924
  let a = this;
11879
11925
  jl_Object.call(a);
@@ -12369,7 +12415,7 @@ var asrrs_SyscallOpen_simulate = ($this, $statement) => {
12369
12415
  if ($retValue < 32) {
12370
12416
  var$6[$retValue] = jl_String__init_0(var$2);
12371
12417
  asru_SystemIO$FileIOData_fileFlags.data[$retValue] = var$3;
12372
- asru_SystemIO_fileErrorString = jl_String__init_0($rt_s(127));
12418
+ asru_SystemIO_fileErrorString = jl_String__init_0($rt_s(126));
12373
12419
  } else {
12374
12420
  $statement = new jl_StringBuilder();
12375
12421
  jl_AbstractStringBuilder__init_($statement);
@@ -12950,17 +12996,17 @@ var asrrs_SyscallReadString_simulate = ($this, $statement) => {
12950
12996
  }
12951
12997
  a: {
12952
12998
  var$5 = asr_JsRISCVIO_callStringHandler(asru_SystemIO_io, $rt_s(1059), $rt_createArray(jl_Object, 0));
12953
- if (var$5 === $rt_s(43))
12999
+ if (var$5 === $rt_s(42))
12954
13000
  $stringLength = 1;
12955
- else if ($rt_s(43).$nativeString.length > var$5.$nativeString.length)
13001
+ else if ($rt_s(42).$nativeString.length > var$5.$nativeString.length)
12956
13002
  $stringLength = 0;
12957
13003
  else {
12958
13004
  $index = 0;
12959
- var$8 = var$5.$nativeString.length - $rt_s(43).$nativeString.length | 0;
13005
+ var$8 = var$5.$nativeString.length - $rt_s(42).$nativeString.length | 0;
12960
13006
  while (var$8 < var$5.$nativeString.length) {
12961
13007
  var$9 = jl_String_charAt(var$5, var$8);
12962
13008
  $stringLength = $index + 1 | 0;
12963
- if (var$9 != jl_String_charAt($rt_s(43), $index)) {
13009
+ if (var$9 != jl_String_charAt($rt_s(42), $index)) {
12964
13010
  $stringLength = 0;
12965
13011
  break a;
12966
13012
  }
@@ -13064,7 +13110,7 @@ var asrrs_SyscallGetCWD_simulate = ($this, $statement) => {
13064
13110
  ju_Hashtable_put(var$3, $rt_s(1067), $rt_s(1068));
13065
13111
  ju_Hashtable_put(var$3, $rt_s(1069), $rt_s(1070));
13066
13112
  ju_Hashtable_put(var$3, $rt_s(1071), $rt_s(1072));
13067
- ju_Hashtable_put(var$3, $rt_s(1073), $rt_s(43));
13113
+ ju_Hashtable_put(var$3, $rt_s(1073), $rt_s(42));
13068
13114
  ju_Hashtable_put(var$3, $rt_s(1074), $rt_s(1075));
13069
13115
  ju_Hashtable_put(var$3, $rt_s(1076), $rt_s(1066));
13070
13116
  ju_Hashtable_put(var$3, $rt_s(1077), $rt_s(1070));
@@ -13350,7 +13396,7 @@ var otcic_JsConsolePrintStream_println = ($this, $s) => {
13350
13396
  let var$2;
13351
13397
  var$2 = $this;
13352
13398
  otcic_JSStdoutPrintStream_print(var$2, $s);
13353
- otcic_JSStdoutPrintStream_print(var$2, $rt_s(43));
13399
+ otcic_JSStdoutPrintStream_print(var$2, $rt_s(42));
13354
13400
  };
13355
13401
  var otcic_JsConsolePrintStream_println0 = ($this, $s) => {
13356
13402
  let var$2;
@@ -13761,89 +13807,6 @@ var ju_AbstractList$1_next = ($this) => {
13761
13807
  $this.$index4 = var$3 + 1 | 0;
13762
13808
  return var$2.$get0(var$3);
13763
13809
  };
13764
- var asrs_Simulator$Reason = $rt_classWithoutFields(jl_Enum);
13765
- var asrs_Simulator$Reason_BREAKPOINT = null;
13766
- var asrs_Simulator$Reason_EXCEPTION = null;
13767
- var asrs_Simulator$Reason_MAX_STEPS = null;
13768
- var asrs_Simulator$Reason_NORMAL_TERMINATION = null;
13769
- var asrs_Simulator$Reason_CLIFF_TERMINATION = null;
13770
- var asrs_Simulator$Reason_PAUSE = null;
13771
- var asrs_Simulator$Reason_STOP = null;
13772
- var asrs_Simulator$Reason_$VALUES = null;
13773
- var asrs_Simulator$Reason_values = () => {
13774
- return asrs_Simulator$Reason_$VALUES.$clone0();
13775
- };
13776
- var asrs_Simulator$Reason__clinit_ = () => {
13777
- let var$1, var$2, var$3;
13778
- var$1 = new asrs_Simulator$Reason();
13779
- jl_Enum__init_(var$1, $rt_s(1084), 0);
13780
- asrs_Simulator$Reason_BREAKPOINT = var$1;
13781
- var$1 = new asrs_Simulator$Reason();
13782
- jl_Enum__init_(var$1, $rt_s(1085), 1);
13783
- asrs_Simulator$Reason_EXCEPTION = var$1;
13784
- var$1 = new asrs_Simulator$Reason();
13785
- jl_Enum__init_(var$1, $rt_s(1086), 2);
13786
- asrs_Simulator$Reason_MAX_STEPS = var$1;
13787
- var$1 = new asrs_Simulator$Reason();
13788
- jl_Enum__init_(var$1, $rt_s(1087), 3);
13789
- asrs_Simulator$Reason_NORMAL_TERMINATION = var$1;
13790
- var$1 = new asrs_Simulator$Reason();
13791
- jl_Enum__init_(var$1, $rt_s(1088), 4);
13792
- asrs_Simulator$Reason_CLIFF_TERMINATION = var$1;
13793
- var$1 = new asrs_Simulator$Reason();
13794
- jl_Enum__init_(var$1, $rt_s(1089), 5);
13795
- asrs_Simulator$Reason_PAUSE = var$1;
13796
- var$1 = new asrs_Simulator$Reason();
13797
- jl_Enum__init_(var$1, $rt_s(1090), 6);
13798
- asrs_Simulator$Reason_STOP = var$1;
13799
- var$2 = $rt_createArray(asrs_Simulator$Reason, 7);
13800
- var$3 = var$2.data;
13801
- var$3[0] = asrs_Simulator$Reason_BREAKPOINT;
13802
- var$3[1] = asrs_Simulator$Reason_EXCEPTION;
13803
- var$3[2] = asrs_Simulator$Reason_MAX_STEPS;
13804
- var$3[3] = asrs_Simulator$Reason_NORMAL_TERMINATION;
13805
- var$3[4] = asrs_Simulator$Reason_CLIFF_TERMINATION;
13806
- var$3[5] = asrs_Simulator$Reason_PAUSE;
13807
- var$3[6] = var$1;
13808
- asrs_Simulator$Reason_$VALUES = var$2;
13809
- };
13810
- var jlr_Array = $rt_classWithoutFields();
13811
- var jlr_Array_getLength = (var$1) => {
13812
- if (var$1 === null || var$1.constructor.$meta.item === "undefined") {
13813
- $rt_throw(jl_IllegalArgumentException__init_());
13814
- }
13815
- return var$1.data.length;
13816
- };
13817
- var jlr_Array_newInstance = (var$1, $length) => {
13818
- if (var$1 === null) {
13819
- var$1 = new jl_NullPointerException();
13820
- jl_Throwable__init_(var$1);
13821
- $rt_throw(var$1);
13822
- }
13823
- if (var$1 === $rt_cls($rt_voidcls)) {
13824
- var$1 = new jl_IllegalArgumentException();
13825
- jl_Throwable__init_(var$1);
13826
- $rt_throw(var$1);
13827
- }
13828
- if ($length >= 0)
13829
- return jlr_Array_newInstanceImpl(var$1.$platformClass, $length);
13830
- var$1 = new jl_NegativeArraySizeException();
13831
- jl_Throwable__init_(var$1);
13832
- $rt_throw(var$1);
13833
- };
13834
- var jlr_Array_newInstanceImpl = (var$1, var$2) => {
13835
- if (var$1.$meta.primitive) {
13836
- switch (var$1) {
13837
- }
13838
- ;
13839
- }
13840
- return $rt_createArray(var$1, var$2);
13841
- };
13842
- var asrrh_Stack = $rt_classWithoutFields();
13843
- var asrrh_Stack_callStack = null;
13844
- var asrrh_Stack__clinit_ = () => {
13845
- asrrh_Stack_callStack = ju_ArrayList__init_();
13846
- };
13847
13810
  var asrrh_FloatingPointRegisterFile = $rt_classWithoutFields();
13848
13811
  var asrrh_FloatingPointRegisterFile_instance = null;
13849
13812
  var asrrh_FloatingPointRegisterFile_setRegisterToFloat = ($reg, $val) => {
@@ -13888,38 +13851,38 @@ var asrrh_FloatingPointRegisterFile__clinit_ = () => {
13888
13851
  var$1 = new asrrh_RegisterBlock();
13889
13852
  var$2 = $rt_createArray(asrrh_Register, 32);
13890
13853
  var$3 = var$2.data;
13891
- var$3[0] = asrrh_Register__init_($rt_s(1091), 0, Long_ZERO);
13892
- var$3[1] = asrrh_Register__init_($rt_s(1092), 1, Long_ZERO);
13893
- var$3[2] = asrrh_Register__init_($rt_s(1093), 2, Long_ZERO);
13894
- var$3[3] = asrrh_Register__init_($rt_s(1094), 3, Long_ZERO);
13895
- var$3[4] = asrrh_Register__init_($rt_s(1095), 4, Long_ZERO);
13896
- var$3[5] = asrrh_Register__init_($rt_s(1096), 5, Long_ZERO);
13897
- var$3[6] = asrrh_Register__init_($rt_s(1097), 6, Long_ZERO);
13898
- var$3[7] = asrrh_Register__init_($rt_s(1098), 7, Long_ZERO);
13899
- var$3[8] = asrrh_Register__init_($rt_s(1099), 8, Long_ZERO);
13900
- var$3[9] = asrrh_Register__init_($rt_s(1100), 9, Long_ZERO);
13854
+ var$3[0] = asrrh_Register__init_($rt_s(1084), 0, Long_ZERO);
13855
+ var$3[1] = asrrh_Register__init_($rt_s(1085), 1, Long_ZERO);
13856
+ var$3[2] = asrrh_Register__init_($rt_s(1086), 2, Long_ZERO);
13857
+ var$3[3] = asrrh_Register__init_($rt_s(1087), 3, Long_ZERO);
13858
+ var$3[4] = asrrh_Register__init_($rt_s(1088), 4, Long_ZERO);
13859
+ var$3[5] = asrrh_Register__init_($rt_s(1089), 5, Long_ZERO);
13860
+ var$3[6] = asrrh_Register__init_($rt_s(1090), 6, Long_ZERO);
13861
+ var$3[7] = asrrh_Register__init_($rt_s(1091), 7, Long_ZERO);
13862
+ var$3[8] = asrrh_Register__init_($rt_s(1092), 8, Long_ZERO);
13863
+ var$3[9] = asrrh_Register__init_($rt_s(1093), 9, Long_ZERO);
13901
13864
  var$3[10] = asrrh_Register__init_($rt_s(1043), 10, Long_ZERO);
13902
13865
  var$3[11] = asrrh_Register__init_($rt_s(1037), 11, Long_ZERO);
13903
- var$3[12] = asrrh_Register__init_($rt_s(1101), 12, Long_ZERO);
13904
- var$3[13] = asrrh_Register__init_($rt_s(1102), 13, Long_ZERO);
13905
- var$3[14] = asrrh_Register__init_($rt_s(1103), 14, Long_ZERO);
13906
- var$3[15] = asrrh_Register__init_($rt_s(1104), 15, Long_ZERO);
13907
- var$3[16] = asrrh_Register__init_($rt_s(1105), 16, Long_ZERO);
13908
- var$3[17] = asrrh_Register__init_($rt_s(1106), 17, Long_ZERO);
13909
- var$3[18] = asrrh_Register__init_($rt_s(1107), 18, Long_ZERO);
13910
- var$3[19] = asrrh_Register__init_($rt_s(1108), 19, Long_ZERO);
13911
- var$3[20] = asrrh_Register__init_($rt_s(1109), 20, Long_ZERO);
13912
- var$3[21] = asrrh_Register__init_($rt_s(1110), 21, Long_ZERO);
13913
- var$3[22] = asrrh_Register__init_($rt_s(1111), 22, Long_ZERO);
13914
- var$3[23] = asrrh_Register__init_($rt_s(1112), 23, Long_ZERO);
13915
- var$3[24] = asrrh_Register__init_($rt_s(1113), 24, Long_ZERO);
13916
- var$3[25] = asrrh_Register__init_($rt_s(1114), 25, Long_ZERO);
13917
- var$3[26] = asrrh_Register__init_($rt_s(1115), 26, Long_ZERO);
13918
- var$3[27] = asrrh_Register__init_($rt_s(1116), 27, Long_ZERO);
13919
- var$3[28] = asrrh_Register__init_($rt_s(1117), 28, Long_ZERO);
13920
- var$3[29] = asrrh_Register__init_($rt_s(1118), 29, Long_ZERO);
13921
- var$3[30] = asrrh_Register__init_($rt_s(1119), 30, Long_ZERO);
13922
- var$3[31] = asrrh_Register__init_($rt_s(1120), 31, Long_ZERO);
13866
+ var$3[12] = asrrh_Register__init_($rt_s(1094), 12, Long_ZERO);
13867
+ var$3[13] = asrrh_Register__init_($rt_s(1095), 13, Long_ZERO);
13868
+ var$3[14] = asrrh_Register__init_($rt_s(1096), 14, Long_ZERO);
13869
+ var$3[15] = asrrh_Register__init_($rt_s(1097), 15, Long_ZERO);
13870
+ var$3[16] = asrrh_Register__init_($rt_s(1098), 16, Long_ZERO);
13871
+ var$3[17] = asrrh_Register__init_($rt_s(1099), 17, Long_ZERO);
13872
+ var$3[18] = asrrh_Register__init_($rt_s(1100), 18, Long_ZERO);
13873
+ var$3[19] = asrrh_Register__init_($rt_s(1101), 19, Long_ZERO);
13874
+ var$3[20] = asrrh_Register__init_($rt_s(1102), 20, Long_ZERO);
13875
+ var$3[21] = asrrh_Register__init_($rt_s(1103), 21, Long_ZERO);
13876
+ var$3[22] = asrrh_Register__init_($rt_s(1104), 22, Long_ZERO);
13877
+ var$3[23] = asrrh_Register__init_($rt_s(1105), 23, Long_ZERO);
13878
+ var$3[24] = asrrh_Register__init_($rt_s(1106), 24, Long_ZERO);
13879
+ var$3[25] = asrrh_Register__init_($rt_s(1107), 25, Long_ZERO);
13880
+ var$3[26] = asrrh_Register__init_($rt_s(1108), 26, Long_ZERO);
13881
+ var$3[27] = asrrh_Register__init_($rt_s(1109), 27, Long_ZERO);
13882
+ var$3[28] = asrrh_Register__init_($rt_s(1110), 28, Long_ZERO);
13883
+ var$3[29] = asrrh_Register__init_($rt_s(1111), 29, Long_ZERO);
13884
+ var$3[30] = asrrh_Register__init_($rt_s(1112), 30, Long_ZERO);
13885
+ var$3[31] = asrrh_Register__init_($rt_s(1113), 31, Long_ZERO);
13923
13886
  asrrh_RegisterBlock__init_(var$1, 102, var$2);
13924
13887
  asrrh_FloatingPointRegisterFile_instance = var$1;
13925
13888
  };
@@ -13987,25 +13950,25 @@ var asrrh_ControlAndStatusRegisterFile__clinit_ = () => {
13987
13950
  var$2[0] = asrrh_MaskedRegister__init_($rt_s(675), 0, Long_ZERO, Long_fromInt(-18));
13988
13951
  var$2[1] = null;
13989
13952
  var$2[2] = null;
13990
- var$2[3] = asrrh_MaskedRegister__init_($rt_s(1121), 3, Long_ZERO, Long_fromInt(-256));
13991
- var$2[4] = asrrh_Register__init_($rt_s(1122), 4, Long_ZERO);
13992
- var$2[5] = asrrh_Register__init_($rt_s(1123), 5, Long_ZERO);
13993
- var$2[6] = asrrh_Register__init_($rt_s(1124), 64, Long_ZERO);
13953
+ var$2[3] = asrrh_MaskedRegister__init_($rt_s(1114), 3, Long_ZERO, Long_fromInt(-256));
13954
+ var$2[4] = asrrh_Register__init_($rt_s(1115), 4, Long_ZERO);
13955
+ var$2[5] = asrrh_Register__init_($rt_s(1116), 5, Long_ZERO);
13956
+ var$2[6] = asrrh_Register__init_($rt_s(1117), 64, Long_ZERO);
13994
13957
  var$2[7] = asrrh_Register__init_($rt_s(676), 65, Long_ZERO);
13995
- var$2[8] = asrrh_Register__init_($rt_s(1125), 66, Long_ZERO);
13996
- var$2[9] = asrrh_Register__init_($rt_s(1126), 67, Long_ZERO);
13997
- var$2[10] = asrrh_Register__init_($rt_s(1127), 68, Long_ZERO);
13998
- var$2[11] = asrrh_ReadOnlyRegister__init_($rt_s(1128), 3072, 0);
13999
- var$2[12] = asrrh_ReadOnlyRegister__init_($rt_s(1129), 3073, 0);
14000
- var$2[13] = asrrh_ReadOnlyRegister__init_($rt_s(1130), 3074, 0);
13958
+ var$2[8] = asrrh_Register__init_($rt_s(1118), 66, Long_ZERO);
13959
+ var$2[9] = asrrh_Register__init_($rt_s(1119), 67, Long_ZERO);
13960
+ var$2[10] = asrrh_Register__init_($rt_s(1120), 68, Long_ZERO);
13961
+ var$2[11] = asrrh_ReadOnlyRegister__init_($rt_s(1121), 3072, 0);
13962
+ var$2[12] = asrrh_ReadOnlyRegister__init_($rt_s(1122), 3073, 0);
13963
+ var$2[13] = asrrh_ReadOnlyRegister__init_($rt_s(1123), 3074, 0);
14001
13964
  var$2[14] = null;
14002
13965
  var$2[15] = null;
14003
13966
  var$2[16] = null;
14004
13967
  var$2[1] = asrrh_LinkedRegister__init_($rt_s(442), 1, var$2[3], Long_fromInt(31));
14005
13968
  var$2[2] = asrrh_LinkedRegister__init_($rt_s(443), 2, var$2[3], Long_fromInt(224));
14006
- var$2[14] = asrrh_LinkedRegister__init_($rt_s(1131), 3200, var$2[11], Long_create(0, 4294967295));
14007
- var$2[15] = asrrh_LinkedRegister__init_($rt_s(1132), 3201, var$2[12], Long_create(0, 4294967295));
14008
- var$2[16] = asrrh_LinkedRegister__init_($rt_s(1133), 3202, var$2[13], Long_create(0, 4294967295));
13969
+ var$2[14] = asrrh_LinkedRegister__init_($rt_s(1124), 3200, var$2[11], Long_create(0, 4294967295));
13970
+ var$2[15] = asrrh_LinkedRegister__init_($rt_s(1125), 3201, var$2[12], Long_create(0, 4294967295));
13971
+ var$2[16] = asrrh_LinkedRegister__init_($rt_s(1126), 3202, var$2[13], Long_create(0, 4294967295));
14009
13972
  asrrh_ControlAndStatusRegisterFile_instance = asrrh_RegisterBlock__init_0(95, $tmp_0);
14010
13973
  };
14011
13974
  var asrrh_InterruptController = $rt_classWithoutFields();
@@ -14111,7 +14074,7 @@ var asrrh_InterruptController_claimExternal = () => {
14111
14074
  a: {
14112
14075
  try {
14113
14076
  if (!asrrh_InterruptController_$assertionsDisabled && !asrrh_InterruptController_externalPending)
14114
- $rt_throw(jl_AssertionError__init_($rt_s(1134)));
14077
+ $rt_throw(jl_AssertionError__init_($rt_s(1127)));
14115
14078
  asrrh_InterruptController_externalPending = 0;
14116
14079
  var$2 = asrrh_InterruptController_externalValue;
14117
14080
  jl_Object_monitorExitSync(var$1);
@@ -14132,7 +14095,7 @@ var asrrh_InterruptController_claimTimer = () => {
14132
14095
  a: {
14133
14096
  try {
14134
14097
  if (!asrrh_InterruptController_$assertionsDisabled && !asrrh_InterruptController_timerPending)
14135
- $rt_throw(jl_AssertionError__init_($rt_s(1135)));
14098
+ $rt_throw(jl_AssertionError__init_($rt_s(1128)));
14136
14099
  asrrh_InterruptController_timerPending = 0;
14137
14100
  var$2 = asrrh_InterruptController_timerValue;
14138
14101
  jl_Object_monitorExitSync(var$1);
@@ -14154,9 +14117,9 @@ var asrrh_InterruptController_claimTrap = () => {
14154
14117
  try {
14155
14118
  var$2 = asrrh_InterruptController_$assertionsDisabled;
14156
14119
  if (!var$2 && !asrrh_InterruptController_trapPending)
14157
- $rt_throw(jl_AssertionError__init_($rt_s(1136)));
14120
+ $rt_throw(jl_AssertionError__init_($rt_s(1129)));
14158
14121
  if (!var$2 && asrrh_InterruptController_trapPC != (asrrh_RegisterFile_getProgramCounter() - 4 | 0))
14159
- $rt_throw(jl_AssertionError__init_($rt_s(1137)));
14122
+ $rt_throw(jl_AssertionError__init_($rt_s(1130)));
14160
14123
  asrrh_InterruptController_trapPending = 0;
14161
14124
  var$3 = asrrh_InterruptController_trapSE;
14162
14125
  jl_Object_monitorExitSync(var$1);
@@ -14177,6 +14140,89 @@ var asrrh_InterruptController__clinit_ = () => {
14177
14140
  asrrh_InterruptController_timerPending = 0;
14178
14141
  asrrh_InterruptController_trapPending = 0;
14179
14142
  };
14143
+ var asrrh_Stack = $rt_classWithoutFields();
14144
+ var asrrh_Stack_callStack = null;
14145
+ var asrrh_Stack__clinit_ = () => {
14146
+ asrrh_Stack_callStack = ju_ArrayList__init_();
14147
+ };
14148
+ var asrs_Simulator$Reason = $rt_classWithoutFields(jl_Enum);
14149
+ var asrs_Simulator$Reason_BREAKPOINT = null;
14150
+ var asrs_Simulator$Reason_EXCEPTION = null;
14151
+ var asrs_Simulator$Reason_MAX_STEPS = null;
14152
+ var asrs_Simulator$Reason_NORMAL_TERMINATION = null;
14153
+ var asrs_Simulator$Reason_CLIFF_TERMINATION = null;
14154
+ var asrs_Simulator$Reason_PAUSE = null;
14155
+ var asrs_Simulator$Reason_STOP = null;
14156
+ var asrs_Simulator$Reason_$VALUES = null;
14157
+ var asrs_Simulator$Reason_values = () => {
14158
+ return asrs_Simulator$Reason_$VALUES.$clone0();
14159
+ };
14160
+ var asrs_Simulator$Reason__clinit_ = () => {
14161
+ let var$1, var$2, var$3;
14162
+ var$1 = new asrs_Simulator$Reason();
14163
+ jl_Enum__init_(var$1, $rt_s(1131), 0);
14164
+ asrs_Simulator$Reason_BREAKPOINT = var$1;
14165
+ var$1 = new asrs_Simulator$Reason();
14166
+ jl_Enum__init_(var$1, $rt_s(1132), 1);
14167
+ asrs_Simulator$Reason_EXCEPTION = var$1;
14168
+ var$1 = new asrs_Simulator$Reason();
14169
+ jl_Enum__init_(var$1, $rt_s(1133), 2);
14170
+ asrs_Simulator$Reason_MAX_STEPS = var$1;
14171
+ var$1 = new asrs_Simulator$Reason();
14172
+ jl_Enum__init_(var$1, $rt_s(1134), 3);
14173
+ asrs_Simulator$Reason_NORMAL_TERMINATION = var$1;
14174
+ var$1 = new asrs_Simulator$Reason();
14175
+ jl_Enum__init_(var$1, $rt_s(1135), 4);
14176
+ asrs_Simulator$Reason_CLIFF_TERMINATION = var$1;
14177
+ var$1 = new asrs_Simulator$Reason();
14178
+ jl_Enum__init_(var$1, $rt_s(1136), 5);
14179
+ asrs_Simulator$Reason_PAUSE = var$1;
14180
+ var$1 = new asrs_Simulator$Reason();
14181
+ jl_Enum__init_(var$1, $rt_s(1137), 6);
14182
+ asrs_Simulator$Reason_STOP = var$1;
14183
+ var$2 = $rt_createArray(asrs_Simulator$Reason, 7);
14184
+ var$3 = var$2.data;
14185
+ var$3[0] = asrs_Simulator$Reason_BREAKPOINT;
14186
+ var$3[1] = asrs_Simulator$Reason_EXCEPTION;
14187
+ var$3[2] = asrs_Simulator$Reason_MAX_STEPS;
14188
+ var$3[3] = asrs_Simulator$Reason_NORMAL_TERMINATION;
14189
+ var$3[4] = asrs_Simulator$Reason_CLIFF_TERMINATION;
14190
+ var$3[5] = asrs_Simulator$Reason_PAUSE;
14191
+ var$3[6] = var$1;
14192
+ asrs_Simulator$Reason_$VALUES = var$2;
14193
+ };
14194
+ var jlr_Array = $rt_classWithoutFields();
14195
+ var jlr_Array_getLength = (var$1) => {
14196
+ if (var$1 === null || var$1.constructor.$meta.item === "undefined") {
14197
+ $rt_throw(jl_IllegalArgumentException__init_());
14198
+ }
14199
+ return var$1.data.length;
14200
+ };
14201
+ var jlr_Array_newInstance = (var$1, $length) => {
14202
+ if (var$1 === null) {
14203
+ var$1 = new jl_NullPointerException();
14204
+ jl_Throwable__init_(var$1);
14205
+ $rt_throw(var$1);
14206
+ }
14207
+ if (var$1 === $rt_cls($rt_voidcls)) {
14208
+ var$1 = new jl_IllegalArgumentException();
14209
+ jl_Throwable__init_(var$1);
14210
+ $rt_throw(var$1);
14211
+ }
14212
+ if ($length >= 0)
14213
+ return jlr_Array_newInstanceImpl(var$1.$platformClass, $length);
14214
+ var$1 = new jl_NegativeArraySizeException();
14215
+ jl_Throwable__init_(var$1);
14216
+ $rt_throw(var$1);
14217
+ };
14218
+ var jlr_Array_newInstanceImpl = (var$1, var$2) => {
14219
+ if (var$1.$meta.primitive) {
14220
+ switch (var$1) {
14221
+ }
14222
+ ;
14223
+ }
14224
+ return $rt_createArray(var$1, var$2);
14225
+ };
14180
14226
  function jur_Pattern() {
14181
14227
  let a = this;
14182
14228
  jl_Object.call(a);
@@ -14189,16 +14235,16 @@ function jur_Pattern() {
14189
14235
  a.$consCount = 0;
14190
14236
  a.$start2 = null;
14191
14237
  }
14192
- var jur_Pattern_matcher = ($this, $input) => {
14238
+ var jur_Pattern_matcher = ($this, var$1) => {
14193
14239
  let var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9;
14194
14240
  var$2 = new jur_Matcher();
14195
14241
  var$2.$leftBound0 = -1;
14196
14242
  var$2.$rightBound0 = -1;
14197
14243
  var$2.$pat = $this;
14198
14244
  var$2.$start6 = $this.$start2;
14199
- var$2.$string1 = $input;
14245
+ var$2.$string1 = var$1;
14200
14246
  var$2.$leftBound0 = 0;
14201
- var$3 = $input.$nativeString.length;
14247
+ var$3 = var$1.$nativeString.length;
14202
14248
  var$2.$rightBound0 = var$3;
14203
14249
  var$4 = new jur_MatchResultImpl();
14204
14250
  var$5 = var$2.$leftBound0;
@@ -14215,7 +14261,7 @@ var jur_Pattern_matcher = ($this, $input) => {
14215
14261
  if (var$7 > 0)
14216
14262
  var$4.$compQuantCounters = $rt_createIntArray(var$7);
14217
14263
  ju_Arrays_fill(var$4.$groupBounds, -1);
14218
- jur_MatchResultImpl_reset(var$4, $input, var$5, var$3);
14264
+ jur_MatchResultImpl_reset(var$4, var$1, var$5, var$3);
14219
14265
  var$2.$matchResult = var$4;
14220
14266
  var$4.$anchoringBounds = 1;
14221
14267
  return var$2;
@@ -15613,7 +15659,7 @@ var asra_Tokenizer_processCandidateToken = ($this, $token, $program, $line, $the
15613
15659
  asra_TokenList_add($tokenList, asra_Token__init_($type, $value, $program, $line, $tokenStartPos));
15614
15660
  };
15615
15661
  var asra_Tokenizer__clinit_ = () => {
15616
- 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)]);
15662
+ 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)]);
15617
15663
  };
15618
15664
  var ju_NoSuchElementException = $rt_classWithoutFields(jl_RuntimeException);
15619
15665
  function asr_JsCompilationResult$JsCompilationError() {
@@ -15897,7 +15943,7 @@ var jl_Thread__clinit_ = () => {
15897
15943
  var$2 = null;
15898
15944
  var$1.$finishedLock = new jl_Object();
15899
15945
  var$1.$alive = 1;
15900
- var$1.$name7 = $rt_s(18);
15946
+ var$1.$name7 = $rt_s(17);
15901
15947
  var$1.$target = var$2;
15902
15948
  var$3 = jl_Thread_nextId;
15903
15949
  jl_Thread_nextId = var$3 + 1 | 0;
@@ -16008,13 +16054,13 @@ var asrc_SyscallProperties_reset = ($this) => {
16008
16054
  var$1 = $this;
16009
16055
  ju_HashMap_put(var$1, $rt_s(1061), $rt_s(1159));
16010
16056
  ju_HashMap_put(var$1, $rt_s(300), $rt_s(248));
16011
- ju_HashMap_put(var$1, $rt_s(297), $rt_s(113));
16057
+ ju_HashMap_put(var$1, $rt_s(297), $rt_s(112));
16012
16058
  ju_HashMap_put(var$1, $rt_s(294), $rt_s(1160));
16013
16059
  ju_HashMap_put(var$1, $rt_s(309), $rt_s(1161));
16014
16060
  ju_HashMap_put(var$1, $rt_s(343), $rt_s(1162));
16015
16061
  ju_HashMap_put(var$1, $rt_s(340), $rt_s(1163));
16016
16062
  ju_HashMap_put(var$1, $rt_s(337), $rt_s(1164));
16017
- ju_HashMap_put(var$1, $rt_s(346), $rt_s(112));
16063
+ ju_HashMap_put(var$1, $rt_s(346), $rt_s(111));
16018
16064
  ju_HashMap_put(var$1, $rt_s(349), $rt_s(1156));
16019
16065
  ju_HashMap_put(var$1, $rt_s(261), $rt_s(561));
16020
16066
  ju_HashMap_put(var$1, $rt_s(291), $rt_s(522));
@@ -17209,7 +17255,7 @@ var jur_PatternSyntaxException_getMessage = ($this) => {
17209
17255
  var$10 = new jl_StringBuilder();
17210
17256
  jl_AbstractStringBuilder__init_(var$10);
17211
17257
  jl_AbstractStringBuilder_append(var$10, var$9);
17212
- jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(var$10, $rt_s(115)), var$8), $rt_s(115)), $filler);
17258
+ jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(var$10, $rt_s(114)), var$8), $rt_s(114)), $filler);
17213
17259
  $filler = jl_AbstractStringBuilder_toString(var$10);
17214
17260
  } else
17215
17261
  $filler = $rt_s(3);
@@ -19722,7 +19768,7 @@ function jur_LowHighSurrogateRangeSet() {
19722
19768
  }
19723
19769
  var jur_LowHighSurrogateRangeSet_getName = ($this) => {
19724
19770
  let var$1, var$2, var$3;
19725
- var$1 = !$this.$alt1 ? $rt_s(38) : $rt_s(1399);
19771
+ var$1 = !$this.$alt1 ? $rt_s(37) : $rt_s(1399);
19726
19772
  var$2 = $this.$surrChars.$toString();
19727
19773
  var$3 = new jl_StringBuilder();
19728
19774
  jl_AbstractStringBuilder__init_(var$3);
@@ -19840,7 +19886,7 @@ var jur_SupplRangeSet_matches = ($this, $stringIndex, $testString, $matchResult)
19840
19886
  };
19841
19887
  var jur_SupplRangeSet_getName = ($this) => {
19842
19888
  let var$1, var$2, var$3;
19843
- var$1 = !$this.$alt0 ? $rt_s(38) : $rt_s(1399);
19889
+ var$1 = !$this.$alt0 ? $rt_s(37) : $rt_s(1399);
19844
19890
  var$2 = $this.$chars.$toString();
19845
19891
  var$3 = new jl_StringBuilder();
19846
19892
  jl_AbstractStringBuilder__init_(var$3);
@@ -19873,7 +19919,7 @@ var jur_UCISupplRangeSet_contains = ($this, $ch) => {
19873
19919
  };
19874
19920
  var jur_UCISupplRangeSet_getName = ($this) => {
19875
19921
  let var$1, var$2, var$3;
19876
- var$1 = !$this.$alt0 ? $rt_s(38) : $rt_s(1399);
19922
+ var$1 = !$this.$alt0 ? $rt_s(37) : $rt_s(1399);
19877
19923
  var$2 = $this.$chars.$toString();
19878
19924
  var$3 = new jl_StringBuilder();
19879
19925
  jl_AbstractStringBuilder__init_(var$3);
@@ -19901,7 +19947,7 @@ var jur_UCIRangeSet_accepts = ($this, $strIndex, $testString) => {
19901
19947
  };
19902
19948
  var jur_UCIRangeSet_getName = ($this) => {
19903
19949
  let var$1, var$2, var$3;
19904
- var$1 = !$this.$alt2 ? $rt_s(38) : $rt_s(1399);
19950
+ var$1 = !$this.$alt2 ? $rt_s(37) : $rt_s(1399);
19905
19951
  var$2 = $this.$chars1.$toString();
19906
19952
  var$3 = new jl_StringBuilder();
19907
19953
  jl_AbstractStringBuilder__init_(var$3);
@@ -19929,7 +19975,7 @@ var jur_RangeSet_accepts = ($this, $strIndex, $testString) => {
19929
19975
  };
19930
19976
  var jur_RangeSet_getName = ($this) => {
19931
19977
  let var$1, var$2, var$3;
19932
- var$1 = !$this.$alt3 ? $rt_s(38) : $rt_s(1399);
19978
+ var$1 = !$this.$alt3 ? $rt_s(37) : $rt_s(1399);
19933
19979
  var$2 = $this.$chars0.$toString();
19934
19980
  var$3 = new jl_StringBuilder();
19935
19981
  jl_AbstractStringBuilder__init_(var$3);
@@ -20966,7 +21012,7 @@ var jur_DotSet_matches = ($this, $stringIndex, $testString, $matchResult) => {
20966
21012
  return $this.$lt0.$isLineTerminator($high) ? -1 : $this.$next3.$matches(var$5, $testString, $matchResult);
20967
21013
  };
20968
21014
  var jur_DotSet_getName = ($this) => {
20969
- return $rt_s(36);
21015
+ return $rt_s(35);
20970
21016
  };
20971
21017
  var jur_DotSet_setNext = ($this, $next) => {
20972
21018
  $this.$next3 = $next;
@@ -23907,10 +23953,10 @@ var asrs_Simulator$SimThread_handleTrap = ($this, $se, $pc) => {
23907
23953
  if (!$utvec && $se.$cause < 0)
23908
23954
  $rt_throw(jl_AssertionError__init_($rt_s(1501)));
23909
23955
  a: {
23910
- asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(1125), Long_fromInt($se.$cause));
23956
+ asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(1118), Long_fromInt($se.$cause));
23911
23957
  asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(676), Long_fromInt($pc));
23912
- asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(1126), Long_fromInt($se.$value5));
23913
- $base = asrrh_ControlAndStatusRegisterFile_getValue($rt_s(1123)) & -4;
23958
+ asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(1119), Long_fromInt($se.$value5));
23959
+ $base = asrrh_ControlAndStatusRegisterFile_getValue($rt_s(1116)) & -4;
23914
23960
  $exceptionHandler = null;
23915
23961
  if (!(asrrh_ControlAndStatusRegisterFile_getValue($rt_s(675)) & 1))
23916
23962
  var$6 = $exceptionHandler;
@@ -23946,12 +23992,12 @@ var asrs_Simulator$SimThread_handleInterrupt = ($this, $value, $cause, $pc) => {
23946
23992
  if (!$mode && !($cause & -2147483648))
23947
23993
  $rt_throw(jl_AssertionError__init_($rt_s(1502)));
23948
23994
  $code = $cause & 2147483647;
23949
- if (!$mode && !(asrrh_ControlAndStatusRegisterFile_getValue($rt_s(675)) & 1 && asrrh_ControlAndStatusRegisterFile_getValue($rt_s(1122)) & 1 << $code))
23995
+ if (!$mode && !(asrrh_ControlAndStatusRegisterFile_getValue($rt_s(675)) & 1 && asrrh_ControlAndStatusRegisterFile_getValue($rt_s(1115)) & 1 << $code))
23950
23996
  $rt_throw(jl_AssertionError__init_($rt_s(1503)));
23951
- asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(1125), Long_fromInt($cause));
23997
+ asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(1118), Long_fromInt($cause));
23952
23998
  asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(676), Long_fromInt($pc));
23953
- asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(1126), Long_fromInt($value));
23954
- $utvec = asrrh_ControlAndStatusRegisterFile_getValue($rt_s(1123));
23999
+ asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(1119), Long_fromInt($value));
24000
+ $utvec = asrrh_ControlAndStatusRegisterFile_getValue($rt_s(1116));
23955
24001
  $base = $utvec & -4;
23956
24002
  if (($utvec & 3) == 2)
23957
24003
  $base = $base + (4 * $code | 0) | 0;
@@ -24031,8 +24077,8 @@ var asrs_Simulator$SimThread_run = ($this) => {
24031
24077
  asrs_Simulator$SimThread_stopExecution($this, 0, $this.$constructReturnReason);
24032
24078
  return;
24033
24079
  }
24034
- $uip = asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1127));
24035
- $uie = asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1122));
24080
+ $uip = asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1120));
24081
+ $uie = asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1115));
24036
24082
  $IE = Long_eq(Long_and(asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(675)), Long_fromInt(1)), Long_ZERO) ? 0 : 1;
24037
24083
  $this.$pc0 = asrrh_RegisterFile_getProgramCounter();
24038
24084
  $se = asrrh_InterruptController_lock;
@@ -24223,8 +24269,8 @@ var asrs_Simulator$SimThread_run = ($this) => {
24223
24269
  jl_Object_monitorExit($se);
24224
24270
  $rt_throw($instruction);
24225
24271
  }
24226
- if (Long_ne($cycle, asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1127))))
24227
- asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(1127), $cycle);
24272
+ if (Long_ne($cycle, asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1120))))
24273
+ asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(1120), $cycle);
24228
24274
  var$14 = $this.$maxSteps;
24229
24275
  if (var$14 > 0) {
24230
24276
  $steps = $steps + 1 | 0;
@@ -24345,12 +24391,12 @@ var asrs_Simulator$SimThread_run = ($this) => {
24345
24391
  $waiting = 1;
24346
24392
  }
24347
24393
  v: {
24348
- $cycle = asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1128));
24349
- $instret = asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1130));
24394
+ $cycle = asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1121));
24395
+ $instret = asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1123));
24350
24396
  $time = jl_System_currentTimeMillis();
24351
- asrrh_ControlAndStatusRegisterFile_updateRegisterBackdoor($rt_s(1128), Long_add($cycle, Long_fromInt(1)));
24352
- asrrh_ControlAndStatusRegisterFile_updateRegisterBackdoor($rt_s(1130), Long_add($instret, Long_fromInt(1)));
24353
- asrrh_ControlAndStatusRegisterFile_updateRegisterBackdoor($rt_s(1129), $time);
24397
+ asrrh_ControlAndStatusRegisterFile_updateRegisterBackdoor($rt_s(1121), Long_add($cycle, Long_fromInt(1)));
24398
+ asrrh_ControlAndStatusRegisterFile_updateRegisterBackdoor($rt_s(1123), Long_add($instret, Long_fromInt(1)));
24399
+ asrrh_ControlAndStatusRegisterFile_updateRegisterBackdoor($rt_s(1122), $time);
24354
24400
  if (!$ebreak) {
24355
24401
  var$1 = $this.$breakPoints;
24356
24402
  if (var$1 === null)
@@ -24373,8 +24419,8 @@ var asrs_Simulator$SimThread_run = ($this) => {
24373
24419
  asrs_Simulator$SimThread_stopExecution($this, 0, $this.$constructReturnReason);
24374
24420
  return;
24375
24421
  }
24376
- $uip = asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1127));
24377
- $uie = asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1122));
24422
+ $uip = asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1120));
24423
+ $uie = asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1115));
24378
24424
  $IE = Long_eq(Long_and(asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(675)), Long_fromInt(1)), Long_ZERO) ? 0 : 1;
24379
24425
  $this.$pc0 = asrrh_RegisterFile_getProgramCounter();
24380
24426
  $se = asrrh_InterruptController_lock;
@@ -24410,8 +24456,8 @@ var asrs_Simulator$SimThread_run = ($this) => {
24410
24456
  asrs_Simulator$SimThread_stopExecution($this, 0, $this.$constructReturnReason);
24411
24457
  return;
24412
24458
  }
24413
- $uip = asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1127));
24414
- $uie = asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1122));
24459
+ $uip = asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1120));
24460
+ $uie = asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1115));
24415
24461
  $IE = Long_eq(Long_and(asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(675)), Long_fromInt(1)), Long_ZERO) ? 0 : 1;
24416
24462
  $this.$pc0 = asrrh_RegisterFile_getProgramCounter();
24417
24463
  $se = asrrh_InterruptController_lock;
@@ -24449,8 +24495,8 @@ var asrs_Simulator$SimThread_run = ($this) => {
24449
24495
  asrs_Simulator$SimThread_stopExecution($this, 0, $this.$constructReturnReason);
24450
24496
  return;
24451
24497
  }
24452
- $uip = asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1127));
24453
- $uie = asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1122));
24498
+ $uip = asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1120));
24499
+ $uie = asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1115));
24454
24500
  $IE = Long_eq(Long_and(asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(675)), Long_fromInt(1)), Long_ZERO) ? 0 : 1;
24455
24501
  $this.$pc0 = asrrh_RegisterFile_getProgramCounter();
24456
24502
  $se = asrrh_InterruptController_lock;
@@ -25493,7 +25539,7 @@ var asra_Assembler_transferGlobals = ($this) => {
25493
25539
  var$4 = var$6.$filename1;
25494
25540
  var$6 = new jl_StringBuilder();
25495
25541
  jl_AbstractStringBuilder__init_(var$6);
25496
- 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));
25542
+ 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));
25497
25543
  var$5 = jl_AbstractStringBuilder_toString(var$6);
25498
25544
  otcic_JsConsolePrintStream_println(var$9, var$5);
25499
25545
  }
@@ -31161,6 +31207,222 @@ var asrjt_Floating = $rt_classWithoutFields();
31161
31207
  var asrjt_Floating_isFinite = ($this) => {
31162
31208
  return !$this.$isZero() && !$this.$isNormal() && !$this.$isSubnormal() ? 0 : 1;
31163
31209
  };
31210
+ function asrjt_Float64() {
31211
+ asrjt_Floating.call(this);
31212
+ this.$bits1 = Long_ZERO;
31213
+ }
31214
+ var asrjt_Float64_Zero = null;
31215
+ var asrjt_Float64_NegativeZero = null;
31216
+ var asrjt_Float64_NaN = null;
31217
+ var asrjt_Float64_Infinity = null;
31218
+ var asrjt_Float64_NegativeInfinity = null;
31219
+ var asrjt_Float64_$assertionsDisabled = 0;
31220
+ var asrjt_Float64__init_1 = ($this, $bits) => {
31221
+ $this.$bits1 = $bits;
31222
+ };
31223
+ var asrjt_Float64__init_ = (var_0) => {
31224
+ let var_1 = new asrjt_Float64();
31225
+ asrjt_Float64__init_1(var_1, var_0);
31226
+ return var_1;
31227
+ };
31228
+ var asrjt_Float64__init_2 = ($this, $sign, $exponent, $significand) => {
31229
+ 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))));
31230
+ };
31231
+ var asrjt_Float64__init_0 = (var_0, var_1, var_2) => {
31232
+ let var_3 = new asrjt_Float64();
31233
+ asrjt_Float64__init_2(var_3, var_0, var_1, var_2);
31234
+ return var_3;
31235
+ };
31236
+ var asrjt_Float64_exponent = ($this) => {
31237
+ return (Long_lo(Long_shru($this.$bits1, 52)) & 2047) - 1023 | 0;
31238
+ };
31239
+ var asrjt_Float64_negate = ($this) => {
31240
+ return asrjt_Float64__init_(Long_xor($this.$bits1, Long_create(0, 2147483648)));
31241
+ };
31242
+ var asrjt_Float64_isSignMinus = ($this) => {
31243
+ return Long_ne(Long_shru($this.$bits1, 63), Long_fromInt(1)) ? 0 : 1;
31244
+ };
31245
+ var asrjt_Float64_isInfinite = ($this) => {
31246
+ return asrjt_Float64_exponent($this) == 1024 && Long_eq(Long_and($this.$bits1, Long_create(4294967295, 1048575)), Long_ZERO) ? 1 : 0;
31247
+ };
31248
+ var asrjt_Float64_isNormal = ($this) => {
31249
+ return asrjt_Float64_exponent($this) != -1023 && asrjt_Float64_exponent($this) != 1024 ? 1 : 0;
31250
+ };
31251
+ var asrjt_Float64_isSubnormal = ($this) => {
31252
+ return asrjt_Float64_exponent($this) == -1023 && !asrjt_Float64_isZero($this) ? 1 : 0;
31253
+ };
31254
+ var asrjt_Float64_isNaN = ($this) => {
31255
+ return asrjt_Float64_exponent($this) == 1024 && !asrjt_Float64_isInfinite($this) ? 1 : 0;
31256
+ };
31257
+ var asrjt_Float64_isSignalling = ($this) => {
31258
+ if (!asrjt_Float64_isNaN($this))
31259
+ return 0;
31260
+ return Long_ne(Long_and($this.$bits1, Long_create(0, 524288)), Long_ZERO) ? 0 : 1;
31261
+ };
31262
+ var asrjt_Float64_isZero = ($this) => {
31263
+ let var$1;
31264
+ var$1 = $this.$bits1;
31265
+ return Long_ne(var$1, Long_ZERO) && Long_ne(var$1, Long_create(0, 2147483648)) ? 0 : 1;
31266
+ };
31267
+ var asrjt_Float64_fromExactFloat0 = ($this, $ef, $env) => {
31268
+ let $normalizedExponent, $mainBits, $roundedBits, $a, $bitsToRound, $upBits, $towardsZero, $awayZero;
31269
+ if (asrji_ExactFloat_isZero($ef))
31270
+ return !$ef.$sign ? asrjt_Float64_Zero : asrjt_Float64_NegativeZero;
31271
+ $ef = asrji_ExactFloat_normalize($ef);
31272
+ $normalizedExponent = $ef.$exponent0 + jm_BigInteger_bitLength($ef.$significand) | 0;
31273
+ if ($normalizedExponent > -1022) {
31274
+ if ($normalizedExponent > 1024) {
31275
+ $mainBits = $env.$flags;
31276
+ $roundedBits = asrj_Flags_overflow;
31277
+ ju_GenericEnumSet_add($mainBits, $roundedBits);
31278
+ $mainBits = $env.$flags;
31279
+ $roundedBits = asrj_Flags_inexact;
31280
+ ju_GenericEnumSet_add($mainBits, $roundedBits);
31281
+ asrjt_Float64$1_$callClinit();
31282
+ switch (asrjt_Float64$1_$SwitchMap$app$specy$rars$jsoftfloat$RoundingMode.data[jl_Enum_ordinal($env.$mode)]) {
31283
+ case 1:
31284
+ break;
31285
+ case 2:
31286
+ case 3:
31287
+ $normalizedExponent = $ef.$sign;
31288
+ if ($normalizedExponent == ($env.$mode !== asrj_RoundingMode_max ? 0 : 1))
31289
+ return asrjt_Float64__init_0($normalizedExponent, 1023, Long_fromInt(-1));
31290
+ return !$normalizedExponent ? asrjt_Float64_Infinity : asrjt_Float64_NegativeInfinity;
31291
+ case 4:
31292
+ case 5:
31293
+ return !$ef.$sign ? asrjt_Float64_Infinity : asrjt_Float64_NegativeInfinity;
31294
+ default:
31295
+ if (!asrjt_Float64_$assertionsDisabled)
31296
+ $rt_throw(jl_AssertionError__init_($rt_s(1617)));
31297
+ return !$ef.$sign ? asrjt_Float64_Infinity : asrjt_Float64_NegativeInfinity;
31298
+ }
31299
+ return asrjt_Float64__init_0($ef.$sign, 1023, Long_fromInt(-1));
31300
+ }
31301
+ if (jm_BigInteger_bitLength($ef.$significand) <= 53) {
31302
+ if (!asrjt_Float64_$assertionsDisabled && (($ef.$exponent0 + jm_BigInteger_bitLength($ef.$significand) | 0) - 1 | 0) <= -1023)
31303
+ $rt_throw(jl_AssertionError__init_($rt_s(1618)));
31304
+ $a = new asrjt_Float64();
31305
+ $normalizedExponent = $ef.$sign;
31306
+ $bitsToRound = ($ef.$exponent0 + jm_BigInteger_bitLength($ef.$significand) | 0) - 1 | 0;
31307
+ $ef = $ef.$significand;
31308
+ 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)));
31309
+ return $a;
31310
+ }
31311
+ $mainBits = $env.$flags;
31312
+ $roundedBits = asrj_Flags_inexact;
31313
+ ju_GenericEnumSet_add($mainBits, $roundedBits);
31314
+ $bitsToRound = jm_BigInteger_bitLength($ef.$significand) - 53 | 0;
31315
+ $mainBits = jm_BigInteger_shiftLeft(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound), $bitsToRound);
31316
+ $roundedBits = jm_BigInteger_subtract($ef.$significand, $mainBits);
31317
+ $upBits = jm_BigInteger_add(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound), jm_BigInteger_valueOf(Long_fromInt(1)));
31318
+ $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)));
31319
+ $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)));
31320
+ } else {
31321
+ if ($ef.$exponent0 > -1075) {
31322
+ if (!asrjt_Float64_$assertionsDisabled && jm_BigInteger_bitLength($ef.$significand) > 52)
31323
+ $rt_throw(jl_AssertionError__init_($rt_s(1619)));
31324
+ return asrjt_Float64__init_0($ef.$sign, -1023, jm_BigInteger_longValueExact(jm_BigInteger_shiftLeft($ef.$significand, 1074 + $ef.$exponent0 | 0)));
31325
+ }
31326
+ $mainBits = $env.$flags;
31327
+ $roundedBits = asrj_Flags_inexact;
31328
+ ju_GenericEnumSet_add($mainBits, $roundedBits);
31329
+ $mainBits = $env.$flags;
31330
+ $roundedBits = asrj_Flags_underflow;
31331
+ ju_GenericEnumSet_add($mainBits, $roundedBits);
31332
+ $bitsToRound = -1074 - $ef.$exponent0 | 0;
31333
+ $mainBits = jm_BigInteger_shiftLeft(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound), $bitsToRound);
31334
+ $roundedBits = jm_BigInteger_subtract($ef.$significand, $mainBits);
31335
+ $towardsZero = asrjt_Float64__init_0($ef.$sign, -1023, jm_BigInteger_longValueExact(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound)));
31336
+ $upBits = jm_BigInteger_add(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound), jm_BigInteger_valueOf(Long_fromInt(1)));
31337
+ if (!jm_BigInteger_testBit($upBits, 0) && jm_BigInteger_bitLength($upBits) > 52)
31338
+ $awayZero = asrjt_Float64__init_0($ef.$sign, -1022, Long_and(jm_BigInteger_longValueExact($upBits), Long_create(4294967295, 1048575)));
31339
+ else {
31340
+ if (!asrjt_Float64_$assertionsDisabled && jm_BigInteger_bitLength($upBits) > 52)
31341
+ $rt_throw(jl_AssertionError__init_1());
31342
+ $awayZero = asrjt_Float64__init_0($ef.$sign, -1023, jm_BigInteger_longValueExact($upBits));
31343
+ }
31344
+ }
31345
+ asrjt_Float64$1_$callClinit();
31346
+ switch (asrjt_Float64$1_$SwitchMap$app$specy$rars$jsoftfloat$RoundingMode.data[jl_Enum_ordinal($env.$mode)]) {
31347
+ case 1:
31348
+ break;
31349
+ case 2:
31350
+ case 3:
31351
+ if ($ef.$sign == ($env.$mode !== asrj_RoundingMode_max ? 0 : 1))
31352
+ return $towardsZero;
31353
+ return $awayZero;
31354
+ default:
31355
+ $ef = jm_BigInteger_ONE;
31356
+ $normalizedExponent = $bitsToRound - 1 | 0;
31357
+ if (!jm_BigInteger_equals($roundedBits, jm_BigInteger_shiftLeft($ef, $normalizedExponent))) {
31358
+ if (jm_BigInteger_compareTo($roundedBits, jm_BigInteger_shiftLeft(jm_BigInteger_ONE, $normalizedExponent)) <= 0)
31359
+ return $towardsZero;
31360
+ return $awayZero;
31361
+ }
31362
+ if ($env.$mode !== asrj_RoundingMode_away && Long_ne(Long_and($awayZero.$bits1, Long_fromInt(1)), Long_ZERO))
31363
+ return $towardsZero;
31364
+ return $awayZero;
31365
+ }
31366
+ return $towardsZero;
31367
+ };
31368
+ var asrjt_Float64_toExactFloat = ($this) => {
31369
+ let $sign, $exponent, $significand;
31370
+ if (!asrjt_Float64_$assertionsDisabled && asrjt_Float64_isInfinite($this))
31371
+ $rt_throw(jl_AssertionError__init_($rt_s(1620)));
31372
+ if (!asrjt_Float64_$assertionsDisabled && asrjt_Float64_isNaN($this))
31373
+ $rt_throw(jl_AssertionError__init_($rt_s(1621)));
31374
+ if (!asrjt_Float64_$assertionsDisabled && asrjt_Float64_isZero($this))
31375
+ $rt_throw(jl_AssertionError__init_($rt_s(1622)));
31376
+ $sign = asrjt_Float64_isSignMinus($this);
31377
+ if (asrjt_Float64_isZero($this)) {
31378
+ $exponent = 0;
31379
+ $significand = jm_BigInteger_ZERO;
31380
+ } else if (asrjt_Float64_isNormal($this)) {
31381
+ $exponent = asrjt_Float64_exponent($this) - 52 | 0;
31382
+ $significand = jm_BigInteger_valueOf(Long_add(Long_and($this.$bits1, Long_create(4294967295, 1048575)), Long_create(0, 1048576)));
31383
+ } else {
31384
+ if (!asrjt_Float64_isSubnormal($this)) {
31385
+ if (asrjt_Float64_$assertionsDisabled)
31386
+ return null;
31387
+ $rt_throw(jl_AssertionError__init_($rt_s(1623)));
31388
+ }
31389
+ $exponent = asrjt_Float64_exponent($this) - 51 | 0;
31390
+ $significand = jm_BigInteger_valueOf(Long_and($this.$bits1, Long_create(4294967295, 1048575)));
31391
+ }
31392
+ return asrji_ExactFloat__init_($sign, $exponent, $significand);
31393
+ };
31394
+ var asrjt_Float64_maxPrecision = ($this) => {
31395
+ return 60;
31396
+ };
31397
+ var asrjt_Float64_negate0 = ($this) => {
31398
+ return asrjt_Float64_negate($this);
31399
+ };
31400
+ var asrjt_Float64_fromExactFloat = ($this, var$1, var$2) => {
31401
+ return asrjt_Float64_fromExactFloat0($this, var$1, var$2);
31402
+ };
31403
+ var asrjt_Float64_NegativeInfinity0 = ($this) => {
31404
+ return asrjt_Float64_NegativeInfinity;
31405
+ };
31406
+ var asrjt_Float64_Infinity0 = ($this) => {
31407
+ return asrjt_Float64_Infinity;
31408
+ };
31409
+ var asrjt_Float64_NegativeZero0 = ($this) => {
31410
+ return asrjt_Float64_NegativeZero;
31411
+ };
31412
+ var asrjt_Float64_Zero0 = ($this) => {
31413
+ return asrjt_Float64_Zero;
31414
+ };
31415
+ var asrjt_Float64_NaN0 = ($this) => {
31416
+ return asrjt_Float64_NaN;
31417
+ };
31418
+ var asrjt_Float64__clinit_ = () => {
31419
+ asrjt_Float64_$assertionsDisabled = 0;
31420
+ asrjt_Float64_Zero = asrjt_Float64__init_(Long_ZERO);
31421
+ asrjt_Float64_NegativeZero = asrjt_Float64__init_(Long_create(0, 2147483648));
31422
+ asrjt_Float64_NaN = asrjt_Float64__init_(Long_create(0, 2146959360));
31423
+ asrjt_Float64_Infinity = asrjt_Float64__init_(Long_create(0, 2146435072));
31424
+ asrjt_Float64_NegativeInfinity = asrjt_Float64__init_(Long_create(0, 4293918720));
31425
+ };
31164
31426
  function asrjt_Float32() {
31165
31427
  asrjt_Floating.call(this);
31166
31428
  this.$bits0 = 0;
@@ -31377,6 +31639,114 @@ var asrjt_Float32__clinit_ = () => {
31377
31639
  asrjt_Float32_Infinity = asrjt_Float32__init_(2139095040);
31378
31640
  asrjt_Float32_NegativeInfinity = asrjt_Float32__init_(-8388608);
31379
31641
  };
31642
+ var asrjo_Conversions = $rt_classWithoutFields();
31643
+ var asrjo_Conversions_convertToIntegral = ($f, $max, $min, $env, $quiet) => {
31644
+ let $copy, $rounded, var$8, var$9, var$10, var$11, var$12, var$13;
31645
+ if ($f.$isNaN()) {
31646
+ $f = $env.$flags;
31647
+ $min = asrj_Flags_invalid;
31648
+ ju_GenericEnumSet_add($f, $min);
31649
+ return $max;
31650
+ }
31651
+ if ($f.$isInfinite()) {
31652
+ $env = $env.$flags;
31653
+ $copy = asrj_Flags_invalid;
31654
+ ju_GenericEnumSet_add($env, $copy);
31655
+ if ($f.$isSignMinus())
31656
+ $max = $min;
31657
+ return $max;
31658
+ }
31659
+ $copy = asrj_Environment__init_();
31660
+ $copy.$mode = $env.$mode;
31661
+ if ($f.$isZero())
31662
+ $rounded = jm_BigInteger_ZERO;
31663
+ else {
31664
+ $f = $f.$toExactFloat();
31665
+ if (asrji_ExactFloat_isZero($f))
31666
+ $rounded = jm_BigInteger_ZERO;
31667
+ else {
31668
+ if (asrji_ExactFloat_isZero($f))
31669
+ $rounded = $f;
31670
+ else {
31671
+ $rounded = asrji_ExactFloat_normalize($f);
31672
+ var$8 = $rounded.$exponent0;
31673
+ if (var$8 < 0) {
31674
+ var$8 = -var$8 | 0;
31675
+ var$9 = jm_BigInteger_shiftLeft(jm_BigInteger_shiftRight($rounded.$significand, var$8), var$8);
31676
+ var$10 = jm_BigInteger_subtract($rounded.$significand, var$9);
31677
+ var$9 = asrji_ExactFloat_normalize(asrji_ExactFloat__init_($rounded.$sign, $rounded.$exponent0, var$9));
31678
+ var$11 = asrji_ExactFloat_add(var$9, asrji_ExactFloat__init_($rounded.$sign, 0, jm_BigInteger_valueOf(Long_fromInt(1))));
31679
+ var$12 = $env.$mode;
31680
+ if (var$12 === asrj_RoundingMode_zero)
31681
+ $rounded = var$9;
31682
+ else {
31683
+ var$13 = asrj_RoundingMode_max;
31684
+ if (var$12 !== var$13 && var$12 !== asrj_RoundingMode_min) {
31685
+ $rounded = jm_BigInteger_ONE;
31686
+ var$8 = var$8 - 1 | 0;
31687
+ $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;
31688
+ } else
31689
+ $rounded = (var$12 !== var$13 ? 0 : 1) != $rounded.$sign ? var$11 : var$9;
31690
+ }
31691
+ }
31692
+ }
31693
+ $rounded = asrji_ExactFloat_normalize($rounded);
31694
+ if (asrji_ExactFloat_compareTo($rounded, $f)) {
31695
+ var$9 = $env.$flags;
31696
+ var$10 = asrj_Flags_inexact;
31697
+ ju_GenericEnumSet_add(var$9, var$10);
31698
+ }
31699
+ if (!asrji_ExactFloat_$assertionsDisabled && $rounded.$exponent0 < 0)
31700
+ $rt_throw(jl_AssertionError__init_($rt_s(1624)));
31701
+ $rounded = jm_BigInteger_multiply(jm_BigInteger_shiftLeft($rounded.$significand, $rounded.$exponent0), jm_BigInteger_valueOf(!$f.$sign ? Long_fromInt(1) : Long_fromInt(-1)));
31702
+ }
31703
+ }
31704
+ if (!(jm_BigInteger_compareTo($rounded, $max) <= 0 && jm_BigInteger_compareTo($rounded, $min) >= 0)) {
31705
+ $f = $env.$flags;
31706
+ $env = asrj_Flags_invalid;
31707
+ ju_GenericEnumSet_add($f, $env);
31708
+ } else if (!$quiet) {
31709
+ $f = $copy.$flags;
31710
+ $copy = asrj_Flags_inexact;
31711
+ if (ju_GenericEnumSet_contains($f, $copy)) {
31712
+ $f = $env.$flags;
31713
+ $env = asrj_Flags_inexact;
31714
+ ju_GenericEnumSet_add($f, $env);
31715
+ }
31716
+ }
31717
+ if (jm_BigInteger_compareTo($rounded, $max) == -1)
31718
+ $max = $rounded;
31719
+ if (jm_BigInteger_compareTo($max, $min) == 1)
31720
+ $min = $max;
31721
+ return $min;
31722
+ };
31723
+ var asrjo_Conversions_convertToInt = ($f, $env, $quiet) => {
31724
+ return jm_BigInteger_intValueExact(asrjo_Conversions_convertToIntegral($f, jm_BigInteger_valueOf(Long_fromInt(2147483647)), jm_BigInteger_valueOf(Long_fromInt(-2147483648)), $env, $quiet));
31725
+ };
31726
+ var asrjo_Conversions_convertToUnsignedInt = ($f, $env, $quiet) => {
31727
+ 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)));
31728
+ };
31729
+ var asrjo_Conversions_convertToLong = ($f, $env, $quiet) => {
31730
+ return jm_BigInteger_longValueExact(asrjo_Conversions_convertToIntegral($f, jm_BigInteger_valueOf(Long_create(4294967295, 2147483647)), jm_BigInteger_valueOf(Long_create(0, 2147483648)), $env, $quiet));
31731
+ };
31732
+ var asrjo_Conversions_convertToUnsignedLong = ($f, $env, $quiet) => {
31733
+ 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));
31734
+ };
31735
+ var asrjo_Conversions_convertFromInt = ($i, $env, $helper) => {
31736
+ let var$4;
31737
+ if (jm_BigInteger_equals($i, jm_BigInteger_ZERO))
31738
+ return $helper.$Zero();
31739
+ var$4 = new asrji_ExactFloat();
31740
+ if (jm_BigInteger_compareTo($i, jm_BigInteger_ZERO) >= 0)
31741
+ var$4.$sign = 0;
31742
+ else {
31743
+ var$4.$sign = 1;
31744
+ $i = jm_BigInteger_negate($i);
31745
+ }
31746
+ var$4.$exponent0 = 0;
31747
+ var$4.$significand = $i;
31748
+ return $helper.$fromExactFloat(var$4, $env);
31749
+ };
31380
31750
  var asrjo_Comparisons = $rt_classWithoutFields();
31381
31751
  var asrjo_Comparisons_compareNoNAN = ($a, $b) => {
31382
31752
  if ($a.$isZero()) {
@@ -31681,7 +32051,7 @@ var jm_BigInteger_testBit = ($this, $n) => {
31681
32051
  return !($this.$digits.data[0] & 1) ? 0 : 1;
31682
32052
  if ($n < 0) {
31683
32053
  var$2 = new jl_ArithmeticException();
31684
- jl_Throwable__init_0(var$2, $rt_s(1624));
32054
+ jl_Throwable__init_0(var$2, $rt_s(1625));
31685
32055
  $rt_throw(var$2);
31686
32056
  }
31687
32057
  $intCount = $n >> 5;
@@ -31709,7 +32079,7 @@ var jm_BigInteger_intValueExact = ($this) => {
31709
32079
  if ($this.$numberLength <= 1 && jm_BigInteger_bitLength($this) <= 31)
31710
32080
  return $rt_imul($this.$sign0, $this.$digits.data[0]);
31711
32081
  var$1 = new jl_ArithmeticException();
31712
- jl_Throwable__init_0(var$1, $rt_s(1625));
32082
+ jl_Throwable__init_0(var$1, $rt_s(1626));
31713
32083
  $rt_throw(var$1);
31714
32084
  };
31715
32085
  var jm_BigInteger_longValue = ($this) => {
@@ -31727,7 +32097,7 @@ var jm_BigInteger_longValueExact = ($this) => {
31727
32097
  if ($this.$numberLength <= 2 && jm_BigInteger_bitLength($this) <= 63)
31728
32098
  return jm_BigInteger_longValue($this);
31729
32099
  var$1 = new jl_ArithmeticException();
31730
- jl_Throwable__init_0(var$1, $rt_s(1626));
32100
+ jl_Throwable__init_0(var$1, $rt_s(1627));
31731
32101
  $rt_throw(var$1);
31732
32102
  };
31733
32103
  var jm_BigInteger_compareTo = ($this, $val) => {
@@ -31848,330 +32218,6 @@ var jm_BigInteger__clinit_ = () => {
31848
32218
  $i = $i + 1 | 0;
31849
32219
  }
31850
32220
  };
31851
- var asrjo_Conversions = $rt_classWithoutFields();
31852
- var asrjo_Conversions_convertToIntegral = ($f, $max, $min, $env, $quiet) => {
31853
- let $copy, $rounded, var$8, var$9, var$10, var$11, var$12, var$13;
31854
- if ($f.$isNaN()) {
31855
- $f = $env.$flags;
31856
- $min = asrj_Flags_invalid;
31857
- ju_GenericEnumSet_add($f, $min);
31858
- return $max;
31859
- }
31860
- if ($f.$isInfinite()) {
31861
- $env = $env.$flags;
31862
- $copy = asrj_Flags_invalid;
31863
- ju_GenericEnumSet_add($env, $copy);
31864
- if ($f.$isSignMinus())
31865
- $max = $min;
31866
- return $max;
31867
- }
31868
- $copy = asrj_Environment__init_();
31869
- $copy.$mode = $env.$mode;
31870
- if ($f.$isZero())
31871
- $rounded = jm_BigInteger_ZERO;
31872
- else {
31873
- $f = $f.$toExactFloat();
31874
- if (asrji_ExactFloat_isZero($f))
31875
- $rounded = jm_BigInteger_ZERO;
31876
- else {
31877
- if (asrji_ExactFloat_isZero($f))
31878
- $rounded = $f;
31879
- else {
31880
- $rounded = asrji_ExactFloat_normalize($f);
31881
- var$8 = $rounded.$exponent0;
31882
- if (var$8 < 0) {
31883
- var$8 = -var$8 | 0;
31884
- var$9 = jm_BigInteger_shiftLeft(jm_BigInteger_shiftRight($rounded.$significand, var$8), var$8);
31885
- var$10 = jm_BigInteger_subtract($rounded.$significand, var$9);
31886
- var$9 = asrji_ExactFloat_normalize(asrji_ExactFloat__init_($rounded.$sign, $rounded.$exponent0, var$9));
31887
- var$11 = asrji_ExactFloat_add(var$9, asrji_ExactFloat__init_($rounded.$sign, 0, jm_BigInteger_valueOf(Long_fromInt(1))));
31888
- var$12 = $env.$mode;
31889
- if (var$12 === asrj_RoundingMode_zero)
31890
- $rounded = var$9;
31891
- else {
31892
- var$13 = asrj_RoundingMode_max;
31893
- if (var$12 !== var$13 && var$12 !== asrj_RoundingMode_min) {
31894
- $rounded = jm_BigInteger_ONE;
31895
- var$8 = var$8 - 1 | 0;
31896
- $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;
31897
- } else
31898
- $rounded = (var$12 !== var$13 ? 0 : 1) != $rounded.$sign ? var$11 : var$9;
31899
- }
31900
- }
31901
- }
31902
- $rounded = asrji_ExactFloat_normalize($rounded);
31903
- if (asrji_ExactFloat_compareTo($rounded, $f)) {
31904
- var$9 = $env.$flags;
31905
- var$10 = asrj_Flags_inexact;
31906
- ju_GenericEnumSet_add(var$9, var$10);
31907
- }
31908
- if (!asrji_ExactFloat_$assertionsDisabled && $rounded.$exponent0 < 0)
31909
- $rt_throw(jl_AssertionError__init_($rt_s(1627)));
31910
- $rounded = jm_BigInteger_multiply(jm_BigInteger_shiftLeft($rounded.$significand, $rounded.$exponent0), jm_BigInteger_valueOf(!$f.$sign ? Long_fromInt(1) : Long_fromInt(-1)));
31911
- }
31912
- }
31913
- if (!(jm_BigInteger_compareTo($rounded, $max) <= 0 && jm_BigInteger_compareTo($rounded, $min) >= 0)) {
31914
- $f = $env.$flags;
31915
- $env = asrj_Flags_invalid;
31916
- ju_GenericEnumSet_add($f, $env);
31917
- } else if (!$quiet) {
31918
- $f = $copy.$flags;
31919
- $copy = asrj_Flags_inexact;
31920
- if (ju_GenericEnumSet_contains($f, $copy)) {
31921
- $f = $env.$flags;
31922
- $env = asrj_Flags_inexact;
31923
- ju_GenericEnumSet_add($f, $env);
31924
- }
31925
- }
31926
- if (jm_BigInteger_compareTo($rounded, $max) == -1)
31927
- $max = $rounded;
31928
- if (jm_BigInteger_compareTo($max, $min) == 1)
31929
- $min = $max;
31930
- return $min;
31931
- };
31932
- var asrjo_Conversions_convertToInt = ($f, $env, $quiet) => {
31933
- return jm_BigInteger_intValueExact(asrjo_Conversions_convertToIntegral($f, jm_BigInteger_valueOf(Long_fromInt(2147483647)), jm_BigInteger_valueOf(Long_fromInt(-2147483648)), $env, $quiet));
31934
- };
31935
- var asrjo_Conversions_convertToUnsignedInt = ($f, $env, $quiet) => {
31936
- 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)));
31937
- };
31938
- var asrjo_Conversions_convertToLong = ($f, $env, $quiet) => {
31939
- return jm_BigInteger_longValueExact(asrjo_Conversions_convertToIntegral($f, jm_BigInteger_valueOf(Long_create(4294967295, 2147483647)), jm_BigInteger_valueOf(Long_create(0, 2147483648)), $env, $quiet));
31940
- };
31941
- var asrjo_Conversions_convertToUnsignedLong = ($f, $env, $quiet) => {
31942
- 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));
31943
- };
31944
- var asrjo_Conversions_convertFromInt = ($i, $env, $helper) => {
31945
- let var$4;
31946
- if (jm_BigInteger_equals($i, jm_BigInteger_ZERO))
31947
- return $helper.$Zero();
31948
- var$4 = new asrji_ExactFloat();
31949
- if (jm_BigInteger_compareTo($i, jm_BigInteger_ZERO) >= 0)
31950
- var$4.$sign = 0;
31951
- else {
31952
- var$4.$sign = 1;
31953
- $i = jm_BigInteger_negate($i);
31954
- }
31955
- var$4.$exponent0 = 0;
31956
- var$4.$significand = $i;
31957
- return $helper.$fromExactFloat(var$4, $env);
31958
- };
31959
- function asrjt_Float64() {
31960
- asrjt_Floating.call(this);
31961
- this.$bits1 = Long_ZERO;
31962
- }
31963
- var asrjt_Float64_Zero = null;
31964
- var asrjt_Float64_NegativeZero = null;
31965
- var asrjt_Float64_NaN = null;
31966
- var asrjt_Float64_Infinity = null;
31967
- var asrjt_Float64_NegativeInfinity = null;
31968
- var asrjt_Float64_$assertionsDisabled = 0;
31969
- var asrjt_Float64__init_1 = ($this, $bits) => {
31970
- $this.$bits1 = $bits;
31971
- };
31972
- var asrjt_Float64__init_ = (var_0) => {
31973
- let var_1 = new asrjt_Float64();
31974
- asrjt_Float64__init_1(var_1, var_0);
31975
- return var_1;
31976
- };
31977
- var asrjt_Float64__init_2 = ($this, $sign, $exponent, $significand) => {
31978
- 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))));
31979
- };
31980
- var asrjt_Float64__init_0 = (var_0, var_1, var_2) => {
31981
- let var_3 = new asrjt_Float64();
31982
- asrjt_Float64__init_2(var_3, var_0, var_1, var_2);
31983
- return var_3;
31984
- };
31985
- var asrjt_Float64_exponent = ($this) => {
31986
- return (Long_lo(Long_shru($this.$bits1, 52)) & 2047) - 1023 | 0;
31987
- };
31988
- var asrjt_Float64_negate = ($this) => {
31989
- return asrjt_Float64__init_(Long_xor($this.$bits1, Long_create(0, 2147483648)));
31990
- };
31991
- var asrjt_Float64_isSignMinus = ($this) => {
31992
- return Long_ne(Long_shru($this.$bits1, 63), Long_fromInt(1)) ? 0 : 1;
31993
- };
31994
- var asrjt_Float64_isInfinite = ($this) => {
31995
- return asrjt_Float64_exponent($this) == 1024 && Long_eq(Long_and($this.$bits1, Long_create(4294967295, 1048575)), Long_ZERO) ? 1 : 0;
31996
- };
31997
- var asrjt_Float64_isNormal = ($this) => {
31998
- return asrjt_Float64_exponent($this) != -1023 && asrjt_Float64_exponent($this) != 1024 ? 1 : 0;
31999
- };
32000
- var asrjt_Float64_isSubnormal = ($this) => {
32001
- return asrjt_Float64_exponent($this) == -1023 && !asrjt_Float64_isZero($this) ? 1 : 0;
32002
- };
32003
- var asrjt_Float64_isNaN = ($this) => {
32004
- return asrjt_Float64_exponent($this) == 1024 && !asrjt_Float64_isInfinite($this) ? 1 : 0;
32005
- };
32006
- var asrjt_Float64_isSignalling = ($this) => {
32007
- if (!asrjt_Float64_isNaN($this))
32008
- return 0;
32009
- return Long_ne(Long_and($this.$bits1, Long_create(0, 524288)), Long_ZERO) ? 0 : 1;
32010
- };
32011
- var asrjt_Float64_isZero = ($this) => {
32012
- let var$1;
32013
- var$1 = $this.$bits1;
32014
- return Long_ne(var$1, Long_ZERO) && Long_ne(var$1, Long_create(0, 2147483648)) ? 0 : 1;
32015
- };
32016
- var asrjt_Float64_fromExactFloat0 = ($this, $ef, $env) => {
32017
- let $normalizedExponent, $mainBits, $roundedBits, $a, $bitsToRound, $upBits, $towardsZero, $awayZero;
32018
- if (asrji_ExactFloat_isZero($ef))
32019
- return !$ef.$sign ? asrjt_Float64_Zero : asrjt_Float64_NegativeZero;
32020
- $ef = asrji_ExactFloat_normalize($ef);
32021
- $normalizedExponent = $ef.$exponent0 + jm_BigInteger_bitLength($ef.$significand) | 0;
32022
- if ($normalizedExponent > -1022) {
32023
- if ($normalizedExponent > 1024) {
32024
- $mainBits = $env.$flags;
32025
- $roundedBits = asrj_Flags_overflow;
32026
- ju_GenericEnumSet_add($mainBits, $roundedBits);
32027
- $mainBits = $env.$flags;
32028
- $roundedBits = asrj_Flags_inexact;
32029
- ju_GenericEnumSet_add($mainBits, $roundedBits);
32030
- asrjt_Float64$1_$callClinit();
32031
- switch (asrjt_Float64$1_$SwitchMap$app$specy$rars$jsoftfloat$RoundingMode.data[jl_Enum_ordinal($env.$mode)]) {
32032
- case 1:
32033
- break;
32034
- case 2:
32035
- case 3:
32036
- $normalizedExponent = $ef.$sign;
32037
- if ($normalizedExponent == ($env.$mode !== asrj_RoundingMode_max ? 0 : 1))
32038
- return asrjt_Float64__init_0($normalizedExponent, 1023, Long_fromInt(-1));
32039
- return !$normalizedExponent ? asrjt_Float64_Infinity : asrjt_Float64_NegativeInfinity;
32040
- case 4:
32041
- case 5:
32042
- return !$ef.$sign ? asrjt_Float64_Infinity : asrjt_Float64_NegativeInfinity;
32043
- default:
32044
- if (!asrjt_Float64_$assertionsDisabled)
32045
- $rt_throw(jl_AssertionError__init_($rt_s(1617)));
32046
- return !$ef.$sign ? asrjt_Float64_Infinity : asrjt_Float64_NegativeInfinity;
32047
- }
32048
- return asrjt_Float64__init_0($ef.$sign, 1023, Long_fromInt(-1));
32049
- }
32050
- if (jm_BigInteger_bitLength($ef.$significand) <= 53) {
32051
- if (!asrjt_Float64_$assertionsDisabled && (($ef.$exponent0 + jm_BigInteger_bitLength($ef.$significand) | 0) - 1 | 0) <= -1023)
32052
- $rt_throw(jl_AssertionError__init_($rt_s(1618)));
32053
- $a = new asrjt_Float64();
32054
- $normalizedExponent = $ef.$sign;
32055
- $bitsToRound = ($ef.$exponent0 + jm_BigInteger_bitLength($ef.$significand) | 0) - 1 | 0;
32056
- $ef = $ef.$significand;
32057
- 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)));
32058
- return $a;
32059
- }
32060
- $mainBits = $env.$flags;
32061
- $roundedBits = asrj_Flags_inexact;
32062
- ju_GenericEnumSet_add($mainBits, $roundedBits);
32063
- $bitsToRound = jm_BigInteger_bitLength($ef.$significand) - 53 | 0;
32064
- $mainBits = jm_BigInteger_shiftLeft(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound), $bitsToRound);
32065
- $roundedBits = jm_BigInteger_subtract($ef.$significand, $mainBits);
32066
- $upBits = jm_BigInteger_add(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound), jm_BigInteger_valueOf(Long_fromInt(1)));
32067
- $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)));
32068
- $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)));
32069
- } else {
32070
- if ($ef.$exponent0 > -1075) {
32071
- if (!asrjt_Float64_$assertionsDisabled && jm_BigInteger_bitLength($ef.$significand) > 52)
32072
- $rt_throw(jl_AssertionError__init_($rt_s(1619)));
32073
- return asrjt_Float64__init_0($ef.$sign, -1023, jm_BigInteger_longValueExact(jm_BigInteger_shiftLeft($ef.$significand, 1074 + $ef.$exponent0 | 0)));
32074
- }
32075
- $mainBits = $env.$flags;
32076
- $roundedBits = asrj_Flags_inexact;
32077
- ju_GenericEnumSet_add($mainBits, $roundedBits);
32078
- $mainBits = $env.$flags;
32079
- $roundedBits = asrj_Flags_underflow;
32080
- ju_GenericEnumSet_add($mainBits, $roundedBits);
32081
- $bitsToRound = -1074 - $ef.$exponent0 | 0;
32082
- $mainBits = jm_BigInteger_shiftLeft(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound), $bitsToRound);
32083
- $roundedBits = jm_BigInteger_subtract($ef.$significand, $mainBits);
32084
- $towardsZero = asrjt_Float64__init_0($ef.$sign, -1023, jm_BigInteger_longValueExact(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound)));
32085
- $upBits = jm_BigInteger_add(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound), jm_BigInteger_valueOf(Long_fromInt(1)));
32086
- if (!jm_BigInteger_testBit($upBits, 0) && jm_BigInteger_bitLength($upBits) > 52)
32087
- $awayZero = asrjt_Float64__init_0($ef.$sign, -1022, Long_and(jm_BigInteger_longValueExact($upBits), Long_create(4294967295, 1048575)));
32088
- else {
32089
- if (!asrjt_Float64_$assertionsDisabled && jm_BigInteger_bitLength($upBits) > 52)
32090
- $rt_throw(jl_AssertionError__init_1());
32091
- $awayZero = asrjt_Float64__init_0($ef.$sign, -1023, jm_BigInteger_longValueExact($upBits));
32092
- }
32093
- }
32094
- asrjt_Float64$1_$callClinit();
32095
- switch (asrjt_Float64$1_$SwitchMap$app$specy$rars$jsoftfloat$RoundingMode.data[jl_Enum_ordinal($env.$mode)]) {
32096
- case 1:
32097
- break;
32098
- case 2:
32099
- case 3:
32100
- if ($ef.$sign == ($env.$mode !== asrj_RoundingMode_max ? 0 : 1))
32101
- return $towardsZero;
32102
- return $awayZero;
32103
- default:
32104
- $ef = jm_BigInteger_ONE;
32105
- $normalizedExponent = $bitsToRound - 1 | 0;
32106
- if (!jm_BigInteger_equals($roundedBits, jm_BigInteger_shiftLeft($ef, $normalizedExponent))) {
32107
- if (jm_BigInteger_compareTo($roundedBits, jm_BigInteger_shiftLeft(jm_BigInteger_ONE, $normalizedExponent)) <= 0)
32108
- return $towardsZero;
32109
- return $awayZero;
32110
- }
32111
- if ($env.$mode !== asrj_RoundingMode_away && Long_ne(Long_and($awayZero.$bits1, Long_fromInt(1)), Long_ZERO))
32112
- return $towardsZero;
32113
- return $awayZero;
32114
- }
32115
- return $towardsZero;
32116
- };
32117
- var asrjt_Float64_toExactFloat = ($this) => {
32118
- let $sign, $exponent, $significand;
32119
- if (!asrjt_Float64_$assertionsDisabled && asrjt_Float64_isInfinite($this))
32120
- $rt_throw(jl_AssertionError__init_($rt_s(1620)));
32121
- if (!asrjt_Float64_$assertionsDisabled && asrjt_Float64_isNaN($this))
32122
- $rt_throw(jl_AssertionError__init_($rt_s(1621)));
32123
- if (!asrjt_Float64_$assertionsDisabled && asrjt_Float64_isZero($this))
32124
- $rt_throw(jl_AssertionError__init_($rt_s(1622)));
32125
- $sign = asrjt_Float64_isSignMinus($this);
32126
- if (asrjt_Float64_isZero($this)) {
32127
- $exponent = 0;
32128
- $significand = jm_BigInteger_ZERO;
32129
- } else if (asrjt_Float64_isNormal($this)) {
32130
- $exponent = asrjt_Float64_exponent($this) - 52 | 0;
32131
- $significand = jm_BigInteger_valueOf(Long_add(Long_and($this.$bits1, Long_create(4294967295, 1048575)), Long_create(0, 1048576)));
32132
- } else {
32133
- if (!asrjt_Float64_isSubnormal($this)) {
32134
- if (asrjt_Float64_$assertionsDisabled)
32135
- return null;
32136
- $rt_throw(jl_AssertionError__init_($rt_s(1623)));
32137
- }
32138
- $exponent = asrjt_Float64_exponent($this) - 51 | 0;
32139
- $significand = jm_BigInteger_valueOf(Long_and($this.$bits1, Long_create(4294967295, 1048575)));
32140
- }
32141
- return asrji_ExactFloat__init_($sign, $exponent, $significand);
32142
- };
32143
- var asrjt_Float64_maxPrecision = ($this) => {
32144
- return 60;
32145
- };
32146
- var asrjt_Float64_negate0 = ($this) => {
32147
- return asrjt_Float64_negate($this);
32148
- };
32149
- var asrjt_Float64_fromExactFloat = ($this, var$1, var$2) => {
32150
- return asrjt_Float64_fromExactFloat0($this, var$1, var$2);
32151
- };
32152
- var asrjt_Float64_NegativeInfinity0 = ($this) => {
32153
- return asrjt_Float64_NegativeInfinity;
32154
- };
32155
- var asrjt_Float64_Infinity0 = ($this) => {
32156
- return asrjt_Float64_Infinity;
32157
- };
32158
- var asrjt_Float64_NegativeZero0 = ($this) => {
32159
- return asrjt_Float64_NegativeZero;
32160
- };
32161
- var asrjt_Float64_Zero0 = ($this) => {
32162
- return asrjt_Float64_Zero;
32163
- };
32164
- var asrjt_Float64_NaN0 = ($this) => {
32165
- return asrjt_Float64_NaN;
32166
- };
32167
- var asrjt_Float64__clinit_ = () => {
32168
- asrjt_Float64_$assertionsDisabled = 0;
32169
- asrjt_Float64_Zero = asrjt_Float64__init_(Long_ZERO);
32170
- asrjt_Float64_NegativeZero = asrjt_Float64__init_(Long_create(0, 2147483648));
32171
- asrjt_Float64_NaN = asrjt_Float64__init_(Long_create(0, 2146959360));
32172
- asrjt_Float64_Infinity = asrjt_Float64__init_(Long_create(0, 2146435072));
32173
- asrjt_Float64_NegativeInfinity = asrjt_Float64__init_(Long_create(0, 4293918720));
32174
- };
32175
32221
  var asrjo_Arithmetic = $rt_classWithoutFields();
32176
32222
  var asrjo_Arithmetic_$assertionsDisabled = 0;
32177
32223
  var asrjo_Arithmetic_add = ($a, $b, $env) => {
@@ -32696,6 +32742,7 @@ var jm_Elementary_subtract = ($a, $aSize, $b, $bSize) => {
32696
32742
  }
32697
32743
  return $res;
32698
32744
  };
32745
+ var jl_ArithmeticException = $rt_classWithoutFields(jl_RuntimeException);
32699
32746
  var jm_BitLevel = $rt_classWithoutFields();
32700
32747
  var jm_BitLevel_shiftLeft = ($source, $count) => {
32701
32748
  let $intCount, var$4, var$5, $resLength, $resDigits, var$8, var$9, var$10, var$11, var$12, $result;
@@ -32810,7 +32857,6 @@ var jm_BitLevel_shiftRight = ($source, $count) => {
32810
32857
  jm_BigInteger_cutOffLeadingZeroes($result);
32811
32858
  return $result;
32812
32859
  };
32813
- var jl_ArithmeticException = $rt_classWithoutFields(jl_RuntimeException);
32814
32860
  var asrrs_NullString = $rt_classWithoutFields();
32815
32861
  var asrrs_NullString_get = ($statement) => {
32816
32862
  return asrrs_NullString_get0($statement, $rt_s(220));
@@ -33766,34 +33812,34 @@ function ju_Hashtable$Entry() {
33766
33812
  var ju_Hashtable$Entry_equalsKey = ($this, $aKey, $hash) => {
33767
33813
  return $this.$hashcode == jl_String_hashCode($aKey) && $this.$key.$equals($aKey) ? 1 : 0;
33768
33814
  };
33769
- var asrjt_Float64$1 = $rt_classWithoutFields();
33770
- var asrjt_Float64$1_$SwitchMap$app$specy$rars$jsoftfloat$RoundingMode = null;
33771
- var asrjt_Float64$1_$callClinit = () => {
33772
- asrjt_Float64$1_$callClinit = $rt_eraseClinit(asrjt_Float64$1);
33773
- asrjt_Float64$1__clinit_();
33815
+ var asrjt_Float32$1 = $rt_classWithoutFields();
33816
+ var asrjt_Float32$1_$SwitchMap$app$specy$rars$jsoftfloat$RoundingMode = null;
33817
+ var asrjt_Float32$1_$callClinit = () => {
33818
+ asrjt_Float32$1_$callClinit = $rt_eraseClinit(asrjt_Float32$1);
33819
+ asrjt_Float32$1__clinit_();
33774
33820
  };
33775
- var asrjt_Float64$1__clinit_ = () => {
33821
+ var asrjt_Float32$1__clinit_ = () => {
33776
33822
  let var$1, var$2;
33777
33823
  var$1 = $rt_createIntArray(asrj_RoundingMode_values().data.length);
33778
33824
  var$2 = var$1.data;
33779
- asrjt_Float64$1_$SwitchMap$app$specy$rars$jsoftfloat$RoundingMode = var$1;
33825
+ asrjt_Float32$1_$SwitchMap$app$specy$rars$jsoftfloat$RoundingMode = var$1;
33780
33826
  var$2[asrj_RoundingMode_zero.$ordinal0] = 1;
33781
33827
  var$2[asrj_RoundingMode_min.$ordinal0] = 2;
33782
33828
  var$2[asrj_RoundingMode_max.$ordinal0] = 3;
33783
33829
  var$2[asrj_RoundingMode_away.$ordinal0] = 4;
33784
33830
  var$2[asrj_RoundingMode_even.$ordinal0] = 5;
33785
33831
  };
33786
- var asrjt_Float32$1 = $rt_classWithoutFields();
33787
- var asrjt_Float32$1_$SwitchMap$app$specy$rars$jsoftfloat$RoundingMode = null;
33788
- var asrjt_Float32$1_$callClinit = () => {
33789
- asrjt_Float32$1_$callClinit = $rt_eraseClinit(asrjt_Float32$1);
33790
- asrjt_Float32$1__clinit_();
33832
+ var asrjt_Float64$1 = $rt_classWithoutFields();
33833
+ var asrjt_Float64$1_$SwitchMap$app$specy$rars$jsoftfloat$RoundingMode = null;
33834
+ var asrjt_Float64$1_$callClinit = () => {
33835
+ asrjt_Float64$1_$callClinit = $rt_eraseClinit(asrjt_Float64$1);
33836
+ asrjt_Float64$1__clinit_();
33791
33837
  };
33792
- var asrjt_Float32$1__clinit_ = () => {
33838
+ var asrjt_Float64$1__clinit_ = () => {
33793
33839
  let var$1, var$2;
33794
33840
  var$1 = $rt_createIntArray(asrj_RoundingMode_values().data.length);
33795
33841
  var$2 = var$1.data;
33796
- asrjt_Float32$1_$SwitchMap$app$specy$rars$jsoftfloat$RoundingMode = var$1;
33842
+ asrjt_Float64$1_$SwitchMap$app$specy$rars$jsoftfloat$RoundingMode = var$1;
33797
33843
  var$2[asrj_RoundingMode_zero.$ordinal0] = 1;
33798
33844
  var$2[asrj_RoundingMode_min.$ordinal0] = 2;
33799
33845
  var$2[asrj_RoundingMode_max.$ordinal0] = 3;
@@ -34942,16 +34988,6 @@ $rt_metadata([
34942
34988
  0,
34943
34989
  asrrh_RegisterFile_$callClinit,
34944
34990
  0,
34945
- asr_JsProgramStatement,
34946
- "JsProgramStatement",
34947
- 10,
34948
- jl_Object,
34949
- [],
34950
- 0,
34951
- 3,
34952
- 0,
34953
- 0,
34954
- 0,
34955
34991
  asr_JsRiscV$getTokenizedLines$lambda$_5_0,
34956
34992
  0,
34957
34993
  jl_Object,
@@ -34980,6 +35016,16 @@ $rt_metadata([
34980
35016
  0,
34981
35017
  0,
34982
35018
  0,
35019
+ asr_JsProgramStatement,
35020
+ "JsProgramStatement",
35021
+ 10,
35022
+ jl_Object,
35023
+ [],
35024
+ 0,
35025
+ 3,
35026
+ 0,
35027
+ 0,
35028
+ 0,
34983
35029
  ju_Arrays,
34984
35030
  0,
34985
35031
  jl_Object,
@@ -35035,8 +35081,8 @@ $rt_metadata([
35035
35081
  0,
35036
35082
  0,
35037
35083
  0,
35038
- asr_JsCompilationResult,
35039
- "JsCompilationResult",
35084
+ asr_JsStackFrame,
35085
+ "JsStackFrame",
35040
35086
  10,
35041
35087
  jl_Object,
35042
35088
  [],
@@ -35045,19 +35091,19 @@ $rt_metadata([
35045
35091
  0,
35046
35092
  0,
35047
35093
  0,
35048
- asr_AssemblyException,
35049
- 0,
35050
- jl_Exception,
35094
+ asr_JsCompilationResult,
35095
+ "JsCompilationResult",
35096
+ 10,
35097
+ jl_Object,
35051
35098
  [],
35052
35099
  0,
35053
35100
  3,
35054
35101
  0,
35055
35102
  0,
35056
35103
  0,
35057
- asr_JsStackFrame,
35058
- "JsStackFrame",
35059
- 10,
35060
- jl_Object,
35104
+ asr_AssemblyException,
35105
+ 0,
35106
+ jl_Exception,
35061
35107
  [],
35062
35108
  0,
35063
35109
  3,
@@ -36836,8 +36882,9 @@ $rt_metadata([
36836
36882
  0,
36837
36883
  0,
36838
36884
  0,
36839
- asr_ErrorList,
36840
- 0,
36885
+ asrrh_StackFrame,
36886
+ "StackFrame",
36887
+ 7,
36841
36888
  jl_Object,
36842
36889
  [],
36843
36890
  0,
@@ -36845,7 +36892,7 @@ $rt_metadata([
36845
36892
  0,
36846
36893
  0,
36847
36894
  0,
36848
- asrrh_StackFrame,
36895
+ asr_ErrorList,
36849
36896
  0,
36850
36897
  jl_Object,
36851
36898
  [],
@@ -37552,26 +37599,25 @@ $rt_metadata([
37552
37599
  0,
37553
37600
  0,
37554
37601
  ["$hasNext", $rt_wrapFunction0(ju_AbstractList$1_hasNext), "$next", $rt_wrapFunction0(ju_AbstractList$1_next)],
37555
- asrs_Simulator$Reason,
37556
- "Simulator$Reason",
37557
- 3,
37558
- jl_Enum,
37602
+ asrrh_FloatingPointRegisterFile,
37603
+ 0,
37604
+ jl_Object,
37559
37605
  [],
37560
- 12,
37606
+ 0,
37561
37607
  3,
37562
37608
  0,
37563
37609
  0,
37564
37610
  0,
37565
- jlr_Array,
37611
+ asrrh_ControlAndStatusRegisterFile,
37566
37612
  0,
37567
37613
  jl_Object,
37568
37614
  [],
37569
- 4,
37615
+ 0,
37570
37616
  3,
37571
37617
  0,
37572
37618
  0,
37573
37619
  0,
37574
- asrrh_Stack,
37620
+ asrrh_InterruptController,
37575
37621
  0,
37576
37622
  jl_Object,
37577
37623
  [],
@@ -37580,7 +37626,7 @@ $rt_metadata([
37580
37626
  0,
37581
37627
  0,
37582
37628
  0,
37583
- asrrh_FloatingPointRegisterFile,
37629
+ asrrh_Stack,
37584
37630
  0,
37585
37631
  jl_Object,
37586
37632
  [],
@@ -37589,20 +37635,21 @@ $rt_metadata([
37589
37635
  0,
37590
37636
  0,
37591
37637
  0,
37592
- asrrh_ControlAndStatusRegisterFile,
37593
- 0,
37594
- jl_Object,
37638
+ asrs_Simulator$Reason,
37639
+ "Simulator$Reason",
37640
+ 3,
37641
+ jl_Enum,
37595
37642
  [],
37596
- 0,
37643
+ 12,
37597
37644
  3,
37598
37645
  0,
37599
37646
  0,
37600
37647
  0,
37601
- asrrh_InterruptController,
37648
+ jlr_Array,
37602
37649
  0,
37603
37650
  jl_Object,
37604
37651
  [],
37605
- 0,
37652
+ 4,
37606
37653
  3,
37607
37654
  0,
37608
37655
  0,
@@ -40610,6 +40657,48 @@ $rt_metadata([
40610
40657
  0,
40611
40658
  0,
40612
40659
  0,
40660
+ asrjt_Float64,
40661
+ 0,
40662
+ asrjt_Floating,
40663
+ [],
40664
+ 0,
40665
+ 3,
40666
+ 0,
40667
+ 0,
40668
+ [
40669
+ "$isSignMinus",
40670
+ $rt_wrapFunction0(asrjt_Float64_isSignMinus),
40671
+ "$isInfinite",
40672
+ $rt_wrapFunction0(asrjt_Float64_isInfinite),
40673
+ "$isNormal",
40674
+ $rt_wrapFunction0(asrjt_Float64_isNormal),
40675
+ "$isSubnormal",
40676
+ $rt_wrapFunction0(asrjt_Float64_isSubnormal),
40677
+ "$isNaN",
40678
+ $rt_wrapFunction0(asrjt_Float64_isNaN),
40679
+ "$isSignalling",
40680
+ $rt_wrapFunction0(asrjt_Float64_isSignalling),
40681
+ "$isZero",
40682
+ $rt_wrapFunction0(asrjt_Float64_isZero),
40683
+ "$toExactFloat",
40684
+ $rt_wrapFunction0(asrjt_Float64_toExactFloat),
40685
+ "$maxPrecision",
40686
+ $rt_wrapFunction0(asrjt_Float64_maxPrecision),
40687
+ "$negate2",
40688
+ $rt_wrapFunction0(asrjt_Float64_negate0),
40689
+ "$fromExactFloat",
40690
+ $rt_wrapFunction2(asrjt_Float64_fromExactFloat),
40691
+ "$NegativeInfinity",
40692
+ $rt_wrapFunction0(asrjt_Float64_NegativeInfinity0),
40693
+ "$Infinity",
40694
+ $rt_wrapFunction0(asrjt_Float64_Infinity0),
40695
+ "$NegativeZero",
40696
+ $rt_wrapFunction0(asrjt_Float64_NegativeZero0),
40697
+ "$Zero",
40698
+ $rt_wrapFunction0(asrjt_Float64_Zero0),
40699
+ "$NaN",
40700
+ $rt_wrapFunction0(asrjt_Float64_NaN0)
40701
+ ],
40613
40702
  asrjt_Float32,
40614
40703
  0,
40615
40704
  asrjt_Floating,
@@ -40652,7 +40741,7 @@ $rt_metadata([
40652
40741
  "$NaN",
40653
40742
  $rt_wrapFunction0(asrjt_Float32_NaN0)
40654
40743
  ],
40655
- asrjo_Comparisons,
40744
+ asrjo_Conversions,
40656
40745
  0,
40657
40746
  jl_Object,
40658
40747
  [],
@@ -40661,16 +40750,7 @@ $rt_metadata([
40661
40750
  0,
40662
40751
  0,
40663
40752
  0,
40664
- jm_BigInteger,
40665
- 0,
40666
- jl_Number,
40667
- [jl_Comparable, ji_Serializable],
40668
- 0,
40669
- 3,
40670
- 0,
40671
- 0,
40672
- 0,
40673
- asrjo_Conversions,
40753
+ asrjo_Comparisons,
40674
40754
  0,
40675
40755
  jl_Object,
40676
40756
  [],
@@ -40679,48 +40759,15 @@ $rt_metadata([
40679
40759
  0,
40680
40760
  0,
40681
40761
  0,
40682
- asrjt_Float64,
40762
+ jm_BigInteger,
40683
40763
  0,
40684
- asrjt_Floating,
40685
- [],
40764
+ jl_Number,
40765
+ [jl_Comparable, ji_Serializable],
40686
40766
  0,
40687
40767
  3,
40688
40768
  0,
40689
40769
  0,
40690
- [
40691
- "$isSignMinus",
40692
- $rt_wrapFunction0(asrjt_Float64_isSignMinus),
40693
- "$isInfinite",
40694
- $rt_wrapFunction0(asrjt_Float64_isInfinite),
40695
- "$isNormal",
40696
- $rt_wrapFunction0(asrjt_Float64_isNormal),
40697
- "$isSubnormal",
40698
- $rt_wrapFunction0(asrjt_Float64_isSubnormal),
40699
- "$isNaN",
40700
- $rt_wrapFunction0(asrjt_Float64_isNaN),
40701
- "$isSignalling",
40702
- $rt_wrapFunction0(asrjt_Float64_isSignalling),
40703
- "$isZero",
40704
- $rt_wrapFunction0(asrjt_Float64_isZero),
40705
- "$toExactFloat",
40706
- $rt_wrapFunction0(asrjt_Float64_toExactFloat),
40707
- "$maxPrecision",
40708
- $rt_wrapFunction0(asrjt_Float64_maxPrecision),
40709
- "$negate2",
40710
- $rt_wrapFunction0(asrjt_Float64_negate0),
40711
- "$fromExactFloat",
40712
- $rt_wrapFunction2(asrjt_Float64_fromExactFloat),
40713
- "$NegativeInfinity",
40714
- $rt_wrapFunction0(asrjt_Float64_NegativeInfinity0),
40715
- "$Infinity",
40716
- $rt_wrapFunction0(asrjt_Float64_Infinity0),
40717
- "$NegativeZero",
40718
- $rt_wrapFunction0(asrjt_Float64_NegativeZero0),
40719
- "$Zero",
40720
- $rt_wrapFunction0(asrjt_Float64_Zero0),
40721
- "$NaN",
40722
- $rt_wrapFunction0(asrjt_Float64_NaN0)
40723
- ],
40770
+ 0,
40724
40771
  asrjo_Arithmetic,
40725
40772
  0,
40726
40773
  jl_Object,
@@ -40804,21 +40851,21 @@ $rt_metadata([
40804
40851
  0,
40805
40852
  0,
40806
40853
  0,
40807
- jm_BitLevel,
40854
+ jl_ArithmeticException,
40808
40855
  0,
40809
- jl_Object,
40856
+ jl_RuntimeException,
40810
40857
  [],
40811
40858
  0,
40859
+ 3,
40812
40860
  0,
40813
40861
  0,
40814
40862
  0,
40863
+ jm_BitLevel,
40815
40864
  0,
40816
- jl_ArithmeticException,
40817
- 0,
40818
- jl_RuntimeException,
40865
+ jl_Object,
40819
40866
  [],
40820
40867
  0,
40821
- 3,
40868
+ 0,
40822
40869
  0,
40823
40870
  0,
40824
40871
  0,
@@ -40959,23 +41006,23 @@ $rt_metadata([
40959
41006
  0,
40960
41007
  0,
40961
41008
  0,
40962
- asrjt_Float64$1,
41009
+ asrjt_Float32$1,
40963
41010
  0,
40964
41011
  jl_Object,
40965
41012
  [],
40966
41013
  32,
40967
41014
  0,
40968
41015
  0,
40969
- asrjt_Float64$1_$callClinit,
41016
+ asrjt_Float32$1_$callClinit,
40970
41017
  0,
40971
- asrjt_Float32$1,
41018
+ asrjt_Float64$1,
40972
41019
  0,
40973
41020
  jl_Object,
40974
41021
  [],
40975
41022
  32,
40976
41023
  0,
40977
41024
  0,
40978
- asrjt_Float32$1_$callClinit,
41025
+ asrjt_Float64$1_$callClinit,
40979
41026
  0,
40980
41027
  jm_Multiplication,
40981
41028
  0,
@@ -41093,7 +41140,6 @@ $rt_stringPool([
41093
41140
  "Illegal radix: ",
41094
41141
  "Internal RARS error: address exception while back-stepping.",
41095
41142
  "Invalid boolean setting ID",
41096
- "sp",
41097
41143
  "main",
41098
41144
  "object",
41099
41145
  "function",
@@ -41149,7 +41195,7 @@ $rt_stringPool([
41149
41195
  "store address out of range ",
41150
41196
  "store address not aligned on halfword boundary ",
41151
41197
  "Store address to text segment out of range",
41152
- "cCannot read directly from text segment!",
41198
+ "Cannot read directly from text segment!",
41153
41199
  "Load address not aligned to word boundary ",
41154
41200
  "Load address not aligned on halfword boundary ",
41155
41201
  "fetch address for text segment out of range ",
@@ -41241,6 +41287,7 @@ $rt_stringPool([
41241
41287
  "CompactTextAtZero",
41242
41288
  "Compact, Text at Address 0",
41243
41289
  "gp",
41290
+ "sp",
41244
41291
  ".text base address",
41245
41292
  "data segment base address",
41246
41293
  ".extern base address",
@@ -42160,13 +42207,6 @@ $rt_stringPool([
42160
42207
  "Can't parse empty string",
42161
42208
  "The string does not represent a number",
42162
42209
  "The string represents a too big number",
42163
- "BREAKPOINT",
42164
- "EXCEPTION",
42165
- "MAX_STEPS",
42166
- "NORMAL_TERMINATION",
42167
- "CLIFF_TERMINATION",
42168
- "PAUSE",
42169
- "STOP",
42170
42210
  "ft0",
42171
42211
  "ft1",
42172
42212
  "ft2",
@@ -42214,6 +42254,13 @@ $rt_stringPool([
42214
42254
  "Cannot claim, no timer interrupt pending",
42215
42255
  "Cannot claim, no trap pending",
42216
42256
  "trapPC doesn't match current pc",
42257
+ "BREAKPOINT",
42258
+ "EXCEPTION",
42259
+ "MAX_STEPS",
42260
+ "NORMAL_TERMINATION",
42261
+ "CLIFF_TERMINATION",
42262
+ "PAUSE",
42263
+ "STOP",
42217
42264
  "Patter is null",
42218
42265
  "Recursive include of file ",
42219
42266
  "Error reading include file ",
@@ -42700,10 +42747,10 @@ $rt_stringPool([
42700
42747
  "NaNs are not exact",
42701
42748
  "Zeros should be handled explicitly",
42702
42749
  "This should not be reachable",
42750
+ "There can't be any fractions at this point",
42703
42751
  "Negative bit address",
42704
42752
  "BigInteger out of int range",
42705
42753
  "BigInteger out of long range",
42706
- "There can't be any fractions at this point",
42707
42754
  "Square root of a negative number is not real",
42708
42755
  "Cannot get here",
42709
42756
  "Both should definitely be finite by this point",
@@ -42786,6 +42833,13 @@ var $rt_jso_marker = Symbol("jsoClass");
42786
42833
  Object.defineProperty(c, "example", {
42787
42834
  get: $rt_callWithReceiver(asr_JsInstruction_getExample$exported$3)
42788
42835
  });
42836
+ c = asr_JsRiscVTokenizedLine.prototype;
42837
+ Object.defineProperty(c, "line", {
42838
+ get: $rt_callWithReceiver(asr_JsRiscVTokenizedLine_getLine$exported$0)
42839
+ });
42840
+ Object.defineProperty(c, "tokens", {
42841
+ get: $rt_callWithReceiver(asr_JsRiscVTokenizedLine_getTokens$exported$1)
42842
+ });
42789
42843
  c = asr_JsProgramStatement.prototype;
42790
42844
  Object.defineProperty(c, "assemblyStatement", {
42791
42845
  get: $rt_callWithReceiver(asr_JsProgramStatement_getAssemblyStatement$exported$1)
@@ -42805,13 +42859,6 @@ var $rt_jso_marker = Symbol("jsoClass");
42805
42859
  Object.defineProperty(c, "source", {
42806
42860
  get: $rt_callWithReceiver(asr_JsProgramStatement_getSource$exported$2)
42807
42861
  });
42808
- c = asr_JsRiscVTokenizedLine.prototype;
42809
- Object.defineProperty(c, "line", {
42810
- get: $rt_callWithReceiver(asr_JsRiscVTokenizedLine_getLine$exported$0)
42811
- });
42812
- Object.defineProperty(c, "tokens", {
42813
- get: $rt_callWithReceiver(asr_JsRiscVTokenizedLine_getTokens$exported$1)
42814
- });
42815
42862
  c = asr_JsBackStep.prototype;
42816
42863
  Object.defineProperty(c, "pc", {
42817
42864
  get: $rt_callWithReceiver(asr_JsBackStep_getPc$exported$0)
@@ -42825,16 +42872,6 @@ var $rt_jso_marker = Symbol("jsoClass");
42825
42872
  Object.defineProperty(c, "param2", {
42826
42873
  get: $rt_callWithReceiver(asr_JsBackStep_getParam2$exported$1)
42827
42874
  });
42828
- c = asr_JsCompilationResult.prototype;
42829
- Object.defineProperty(c, "hasErrors", {
42830
- get: $rt_callWithReceiver(asr_JsCompilationResult_hasErrors$exported$1)
42831
- });
42832
- Object.defineProperty(c, "report", {
42833
- get: $rt_callWithReceiver(asr_JsCompilationResult_getReport$exported$2)
42834
- });
42835
- Object.defineProperty(c, "errors", {
42836
- get: $rt_callWithReceiver(asr_JsCompilationResult_getErrors$exported$0)
42837
- });
42838
42875
  c = asr_JsStackFrame.prototype;
42839
42876
  Object.defineProperty(c, "pc", {
42840
42877
  get: $rt_callWithReceiver(asr_JsStackFrame_getPc$exported$0)
@@ -42851,6 +42888,16 @@ var $rt_jso_marker = Symbol("jsoClass");
42851
42888
  Object.defineProperty(c, "toAddress", {
42852
42889
  get: $rt_callWithReceiver(asr_JsStackFrame_getToAddress$exported$1)
42853
42890
  });
42891
+ c = asr_JsCompilationResult.prototype;
42892
+ Object.defineProperty(c, "hasErrors", {
42893
+ get: $rt_callWithReceiver(asr_JsCompilationResult_hasErrors$exported$1)
42894
+ });
42895
+ Object.defineProperty(c, "report", {
42896
+ get: $rt_callWithReceiver(asr_JsCompilationResult_getReport$exported$2)
42897
+ });
42898
+ Object.defineProperty(c, "errors", {
42899
+ get: $rt_callWithReceiver(asr_JsCompilationResult_getErrors$exported$0)
42900
+ });
42854
42901
  c = asr_JsCompilationResult$JsCompilationError.prototype;
42855
42902
  Object.defineProperty(c, "macroExpansionHistory", {
42856
42903
  get: $rt_callWithReceiver(asr_JsCompilationResult$JsCompilationError_getMacroExpansionHistory$exported$3)
@@ -42897,26 +42944,26 @@ function $rt_export_class_JsInstruction_32() {
42897
42944
  throw new Error("Can't instantiate this class directly");
42898
42945
  }
42899
42946
  $rt_export_class_JsInstruction_32.prototype = asr_JsInstruction.prototype;
42900
- function $rt_export_class_JsProgramStatement_71() {
42947
+ function $rt_export_class_JsRiscVTokenizedLine_73() {
42901
42948
  throw new Error("Can't instantiate this class directly");
42902
42949
  }
42903
- $rt_export_class_JsProgramStatement_71.prototype = asr_JsProgramStatement.prototype;
42904
- function $rt_export_class_JsRiscVTokenizedLine_74() {
42950
+ $rt_export_class_JsRiscVTokenizedLine_73.prototype = asr_JsRiscVTokenizedLine.prototype;
42951
+ function $rt_export_class_JsProgramStatement_74() {
42905
42952
  throw new Error("Can't instantiate this class directly");
42906
42953
  }
42907
- $rt_export_class_JsRiscVTokenizedLine_74.prototype = asr_JsRiscVTokenizedLine.prototype;
42954
+ $rt_export_class_JsProgramStatement_74.prototype = asr_JsProgramStatement.prototype;
42908
42955
  function $rt_export_class_JsBackStep_80() {
42909
42956
  throw new Error("Can't instantiate this class directly");
42910
42957
  }
42911
42958
  $rt_export_class_JsBackStep_80.prototype = asr_JsBackStep.prototype;
42912
- function $rt_export_class_JsCompilationResult_81() {
42959
+ function $rt_export_class_JsStackFrame_81() {
42913
42960
  throw new Error("Can't instantiate this class directly");
42914
42961
  }
42915
- $rt_export_class_JsCompilationResult_81.prototype = asr_JsCompilationResult.prototype;
42916
- function $rt_export_class_JsStackFrame_83() {
42962
+ $rt_export_class_JsStackFrame_81.prototype = asr_JsStackFrame.prototype;
42963
+ function $rt_export_class_JsCompilationResult_82() {
42917
42964
  throw new Error("Can't instantiate this class directly");
42918
42965
  }
42919
- $rt_export_class_JsStackFrame_83.prototype = asr_JsStackFrame.prototype;
42966
+ $rt_export_class_JsCompilationResult_82.prototype = asr_JsCompilationResult.prototype;
42920
42967
  function $rt_export_class_JsCompilationError_349() {
42921
42968
  throw new Error("Can't instantiate this class directly");
42922
42969
  }