@specy/risc-v 0.1.4 → 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 +1254 -1219
  2. package/dist/index.mjs +1254 -1219
  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
  }
@@ -3196,8 +3196,7 @@ var asr_JsRiscV_readMemoryBytes$exported$30 = (var$1, var$2, var$3) => {
3196
3196
  var asr_JsRiscV_getStackPointer$exported$31 = (var$1) => {
3197
3197
  asr_JsRiscV_$callClinit();
3198
3198
  var$1;
3199
- asrrh_RegisterFile_$callClinit();
3200
- return Long_lo(asrrh_RegisterBlock_getRegister(asrrh_RegisterFile_instance, $rt_s(17)).$getValue());
3199
+ return Long_lo(asrrh_RegisterFile_getStackPointerRegister().$getValue());
3201
3200
  };
3202
3201
  var asr_JsRiscV_initializeRISCV$exported$0 = () => {
3203
3202
  asr_JsRiscV_$callClinit();
@@ -3212,7 +3211,7 @@ var asr_JsRiscV_makeRiscVfromSource$exported$1 = (var$1) => {
3212
3211
  var$3 = new asrrf_MemoryFileSystem();
3213
3212
  var$3.$files = ju_HashMap__init_();
3214
3213
  var$4 = var$3;
3215
- ju_HashMap_put(var$4.$files, $rt_s(18), var$1);
3214
+ ju_HashMap_put(var$4.$files, $rt_s(17), var$1);
3216
3215
  var$5 = asr_RISCVprogram__init_();
3217
3216
  var$6 = ju_ArrayList__init_();
3218
3217
  var$4 = ju_AbstractList_iterator(asrrf_MemoryFileSystem_getFiles(var$4));
@@ -3227,7 +3226,7 @@ var asr_JsRiscV_makeRiscVfromSource$exported$1 = (var$1) => {
3227
3226
  return var$2;
3228
3227
  }
3229
3228
  var$8 = ju_AbstractList$1_next(var$4);
3230
- 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_();
3231
3230
  asr_RISCVprogram_readSource(var$9, var$8.$name2, var$8.$source2);
3232
3231
  var$8 = asra_Tokenizer__init_();
3233
3232
  var$9.$tokenizer = var$8;
@@ -3321,8 +3320,8 @@ var asr_JsRiscV__clinit_ = () => {
3321
3320
  jnc_CodingErrorAction__clinit_();
3322
3321
  jnc_CoderResult__clinit_();
3323
3322
  jn_ByteOrder__clinit_();
3324
- asrjt_Float32__clinit_();
3325
3323
  asrjt_Float64__clinit_();
3324
+ asrjt_Float32__clinit_();
3326
3325
  jm_BigInteger__clinit_();
3327
3326
  asrjo_Arithmetic__clinit_();
3328
3327
  asrj_RoundingMode__clinit_();
@@ -3717,7 +3716,7 @@ var otji_JSWrapper_wrap = ($jsNumber) => {
3717
3716
  if ($jsNumber === null)
3718
3717
  return null;
3719
3718
  $type = $rt_str(typeof $jsNumber);
3720
- $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;
3721
3720
  otji_JSWrapper$Helper_$callClinit();
3722
3721
  $wrappers = otji_JSWrapper$Helper_wrappers;
3723
3722
  if ($wrappers !== null) {
@@ -3730,7 +3729,7 @@ var otji_JSWrapper_wrap = ($jsNumber) => {
3730
3729
  $wrappers.set($jsNumber, new WeakRef($wrapper));
3731
3730
  return $wrapper;
3732
3731
  }
3733
- if (jl_String_equals($type, $rt_s(21))) {
3732
+ if (jl_String_equals($type, $rt_s(20))) {
3734
3733
  $stringWrappers = otji_JSWrapper$Helper_stringWrappers;
3735
3734
  $stringFinalizationRegistry = otji_JSWrapper$Helper_stringFinalizationRegistry;
3736
3735
  $existingRef = $stringWrappers.get($jsNumber);
@@ -3743,7 +3742,7 @@ var otji_JSWrapper_wrap = ($jsNumber) => {
3743
3742
  otji_JSWrapper_register$js_body$_4($stringFinalizationRegistry, $wrapperAsJs, $jsNumber);
3744
3743
  return $wrapper;
3745
3744
  }
3746
- if (jl_String_equals($type, $rt_s(22))) {
3745
+ if (jl_String_equals($type, $rt_s(21))) {
3747
3746
  $numberWrappers = otji_JSWrapper$Helper_numberWrappers;
3748
3747
  $numberFinalizationRegistry = otji_JSWrapper$Helper_numberFinalizationRegistry;
3749
3748
  $existingRef = $numberWrappers.get($jsNumber);
@@ -3756,7 +3755,7 @@ var otji_JSWrapper_wrap = ($jsNumber) => {
3756
3755
  otji_JSWrapper_register$js_body$_4($numberFinalizationRegistry, $wrapperAsJs, $jsNumber);
3757
3756
  return $wrapper;
3758
3757
  }
3759
- if (jl_String_equals($type, $rt_s(23))) {
3758
+ if (jl_String_equals($type, $rt_s(22))) {
3760
3759
  $existingRef = otji_JSWrapper$Helper_undefinedWrapper;
3761
3760
  $existing = $existingRef === null ? void 0 : $existingRef.deref();
3762
3761
  if (!(typeof $existing == "undefined" ? 1 : 0))
@@ -3798,7 +3797,7 @@ var otji_JSWrapper_equals = ($this, $obj) => {
3798
3797
  return $this.$js !== $obj.$js ? 0 : 1;
3799
3798
  };
3800
3799
  var otji_JSWrapper_toString = ($this) => {
3801
- 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());
3802
3801
  };
3803
3802
  var otji_JSWrapper_register$js_body$_4 = (var$1, var$2, var$3) => {
3804
3803
  return var$1.register(var$2, var$3);
@@ -3849,7 +3848,7 @@ var asr_RARS_initializeRISCV = () => {
3849
3848
  if (!asr_Globals_initialized) {
3850
3849
  asrrh_Memory_$callClinit();
3851
3850
  asr_Globals_memory = asrrh_Memory_uniqueMemoryInstance;
3852
- asr_Globals_symbolTable = asra_SymbolTable__init_($rt_s(24));
3851
+ asr_Globals_symbolTable = asra_SymbolTable__init_($rt_s(23));
3853
3852
  var$1 = new asr_Settings();
3854
3853
  asr_Settings_$callClinit();
3855
3854
  ju_Observable__init_(var$1);
@@ -4096,12 +4095,12 @@ var asr_Globals_getConfigProperties = () => {
4096
4095
  var$1 = new asrc_ConfigProperties();
4097
4096
  ju_HashMap__init_0(var$1);
4098
4097
  var$2 = var$1;
4099
- ju_HashMap_put(var$2, $rt_s(25), $rt_s(26));
4100
- ju_HashMap_put(var$2, $rt_s(27), $rt_s(28));
4101
- ju_HashMap_put(var$2, $rt_s(29), $rt_s(30));
4102
- ju_HashMap_put(var$2, $rt_s(31), $rt_s(32));
4103
- ju_HashMap_put(var$2, $rt_s(33), $rt_s(34));
4104
- 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));
4105
4104
  asr_Globals_configProperties = var$1;
4106
4105
  }
4107
4106
  return asr_Globals_configProperties;
@@ -4113,26 +4112,26 @@ var asr_Globals_getSettings = () => {
4113
4112
  var asr_Globals_getAsciiNonPrint = () => {
4114
4113
  let $anp;
4115
4114
  asr_Globals_$callClinit();
4116
- $anp = ju_HashMap_get(asr_Globals_getConfigProperties(), $rt_s(35));
4115
+ $anp = ju_HashMap_get(asr_Globals_getConfigProperties(), $rt_s(34));
4117
4116
  if ($anp === null)
4118
- $anp = $rt_s(36);
4119
- else if (jl_String_equals($anp, $rt_s(37)))
4120
- $anp = $rt_s(38);
4117
+ $anp = $rt_s(35);
4118
+ else if (jl_String_equals($anp, $rt_s(36)))
4119
+ $anp = $rt_s(37);
4121
4120
  return $anp;
4122
4121
  };
4123
4122
  var asr_Globals__clinit_ = () => {
4124
4123
  let var$1, var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, var$10;
4125
4124
  asr_Globals_debug = 0;
4126
- asr_Globals_userInputAlert = $rt_s(39);
4125
+ asr_Globals_userInputAlert = $rt_s(38);
4127
4126
  asr_Globals_initialized = 0;
4128
4127
  asr_Globals_$callClinit();
4129
- asr_Globals_maximumMessageCharacters = asrc_ConfigMap_getIntegerValue(asr_Globals_getConfigProperties(), $rt_s(25));
4130
- asr_Globals_maximumErrorMessages = asrc_ConfigMap_getIntegerValue(asr_Globals_getConfigProperties(), $rt_s(27));
4131
- asr_Globals_maximumBacksteps = asrc_ConfigMap_getIntegerValue(asr_Globals_getConfigProperties(), $rt_s(29));
4132
- asr_Globals_copyrightYears = $rt_s(40);
4133
- 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);
4134
4133
  asr_Globals_ASCII_NON_PRINT = asr_Globals_getAsciiNonPrint();
4135
- var$1 = ju_HashMap_get(asr_Globals_getConfigProperties(), $rt_s(33));
4134
+ var$1 = ju_HashMap_get(asr_Globals_getConfigProperties(), $rt_s(32));
4136
4135
  var$2 = asr_Globals_getAsciiNonPrint();
4137
4136
  if (var$1 === null) {
4138
4137
  var$3 = $rt_createArray(jl_String, 127);
@@ -4141,9 +4140,9 @@ var asr_Globals__clinit_ = () => {
4141
4140
  var$6 = var$4.length;
4142
4141
  while (var$5 < var$6) {
4143
4142
  if (!var$5)
4144
- var$4[var$5] = $rt_s(42);
4143
+ var$4[var$5] = $rt_s(41);
4145
4144
  else if (var$5 == 10)
4146
- var$4[var$5] = $rt_s(43);
4145
+ var$4[var$5] = $rt_s(42);
4147
4146
  else if (var$5 < 32)
4148
4147
  var$4[var$5] = var$2;
4149
4148
  else {
@@ -4157,7 +4156,7 @@ var asr_Globals__clinit_ = () => {
4157
4156
  var$5 = var$5 + 1 | 0;
4158
4157
  }
4159
4158
  } else {
4160
- var$3 = jl_String_split(var$1, $rt_s(44));
4159
+ var$3 = jl_String_split(var$1, $rt_s(43));
4161
4160
  var$5 = 0;
4162
4161
  var$6 = 0;
4163
4162
  while (true) {
@@ -4167,8 +4166,8 @@ var asr_Globals__clinit_ = () => {
4167
4166
  break;
4168
4167
  if (jl_String_equals(var$4[var$6], $rt_s(4)))
4169
4168
  var$4[var$6] = var$2;
4170
- if (jl_String_equals(var$4[var$6], $rt_s(37)))
4171
- 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);
4172
4171
  if (var$4[var$6].$nativeString.length > var$5)
4173
4172
  var$5 = var$4[var$6].$nativeString.length;
4174
4173
  var$6 = var$6 + 1 | 0;
@@ -4176,7 +4175,7 @@ var asr_Globals__clinit_ = () => {
4176
4175
  var$8 = var$5 + 1 | 0;
4177
4176
  var$9 = 0;
4178
4177
  while (var$9 < var$7) {
4179
- 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);
4180
4179
  var$10 = var$4[var$9];
4181
4180
  var$2 = new jl_StringBuilder();
4182
4181
  jl_AbstractStringBuilder__init_(var$2);
@@ -4209,7 +4208,7 @@ var asr_JsRISCVIO_callHandler = ($this, $name, $args) => {
4209
4208
  $handler = new jl_IllegalArgumentException();
4210
4209
  var$4 = new jl_StringBuilder();
4211
4210
  jl_AbstractStringBuilder__init_(var$4);
4212
- 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);
4213
4212
  jl_Throwable__init_0($handler, jl_AbstractStringBuilder_toString(var$4));
4214
4213
  $rt_throw($handler);
4215
4214
  }
@@ -4233,7 +4232,7 @@ var asr_JsRISCVIO_callHandler = ($this, $name, $args) => {
4233
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])));
4234
4233
  if (var$5 != 8) {
4235
4234
  $handler = new jl_IllegalArgumentException();
4236
- jl_Throwable__init_0($handler, $rt_s(47));
4235
+ jl_Throwable__init_0($handler, $rt_s(46));
4237
4236
  $rt_throw($handler);
4238
4237
  }
4239
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])));
@@ -4246,7 +4245,7 @@ var asr_JsRISCVIO_callIntHandler = ($this, $name, $args) => {
4246
4245
  $result = new jl_IllegalArgumentException();
4247
4246
  var$4 = new jl_StringBuilder();
4248
4247
  jl_AbstractStringBuilder__init_(var$4);
4249
- 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));
4250
4249
  jl_Throwable__init_0($result, jl_AbstractStringBuilder_toString(var$4));
4251
4250
  $rt_throw($result);
4252
4251
  };
@@ -4258,7 +4257,7 @@ var asr_JsRISCVIO_callStringHandler = ($this, $name, $args) => {
4258
4257
  $result = new jl_IllegalArgumentException();
4259
4258
  var$4 = new jl_StringBuilder();
4260
4259
  jl_AbstractStringBuilder__init_(var$4);
4261
- 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));
4262
4261
  jl_Throwable__init_0($result, jl_AbstractStringBuilder_toString(var$4));
4263
4262
  $rt_throw($result);
4264
4263
  };
@@ -4269,13 +4268,13 @@ var asr_JsRISCVIO_openFile = ($this, $filename, $flags, $append) => {
4269
4268
  var$5[0] = otji_JSWrapper_wrap($rt_ustr($filename));
4270
4269
  var$5[1] = otji_JSWrapper_wrap($flags);
4271
4270
  var$5[2] = otji_JSWrapper_wrap(!!$append);
4272
- return asr_JsRISCVIO_callIntHandler($this, $rt_s(51), var$4);
4271
+ return asr_JsRISCVIO_callIntHandler($this, $rt_s(50), var$4);
4273
4272
  };
4274
4273
  var asr_JsRISCVIO_closeFile = ($this, $fileDescriptor) => {
4275
4274
  let var$2;
4276
4275
  var$2 = $rt_createArray(jl_Object, 1);
4277
4276
  var$2.data[0] = otji_JSWrapper_wrap($fileDescriptor);
4278
- asr_JsRISCVIO_callHandler($this, $rt_s(52), var$2);
4277
+ asr_JsRISCVIO_callHandler($this, $rt_s(51), var$2);
4279
4278
  };
4280
4279
  var asr_JsRISCVIO_writeFile = ($this, $fileDescriptor, $buffer) => {
4281
4280
  let var$3, var$4, var$5;
@@ -4285,13 +4284,13 @@ var asr_JsRISCVIO_writeFile = ($this, $fileDescriptor, $buffer) => {
4285
4284
  var$5 = $rt_createArray($rt_arraycls($rt_bytecls), 1);
4286
4285
  var$5.data[0] = $buffer;
4287
4286
  var$4[1] = otji_JSWrapper_wrap(otjc_JSArray_of(var$5));
4288
- asr_JsRISCVIO_callHandler($this, $rt_s(53), var$3);
4287
+ asr_JsRISCVIO_callHandler($this, $rt_s(52), var$3);
4289
4288
  };
4290
4289
  var asr_JsRISCVIO_inputDialog = ($this, $message) => {
4291
4290
  let var$2;
4292
4291
  var$2 = $rt_createArray(jl_Object, 1);
4293
4292
  var$2.data[0] = otji_JSWrapper_wrap($rt_ustr($message));
4294
- return asr_JsRISCVIO_callStringHandler($this, $rt_s(54), var$2);
4293
+ return asr_JsRISCVIO_callStringHandler($this, $rt_s(53), var$2);
4295
4294
  };
4296
4295
  var asr_JsRISCVIO_outputDialog = ($this, $message, $type) => {
4297
4296
  let var$3, var$4;
@@ -4299,7 +4298,7 @@ var asr_JsRISCVIO_outputDialog = ($this, $message, $type) => {
4299
4298
  var$4 = var$3.data;
4300
4299
  var$4[0] = otji_JSWrapper_wrap($rt_ustr($message));
4301
4300
  var$4[1] = otji_JSWrapper_wrap($type);
4302
- asr_JsRISCVIO_callHandler($this, $rt_s(55), var$3);
4301
+ asr_JsRISCVIO_callHandler($this, $rt_s(54), var$3);
4303
4302
  };
4304
4303
  var asr_JsRISCVIO_stdIn = ($this, $buffer, $length) => {
4305
4304
  let var$3, var$4, var$5;
@@ -4309,7 +4308,7 @@ var asr_JsRISCVIO_stdIn = ($this, $buffer, $length) => {
4309
4308
  var$5.data[0] = $buffer;
4310
4309
  var$4[0] = otji_JSWrapper_wrap(otjc_JSArray_of(var$5));
4311
4310
  var$4[1] = otji_JSWrapper_wrap($length);
4312
- asr_JsRISCVIO_callHandler($this, $rt_s(56), var$3);
4311
+ asr_JsRISCVIO_callHandler($this, $rt_s(55), var$3);
4313
4312
  };
4314
4313
  var asr_JsRISCVIO_stdOut = ($this, $buffer) => {
4315
4314
  let var$2, var$3, var$4;
@@ -4318,7 +4317,7 @@ var asr_JsRISCVIO_stdOut = ($this, $buffer) => {
4318
4317
  var$4 = $rt_createArray($rt_arraycls($rt_bytecls), 1);
4319
4318
  var$4.data[0] = $buffer;
4320
4319
  var$3[0] = otji_JSWrapper_wrap(otjc_JSArray_of(var$4));
4321
- asr_JsRISCVIO_callHandler($this, $rt_s(57), var$2);
4320
+ asr_JsRISCVIO_callHandler($this, $rt_s(56), var$2);
4322
4321
  };
4323
4322
  var asr_JsRISCVIO_stdErr = ($this, $buffer) => {
4324
4323
  let var$2, var$3, var$4;
@@ -4327,7 +4326,7 @@ var asr_JsRISCVIO_stdErr = ($this, $buffer) => {
4327
4326
  var$4 = $rt_createArray($rt_arraycls($rt_bytecls), 1);
4328
4327
  var$4.data[0] = $buffer;
4329
4328
  var$3[0] = otji_JSWrapper_wrap(otjc_JSArray_of(var$4));
4330
- asr_JsRISCVIO_callHandler($this, $rt_s(58), var$2);
4329
+ asr_JsRISCVIO_callHandler($this, $rt_s(57), var$2);
4331
4330
  };
4332
4331
  var asrrf_RISCVFileSystem = $rt_classWithoutFields();
4333
4332
  function asrrf_MemoryFileSystem() {
@@ -4373,15 +4372,15 @@ var asrr_InstructionSet_populate = ($this) => {
4373
4372
  $mask = ju_AbstractList_iterator($maskMap);
4374
4373
  while (ju_AbstractList$1_hasNext($mask)) {
4375
4374
  $matchMaps = ju_AbstractList$1_next($mask);
4376
- 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) {
4377
4376
  $inst = $rt_s(3);
4378
- $basic = ju_StringTokenizer__init_($matchMaps, $rt_s(60));
4377
+ $basic = ju_StringTokenizer__init_($matchMaps, $rt_s(59));
4379
4378
  $maskMap = ju_StringTokenizer_nextToken($basic);
4380
4379
  $matchMaps = $rt_s(3);
4381
4380
  a: {
4382
4381
  while (ju_StringTokenizer_hasMoreTokens($basic)) {
4383
4382
  $match = ju_StringTokenizer_nextToken($basic);
4384
- if (jl_String_startsWith($match, $rt_s(59))) {
4383
+ if (jl_String_startsWith($match, $rt_s(58))) {
4385
4384
  $inst = jl_String_substring0($match, 1);
4386
4385
  break a;
4387
4386
  }
@@ -4406,7 +4405,7 @@ var asrr_InstructionSet_populate = ($this) => {
4406
4405
  asrr_Instruction_createExampleTokenList($inst);
4407
4406
  if ($matchMaps !== null && $matchMaps.$nativeString.length) {
4408
4407
  $maskMap = ju_ArrayList__init_();
4409
- $matchMap = ju_StringTokenizer__init_($matchMaps, $rt_s(43));
4408
+ $matchMap = ju_StringTokenizer__init_($matchMaps, $rt_s(42));
4410
4409
  while (ju_StringTokenizer_hasMoreTokens($matchMap)) {
4411
4410
  ju_ArrayList_add($maskMap, ju_StringTokenizer_nextToken($matchMap));
4412
4411
  }
@@ -4745,9 +4744,9 @@ var asrrh_Memory_allocateBytesFromHeap = ($this, $numBytes) => {
4745
4744
  var$3 = new jl_IllegalArgumentException();
4746
4745
  var$4 = new jl_StringBuilder();
4747
4746
  jl_AbstractStringBuilder__init_(var$4);
4748
- var$5 = jl_StringBuilder_append(var$4, $rt_s(61));
4747
+ var$5 = jl_StringBuilder_append(var$4, $rt_s(60));
4749
4748
  jl_AbstractStringBuilder_append(var$5, $numBytes);
4750
- jl_StringBuilder_append(var$5, $rt_s(62));
4749
+ jl_StringBuilder_append(var$5, $rt_s(61));
4751
4750
  jl_Throwable__init_0(var$3, jl_AbstractStringBuilder_toString(var$4));
4752
4751
  $rt_throw(var$3);
4753
4752
  }
@@ -4762,9 +4761,9 @@ var asrrh_Memory_allocateBytesFromHeap = ($this, $numBytes) => {
4762
4761
  var$3 = new jl_IllegalArgumentException();
4763
4762
  var$4 = new jl_StringBuilder();
4764
4763
  jl_AbstractStringBuilder__init_(var$4);
4765
- var$5 = jl_StringBuilder_append(var$4, $rt_s(61));
4764
+ var$5 = jl_StringBuilder_append(var$4, $rt_s(60));
4766
4765
  jl_AbstractStringBuilder_append(var$5, $numBytes);
4767
- jl_StringBuilder_append(var$5, $rt_s(63));
4766
+ jl_StringBuilder_append(var$5, $rt_s(62));
4768
4767
  jl_Throwable__init_0(var$3, jl_AbstractStringBuilder_toString(var$4));
4769
4768
  $rt_throw(var$3);
4770
4769
  };
@@ -4776,13 +4775,13 @@ var asrrh_Memory_set = ($this, $address, $value, $length) => {
4776
4775
  $oldStatement = jl_System_out();
4777
4776
  var$6 = new jl_StringBuilder();
4778
4777
  jl_AbstractStringBuilder__init_(var$6);
4779
- var$7 = jl_StringBuilder_append(var$6, $rt_s(64));
4778
+ var$7 = jl_StringBuilder_append(var$6, $rt_s(63));
4780
4779
  jl_AbstractStringBuilder_append(var$7, $address);
4781
- var$7 = jl_StringBuilder_append(var$7, $rt_s(65));
4780
+ var$7 = jl_StringBuilder_append(var$7, $rt_s(64));
4782
4781
  jl_AbstractStringBuilder_append(var$7, $value);
4783
4782
  jl_AbstractStringBuilder_append0(var$7, 40);
4784
4783
  jl_AbstractStringBuilder_append(var$7, $length);
4785
- jl_StringBuilder_append(var$7, $rt_s(66));
4784
+ jl_StringBuilder_append(var$7, $rt_s(65));
4786
4785
  var$6 = jl_AbstractStringBuilder_toString(var$6);
4787
4786
  otcic_JsConsolePrintStream_println($oldStatement, var$6);
4788
4787
  }
@@ -4806,13 +4805,13 @@ var asrrh_Memory_set = ($this, $address, $value, $length) => {
4806
4805
  var$9 = asrrh_Memory_storeBytesInTable($this, $this.$memoryMapBlockTable, $relativeByteAddress, $length, $value);
4807
4806
  break a;
4808
4807
  }
4809
- $rt_throw(asrrh_AddressErrorException__init_($rt_s(67), 7, $address));
4808
+ $rt_throw(asrrh_AddressErrorException__init_($rt_s(66), 7, $address));
4810
4809
  }
4811
4810
  if (!asr_Settings_getBooleanSetting(asr_Globals_getSettings(), asr_Settings$Bool_SELF_MODIFYING_CODE_ENABLED))
4812
- $rt_throw(asrrh_AddressErrorException__init_($rt_s(68), 7, $address));
4811
+ $rt_throw(asrrh_AddressErrorException__init_($rt_s(67), 7, $address));
4813
4812
  $relativeByteAddress = $address % 4 | 0;
4814
4813
  if (($relativeByteAddress + $length | 0) > 4)
4815
- $rt_throw(asrrh_AddressErrorException__init_($rt_s(69), 4, $address));
4814
+ $rt_throw(asrrh_AddressErrorException__init_($rt_s(68), 4, $address));
4816
4815
  var$10 = ($address / 4 | 0) * 4 | 0;
4817
4816
  $oldStatement = asrrh_Memory_getStatementNoNotify($this, var$10);
4818
4817
  if ($oldStatement !== null)
@@ -4852,10 +4851,10 @@ var asrrh_Memory_setRawWord = ($this, $address, $value) => {
4852
4851
  $oldValue = asrrh_Memory_storeWordInTable($this, $this.$memoryMapBlockTable, $relative, $value);
4853
4852
  break a;
4854
4853
  }
4855
- $rt_throw(asrrh_AddressErrorException__init_($rt_s(70), 7, $address));
4854
+ $rt_throw(asrrh_AddressErrorException__init_($rt_s(69), 7, $address));
4856
4855
  }
4857
4856
  if (!asr_Settings_getBooleanSetting(asr_Globals_getSettings(), asr_Settings$Bool_SELF_MODIFYING_CODE_ENABLED))
4858
- $rt_throw(asrrh_AddressErrorException__init_($rt_s(68), 7, $address));
4857
+ $rt_throw(asrrh_AddressErrorException__init_($rt_s(67), 7, $address));
4859
4858
  $oldStatement = asrrh_Memory_getStatementNoNotify($this, $address);
4860
4859
  if ($oldStatement !== null)
4861
4860
  $oldValue = $oldStatement.$binaryStatement;
@@ -4884,7 +4883,7 @@ var asrrh_Memory_setWord = ($this, $address, $value) => {
4884
4883
  var asrrh_Memory_setHalf = ($this, $address, $value) => {
4885
4884
  let var$3;
4886
4885
  if ($address % 2 | 0)
4887
- $rt_throw(asrrh_AddressErrorException__init_($rt_s(71), 6, $address));
4886
+ $rt_throw(asrrh_AddressErrorException__init_($rt_s(70), 6, $address));
4888
4887
  if (!asr_Settings_getBackSteppingEnabled(asr_Globals_getSettings()))
4889
4888
  $value = asrrh_Memory_set($this, $address, $value, 2);
4890
4889
  else {
@@ -4921,16 +4920,16 @@ var asrrh_Memory_setStatement = ($this, $address, $statement) => {
4921
4920
  let var$3, var$4, var$5, var$6, var$7;
4922
4921
  asrrh_Memory_checkStoreWordAligned($address);
4923
4922
  if (!asrrh_Memory_inTextSegment($address))
4924
- $rt_throw(asrrh_AddressErrorException__init_($rt_s(72), 7, $address));
4923
+ $rt_throw(asrrh_AddressErrorException__init_($rt_s(71), 7, $address));
4925
4924
  asr_Globals_$callClinit();
4926
4925
  if (asr_Globals_debug) {
4927
4926
  var$3 = jl_System_out();
4928
4927
  var$4 = $statement.$binaryStatement;
4929
4928
  var$5 = new jl_StringBuilder();
4930
4929
  jl_AbstractStringBuilder__init_(var$5);
4931
- var$6 = jl_StringBuilder_append(var$5, $rt_s(64));
4930
+ var$6 = jl_StringBuilder_append(var$5, $rt_s(63));
4932
4931
  jl_AbstractStringBuilder_append(var$6, $address);
4933
- 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);
4934
4933
  var$5 = jl_AbstractStringBuilder_toString(var$5);
4935
4934
  otcic_JsConsolePrintStream_println(var$3, var$5);
4936
4935
  }
@@ -4970,12 +4969,12 @@ var asrrh_Memory_get0 = ($this, $address, $length, $notify) => {
4970
4969
  $relativeByteAddress = asrrh_Memory_fetchBytesFromTable($this, $this.$memoryMapBlockTable, $relativeByteAddress, $length);
4971
4970
  } else {
4972
4971
  if (!asrrh_Memory_inTextSegment($address))
4973
- $rt_throw(asrrh_AddressErrorException__init_($rt_s(67), 5, $address));
4972
+ $rt_throw(asrrh_AddressErrorException__init_($rt_s(66), 5, $address));
4974
4973
  if (!asr_Settings_getBooleanSetting(asr_Globals_getSettings(), asr_Settings$Bool_SELF_MODIFYING_CODE_ENABLED))
4975
- $rt_throw(asrrh_AddressErrorException__init_($rt_s(73), 5, $address));
4974
+ $rt_throw(asrrh_AddressErrorException__init_($rt_s(72), 5, $address));
4976
4975
  var$6 = $address % 4 | 0;
4977
4976
  if ((var$6 + $length | 0) > 4)
4978
- $rt_throw(asrrh_AddressErrorException__init_($rt_s(74), 4, $address));
4977
+ $rt_throw(asrrh_AddressErrorException__init_($rt_s(73), 4, $address));
4979
4978
  $stmt = asrrh_Memory_getStatementNoNotify($this, ($address / 4 | 0) * 4 | 0);
4980
4979
  $relativeByteAddress = $stmt === null ? 0 : $length == 4 ? $stmt.$binaryStatement : $stmt.$binaryStatement >> (8 * var$6 | 0) & ((1 << ($length * 8 | 0)) - 1 | 0);
4981
4980
  }
@@ -4992,7 +4991,7 @@ var asrrh_Memory_getWord = ($this, $address) => {
4992
4991
  var asrrh_Memory_getHalf = ($this, $address) => {
4993
4992
  if (!($address % 2 | 0))
4994
4993
  return asrrh_Memory_get($this, $address, 2);
4995
- $rt_throw(asrrh_AddressErrorException__init_($rt_s(75), 4, $address));
4994
+ $rt_throw(asrrh_AddressErrorException__init_($rt_s(74), 4, $address));
4996
4995
  };
4997
4996
  var asrrh_Memory_getByte = ($this, $address) => {
4998
4997
  return asrrh_Memory_get($this, $address, 1);
@@ -5007,7 +5006,7 @@ var asrrh_Memory_getStatement0 = ($this, $address, $notify) => {
5007
5006
  let var$3, var$4, var$5, var$6, var$7;
5008
5007
  asrrh_Memory_checkLoadWordAligned($address);
5009
5008
  if (!asr_Settings_getBooleanSetting(asr_Globals_getSettings(), asr_Settings$Bool_SELF_MODIFYING_CODE_ENABLED) && !asrrh_Memory_inTextSegment($address))
5010
- $rt_throw(asrrh_AddressErrorException__init_($rt_s(76), 5, $address));
5009
+ $rt_throw(asrrh_AddressErrorException__init_($rt_s(75), 5, $address));
5011
5010
  if (!asrrh_Memory_inTextSegment($address))
5012
5011
  return asr_ProgramStatement__init_(asrrh_Memory_get($this, $address, 4), $address);
5013
5012
  var$3 = asrrh_Memory_textBaseAddress;
@@ -5041,13 +5040,13 @@ var asrrh_Memory_checkLoadWordAligned = ($address) => {
5041
5040
  asrrh_Memory_$callClinit();
5042
5041
  if (asrrh_Memory_wordAligned($address))
5043
5042
  return;
5044
- $rt_throw(asrrh_AddressErrorException__init_($rt_s(74), 4, $address));
5043
+ $rt_throw(asrrh_AddressErrorException__init_($rt_s(73), 4, $address));
5045
5044
  };
5046
5045
  var asrrh_Memory_checkStoreWordAligned = ($address) => {
5047
5046
  asrrh_Memory_$callClinit();
5048
5047
  if (asrrh_Memory_wordAligned($address))
5049
5048
  return;
5050
- $rt_throw(asrrh_AddressErrorException__init_($rt_s(77), 6, $address));
5049
+ $rt_throw(asrrh_AddressErrorException__init_($rt_s(76), 6, $address));
5051
5050
  };
5052
5051
  var asrrh_Memory_inTextSegment = ($address) => {
5053
5052
  asrrh_Memory_$callClinit();
@@ -5213,7 +5212,7 @@ var asra_SymbolTable_addSymbol = ($this, $token, $address, $b, $errors) => {
5213
5212
  $address = $token.$sourcePos;
5214
5213
  $token = new jl_StringBuilder();
5215
5214
  jl_AbstractStringBuilder__init_($token);
5216
- 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));
5217
5216
  asr_ErrorMessage__init_(var$6, var$7, $b, $address, jl_AbstractStringBuilder_toString($token));
5218
5217
  asr_ErrorList_add($errors, var$6);
5219
5218
  } else {
@@ -5229,9 +5228,9 @@ var asra_SymbolTable_addSymbol = ($this, $token, $address, $b, $errors) => {
5229
5228
  $errors = $this.$filename1;
5230
5229
  var$6 = new jl_StringBuilder();
5231
5230
  jl_AbstractStringBuilder__init_(var$6);
5232
- $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));
5233
5232
  jl_AbstractStringBuilder_append($label, $address);
5234
- 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));
5235
5234
  $errors = jl_AbstractStringBuilder_toString(var$6);
5236
5235
  otcic_JsConsolePrintStream_println($token, $errors);
5237
5236
  }
@@ -5306,7 +5305,7 @@ var asra_SymbolTable_clear = ($this) => {
5306
5305
  $this.$table = ju_ArrayList__init_();
5307
5306
  };
5308
5307
  var asra_SymbolTable__clinit_ = () => {
5309
- asra_SymbolTable_startLabel = $rt_s(18);
5308
+ asra_SymbolTable_startLabel = $rt_s(17);
5310
5309
  };
5311
5310
  function asr_Settings() {
5312
5311
  let a = this;
@@ -5350,27 +5349,27 @@ var asr_Settings__clinit_ = () => {
5350
5349
  var$1 = new asrc_SettingsProperties();
5351
5350
  ju_HashMap__init_0(var$1);
5352
5351
  var$2 = var$1;
5353
- ju_HashMap_put(var$2, $rt_s(84), $rt_s(85));
5354
- ju_HashMap_put(var$2, $rt_s(86), $rt_s(85));
5355
- ju_HashMap_put(var$2, $rt_s(87), $rt_s(85));
5356
- ju_HashMap_put(var$2, $rt_s(88), $rt_s(89));
5357
- ju_HashMap_put(var$2, $rt_s(90), $rt_s(85));
5358
- ju_HashMap_put(var$2, $rt_s(91), $rt_s(89));
5359
- ju_HashMap_put(var$2, $rt_s(92), $rt_s(89));
5360
- ju_HashMap_put(var$2, $rt_s(93), $rt_s(89));
5361
- ju_HashMap_put(var$2, $rt_s(94), $rt_s(89));
5362
- ju_HashMap_put(var$2, $rt_s(95), $rt_s(89));
5363
- ju_HashMap_put(var$2, $rt_s(96), $rt_s(85));
5364
- ju_HashMap_put(var$2, $rt_s(97), $rt_s(85));
5365
- ju_HashMap_put(var$2, $rt_s(98), $rt_s(85));
5366
- ju_HashMap_put(var$2, $rt_s(99), $rt_s(89));
5367
- ju_HashMap_put(var$2, $rt_s(100), $rt_s(85));
5368
- ju_HashMap_put(var$2, $rt_s(101), $rt_s(85));
5369
- ju_HashMap_put(var$2, $rt_s(102), $rt_s(89));
5370
- 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));
5371
5370
  asr_Settings_settingsProperties = var$1;
5372
- 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)]);
5373
- 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)]);
5374
5373
  };
5375
5374
  var ju_Map = $rt_classWithoutFields(0);
5376
5375
  function ju_AbstractMap() {
@@ -5463,26 +5462,26 @@ var ju_AbstractMap_toString = ($this) => {
5463
5462
  $e = ju_HashMap$EntryIterator_next($iter);
5464
5463
  $e_0 = $e.$key;
5465
5464
  if ($e_0 === $this)
5466
- $e_0 = $rt_s(114);
5465
+ $e_0 = $rt_s(113);
5467
5466
  jl_StringBuilder_append($sb, $e_0);
5468
5467
  jl_AbstractStringBuilder_append0($sb, 61);
5469
5468
  $e_0 = $e.$value0;
5470
5469
  if ($e_0 === $this)
5471
- $e_0 = $rt_s(114);
5470
+ $e_0 = $rt_s(113);
5472
5471
  jl_StringBuilder_append($sb, $e_0);
5473
5472
  }
5474
5473
  $e_0 = $iter;
5475
5474
  while (ju_HashMap$AbstractMapIterator_hasNext(var$3)) {
5476
- jl_AbstractStringBuilder_append1($sb, $rt_s(115));
5475
+ jl_AbstractStringBuilder_append1($sb, $rt_s(114));
5477
5476
  $e = ju_HashMap$EntryIterator_next($e_0);
5478
5477
  $iter = $e.$key;
5479
5478
  if ($iter === $this)
5480
- $iter = $rt_s(114);
5479
+ $iter = $rt_s(113);
5481
5480
  jl_StringBuilder_append($sb, $iter);
5482
5481
  jl_AbstractStringBuilder_append0($sb, 61);
5483
5482
  $iter = $e.$value0;
5484
5483
  if ($iter === $this)
5485
- $iter = $rt_s(114);
5484
+ $iter = $rt_s(113);
5486
5485
  jl_StringBuilder_append($sb, $iter);
5487
5486
  }
5488
5487
  jl_AbstractStringBuilder_append0($sb, 125);
@@ -5645,29 +5644,29 @@ var asru_SystemIO = $rt_classWithoutFields();
5645
5644
  var asru_SystemIO_fileErrorString = null;
5646
5645
  var asru_SystemIO_io = null;
5647
5646
  var asru_SystemIO_readInteger = ($serviceNumber) => {
5648
- 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));
5649
5648
  };
5650
5649
  var asru_SystemIO_readFloat = ($serviceNumber) => {
5651
5650
  let var$2, var$3;
5652
- 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));
5653
5652
  if (typeof var$2 === "number" ? 1 : 0)
5654
5653
  return var$2;
5655
5654
  var$2 = new jl_IllegalArgumentException();
5656
5655
  var$3 = new jl_StringBuilder();
5657
5656
  jl_AbstractStringBuilder__init_(var$3);
5658
- 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));
5659
5658
  jl_Throwable__init_0(var$2, jl_AbstractStringBuilder_toString(var$3));
5660
5659
  $rt_throw(var$2);
5661
5660
  };
5662
5661
  var asru_SystemIO_readDouble = ($serviceNumber) => {
5663
5662
  let var$2, var$3;
5664
- 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));
5665
5664
  if (typeof var$2 === "number" ? 1 : 0)
5666
5665
  return var$2;
5667
5666
  var$2 = new jl_IllegalArgumentException();
5668
5667
  var$3 = new jl_StringBuilder();
5669
5668
  jl_AbstractStringBuilder__init_(var$3);
5670
- 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));
5671
5670
  jl_Throwable__init_0(var$2, jl_AbstractStringBuilder_toString(var$3));
5672
5671
  $rt_throw(var$2);
5673
5672
  };
@@ -5676,11 +5675,11 @@ var asru_SystemIO_printString = ($string) => {
5676
5675
  var$2 = asru_SystemIO_io;
5677
5676
  var$3 = $rt_createArray(jl_Object, 1);
5678
5677
  var$3.data[0] = otji_JSWrapper_wrap($rt_ustr($string));
5679
- asr_JsRISCVIO_callHandler(var$2, $rt_s(121), var$3);
5678
+ asr_JsRISCVIO_callHandler(var$2, $rt_s(120), var$3);
5680
5679
  };
5681
5680
  var asru_SystemIO_readChar = ($serviceNumber) => {
5682
5681
  let $input, $e, var$4, $$je;
5683
- $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));
5684
5683
  if ($input.$nativeString.length == 1) {
5685
5684
  $input = jl_String_valueOf1(jl_String_charAt($input, 0));
5686
5685
  a: {
@@ -5702,7 +5701,7 @@ var asru_SystemIO_readChar = ($serviceNumber) => {
5702
5701
  $input = new jl_IllegalArgumentException();
5703
5702
  var$4 = new jl_StringBuilder();
5704
5703
  jl_AbstractStringBuilder__init_(var$4);
5705
- 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));
5706
5705
  jl_Throwable__init_0($input, jl_AbstractStringBuilder_toString(var$4));
5707
5706
  $rt_throw($input);
5708
5707
  };
@@ -5714,9 +5713,9 @@ var asru_SystemIO_resetFiles = () => {
5714
5713
  var$1 = var$1 + 1 | 0;
5715
5714
  }
5716
5715
  var$2 = asru_SystemIO$FileIOData_fileNames.data;
5717
- var$2[0] = $rt_s(124);
5718
- var$2[1] = $rt_s(125);
5719
- 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);
5720
5719
  var$2 = asru_SystemIO$FileIOData_fileFlags.data;
5721
5720
  var$2[0] = 0;
5722
5721
  var$2[1] = 1;
@@ -5732,7 +5731,7 @@ var asru_SystemIO_resetFiles = () => {
5732
5731
  otcic_JsConsolePrintStream_flush(jl_System_err());
5733
5732
  };
5734
5733
  var asru_SystemIO__clinit_ = () => {
5735
- asru_SystemIO_fileErrorString = jl_String__init_0($rt_s(127));
5734
+ asru_SystemIO_fileErrorString = jl_String__init_0($rt_s(126));
5736
5735
  };
5737
5736
  function asr_RISCVprogram() {
5738
5737
  let a = this;
@@ -5783,7 +5782,7 @@ var asr_RISCVprogram_readSource = ($this, $file, $source) => {
5783
5782
  let var$3, var$4;
5784
5783
  $this.$filename = $file;
5785
5784
  var$3 = new ju_ArrayList();
5786
- var$4 = jl_String_split($source, $rt_s(43));
5785
+ var$4 = jl_String_split($source, $rt_s(42));
5787
5786
  ju_Objects_requireNonNull(var$4);
5788
5787
  $file = new ju_Arrays$ArrayAsList();
5789
5788
  $file.$array3 = var$4;
@@ -6145,7 +6144,7 @@ var jl_Enum_compareTo = ($this, var$1) => {
6145
6144
  var$1 = jl_String_valueOf(jl_Enum_getDeclaringClass(var$1));
6146
6145
  var$4 = new jl_StringBuilder();
6147
6146
  jl_AbstractStringBuilder__init_(var$4);
6148
- 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);
6149
6148
  jl_Throwable__init_0(var$2, jl_AbstractStringBuilder_toString(var$4));
6150
6149
  $rt_throw(var$2);
6151
6150
  };
@@ -6199,28 +6198,28 @@ var asr_Settings$Bool_getName = ($this) => {
6199
6198
  };
6200
6199
  var asr_Settings$Bool__clinit_ = () => {
6201
6200
  let var$1, var$2, var$3;
6202
- asr_Settings$Bool_EXTENDED_ASSEMBLER_ENABLED = asr_Settings$Bool__init_($rt_s(130), 0, $rt_s(95), 1);
6203
- asr_Settings$Bool_ASSEMBLE_ON_OPEN = asr_Settings$Bool__init_($rt_s(131), 1, $rt_s(86), 0);
6204
- asr_Settings$Bool_ASSEMBLE_OPEN = asr_Settings$Bool__init_($rt_s(132), 2, $rt_s(133), 0);
6205
- asr_Settings$Bool_ASSEMBLE_ALL = asr_Settings$Bool__init_($rt_s(134), 3, $rt_s(84), 0);
6206
- asr_Settings$Bool_LABEL_WINDOW_VISIBILITY = asr_Settings$Bool__init_($rt_s(135), 4, $rt_s(96), 0);
6207
- asr_Settings$Bool_DISPLAY_ADDRESSES_IN_HEX = asr_Settings$Bool__init_($rt_s(136), 5, $rt_s(91), 1);
6208
- asr_Settings$Bool_DISPLAY_VALUES_IN_HEX = asr_Settings$Bool__init_($rt_s(137), 6, $rt_s(92), 1);
6209
- asr_Settings$Bool_EXCEPTION_HANDLER_ENABLED = asr_Settings$Bool__init_($rt_s(138), 7, $rt_s(97), 0);
6210
- asr_Settings$Bool_EDITOR_LINE_NUMBERS_DISPLAYED = asr_Settings$Bool__init_($rt_s(139), 8, $rt_s(94), 1);
6211
- asr_Settings$Bool_WARNINGS_ARE_ERRORS = asr_Settings$Bool__init_($rt_s(140), 9, $rt_s(101), 0);
6212
- asr_Settings$Bool_PROGRAM_ARGUMENTS = asr_Settings$Bool__init_($rt_s(141), 10, $rt_s(98), 0);
6213
- asr_Settings$Bool_DATA_SEGMENT_HIGHLIGHTING = asr_Settings$Bool__init_($rt_s(142), 11, $rt_s(88), 1);
6214
- asr_Settings$Bool_REGISTERS_HIGHLIGHTING = asr_Settings$Bool__init_($rt_s(143), 12, $rt_s(99), 1);
6215
- asr_Settings$Bool_START_AT_MAIN = asr_Settings$Bool__init_($rt_s(144), 13, $rt_s(100), 0);
6216
- asr_Settings$Bool_EDITOR_CURRENT_LINE_HIGHLIGHTING = asr_Settings$Bool__init_($rt_s(145), 14, $rt_s(93), 1);
6217
- asr_Settings$Bool_POPUP_INSTRUCTION_GUIDANCE = asr_Settings$Bool__init_($rt_s(146), 15, $rt_s(102), 1);
6218
- asr_Settings$Bool_POPUP_SYSCALL_INPUT = asr_Settings$Bool__init_($rt_s(147), 16, $rt_s(148), 0);
6219
- asr_Settings$Bool_GENERIC_TEXT_EDITOR = asr_Settings$Bool__init_($rt_s(149), 17, $rt_s(150), 0);
6220
- asr_Settings$Bool_AUTO_INDENT = asr_Settings$Bool__init_($rt_s(151), 18, $rt_s(152), 1);
6221
- asr_Settings$Bool_SELF_MODIFYING_CODE_ENABLED = asr_Settings$Bool__init_($rt_s(153), 19, $rt_s(154), 0);
6222
- asr_Settings$Bool_RV64_ENABLED = asr_Settings$Bool__init_($rt_s(155), 20, $rt_s(156), 0);
6223
- 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);
6224
6223
  asr_Settings$Bool_DERIVE_CURRENT_WORKING_DIRECTORY = var$1;
6225
6224
  var$2 = $rt_createArray(asr_Settings$Bool, 22);
6226
6225
  var$3 = var$2.data;
@@ -6261,9 +6260,9 @@ var asrrh_MemoryConfigurations_buildConfigurationCollection = () => {
6261
6260
  if (asrrh_MemoryConfigurations_configurations === null) {
6262
6261
  var$1 = ju_ArrayList__init_();
6263
6262
  asrrh_MemoryConfigurations_configurations = var$1;
6264
- ju_ArrayList_add(var$1, asrrh_MemoryConfiguration__init_($rt_s(159), $rt_s(159), asrrh_MemoryConfigurations_configurationItemNames, asrrh_MemoryConfigurations_defaultConfigurationItemValues));
6265
- ju_ArrayList_add(asrrh_MemoryConfigurations_configurations, asrrh_MemoryConfiguration__init_($rt_s(160), $rt_s(161), asrrh_MemoryConfigurations_configurationItemNames, asrrh_MemoryConfigurations_dataBasedCompactConfigurationItemValues));
6266
- 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));
6267
6266
  var$2 = ju_ArrayList_get(asrrh_MemoryConfigurations_configurations, 0);
6268
6267
  asrrh_MemoryConfigurations_defaultConfiguration = var$2;
6269
6268
  asrrh_MemoryConfigurations_currentConfiguration = var$2;
@@ -6285,8 +6284,8 @@ var asrrh_MemoryConfigurations_buildConfigurationCollection = () => {
6285
6284
  if (var$2 !== null && var$2 !== asrrh_MemoryConfigurations_currentConfiguration) {
6286
6285
  asrrh_MemoryConfigurations_currentConfiguration = var$2;
6287
6286
  asrrh_Memory_clear(asr_Globals_memory);
6288
- asrrh_Register_changeResetValue(asrrh_RegisterFile_getRegister($rt_s(164)), Long_fromInt(asrrh_MemoryConfiguration_getGlobalPointer(var$2)));
6289
- 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)));
6290
6289
  asrrh_Register_changeResetValue(asrrh_RegisterFile_programCounter, Long_fromInt(asrrh_MemoryConfiguration_getTextBaseAddress(var$2)));
6291
6290
  asrrh_RegisterFile_initializeProgramCounter(asrrh_MemoryConfiguration_getTextBaseAddress(var$2));
6292
6291
  asrrh_RegisterFile_resetRegisters();
@@ -6334,10 +6333,10 @@ var jl_Boolean_valueOf = ($value) => {
6334
6333
  return !$value ? jl_Boolean_FALSE : jl_Boolean_TRUE;
6335
6334
  };
6336
6335
  var jl_Boolean_valueOf0 = ($value) => {
6337
- 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);
6338
6337
  };
6339
6338
  var jl_Boolean_toString = ($this) => {
6340
- return !$this.$value4 ? $rt_s(85) : $rt_s(89);
6339
+ return !$this.$value4 ? $rt_s(84) : $rt_s(88);
6341
6340
  };
6342
6341
  var jl_Boolean_equals = ($this, $obj) => {
6343
6342
  if ($this === $obj)
@@ -6767,7 +6766,7 @@ var asr_ProgramStatement_toString = ($this) => {
6767
6766
  jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(var$5, var$3), var$2), $rt_s(198)), var$4);
6768
6767
  var$2 = jl_AbstractStringBuilder_toString(var$5);
6769
6768
  } else {
6770
- $firstSpace = jl_String_indexOf0(var$2, $rt_s(38));
6769
+ $firstSpace = jl_String_indexOf0(var$2, $rt_s(37));
6771
6770
  var$2 = jl_String_substring($rt_s(197), 0, 16 - var$3.$nativeString.length | 0);
6772
6771
  var$4 = jl_String_substring($this.$basicAssemblyStatement, 0, $firstSpace);
6773
6772
  var$5 = new jl_StringBuilder();
@@ -7094,6 +7093,10 @@ var asrrh_RegisterFile_initializeProgramCounter0 = ($startAtMain) => {
7094
7093
  else
7095
7094
  asrrh_RegisterFile_initializeProgramCounter(Long_lo(asrrh_RegisterFile_programCounter.$resetValue0));
7096
7095
  };
7096
+ var asrrh_RegisterFile_getStackPointerRegister = () => {
7097
+ asrrh_RegisterFile_$callClinit();
7098
+ return asrrh_RegisterBlock_getRegister(asrrh_RegisterFile_instance, $rt_s(164));
7099
+ };
7097
7100
  var asrrh_RegisterFile_setProgramCounter = ($value) => {
7098
7101
  let $old, var$3;
7099
7102
  asrrh_RegisterFile_$callClinit();
@@ -7130,9 +7133,9 @@ var asrrh_RegisterFile__clinit_ = () => {
7130
7133
  var$3[1] = asrrh_Register__init_($rt_s(214), 1, Long_ZERO);
7131
7134
  var$4 = new asrrh_Register();
7132
7135
  asrrh_Memory_$callClinit();
7133
- 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));
7134
7137
  var$3[2] = var$4;
7135
- 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));
7136
7139
  var$3[4] = asrrh_Register__init_($rt_s(215), 4, Long_ZERO);
7137
7140
  var$3[5] = asrrh_Register__init_($rt_s(216), 5, Long_ZERO);
7138
7141
  var$3[6] = asrrh_Register__init_($rt_s(217), 6, Long_ZERO);
@@ -7276,6 +7279,260 @@ var asr_JsProgramStatement_getBinaryStatement$exported$4 = (var$1) => {
7276
7279
  var asr_JsProgramStatement_getMachineStatement$exported$5 = (var$1) => {
7277
7280
  return $rt_ustr(var$1.$machineStatement0);
7278
7281
  };
7282
+ var ju_Arrays = $rt_classWithoutFields();
7283
+ var ju_Arrays_copyOf1 = ($array, $length) => {
7284
+ let $result, var$4, $sz, $i;
7285
+ $array = $array.data;
7286
+ $result = $rt_createCharArray($length);
7287
+ var$4 = $result.data;
7288
+ $sz = jl_Math_min($length, $array.length);
7289
+ $i = 0;
7290
+ while ($i < $sz) {
7291
+ var$4[$i] = $array[$i];
7292
+ $i = $i + 1 | 0;
7293
+ }
7294
+ return $result;
7295
+ };
7296
+ var ju_Arrays_copyOf0 = ($array, $length) => {
7297
+ let $result, var$4, $sz, $i;
7298
+ $array = $array.data;
7299
+ $result = $rt_createByteArray($length);
7300
+ var$4 = $result.data;
7301
+ $sz = jl_Math_min($length, $array.length);
7302
+ $i = 0;
7303
+ while ($i < $sz) {
7304
+ var$4[$i] = $array[$i];
7305
+ $i = $i + 1 | 0;
7306
+ }
7307
+ return $result;
7308
+ };
7309
+ var ju_Arrays_copyOf2 = ($array, $length) => {
7310
+ let $result, var$4, $sz, $i;
7311
+ $array = $array.data;
7312
+ $result = $rt_createIntArray($length);
7313
+ var$4 = $result.data;
7314
+ $sz = jl_Math_min($length, $array.length);
7315
+ $i = 0;
7316
+ while ($i < $sz) {
7317
+ var$4[$i] = $array[$i];
7318
+ $i = $i + 1 | 0;
7319
+ }
7320
+ return $result;
7321
+ };
7322
+ var ju_Arrays_copyOf = ($original, $newLength) => {
7323
+ let var$3, $result, $sz, $i;
7324
+ var$3 = $original.data;
7325
+ $result = jlr_Array_newInstance(jl_Class_getComponentType(jl_Object_getClass($original)), $newLength);
7326
+ $sz = jl_Math_min($newLength, var$3.length);
7327
+ $i = 0;
7328
+ while ($i < $sz) {
7329
+ $result.data[$i] = var$3[$i];
7330
+ $i = $i + 1 | 0;
7331
+ }
7332
+ return $result;
7333
+ };
7334
+ var ju_Arrays_fill0 = ($a, $fromIndex, $toIndex, $val) => {
7335
+ let var$5, var$6, var$7;
7336
+ if ($fromIndex > $toIndex) {
7337
+ var$5 = new jl_IllegalArgumentException();
7338
+ jl_Throwable__init_(var$5);
7339
+ $rt_throw(var$5);
7340
+ }
7341
+ while ($fromIndex < $toIndex) {
7342
+ var$6 = $a.data;
7343
+ var$7 = $fromIndex + 1 | 0;
7344
+ var$6[$fromIndex] = $val;
7345
+ $fromIndex = var$7;
7346
+ }
7347
+ };
7348
+ var ju_Arrays_fill = ($a, $val) => {
7349
+ ju_Arrays_fill0($a, 0, $a.data.length, $val);
7350
+ };
7351
+ var ju_Arrays_sort = ($a) => {
7352
+ let var$2, $second, $chunkSize, var$5, $i, var$7, var$8, var$9, $i_0, var$11, var$12, var$13, var$14, var$15, var$16, var$17;
7353
+ var$2 = $a.data.length;
7354
+ if (!var$2)
7355
+ return;
7356
+ $second = $rt_createIntArray(var$2);
7357
+ $chunkSize = 1;
7358
+ var$5 = $a;
7359
+ while ($chunkSize < var$2) {
7360
+ $i = 0;
7361
+ while (true) {
7362
+ var$7 = var$5.data;
7363
+ var$8 = var$7.length;
7364
+ if ($i >= var$8)
7365
+ break;
7366
+ var$9 = jl_Math_min(var$8, $i + $chunkSize | 0);
7367
+ $i_0 = $i + (2 * $chunkSize | 0) | 0;
7368
+ var$8 = jl_Math_min(var$8, $i_0);
7369
+ var$11 = $i;
7370
+ var$12 = var$9;
7371
+ a: {
7372
+ b: {
7373
+ while ($i != var$9) {
7374
+ if (var$12 == var$8)
7375
+ break b;
7376
+ var$13 = var$7[$i];
7377
+ var$14 = var$7[var$12];
7378
+ if (var$13 > var$14) {
7379
+ var$15 = $second.data;
7380
+ var$16 = var$11 + 1 | 0;
7381
+ var$15[var$11] = var$14;
7382
+ var$12 = var$12 + 1 | 0;
7383
+ } else {
7384
+ var$15 = $second.data;
7385
+ var$16 = var$11 + 1 | 0;
7386
+ var$15[var$11] = var$13;
7387
+ $i = $i + 1 | 0;
7388
+ }
7389
+ var$11 = var$16;
7390
+ }
7391
+ while (true) {
7392
+ if (var$12 >= var$8)
7393
+ break a;
7394
+ var$15 = $second.data;
7395
+ var$17 = var$11 + 1 | 0;
7396
+ $i = var$12 + 1 | 0;
7397
+ var$15[var$11] = var$7[var$12];
7398
+ var$11 = var$17;
7399
+ var$12 = $i;
7400
+ }
7401
+ }
7402
+ while (true) {
7403
+ if ($i >= var$9)
7404
+ break a;
7405
+ var$15 = $second.data;
7406
+ var$17 = var$11 + 1 | 0;
7407
+ var$8 = $i + 1 | 0;
7408
+ var$15[var$11] = var$7[$i];
7409
+ var$11 = var$17;
7410
+ $i = var$8;
7411
+ }
7412
+ }
7413
+ $i = $i_0;
7414
+ }
7415
+ $chunkSize = $chunkSize * 2 | 0;
7416
+ var$15 = var$5;
7417
+ var$5 = $second;
7418
+ $second = var$15;
7419
+ }
7420
+ c: {
7421
+ if (var$5 !== $a) {
7422
+ $i_0 = 0;
7423
+ while (true) {
7424
+ $a = var$5.data;
7425
+ if ($i_0 >= $a.length)
7426
+ break c;
7427
+ $second.data[$i_0] = $a[$i_0];
7428
+ $i_0 = $i_0 + 1 | 0;
7429
+ }
7430
+ }
7431
+ }
7432
+ };
7433
+ var ju_Arrays_binarySearch = ($a, $key) => {
7434
+ let var$3, var$4, var$5, var$6, var$7;
7435
+ $a = $a.data;
7436
+ var$3 = 0;
7437
+ var$4 = $a.length;
7438
+ if (var$3 > var$4) {
7439
+ var$5 = new jl_IllegalArgumentException();
7440
+ jl_Throwable__init_(var$5);
7441
+ $rt_throw(var$5);
7442
+ }
7443
+ var$6 = var$4 - 1 | 0;
7444
+ a: {
7445
+ while (true) {
7446
+ if (var$3 > var$6) {
7447
+ var$4 = (-var$3 | 0) - 1 | 0;
7448
+ break a;
7449
+ }
7450
+ var$4 = (var$3 + var$6 | 0) / 2 | 0;
7451
+ var$7 = $a[var$4];
7452
+ if (var$7 == $key)
7453
+ break;
7454
+ if ($key >= var$7)
7455
+ var$3 = var$4 + 1 | 0;
7456
+ else
7457
+ var$6 = var$4 - 1 | 0;
7458
+ }
7459
+ }
7460
+ return var$4;
7461
+ };
7462
+ var ju_Arrays_stream = ($array) => {
7463
+ let var$2, var$3, var$4;
7464
+ var$2 = $array.data;
7465
+ var$3 = new jusi_ArrayStreamImpl();
7466
+ var$4 = var$2.length;
7467
+ var$3.$array6 = $array;
7468
+ var$3.$index1 = 0;
7469
+ var$3.$end1 = var$4;
7470
+ var$3.$size2 = var$4 - 0 | 0;
7471
+ return var$3;
7472
+ };
7473
+ var juf_ToIntFunction = $rt_classWithoutFields(0);
7474
+ var asr_JsRiscV$getRegistersValues$lambda$_20_0 = $rt_classWithoutFields();
7475
+ var asr_JsRiscV$getUndoStack$lambda$_21_0 = $rt_classWithoutFields();
7476
+ var asr_JsRiscV$getUndoStack$lambda$_21_0_apply = (var$0, var$1) => {
7477
+ let var$2, var$3;
7478
+ var$1 = var$1;
7479
+ var$2 = new asr_JsBackStep();
7480
+ var$3 = var$1.$action;
7481
+ var$2.$action0 = var$3 === null ? -1 : var$3.$ordinal0;
7482
+ var$2.$pc2 = var$1.$pc1;
7483
+ var$2.$param10 = var$1.$param1;
7484
+ var$2.$param20 = Long_lo(var$1.$param2);
7485
+ return var$2;
7486
+ };
7487
+ var asr_JsRiscV$getUndoStack$lambda$_21_1 = $rt_classWithoutFields();
7488
+ var asr_JsRiscV$getUndoStack$lambda$_21_1_apply = (var$0, var$1) => {
7489
+ asr_JsRiscV_$callClinit();
7490
+ return $rt_createArray(asr_JsBackStep, var$1);
7491
+ };
7492
+ function asr_JsBackStep() {
7493
+ let a = this;
7494
+ jl_Object.call(a);
7495
+ a.$action0 = 0;
7496
+ a.$pc2 = 0;
7497
+ a.$param10 = 0;
7498
+ a.$param20 = 0;
7499
+ }
7500
+ var asr_JsBackStep_getPc$exported$0 = (var$1) => {
7501
+ return var$1.$pc2;
7502
+ };
7503
+ var asr_JsBackStep_getParam2$exported$1 = (var$1) => {
7504
+ return var$1.$param20;
7505
+ };
7506
+ var asr_JsBackStep_getAction$exported$2 = (var$1) => {
7507
+ return var$1.$action0;
7508
+ };
7509
+ var asr_JsBackStep_getParam1$exported$3 = (var$1) => {
7510
+ return var$1.$param10;
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
+ };
7279
7536
  function asr_JsCompilationResult() {
7280
7537
  let a = this;
7281
7538
  jl_Object.call(a);
@@ -7338,260 +7595,6 @@ var asr_AssemblyException__init_ = (var_0) => {
7338
7595
  asr_AssemblyException__init_0(var_1, var_0);
7339
7596
  return var_1;
7340
7597
  };
7341
- function asr_JsStackFrame() {
7342
- let a = this;
7343
- jl_Object.call(a);
7344
- a.$pc3 = 0;
7345
- a.$toAddress = 0;
7346
- a.$sp = 0;
7347
- a.$fp = 0;
7348
- a.$registers = null;
7349
- }
7350
- var asr_JsStackFrame_getPc$exported$0 = (var$1) => {
7351
- return var$1.$pc3;
7352
- };
7353
- var asr_JsStackFrame_getToAddress$exported$1 = (var$1) => {
7354
- return var$1.$toAddress;
7355
- };
7356
- var asr_JsStackFrame_getRegisters$exported$2 = (var$1) => {
7357
- return otji_JS_wrap0(var$1.$registers);
7358
- };
7359
- var asr_JsStackFrame_getSp$exported$3 = (var$1) => {
7360
- return var$1.$sp;
7361
- };
7362
- var asr_JsStackFrame_getFp$exported$4 = (var$1) => {
7363
- return var$1.$fp;
7364
- };
7365
- var ju_Arrays = $rt_classWithoutFields();
7366
- var ju_Arrays_copyOf1 = ($array, $length) => {
7367
- let $result, var$4, $sz, $i;
7368
- $array = $array.data;
7369
- $result = $rt_createCharArray($length);
7370
- var$4 = $result.data;
7371
- $sz = jl_Math_min($length, $array.length);
7372
- $i = 0;
7373
- while ($i < $sz) {
7374
- var$4[$i] = $array[$i];
7375
- $i = $i + 1 | 0;
7376
- }
7377
- return $result;
7378
- };
7379
- var ju_Arrays_copyOf0 = ($array, $length) => {
7380
- let $result, var$4, $sz, $i;
7381
- $array = $array.data;
7382
- $result = $rt_createByteArray($length);
7383
- var$4 = $result.data;
7384
- $sz = jl_Math_min($length, $array.length);
7385
- $i = 0;
7386
- while ($i < $sz) {
7387
- var$4[$i] = $array[$i];
7388
- $i = $i + 1 | 0;
7389
- }
7390
- return $result;
7391
- };
7392
- var ju_Arrays_copyOf2 = ($array, $length) => {
7393
- let $result, var$4, $sz, $i;
7394
- $array = $array.data;
7395
- $result = $rt_createIntArray($length);
7396
- var$4 = $result.data;
7397
- $sz = jl_Math_min($length, $array.length);
7398
- $i = 0;
7399
- while ($i < $sz) {
7400
- var$4[$i] = $array[$i];
7401
- $i = $i + 1 | 0;
7402
- }
7403
- return $result;
7404
- };
7405
- var ju_Arrays_copyOf = ($original, $newLength) => {
7406
- let var$3, $result, $sz, $i;
7407
- var$3 = $original.data;
7408
- $result = jlr_Array_newInstance(jl_Class_getComponentType(jl_Object_getClass($original)), $newLength);
7409
- $sz = jl_Math_min($newLength, var$3.length);
7410
- $i = 0;
7411
- while ($i < $sz) {
7412
- $result.data[$i] = var$3[$i];
7413
- $i = $i + 1 | 0;
7414
- }
7415
- return $result;
7416
- };
7417
- var ju_Arrays_fill0 = ($a, $fromIndex, $toIndex, $val) => {
7418
- let var$5, var$6, var$7;
7419
- if ($fromIndex > $toIndex) {
7420
- var$5 = new jl_IllegalArgumentException();
7421
- jl_Throwable__init_(var$5);
7422
- $rt_throw(var$5);
7423
- }
7424
- while ($fromIndex < $toIndex) {
7425
- var$6 = $a.data;
7426
- var$7 = $fromIndex + 1 | 0;
7427
- var$6[$fromIndex] = $val;
7428
- $fromIndex = var$7;
7429
- }
7430
- };
7431
- var ju_Arrays_fill = ($a, $val) => {
7432
- ju_Arrays_fill0($a, 0, $a.data.length, $val);
7433
- };
7434
- var ju_Arrays_sort = ($a) => {
7435
- let var$2, $second, $chunkSize, var$5, $i, var$7, var$8, var$9, $i_0, var$11, var$12, var$13, var$14, var$15, var$16, var$17;
7436
- var$2 = $a.data.length;
7437
- if (!var$2)
7438
- return;
7439
- $second = $rt_createIntArray(var$2);
7440
- $chunkSize = 1;
7441
- var$5 = $a;
7442
- while ($chunkSize < var$2) {
7443
- $i = 0;
7444
- while (true) {
7445
- var$7 = var$5.data;
7446
- var$8 = var$7.length;
7447
- if ($i >= var$8)
7448
- break;
7449
- var$9 = jl_Math_min(var$8, $i + $chunkSize | 0);
7450
- $i_0 = $i + (2 * $chunkSize | 0) | 0;
7451
- var$8 = jl_Math_min(var$8, $i_0);
7452
- var$11 = $i;
7453
- var$12 = var$9;
7454
- a: {
7455
- b: {
7456
- while ($i != var$9) {
7457
- if (var$12 == var$8)
7458
- break b;
7459
- var$13 = var$7[$i];
7460
- var$14 = var$7[var$12];
7461
- if (var$13 > var$14) {
7462
- var$15 = $second.data;
7463
- var$16 = var$11 + 1 | 0;
7464
- var$15[var$11] = var$14;
7465
- var$12 = var$12 + 1 | 0;
7466
- } else {
7467
- var$15 = $second.data;
7468
- var$16 = var$11 + 1 | 0;
7469
- var$15[var$11] = var$13;
7470
- $i = $i + 1 | 0;
7471
- }
7472
- var$11 = var$16;
7473
- }
7474
- while (true) {
7475
- if (var$12 >= var$8)
7476
- break a;
7477
- var$15 = $second.data;
7478
- var$17 = var$11 + 1 | 0;
7479
- $i = var$12 + 1 | 0;
7480
- var$15[var$11] = var$7[var$12];
7481
- var$11 = var$17;
7482
- var$12 = $i;
7483
- }
7484
- }
7485
- while (true) {
7486
- if ($i >= var$9)
7487
- break a;
7488
- var$15 = $second.data;
7489
- var$17 = var$11 + 1 | 0;
7490
- var$8 = $i + 1 | 0;
7491
- var$15[var$11] = var$7[$i];
7492
- var$11 = var$17;
7493
- $i = var$8;
7494
- }
7495
- }
7496
- $i = $i_0;
7497
- }
7498
- $chunkSize = $chunkSize * 2 | 0;
7499
- var$15 = var$5;
7500
- var$5 = $second;
7501
- $second = var$15;
7502
- }
7503
- c: {
7504
- if (var$5 !== $a) {
7505
- $i_0 = 0;
7506
- while (true) {
7507
- $a = var$5.data;
7508
- if ($i_0 >= $a.length)
7509
- break c;
7510
- $second.data[$i_0] = $a[$i_0];
7511
- $i_0 = $i_0 + 1 | 0;
7512
- }
7513
- }
7514
- }
7515
- };
7516
- var ju_Arrays_binarySearch = ($a, $key) => {
7517
- let var$3, var$4, var$5, var$6, var$7;
7518
- $a = $a.data;
7519
- var$3 = 0;
7520
- var$4 = $a.length;
7521
- if (var$3 > var$4) {
7522
- var$5 = new jl_IllegalArgumentException();
7523
- jl_Throwable__init_(var$5);
7524
- $rt_throw(var$5);
7525
- }
7526
- var$6 = var$4 - 1 | 0;
7527
- a: {
7528
- while (true) {
7529
- if (var$3 > var$6) {
7530
- var$4 = (-var$3 | 0) - 1 | 0;
7531
- break a;
7532
- }
7533
- var$4 = (var$3 + var$6 | 0) / 2 | 0;
7534
- var$7 = $a[var$4];
7535
- if (var$7 == $key)
7536
- break;
7537
- if ($key >= var$7)
7538
- var$3 = var$4 + 1 | 0;
7539
- else
7540
- var$6 = var$4 - 1 | 0;
7541
- }
7542
- }
7543
- return var$4;
7544
- };
7545
- var ju_Arrays_stream = ($array) => {
7546
- let var$2, var$3, var$4;
7547
- var$2 = $array.data;
7548
- var$3 = new jusi_ArrayStreamImpl();
7549
- var$4 = var$2.length;
7550
- var$3.$array6 = $array;
7551
- var$3.$index1 = 0;
7552
- var$3.$end1 = var$4;
7553
- var$3.$size2 = var$4 - 0 | 0;
7554
- return var$3;
7555
- };
7556
- var asr_JsRiscV$getUndoStack$lambda$_21_0 = $rt_classWithoutFields();
7557
- var asr_JsRiscV$getUndoStack$lambda$_21_0_apply = (var$0, var$1) => {
7558
- let var$2, var$3;
7559
- var$1 = var$1;
7560
- var$2 = new asr_JsBackStep();
7561
- var$3 = var$1.$action;
7562
- var$2.$action0 = var$3 === null ? -1 : var$3.$ordinal0;
7563
- var$2.$pc2 = var$1.$pc1;
7564
- var$2.$param10 = var$1.$param1;
7565
- var$2.$param20 = Long_lo(var$1.$param2);
7566
- return var$2;
7567
- };
7568
- var asr_JsRiscV$getUndoStack$lambda$_21_1 = $rt_classWithoutFields();
7569
- var asr_JsRiscV$getUndoStack$lambda$_21_1_apply = (var$0, var$1) => {
7570
- asr_JsRiscV_$callClinit();
7571
- return $rt_createArray(asr_JsBackStep, var$1);
7572
- };
7573
- function asr_JsBackStep() {
7574
- let a = this;
7575
- jl_Object.call(a);
7576
- a.$action0 = 0;
7577
- a.$pc2 = 0;
7578
- a.$param10 = 0;
7579
- a.$param20 = 0;
7580
- }
7581
- var asr_JsBackStep_getPc$exported$0 = (var$1) => {
7582
- return var$1.$pc2;
7583
- };
7584
- var asr_JsBackStep_getParam2$exported$1 = (var$1) => {
7585
- return var$1.$param20;
7586
- };
7587
- var asr_JsBackStep_getAction$exported$2 = (var$1) => {
7588
- return var$1.$action0;
7589
- };
7590
- var asr_JsBackStep_getParam1$exported$3 = (var$1) => {
7591
- return var$1.$param10;
7592
- };
7593
- var juf_ToIntFunction = $rt_classWithoutFields(0);
7594
- var asr_JsRiscV$getRegistersValues$lambda$_20_0 = $rt_classWithoutFields();
7595
7598
  var ju_Map$Entry = $rt_classWithoutFields(0);
7596
7599
  function ju_MapEntry() {
7597
7600
  let a = this;
@@ -7797,7 +7800,7 @@ var asrr_BasicInstruction__init_ = ($this, $example, $description, $instrFormat,
7797
7800
  $this.$mnemonic = asrr_Instruction_extractOperator($this, $example);
7798
7801
  $this.$description = $description;
7799
7802
  $this.$instructionFormat = $instrFormat;
7800
- $description = jl_String_replaceAll($operMask, $rt_s(38), $rt_s(3));
7803
+ $description = jl_String_replaceAll($operMask, $rt_s(37), $rt_s(3));
7801
7804
  $this.$operationMask = $description;
7802
7805
  if ($description.$nativeString.length != 32) {
7803
7806
  $description = jl_System_out();
@@ -8247,29 +8250,104 @@ var asrs_BackStepper_addDoNothing = ($this, $pc) => {
8247
8250
  if (!(!asrs_BackStepper$BackstepStack_empty($this.$backSteps) && asrs_BackStepper$BackstepStack_peek($this.$backSteps).$pc1 == $pc))
8248
8251
  asrs_BackStepper$BackstepStack_push1($this.$backSteps, asrs_BackStepper$Action_DO_NOTHING, $pc);
8249
8252
  };
8250
- function asr_JsCompilationResult$_init_$lambda$_0_0() {
8251
- jl_Object.call(this);
8252
- this.$_06 = null;
8253
+ var jl_AutoCloseable = $rt_classWithoutFields(0);
8254
+ var jus_BaseStream = $rt_classWithoutFields(0);
8255
+ var jus_Stream = $rt_classWithoutFields(0);
8256
+ var jusi_SimpleStreamImpl = $rt_classWithoutFields();
8257
+ var jusi_SimpleStreamImpl_filter = ($this, $predicate) => {
8258
+ let var$2;
8259
+ var$2 = new jusi_FilteringStreamImpl();
8260
+ jusi_WrappingStreamImpl__init_(var$2, $this);
8261
+ var$2.$filter0 = $predicate;
8262
+ return var$2;
8263
+ };
8264
+ var jusi_SimpleStreamImpl_map = ($this, $mapper) => {
8265
+ let var$2;
8266
+ var$2 = new jusi_MappingStreamImpl();
8267
+ jusi_WrappingStreamImpl__init_(var$2, $this);
8268
+ var$2.$mapper = $mapper;
8269
+ return var$2;
8270
+ };
8271
+ var jusi_SimpleStreamImpl_toArray = ($this, $generator) => {
8272
+ let var$2, $estimatedSize, $array, $consumer, var$6, $list, $i;
8273
+ var$2 = $this;
8274
+ $estimatedSize = var$2.$sourceStream.$estimateSize();
8275
+ if ($estimatedSize >= 0) {
8276
+ $array = $generator.$apply($estimatedSize);
8277
+ $consumer = new jusi_SimpleStreamImpl$ArrayFillingConsumer();
8278
+ $consumer.$array4 = $array;
8279
+ while (jusi_WrappingStreamImpl_next(var$2, $consumer)) {
8280
+ }
8281
+ var$6 = $array.data;
8282
+ $estimatedSize = $consumer.$index3;
8283
+ if ($estimatedSize < var$6.length)
8284
+ $array = ju_Arrays_copyOf($array, $estimatedSize);
8285
+ return $array;
8286
+ }
8287
+ $list = ju_ArrayList__init_();
8288
+ while (true) {
8289
+ ju_Objects_requireNonNull($list);
8290
+ $consumer = new jusi_SimpleStreamImpl$toArray$lambda$_21_0();
8291
+ $consumer.$_02 = $list;
8292
+ if (!jusi_WrappingStreamImpl_next(var$2, $consumer))
8293
+ break;
8294
+ }
8295
+ $list = $list;
8296
+ $array = $generator.$apply($list.$size0);
8297
+ $i = 0;
8298
+ while (true) {
8299
+ var$6 = $array.data;
8300
+ if ($i >= var$6.length)
8301
+ break;
8302
+ var$6[$i] = ju_ArrayList_get($list, $i);
8303
+ $i = $i + 1 | 0;
8304
+ }
8305
+ return $array;
8306
+ };
8307
+ var jusi_SimpleStreamImpl_findFirst = ($this) => {
8308
+ let $consumer, var$2, var$3;
8309
+ $consumer = new jusi_FindFirstConsumer();
8310
+ var$2 = $this;
8311
+ while ($consumer.$result === null && jusi_WrappingStreamImpl_next(var$2, $consumer)) {
8312
+ }
8313
+ $consumer = $consumer.$result;
8314
+ if ($consumer !== null)
8315
+ var$3 = ju_Optional__init_(ju_Objects_requireNonNull($consumer));
8316
+ else {
8317
+ if (ju_Optional_emptyInstance === null)
8318
+ ju_Optional_emptyInstance = ju_Optional__init_(null);
8319
+ var$3 = ju_Optional_emptyInstance;
8320
+ }
8321
+ return var$3;
8322
+ };
8323
+ function jusi_ArrayStreamImpl() {
8324
+ let a = this;
8325
+ jusi_SimpleStreamImpl.call(a);
8326
+ a.$array6 = null;
8327
+ a.$index1 = 0;
8328
+ a.$end1 = 0;
8329
+ a.$size2 = 0;
8253
8330
  }
8254
- var asr_JsCompilationResult$_init_$lambda$_0_0_apply = (var$0, var$1) => {
8331
+ var jusi_ArrayStreamImpl_next = ($this, $consumer) => {
8255
8332
  let var$2, var$3;
8256
- var$1 = var$1;
8257
- var$2 = var$0.$_06;
8258
- var$3 = new asr_JsCompilationResult$JsCompilationError();
8259
- var$3.$this$016 = var$2;
8260
- var$3.$isWarning0 = var$1.$isWarning;
8261
- var$3.$message2 = var$1.$message0;
8262
- var$3.$macroExpansionHistory0 = asr_ErrorMessage_getMacroExpansionHistory(var$1);
8263
- var$3.$filename2 = var$1.$filename0;
8264
- var$3.$lineNumber0 = var$1.$line;
8265
- var$3.$columnNumber = var$1.$position2;
8266
- return var$3;
8333
+ a: {
8334
+ while (true) {
8335
+ var$2 = $this.$index1;
8336
+ if (var$2 >= $this.$end1)
8337
+ break a;
8338
+ var$3 = $this.$array6.data;
8339
+ $this.$index1 = var$2 + 1 | 0;
8340
+ if ($consumer.$test(var$3[var$2]))
8341
+ continue;
8342
+ else
8343
+ break;
8344
+ }
8345
+ }
8346
+ return $this.$index1 >= $this.$end1 ? 0 : 1;
8347
+ };
8348
+ var jusi_ArrayStreamImpl_estimateSize = ($this) => {
8349
+ return $this.$size2;
8267
8350
  };
8268
- var juf_Supplier = $rt_classWithoutFields(0);
8269
- var asr_JsCompilationResult$_init_$lambda$_0_1 = $rt_classWithoutFields();
8270
- var juf_BiConsumer = $rt_classWithoutFields(0);
8271
- var asr_JsCompilationResult$_init_$lambda$_0_2 = $rt_classWithoutFields();
8272
- var asr_JsCompilationResult$_init_$lambda$_0_3 = $rt_classWithoutFields();
8273
8351
  function asrs_BackStepper$BackstepStack() {
8274
8352
  let a = this;
8275
8353
  jl_Object.call(a);
@@ -8372,104 +8450,29 @@ var asrs_BackStepper$BackstepStack_peek = ($this) => {
8372
8450
  jl_Object_monitorExitSync($this);
8373
8451
  }
8374
8452
  };
8375
- var jl_AutoCloseable = $rt_classWithoutFields(0);
8376
- var jus_BaseStream = $rt_classWithoutFields(0);
8377
- var jus_Stream = $rt_classWithoutFields(0);
8378
- var jusi_SimpleStreamImpl = $rt_classWithoutFields();
8379
- var jusi_SimpleStreamImpl_filter = ($this, $predicate) => {
8380
- let var$2;
8381
- var$2 = new jusi_FilteringStreamImpl();
8382
- jusi_WrappingStreamImpl__init_(var$2, $this);
8383
- var$2.$filter0 = $predicate;
8384
- return var$2;
8385
- };
8386
- var jusi_SimpleStreamImpl_map = ($this, $mapper) => {
8387
- let var$2;
8388
- var$2 = new jusi_MappingStreamImpl();
8389
- jusi_WrappingStreamImpl__init_(var$2, $this);
8390
- var$2.$mapper = $mapper;
8391
- return var$2;
8392
- };
8393
- var jusi_SimpleStreamImpl_toArray = ($this, $generator) => {
8394
- let var$2, $estimatedSize, $array, $consumer, var$6, $list, $i;
8395
- var$2 = $this;
8396
- $estimatedSize = var$2.$sourceStream.$estimateSize();
8397
- if ($estimatedSize >= 0) {
8398
- $array = $generator.$apply($estimatedSize);
8399
- $consumer = new jusi_SimpleStreamImpl$ArrayFillingConsumer();
8400
- $consumer.$array4 = $array;
8401
- while (jusi_WrappingStreamImpl_next(var$2, $consumer)) {
8402
- }
8403
- var$6 = $array.data;
8404
- $estimatedSize = $consumer.$index3;
8405
- if ($estimatedSize < var$6.length)
8406
- $array = ju_Arrays_copyOf($array, $estimatedSize);
8407
- return $array;
8408
- }
8409
- $list = ju_ArrayList__init_();
8410
- while (true) {
8411
- ju_Objects_requireNonNull($list);
8412
- $consumer = new jusi_SimpleStreamImpl$toArray$lambda$_21_0();
8413
- $consumer.$_02 = $list;
8414
- if (!jusi_WrappingStreamImpl_next(var$2, $consumer))
8415
- break;
8416
- }
8417
- $list = $list;
8418
- $array = $generator.$apply($list.$size0);
8419
- $i = 0;
8420
- while (true) {
8421
- var$6 = $array.data;
8422
- if ($i >= var$6.length)
8423
- break;
8424
- var$6[$i] = ju_ArrayList_get($list, $i);
8425
- $i = $i + 1 | 0;
8426
- }
8427
- return $array;
8428
- };
8429
- var jusi_SimpleStreamImpl_findFirst = ($this) => {
8430
- let $consumer, var$2, var$3;
8431
- $consumer = new jusi_FindFirstConsumer();
8432
- var$2 = $this;
8433
- while ($consumer.$result === null && jusi_WrappingStreamImpl_next(var$2, $consumer)) {
8434
- }
8435
- $consumer = $consumer.$result;
8436
- if ($consumer !== null)
8437
- var$3 = ju_Optional__init_(ju_Objects_requireNonNull($consumer));
8438
- else {
8439
- if (ju_Optional_emptyInstance === null)
8440
- ju_Optional_emptyInstance = ju_Optional__init_(null);
8441
- var$3 = ju_Optional_emptyInstance;
8442
- }
8443
- return var$3;
8444
- };
8445
- function jusi_ArrayStreamImpl() {
8446
- let a = this;
8447
- jusi_SimpleStreamImpl.call(a);
8448
- a.$array6 = null;
8449
- a.$index1 = 0;
8450
- a.$end1 = 0;
8451
- a.$size2 = 0;
8453
+ function asr_JsCompilationResult$_init_$lambda$_0_0() {
8454
+ jl_Object.call(this);
8455
+ this.$_06 = null;
8452
8456
  }
8453
- var jusi_ArrayStreamImpl_next = ($this, $consumer) => {
8457
+ var asr_JsCompilationResult$_init_$lambda$_0_0_apply = (var$0, var$1) => {
8454
8458
  let var$2, var$3;
8455
- a: {
8456
- while (true) {
8457
- var$2 = $this.$index1;
8458
- if (var$2 >= $this.$end1)
8459
- break a;
8460
- var$3 = $this.$array6.data;
8461
- $this.$index1 = var$2 + 1 | 0;
8462
- if ($consumer.$test(var$3[var$2]))
8463
- continue;
8464
- else
8465
- break;
8466
- }
8467
- }
8468
- return $this.$index1 >= $this.$end1 ? 0 : 1;
8469
- };
8470
- var jusi_ArrayStreamImpl_estimateSize = ($this) => {
8471
- return $this.$size2;
8459
+ var$1 = var$1;
8460
+ var$2 = var$0.$_06;
8461
+ var$3 = new asr_JsCompilationResult$JsCompilationError();
8462
+ var$3.$this$016 = var$2;
8463
+ var$3.$isWarning0 = var$1.$isWarning;
8464
+ var$3.$message2 = var$1.$message0;
8465
+ var$3.$macroExpansionHistory0 = asr_ErrorMessage_getMacroExpansionHistory(var$1);
8466
+ var$3.$filename2 = var$1.$filename0;
8467
+ var$3.$lineNumber0 = var$1.$line;
8468
+ var$3.$columnNumber = var$1.$position2;
8469
+ return var$3;
8472
8470
  };
8471
+ var juf_Supplier = $rt_classWithoutFields(0);
8472
+ var asr_JsCompilationResult$_init_$lambda$_0_1 = $rt_classWithoutFields();
8473
+ var juf_BiConsumer = $rt_classWithoutFields(0);
8474
+ var asr_JsCompilationResult$_init_$lambda$_0_2 = $rt_classWithoutFields();
8475
+ var asr_JsCompilationResult$_init_$lambda$_0_3 = $rt_classWithoutFields();
8473
8476
  var jl_Math = $rt_classWithoutFields();
8474
8477
  var jl_Math_pow = ($x, $y) => {
8475
8478
  return jl_Math_powImpl($x, $y);
@@ -10133,10 +10136,29 @@ var asrri_JAL__init_ = () => {
10133
10136
  return var_0;
10134
10137
  };
10135
10138
  var asrri_JAL_simulate = ($this, $statement) => {
10136
- let $operands;
10139
+ let $operands, $address, var$4, var$5, var$6, var$7, var$8, var$9, var$10, var$11;
10137
10140
  $operands = $statement.$operands.data;
10138
10141
  asrr_InstructionSet_processReturnAddress($operands[0]);
10139
- 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);
10140
10162
  };
10141
10163
  var asrri_JALR = $rt_classWithoutFields(asrr_BasicInstruction);
10142
10164
  var asrri_JALR__init_ = ($this) => {
@@ -10152,6 +10174,10 @@ var asrri_JALR_simulate = ($this, $statement) => {
10152
10174
  $operands = $statement.$operands.data;
10153
10175
  $target = asrrh_RegisterFile_getValue0($operands[1]);
10154
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
+ }
10155
10181
  asrr_InstructionSet_processJump(($target + ($operands[2] << 20 >> 20) | 0) & -2);
10156
10182
  };
10157
10183
  var asrri_Load = $rt_classWithoutFields(asrr_BasicInstruction);
@@ -11111,10 +11137,10 @@ var asrr_PseudoOps_PSEUDO_OPS_64 = null;
11111
11137
  var asrr_PseudoOps__clinit_ = () => {
11112
11138
  asrr_PseudoOps_PSEUDO_OPS = $rt_wrapArray(jl_String, [
11113
11139
  $rt_s(757),
11114
- $rt_s(59),
11140
+ $rt_s(58),
11115
11141
  $rt_s(758),
11116
11142
  $rt_s(759),
11117
- $rt_s(59),
11143
+ $rt_s(58),
11118
11144
  $rt_s(760),
11119
11145
  $rt_s(761),
11120
11146
  $rt_s(762),
@@ -11122,10 +11148,10 @@ var asrr_PseudoOps__clinit_ = () => {
11122
11148
  $rt_s(764),
11123
11149
  $rt_s(765),
11124
11150
  $rt_s(766),
11125
- $rt_s(59),
11151
+ $rt_s(58),
11126
11152
  $rt_s(767),
11127
11153
  $rt_s(768),
11128
- $rt_s(59),
11154
+ $rt_s(58),
11129
11155
  $rt_s(769),
11130
11156
  $rt_s(770),
11131
11157
  $rt_s(771),
@@ -11133,7 +11159,7 @@ var asrr_PseudoOps__clinit_ = () => {
11133
11159
  $rt_s(773),
11134
11160
  $rt_s(774),
11135
11161
  $rt_s(775),
11136
- $rt_s(59),
11162
+ $rt_s(58),
11137
11163
  $rt_s(776),
11138
11164
  $rt_s(3),
11139
11165
  $rt_s(3),
@@ -11157,15 +11183,15 @@ var asrr_PseudoOps__clinit_ = () => {
11157
11183
  $rt_s(793),
11158
11184
  $rt_s(794),
11159
11185
  $rt_s(795),
11160
- $rt_s(59),
11186
+ $rt_s(58),
11161
11187
  $rt_s(796),
11162
- $rt_s(59),
11188
+ $rt_s(58),
11163
11189
  $rt_s(797),
11164
11190
  $rt_s(798),
11165
11191
  $rt_s(799),
11166
- $rt_s(59),
11192
+ $rt_s(58),
11167
11193
  $rt_s(800),
11168
- $rt_s(59),
11194
+ $rt_s(58),
11169
11195
  $rt_s(801),
11170
11196
  $rt_s(802),
11171
11197
  $rt_s(803),
@@ -11227,10 +11253,10 @@ var asrr_PseudoOps__clinit_ = () => {
11227
11253
  $rt_s(852),
11228
11254
  $rt_s(3),
11229
11255
  $rt_s(853),
11230
- $rt_s(59),
11256
+ $rt_s(58),
11231
11257
  $rt_s(854),
11232
11258
  $rt_s(855),
11233
- $rt_s(59),
11259
+ $rt_s(58),
11234
11260
  $rt_s(3),
11235
11261
  $rt_s(856),
11236
11262
  $rt_s(857),
@@ -11778,6 +11804,15 @@ var asrrh_RegisterBlock_resetRegisters = ($this) => {
11778
11804
  var$3 = var$3 + 1 | 0;
11779
11805
  }
11780
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
+ }
11781
11816
  function asr_ErrorList() {
11782
11817
  let a = this;
11783
11818
  jl_Object.call(a);
@@ -11885,7 +11920,6 @@ var asr_ErrorList_generateReport = ($this, $isWarning) => {
11885
11920
  }
11886
11921
  return jl_AbstractStringBuilder_toString($report);
11887
11922
  };
11888
- var asrrh_StackFrame = $rt_classWithoutFields();
11889
11923
  function asrrh_MemoryConfiguration() {
11890
11924
  let a = this;
11891
11925
  jl_Object.call(a);
@@ -12381,7 +12415,7 @@ var asrrs_SyscallOpen_simulate = ($this, $statement) => {
12381
12415
  if ($retValue < 32) {
12382
12416
  var$6[$retValue] = jl_String__init_0(var$2);
12383
12417
  asru_SystemIO$FileIOData_fileFlags.data[$retValue] = var$3;
12384
- asru_SystemIO_fileErrorString = jl_String__init_0($rt_s(127));
12418
+ asru_SystemIO_fileErrorString = jl_String__init_0($rt_s(126));
12385
12419
  } else {
12386
12420
  $statement = new jl_StringBuilder();
12387
12421
  jl_AbstractStringBuilder__init_($statement);
@@ -12962,17 +12996,17 @@ var asrrs_SyscallReadString_simulate = ($this, $statement) => {
12962
12996
  }
12963
12997
  a: {
12964
12998
  var$5 = asr_JsRISCVIO_callStringHandler(asru_SystemIO_io, $rt_s(1059), $rt_createArray(jl_Object, 0));
12965
- if (var$5 === $rt_s(43))
12999
+ if (var$5 === $rt_s(42))
12966
13000
  $stringLength = 1;
12967
- else if ($rt_s(43).$nativeString.length > var$5.$nativeString.length)
13001
+ else if ($rt_s(42).$nativeString.length > var$5.$nativeString.length)
12968
13002
  $stringLength = 0;
12969
13003
  else {
12970
13004
  $index = 0;
12971
- 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;
12972
13006
  while (var$8 < var$5.$nativeString.length) {
12973
13007
  var$9 = jl_String_charAt(var$5, var$8);
12974
13008
  $stringLength = $index + 1 | 0;
12975
- if (var$9 != jl_String_charAt($rt_s(43), $index)) {
13009
+ if (var$9 != jl_String_charAt($rt_s(42), $index)) {
12976
13010
  $stringLength = 0;
12977
13011
  break a;
12978
13012
  }
@@ -13076,7 +13110,7 @@ var asrrs_SyscallGetCWD_simulate = ($this, $statement) => {
13076
13110
  ju_Hashtable_put(var$3, $rt_s(1067), $rt_s(1068));
13077
13111
  ju_Hashtable_put(var$3, $rt_s(1069), $rt_s(1070));
13078
13112
  ju_Hashtable_put(var$3, $rt_s(1071), $rt_s(1072));
13079
- ju_Hashtable_put(var$3, $rt_s(1073), $rt_s(43));
13113
+ ju_Hashtable_put(var$3, $rt_s(1073), $rt_s(42));
13080
13114
  ju_Hashtable_put(var$3, $rt_s(1074), $rt_s(1075));
13081
13115
  ju_Hashtable_put(var$3, $rt_s(1076), $rt_s(1066));
13082
13116
  ju_Hashtable_put(var$3, $rt_s(1077), $rt_s(1070));
@@ -13362,7 +13396,7 @@ var otcic_JsConsolePrintStream_println = ($this, $s) => {
13362
13396
  let var$2;
13363
13397
  var$2 = $this;
13364
13398
  otcic_JSStdoutPrintStream_print(var$2, $s);
13365
- otcic_JSStdoutPrintStream_print(var$2, $rt_s(43));
13399
+ otcic_JSStdoutPrintStream_print(var$2, $rt_s(42));
13366
13400
  };
13367
13401
  var otcic_JsConsolePrintStream_println0 = ($this, $s) => {
13368
13402
  let var$2;
@@ -13479,6 +13513,22 @@ var jusi_StreamOverSpliterator_next = ($this, $consumer) => {
13479
13513
  var jusi_StreamOverSpliterator_estimateSize = ($this) => {
13480
13514
  return Long_lo(Long_fromInt($this.$spliterator0.$collection.$size()));
13481
13515
  };
13516
+ var jus_IntStream = $rt_classWithoutFields(0);
13517
+ var jusi_SimpleIntStreamImpl = $rt_classWithoutFields();
13518
+ function jusi_MappingToIntStreamImpl() {
13519
+ let a = this;
13520
+ jusi_SimpleIntStreamImpl.call(a);
13521
+ a.$source1 = null;
13522
+ a.$mapper0 = null;
13523
+ }
13524
+ var jusi_MappingToIntStreamImpl_next = ($this, $consumer) => {
13525
+ let var$2, var$3;
13526
+ var$2 = $this.$source1;
13527
+ var$3 = new jusi_MappingToIntStreamImpl$next$lambda$_1_0();
13528
+ var$3.$_09 = $this;
13529
+ var$3.$_13 = $consumer;
13530
+ return jusi_ArrayStreamImpl_next(var$2, var$3);
13531
+ };
13482
13532
  function jusi_WrappingStreamImpl() {
13483
13533
  jusi_SimpleStreamImpl.call(this);
13484
13534
  this.$sourceStream = null;
@@ -13500,22 +13550,6 @@ var jusi_MappingStreamImpl_wrap = ($this, $consumer) => {
13500
13550
  var$2.$_10 = $consumer;
13501
13551
  return var$2;
13502
13552
  };
13503
- var jus_IntStream = $rt_classWithoutFields(0);
13504
- var jusi_SimpleIntStreamImpl = $rt_classWithoutFields();
13505
- function jusi_MappingToIntStreamImpl() {
13506
- let a = this;
13507
- jusi_SimpleIntStreamImpl.call(a);
13508
- a.$source1 = null;
13509
- a.$mapper0 = null;
13510
- }
13511
- var jusi_MappingToIntStreamImpl_next = ($this, $consumer) => {
13512
- let var$2, var$3;
13513
- var$2 = $this.$source1;
13514
- var$3 = new jusi_MappingToIntStreamImpl$next$lambda$_1_0();
13515
- var$3.$_09 = $this;
13516
- var$3.$_13 = $consumer;
13517
- return jusi_ArrayStreamImpl_next(var$2, var$3);
13518
- };
13519
13553
  var asru_Binary = $rt_classWithoutFields();
13520
13554
  var asru_Binary_chars = null;
13521
13555
  var asru_Binary_intToBinaryString = ($value, $length) => {
@@ -14111,38 +14145,6 @@ var asrrh_Stack_callStack = null;
14111
14145
  var asrrh_Stack__clinit_ = () => {
14112
14146
  asrrh_Stack_callStack = ju_ArrayList__init_();
14113
14147
  };
14114
- var jlr_Array = $rt_classWithoutFields();
14115
- var jlr_Array_getLength = (var$1) => {
14116
- if (var$1 === null || var$1.constructor.$meta.item === "undefined") {
14117
- $rt_throw(jl_IllegalArgumentException__init_());
14118
- }
14119
- return var$1.data.length;
14120
- };
14121
- var jlr_Array_newInstance = (var$1, $length) => {
14122
- if (var$1 === null) {
14123
- var$1 = new jl_NullPointerException();
14124
- jl_Throwable__init_(var$1);
14125
- $rt_throw(var$1);
14126
- }
14127
- if (var$1 === $rt_cls($rt_voidcls)) {
14128
- var$1 = new jl_IllegalArgumentException();
14129
- jl_Throwable__init_(var$1);
14130
- $rt_throw(var$1);
14131
- }
14132
- if ($length >= 0)
14133
- return jlr_Array_newInstanceImpl(var$1.$platformClass, $length);
14134
- var$1 = new jl_NegativeArraySizeException();
14135
- jl_Throwable__init_(var$1);
14136
- $rt_throw(var$1);
14137
- };
14138
- var jlr_Array_newInstanceImpl = (var$1, var$2) => {
14139
- if (var$1.$meta.primitive) {
14140
- switch (var$1) {
14141
- }
14142
- ;
14143
- }
14144
- return $rt_createArray(var$1, var$2);
14145
- };
14146
14148
  var asrs_Simulator$Reason = $rt_classWithoutFields(jl_Enum);
14147
14149
  var asrs_Simulator$Reason_BREAKPOINT = null;
14148
14150
  var asrs_Simulator$Reason_EXCEPTION = null;
@@ -14189,6 +14191,38 @@ var asrs_Simulator$Reason__clinit_ = () => {
14189
14191
  var$3[6] = var$1;
14190
14192
  asrs_Simulator$Reason_$VALUES = var$2;
14191
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
+ };
14192
14226
  function jur_Pattern() {
14193
14227
  let a = this;
14194
14228
  jl_Object.call(a);
@@ -14201,16 +14235,16 @@ function jur_Pattern() {
14201
14235
  a.$consCount = 0;
14202
14236
  a.$start2 = null;
14203
14237
  }
14204
- var jur_Pattern_matcher = ($this, $input) => {
14238
+ var jur_Pattern_matcher = ($this, var$1) => {
14205
14239
  let var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9;
14206
14240
  var$2 = new jur_Matcher();
14207
14241
  var$2.$leftBound0 = -1;
14208
14242
  var$2.$rightBound0 = -1;
14209
14243
  var$2.$pat = $this;
14210
14244
  var$2.$start6 = $this.$start2;
14211
- var$2.$string1 = $input;
14245
+ var$2.$string1 = var$1;
14212
14246
  var$2.$leftBound0 = 0;
14213
- var$3 = $input.$nativeString.length;
14247
+ var$3 = var$1.$nativeString.length;
14214
14248
  var$2.$rightBound0 = var$3;
14215
14249
  var$4 = new jur_MatchResultImpl();
14216
14250
  var$5 = var$2.$leftBound0;
@@ -14227,7 +14261,7 @@ var jur_Pattern_matcher = ($this, $input) => {
14227
14261
  if (var$7 > 0)
14228
14262
  var$4.$compQuantCounters = $rt_createIntArray(var$7);
14229
14263
  ju_Arrays_fill(var$4.$groupBounds, -1);
14230
- jur_MatchResultImpl_reset(var$4, $input, var$5, var$3);
14264
+ jur_MatchResultImpl_reset(var$4, var$1, var$5, var$3);
14231
14265
  var$2.$matchResult = var$4;
14232
14266
  var$4.$anchoringBounds = 1;
14233
14267
  return var$2;
@@ -15625,7 +15659,7 @@ var asra_Tokenizer_processCandidateToken = ($this, $token, $program, $line, $the
15625
15659
  asra_TokenList_add($tokenList, asra_Token__init_($type, $value, $program, $line, $tokenStartPos));
15626
15660
  };
15627
15661
  var asra_Tokenizer__clinit_ = () => {
15628
- asra_Tokenizer_escapedCharactersValues = $rt_wrapArray(jl_String, [$rt_s(1153), $rt_s(1154), $rt_s(1155), $rt_s(561), $rt_s(1156), $rt_s(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)]);
15629
15663
  };
15630
15664
  var ju_NoSuchElementException = $rt_classWithoutFields(jl_RuntimeException);
15631
15665
  function asr_JsCompilationResult$JsCompilationError() {
@@ -15909,7 +15943,7 @@ var jl_Thread__clinit_ = () => {
15909
15943
  var$2 = null;
15910
15944
  var$1.$finishedLock = new jl_Object();
15911
15945
  var$1.$alive = 1;
15912
- var$1.$name7 = $rt_s(18);
15946
+ var$1.$name7 = $rt_s(17);
15913
15947
  var$1.$target = var$2;
15914
15948
  var$3 = jl_Thread_nextId;
15915
15949
  jl_Thread_nextId = var$3 + 1 | 0;
@@ -16020,13 +16054,13 @@ var asrc_SyscallProperties_reset = ($this) => {
16020
16054
  var$1 = $this;
16021
16055
  ju_HashMap_put(var$1, $rt_s(1061), $rt_s(1159));
16022
16056
  ju_HashMap_put(var$1, $rt_s(300), $rt_s(248));
16023
- ju_HashMap_put(var$1, $rt_s(297), $rt_s(113));
16057
+ ju_HashMap_put(var$1, $rt_s(297), $rt_s(112));
16024
16058
  ju_HashMap_put(var$1, $rt_s(294), $rt_s(1160));
16025
16059
  ju_HashMap_put(var$1, $rt_s(309), $rt_s(1161));
16026
16060
  ju_HashMap_put(var$1, $rt_s(343), $rt_s(1162));
16027
16061
  ju_HashMap_put(var$1, $rt_s(340), $rt_s(1163));
16028
16062
  ju_HashMap_put(var$1, $rt_s(337), $rt_s(1164));
16029
- ju_HashMap_put(var$1, $rt_s(346), $rt_s(112));
16063
+ ju_HashMap_put(var$1, $rt_s(346), $rt_s(111));
16030
16064
  ju_HashMap_put(var$1, $rt_s(349), $rt_s(1156));
16031
16065
  ju_HashMap_put(var$1, $rt_s(261), $rt_s(561));
16032
16066
  ju_HashMap_put(var$1, $rt_s(291), $rt_s(522));
@@ -17221,7 +17255,7 @@ var jur_PatternSyntaxException_getMessage = ($this) => {
17221
17255
  var$10 = new jl_StringBuilder();
17222
17256
  jl_AbstractStringBuilder__init_(var$10);
17223
17257
  jl_AbstractStringBuilder_append(var$10, var$9);
17224
- 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);
17225
17259
  $filler = jl_AbstractStringBuilder_toString(var$10);
17226
17260
  } else
17227
17261
  $filler = $rt_s(3);
@@ -19734,7 +19768,7 @@ function jur_LowHighSurrogateRangeSet() {
19734
19768
  }
19735
19769
  var jur_LowHighSurrogateRangeSet_getName = ($this) => {
19736
19770
  let var$1, var$2, var$3;
19737
- var$1 = !$this.$alt1 ? $rt_s(38) : $rt_s(1399);
19771
+ var$1 = !$this.$alt1 ? $rt_s(37) : $rt_s(1399);
19738
19772
  var$2 = $this.$surrChars.$toString();
19739
19773
  var$3 = new jl_StringBuilder();
19740
19774
  jl_AbstractStringBuilder__init_(var$3);
@@ -19852,7 +19886,7 @@ var jur_SupplRangeSet_matches = ($this, $stringIndex, $testString, $matchResult)
19852
19886
  };
19853
19887
  var jur_SupplRangeSet_getName = ($this) => {
19854
19888
  let var$1, var$2, var$3;
19855
- var$1 = !$this.$alt0 ? $rt_s(38) : $rt_s(1399);
19889
+ var$1 = !$this.$alt0 ? $rt_s(37) : $rt_s(1399);
19856
19890
  var$2 = $this.$chars.$toString();
19857
19891
  var$3 = new jl_StringBuilder();
19858
19892
  jl_AbstractStringBuilder__init_(var$3);
@@ -19885,7 +19919,7 @@ var jur_UCISupplRangeSet_contains = ($this, $ch) => {
19885
19919
  };
19886
19920
  var jur_UCISupplRangeSet_getName = ($this) => {
19887
19921
  let var$1, var$2, var$3;
19888
- var$1 = !$this.$alt0 ? $rt_s(38) : $rt_s(1399);
19922
+ var$1 = !$this.$alt0 ? $rt_s(37) : $rt_s(1399);
19889
19923
  var$2 = $this.$chars.$toString();
19890
19924
  var$3 = new jl_StringBuilder();
19891
19925
  jl_AbstractStringBuilder__init_(var$3);
@@ -19913,7 +19947,7 @@ var jur_UCIRangeSet_accepts = ($this, $strIndex, $testString) => {
19913
19947
  };
19914
19948
  var jur_UCIRangeSet_getName = ($this) => {
19915
19949
  let var$1, var$2, var$3;
19916
- var$1 = !$this.$alt2 ? $rt_s(38) : $rt_s(1399);
19950
+ var$1 = !$this.$alt2 ? $rt_s(37) : $rt_s(1399);
19917
19951
  var$2 = $this.$chars1.$toString();
19918
19952
  var$3 = new jl_StringBuilder();
19919
19953
  jl_AbstractStringBuilder__init_(var$3);
@@ -19941,7 +19975,7 @@ var jur_RangeSet_accepts = ($this, $strIndex, $testString) => {
19941
19975
  };
19942
19976
  var jur_RangeSet_getName = ($this) => {
19943
19977
  let var$1, var$2, var$3;
19944
- var$1 = !$this.$alt3 ? $rt_s(38) : $rt_s(1399);
19978
+ var$1 = !$this.$alt3 ? $rt_s(37) : $rt_s(1399);
19945
19979
  var$2 = $this.$chars0.$toString();
19946
19980
  var$3 = new jl_StringBuilder();
19947
19981
  jl_AbstractStringBuilder__init_(var$3);
@@ -20978,7 +21012,7 @@ var jur_DotSet_matches = ($this, $stringIndex, $testString, $matchResult) => {
20978
21012
  return $this.$lt0.$isLineTerminator($high) ? -1 : $this.$next3.$matches(var$5, $testString, $matchResult);
20979
21013
  };
20980
21014
  var jur_DotSet_getName = ($this) => {
20981
- return $rt_s(36);
21015
+ return $rt_s(35);
20982
21016
  };
20983
21017
  var jur_DotSet_setNext = ($this, $next) => {
20984
21018
  $this.$next3 = $next;
@@ -25505,7 +25539,7 @@ var asra_Assembler_transferGlobals = ($this) => {
25505
25539
  var$4 = var$6.$filename1;
25506
25540
  var$6 = new jl_StringBuilder();
25507
25541
  jl_AbstractStringBuilder__init_(var$6);
25508
- 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));
25509
25543
  var$5 = jl_AbstractStringBuilder_toString(var$6);
25510
25544
  otcic_JsConsolePrintStream_println(var$9, var$5);
25511
25545
  }
@@ -31169,227 +31203,125 @@ var asrj_Environment__init_ = () => {
31169
31203
  asrj_Environment__init_0(var_0);
31170
31204
  return var_0;
31171
31205
  };
31172
- var asrjo_Comparisons = $rt_classWithoutFields();
31173
- var asrjo_Comparisons_compareNoNAN = ($a, $b) => {
31174
- if ($a.$isZero()) {
31175
- if ($b.$isZero())
31176
- return 0;
31177
- return !$b.$isSignMinus() ? -1 : 1;
31178
- }
31179
- if ($b.$isZero())
31180
- return !$a.$isSignMinus() ? 1 : -1;
31181
- if (!$a.$isInfinite()) {
31182
- if (!$b.$isInfinite())
31183
- return asrji_ExactFloat_compareTo($a.$toExactFloat(), $b.$toExactFloat());
31184
- return !$b.$isSignMinus() ? -1 : 1;
31185
- }
31186
- if ($b.$isInfinite() && $a.$isSignMinus() == $b.$isSignMinus())
31187
- return 0;
31188
- return !$a.$isSignMinus() ? -1 : 1;
31189
- };
31190
- var asrjo_Comparisons_nonNaNmin = ($a, $b) => {
31191
- if ($a.$isSignMinus() != $b.$isSignMinus()) {
31192
- if ($a.$isSignMinus())
31193
- $b = $a;
31194
- return $b;
31195
- }
31196
- if (!$a.$isInfinite() && !$b.$isInfinite()) {
31197
- if (asrjo_Comparisons_compareNoNAN($a, $b) > 0)
31198
- return $b;
31199
- return $a;
31200
- }
31201
- if ($a.$isInfinite() != $a.$isSignMinus())
31202
- return $b;
31203
- return $a;
31204
- };
31205
- var asrjo_Comparisons_handleNaNNumber = ($a, $b, $env) => {
31206
- let var$4;
31207
- if (!(!$a.$isSignalling() && !$b.$isSignalling())) {
31208
- var$4 = $env.$flags;
31209
- $env = asrj_Flags_invalid;
31210
- ju_GenericEnumSet_add(var$4, $env);
31211
- }
31212
- if ($a.$isNaN()) {
31213
- if ($b.$isNaN())
31214
- $b = $b.$NaN();
31215
- } else
31216
- $b = !$b.$isNaN() ? null : $a;
31217
- return $b;
31218
- };
31219
- var asrjo_Comparisons_minimumNumber = ($a, $b, $env) => {
31220
- let $tmp_0;
31221
- $tmp_0 = asrjo_Comparisons_handleNaNNumber($a, $b, $env);
31222
- if ($tmp_0 !== null)
31223
- return $tmp_0;
31224
- return asrjo_Comparisons_nonNaNmin($a, $b);
31225
- };
31226
- var asrjo_Comparisons_maximumNumber = ($a, $b, $env) => {
31227
- let $tmp_0;
31228
- $tmp_0 = asrjo_Comparisons_handleNaNNumber($a, $b, $env);
31229
- if ($tmp_0 !== null)
31230
- return $tmp_0;
31231
- if ($a === asrjo_Comparisons_nonNaNmin($a, $b))
31232
- $a = $b;
31233
- return $a;
31234
- };
31235
- var asrjo_Comparisons_compareQuietEqual = ($a, $b, $env) => {
31236
- let var$4;
31237
- if (!(!$a.$isSignalling() && !$b.$isSignalling())) {
31238
- var$4 = $env.$flags;
31239
- $env = asrj_Flags_invalid;
31240
- ju_GenericEnumSet_add(var$4, $env);
31241
- }
31242
- if (!$a.$isNaN() && !$b.$isNaN())
31243
- return asrjo_Comparisons_compareNoNAN($a, $b) ? 0 : 1;
31244
- return 0;
31245
- };
31246
- var asrjo_Comparisons_compareSignalingLessThan = ($a, $b, $env) => {
31247
- let var$4, var$5;
31248
- if (!(!$a.$isNaN() && !$b.$isNaN())) {
31249
- var$4 = $env.$flags;
31250
- var$5 = asrj_Flags_invalid;
31251
- ju_GenericEnumSet_add(var$4, var$5);
31252
- }
31253
- if (!(!$a.$isSignalling() && !$b.$isSignalling())) {
31254
- var$5 = $env.$flags;
31255
- $env = asrj_Flags_invalid;
31256
- ju_GenericEnumSet_add(var$5, $env);
31257
- }
31258
- return !$a.$isNaN() && !$b.$isNaN() ? asrjo_Comparisons_compareNoNAN($a, $b) >= 0 ? 0 : 1 : 0;
31259
- };
31260
- var asrjo_Comparisons_compareSignalingLessThanEqual = ($a, $b, $env) => {
31261
- let var$4, var$5;
31262
- if (!(!$a.$isNaN() && !$b.$isNaN())) {
31263
- var$4 = $env.$flags;
31264
- var$5 = asrj_Flags_invalid;
31265
- ju_GenericEnumSet_add(var$4, var$5);
31266
- }
31267
- if (!(!$a.$isSignalling() && !$b.$isSignalling())) {
31268
- var$5 = $env.$flags;
31269
- $env = asrj_Flags_invalid;
31270
- ju_GenericEnumSet_add(var$5, $env);
31271
- }
31272
- return !$a.$isNaN() && !$b.$isNaN() ? asrjo_Comparisons_compareNoNAN($a, $b) > 0 ? 0 : 1 : 0;
31273
- };
31274
31206
  var asrjt_Floating = $rt_classWithoutFields();
31275
31207
  var asrjt_Floating_isFinite = ($this) => {
31276
31208
  return !$this.$isZero() && !$this.$isNormal() && !$this.$isSubnormal() ? 0 : 1;
31277
31209
  };
31278
- function asrjt_Float32() {
31210
+ function asrjt_Float64() {
31279
31211
  asrjt_Floating.call(this);
31280
- this.$bits0 = 0;
31212
+ this.$bits1 = Long_ZERO;
31281
31213
  }
31282
- var asrjt_Float32_Zero = null;
31283
- var asrjt_Float32_NegativeZero = null;
31284
- var asrjt_Float32_NaN = null;
31285
- var asrjt_Float32_Infinity = null;
31286
- var asrjt_Float32_NegativeInfinity = null;
31287
- var asrjt_Float32_$assertionsDisabled = 0;
31288
- var asrjt_Float32__init_2 = ($this, $bits) => {
31289
- $this.$bits0 = $bits;
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;
31290
31222
  };
31291
- var asrjt_Float32__init_ = (var_0) => {
31292
- let var_1 = new asrjt_Float32();
31293
- asrjt_Float32__init_2(var_1, var_0);
31223
+ var asrjt_Float64__init_ = (var_0) => {
31224
+ let var_1 = new asrjt_Float64();
31225
+ asrjt_Float64__init_1(var_1, var_0);
31294
31226
  return var_1;
31295
31227
  };
31296
- var asrjt_Float32__init_1 = ($this, $sign, $exponent, $significand) => {
31297
- asrjt_Float32__init_2($this, (!$sign ? 0 : -2147483648) | (($exponent + 127 | 0) & 255) << 23 | $significand & 8388607);
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))));
31298
31230
  };
31299
- var asrjt_Float32__init_0 = (var_0, var_1, var_2) => {
31300
- let var_3 = new asrjt_Float32();
31301
- asrjt_Float32__init_1(var_3, var_0, var_1, var_2);
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);
31302
31234
  return var_3;
31303
31235
  };
31304
- var asrjt_Float32_exponent = ($this) => {
31305
- return (($this.$bits0 >>> 23 | 0) & 255) - 127 | 0;
31236
+ var asrjt_Float64_exponent = ($this) => {
31237
+ return (Long_lo(Long_shru($this.$bits1, 52)) & 2047) - 1023 | 0;
31306
31238
  };
31307
- var asrjt_Float32_negate = ($this) => {
31308
- return asrjt_Float32__init_($this.$bits0 ^ -2147483648);
31239
+ var asrjt_Float64_negate = ($this) => {
31240
+ return asrjt_Float64__init_(Long_xor($this.$bits1, Long_create(0, 2147483648)));
31309
31241
  };
31310
- var asrjt_Float32_isSignMinus = ($this) => {
31311
- return ($this.$bits0 >>> 31 | 0) != 1 ? 0 : 1;
31242
+ var asrjt_Float64_isSignMinus = ($this) => {
31243
+ return Long_ne(Long_shru($this.$bits1, 63), Long_fromInt(1)) ? 0 : 1;
31312
31244
  };
31313
- var asrjt_Float32_isInfinite = ($this) => {
31314
- return asrjt_Float32_exponent($this) == 128 && !($this.$bits0 & 8388607) ? 1 : 0;
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;
31315
31247
  };
31316
- var asrjt_Float32_isNormal = ($this) => {
31317
- return asrjt_Float32_exponent($this) != -127 && asrjt_Float32_exponent($this) != 128 ? 1 : 0;
31248
+ var asrjt_Float64_isNormal = ($this) => {
31249
+ return asrjt_Float64_exponent($this) != -1023 && asrjt_Float64_exponent($this) != 1024 ? 1 : 0;
31318
31250
  };
31319
- var asrjt_Float32_isSubnormal = ($this) => {
31320
- return asrjt_Float32_exponent($this) == -127 && !asrjt_Float32_isZero($this) ? 1 : 0;
31251
+ var asrjt_Float64_isSubnormal = ($this) => {
31252
+ return asrjt_Float64_exponent($this) == -1023 && !asrjt_Float64_isZero($this) ? 1 : 0;
31321
31253
  };
31322
- var asrjt_Float32_isNaN = ($this) => {
31323
- return asrjt_Float32_exponent($this) == 128 && !asrjt_Float32_isInfinite($this) ? 1 : 0;
31254
+ var asrjt_Float64_isNaN = ($this) => {
31255
+ return asrjt_Float64_exponent($this) == 1024 && !asrjt_Float64_isInfinite($this) ? 1 : 0;
31324
31256
  };
31325
- var asrjt_Float32_isSignalling = ($this) => {
31326
- if (!asrjt_Float32_isNaN($this))
31257
+ var asrjt_Float64_isSignalling = ($this) => {
31258
+ if (!asrjt_Float64_isNaN($this))
31327
31259
  return 0;
31328
- return $this.$bits0 & 4194304 ? 0 : 1;
31260
+ return Long_ne(Long_and($this.$bits1, Long_create(0, 524288)), Long_ZERO) ? 0 : 1;
31329
31261
  };
31330
- var asrjt_Float32_isZero = ($this) => {
31262
+ var asrjt_Float64_isZero = ($this) => {
31331
31263
  let var$1;
31332
- var$1 = $this.$bits0;
31333
- return var$1 && var$1 != -2147483648 ? 0 : 1;
31264
+ var$1 = $this.$bits1;
31265
+ return Long_ne(var$1, Long_ZERO) && Long_ne(var$1, Long_create(0, 2147483648)) ? 0 : 1;
31334
31266
  };
31335
- var asrjt_Float32_fromExactFloat0 = ($this, $ef, $env) => {
31267
+ var asrjt_Float64_fromExactFloat0 = ($this, $ef, $env) => {
31336
31268
  let $normalizedExponent, $mainBits, $roundedBits, $a, $bitsToRound, $upBits, $towardsZero, $awayZero;
31337
31269
  if (asrji_ExactFloat_isZero($ef))
31338
- return !$ef.$sign ? asrjt_Float32_Zero : asrjt_Float32_NegativeZero;
31270
+ return !$ef.$sign ? asrjt_Float64_Zero : asrjt_Float64_NegativeZero;
31339
31271
  $ef = asrji_ExactFloat_normalize($ef);
31340
31272
  $normalizedExponent = $ef.$exponent0 + jm_BigInteger_bitLength($ef.$significand) | 0;
31341
- if ($normalizedExponent > -126) {
31342
- if ($normalizedExponent > 128) {
31273
+ if ($normalizedExponent > -1022) {
31274
+ if ($normalizedExponent > 1024) {
31343
31275
  $mainBits = $env.$flags;
31344
31276
  $roundedBits = asrj_Flags_overflow;
31345
31277
  ju_GenericEnumSet_add($mainBits, $roundedBits);
31346
31278
  $mainBits = $env.$flags;
31347
31279
  $roundedBits = asrj_Flags_inexact;
31348
31280
  ju_GenericEnumSet_add($mainBits, $roundedBits);
31349
- asrjt_Float32$1_$callClinit();
31350
- switch (asrjt_Float32$1_$SwitchMap$app$specy$rars$jsoftfloat$RoundingMode.data[jl_Enum_ordinal($env.$mode)]) {
31281
+ asrjt_Float64$1_$callClinit();
31282
+ switch (asrjt_Float64$1_$SwitchMap$app$specy$rars$jsoftfloat$RoundingMode.data[jl_Enum_ordinal($env.$mode)]) {
31351
31283
  case 1:
31352
31284
  break;
31353
31285
  case 2:
31354
31286
  case 3:
31355
31287
  $normalizedExponent = $ef.$sign;
31356
31288
  if ($normalizedExponent == ($env.$mode !== asrj_RoundingMode_max ? 0 : 1))
31357
- return asrjt_Float32__init_0($normalizedExponent, 127, -1);
31358
- return !$normalizedExponent ? asrjt_Float32_Infinity : asrjt_Float32_NegativeInfinity;
31289
+ return asrjt_Float64__init_0($normalizedExponent, 1023, Long_fromInt(-1));
31290
+ return !$normalizedExponent ? asrjt_Float64_Infinity : asrjt_Float64_NegativeInfinity;
31359
31291
  case 4:
31360
31292
  case 5:
31361
- return !$ef.$sign ? asrjt_Float32_Infinity : asrjt_Float32_NegativeInfinity;
31293
+ return !$ef.$sign ? asrjt_Float64_Infinity : asrjt_Float64_NegativeInfinity;
31362
31294
  default:
31363
- if (!asrjt_Float32_$assertionsDisabled)
31295
+ if (!asrjt_Float64_$assertionsDisabled)
31364
31296
  $rt_throw(jl_AssertionError__init_($rt_s(1617)));
31365
- return !$ef.$sign ? asrjt_Float32_Infinity : asrjt_Float32_NegativeInfinity;
31297
+ return !$ef.$sign ? asrjt_Float64_Infinity : asrjt_Float64_NegativeInfinity;
31366
31298
  }
31367
- return asrjt_Float32__init_0($ef.$sign, 127, -1);
31299
+ return asrjt_Float64__init_0($ef.$sign, 1023, Long_fromInt(-1));
31368
31300
  }
31369
- if (jm_BigInteger_bitLength($ef.$significand) <= 24) {
31370
- if (!asrjt_Float32_$assertionsDisabled && (($ef.$exponent0 + jm_BigInteger_bitLength($ef.$significand) | 0) - 1 | 0) <= -127)
31301
+ if (jm_BigInteger_bitLength($ef.$significand) <= 53) {
31302
+ if (!asrjt_Float64_$assertionsDisabled && (($ef.$exponent0 + jm_BigInteger_bitLength($ef.$significand) | 0) - 1 | 0) <= -1023)
31371
31303
  $rt_throw(jl_AssertionError__init_($rt_s(1618)));
31372
- $a = new asrjt_Float32();
31304
+ $a = new asrjt_Float64();
31373
31305
  $normalizedExponent = $ef.$sign;
31374
31306
  $bitsToRound = ($ef.$exponent0 + jm_BigInteger_bitLength($ef.$significand) | 0) - 1 | 0;
31375
31307
  $ef = $ef.$significand;
31376
- asrjt_Float32__init_1($a, $normalizedExponent, $bitsToRound, jm_BigInteger_intValueExact(jm_BigInteger_shiftLeft($ef, 24 - jm_BigInteger_bitLength($ef) | 0)) & 8388607);
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)));
31377
31309
  return $a;
31378
31310
  }
31379
31311
  $mainBits = $env.$flags;
31380
31312
  $roundedBits = asrj_Flags_inexact;
31381
31313
  ju_GenericEnumSet_add($mainBits, $roundedBits);
31382
- $bitsToRound = jm_BigInteger_bitLength($ef.$significand) - 24 | 0;
31314
+ $bitsToRound = jm_BigInteger_bitLength($ef.$significand) - 53 | 0;
31383
31315
  $mainBits = jm_BigInteger_shiftLeft(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound), $bitsToRound);
31384
31316
  $roundedBits = jm_BigInteger_subtract($ef.$significand, $mainBits);
31385
31317
  $upBits = jm_BigInteger_add(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound), jm_BigInteger_valueOf(Long_fromInt(1)));
31386
- $towardsZero = asrjt_Float32__init_0($ef.$sign, ($ef.$exponent0 + 23 | 0) + $bitsToRound | 0, jm_BigInteger_intValueExact(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound)) & 8388607);
31387
- $awayZero = !jm_BigInteger_testBit($upBits, 0) && jm_BigInteger_bitLength($upBits) > 24 ? asrjt_Float32__init_0($ef.$sign, ($ef.$exponent0 + 24 | 0) + $bitsToRound | 0, jm_BigInteger_intValueExact(jm_BigInteger_shiftRight($upBits, 1)) & 8388607) : asrjt_Float32__init_0($ef.$sign, ($ef.$exponent0 + 23 | 0) + $bitsToRound | 0, jm_BigInteger_intValueExact($upBits) & 8388607);
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)));
31388
31320
  } else {
31389
- if ($ef.$exponent0 > -150) {
31390
- if (!asrjt_Float32_$assertionsDisabled && jm_BigInteger_bitLength($ef.$significand) > 23)
31321
+ if ($ef.$exponent0 > -1075) {
31322
+ if (!asrjt_Float64_$assertionsDisabled && jm_BigInteger_bitLength($ef.$significand) > 52)
31391
31323
  $rt_throw(jl_AssertionError__init_($rt_s(1619)));
31392
- return asrjt_Float32__init_0($ef.$sign, -127, jm_BigInteger_intValueExact(jm_BigInteger_shiftLeft($ef.$significand, 149 + $ef.$exponent0 | 0)));
31324
+ return asrjt_Float64__init_0($ef.$sign, -1023, jm_BigInteger_longValueExact(jm_BigInteger_shiftLeft($ef.$significand, 1074 + $ef.$exponent0 | 0)));
31393
31325
  }
31394
31326
  $mainBits = $env.$flags;
31395
31327
  $roundedBits = asrj_Flags_inexact;
@@ -31397,21 +31329,21 @@ var asrjt_Float32_fromExactFloat0 = ($this, $ef, $env) => {
31397
31329
  $mainBits = $env.$flags;
31398
31330
  $roundedBits = asrj_Flags_underflow;
31399
31331
  ju_GenericEnumSet_add($mainBits, $roundedBits);
31400
- $bitsToRound = -149 - $ef.$exponent0 | 0;
31332
+ $bitsToRound = -1074 - $ef.$exponent0 | 0;
31401
31333
  $mainBits = jm_BigInteger_shiftLeft(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound), $bitsToRound);
31402
31334
  $roundedBits = jm_BigInteger_subtract($ef.$significand, $mainBits);
31403
- $towardsZero = asrjt_Float32__init_0($ef.$sign, -127, jm_BigInteger_intValueExact(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound)));
31335
+ $towardsZero = asrjt_Float64__init_0($ef.$sign, -1023, jm_BigInteger_longValueExact(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound)));
31404
31336
  $upBits = jm_BigInteger_add(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound), jm_BigInteger_valueOf(Long_fromInt(1)));
31405
- if (!jm_BigInteger_testBit($upBits, 0) && jm_BigInteger_bitLength($upBits) > 23)
31406
- $awayZero = asrjt_Float32__init_0($ef.$sign, -126, jm_BigInteger_intValueExact($upBits) & 8388607);
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)));
31407
31339
  else {
31408
- if (!asrjt_Float32_$assertionsDisabled && jm_BigInteger_bitLength($upBits) > 23)
31340
+ if (!asrjt_Float64_$assertionsDisabled && jm_BigInteger_bitLength($upBits) > 52)
31409
31341
  $rt_throw(jl_AssertionError__init_1());
31410
- $awayZero = asrjt_Float32__init_0($ef.$sign, -127, jm_BigInteger_intValueExact($upBits));
31342
+ $awayZero = asrjt_Float64__init_0($ef.$sign, -1023, jm_BigInteger_longValueExact($upBits));
31411
31343
  }
31412
31344
  }
31413
- asrjt_Float32$1_$callClinit();
31414
- switch (asrjt_Float32$1_$SwitchMap$app$specy$rars$jsoftfloat$RoundingMode.data[jl_Enum_ordinal($env.$mode)]) {
31345
+ asrjt_Float64$1_$callClinit();
31346
+ switch (asrjt_Float64$1_$SwitchMap$app$specy$rars$jsoftfloat$RoundingMode.data[jl_Enum_ordinal($env.$mode)]) {
31415
31347
  case 1:
31416
31348
  break;
31417
31349
  case 2:
@@ -31427,185 +31359,185 @@ var asrjt_Float32_fromExactFloat0 = ($this, $ef, $env) => {
31427
31359
  return $towardsZero;
31428
31360
  return $awayZero;
31429
31361
  }
31430
- if ($env.$mode !== asrj_RoundingMode_away && $awayZero.$bits0 & 1)
31362
+ if ($env.$mode !== asrj_RoundingMode_away && Long_ne(Long_and($awayZero.$bits1, Long_fromInt(1)), Long_ZERO))
31431
31363
  return $towardsZero;
31432
31364
  return $awayZero;
31433
31365
  }
31434
31366
  return $towardsZero;
31435
31367
  };
31436
- var asrjt_Float32_toExactFloat = ($this) => {
31368
+ var asrjt_Float64_toExactFloat = ($this) => {
31437
31369
  let $sign, $exponent, $significand;
31438
- if (!asrjt_Float32_$assertionsDisabled && asrjt_Float32_isInfinite($this))
31370
+ if (!asrjt_Float64_$assertionsDisabled && asrjt_Float64_isInfinite($this))
31439
31371
  $rt_throw(jl_AssertionError__init_($rt_s(1620)));
31440
- if (!asrjt_Float32_$assertionsDisabled && asrjt_Float32_isNaN($this))
31372
+ if (!asrjt_Float64_$assertionsDisabled && asrjt_Float64_isNaN($this))
31441
31373
  $rt_throw(jl_AssertionError__init_($rt_s(1621)));
31442
- if (!asrjt_Float32_$assertionsDisabled && asrjt_Float32_isZero($this))
31374
+ if (!asrjt_Float64_$assertionsDisabled && asrjt_Float64_isZero($this))
31443
31375
  $rt_throw(jl_AssertionError__init_($rt_s(1622)));
31444
- $sign = asrjt_Float32_isSignMinus($this);
31445
- if (asrjt_Float32_isZero($this)) {
31376
+ $sign = asrjt_Float64_isSignMinus($this);
31377
+ if (asrjt_Float64_isZero($this)) {
31446
31378
  $exponent = 0;
31447
31379
  $significand = jm_BigInteger_ZERO;
31448
- } else if (asrjt_Float32_isNormal($this)) {
31449
- $exponent = asrjt_Float32_exponent($this) - 23 | 0;
31450
- $significand = jm_BigInteger_valueOf(Long_fromInt(($this.$bits0 & 8388607) + 8388608 | 0));
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)));
31451
31383
  } else {
31452
- if (!asrjt_Float32_isSubnormal($this)) {
31453
- if (asrjt_Float32_$assertionsDisabled)
31384
+ if (!asrjt_Float64_isSubnormal($this)) {
31385
+ if (asrjt_Float64_$assertionsDisabled)
31454
31386
  return null;
31455
31387
  $rt_throw(jl_AssertionError__init_($rt_s(1623)));
31456
31388
  }
31457
- $exponent = asrjt_Float32_exponent($this) - 22 | 0;
31458
- $significand = jm_BigInteger_valueOf(Long_fromInt($this.$bits0 & 8388607));
31389
+ $exponent = asrjt_Float64_exponent($this) - 51 | 0;
31390
+ $significand = jm_BigInteger_valueOf(Long_and($this.$bits1, Long_create(4294967295, 1048575)));
31459
31391
  }
31460
31392
  return asrji_ExactFloat__init_($sign, $exponent, $significand);
31461
31393
  };
31462
- var asrjt_Float32_maxPrecision = ($this) => {
31463
- return 30;
31394
+ var asrjt_Float64_maxPrecision = ($this) => {
31395
+ return 60;
31464
31396
  };
31465
- var asrjt_Float32_negate0 = ($this) => {
31466
- return asrjt_Float32_negate($this);
31397
+ var asrjt_Float64_negate0 = ($this) => {
31398
+ return asrjt_Float64_negate($this);
31467
31399
  };
31468
- var asrjt_Float32_fromExactFloat = ($this, var$1, var$2) => {
31469
- return asrjt_Float32_fromExactFloat0($this, var$1, var$2);
31400
+ var asrjt_Float64_fromExactFloat = ($this, var$1, var$2) => {
31401
+ return asrjt_Float64_fromExactFloat0($this, var$1, var$2);
31470
31402
  };
31471
- var asrjt_Float32_NegativeInfinity0 = ($this) => {
31472
- return asrjt_Float32_NegativeInfinity;
31403
+ var asrjt_Float64_NegativeInfinity0 = ($this) => {
31404
+ return asrjt_Float64_NegativeInfinity;
31473
31405
  };
31474
- var asrjt_Float32_Infinity0 = ($this) => {
31475
- return asrjt_Float32_Infinity;
31406
+ var asrjt_Float64_Infinity0 = ($this) => {
31407
+ return asrjt_Float64_Infinity;
31476
31408
  };
31477
- var asrjt_Float32_NegativeZero0 = ($this) => {
31478
- return asrjt_Float32_NegativeZero;
31409
+ var asrjt_Float64_NegativeZero0 = ($this) => {
31410
+ return asrjt_Float64_NegativeZero;
31479
31411
  };
31480
- var asrjt_Float32_Zero0 = ($this) => {
31481
- return asrjt_Float32_Zero;
31412
+ var asrjt_Float64_Zero0 = ($this) => {
31413
+ return asrjt_Float64_Zero;
31482
31414
  };
31483
- var asrjt_Float32_NaN0 = ($this) => {
31484
- return asrjt_Float32_NaN;
31415
+ var asrjt_Float64_NaN0 = ($this) => {
31416
+ return asrjt_Float64_NaN;
31485
31417
  };
31486
- var asrjt_Float32__clinit_ = () => {
31487
- asrjt_Float32_$assertionsDisabled = 0;
31488
- asrjt_Float32_Zero = asrjt_Float32__init_(0);
31489
- asrjt_Float32_NegativeZero = asrjt_Float32__init_(-2147483648);
31490
- asrjt_Float32_NaN = asrjt_Float32__init_(2143289344);
31491
- asrjt_Float32_Infinity = asrjt_Float32__init_(2139095040);
31492
- asrjt_Float32_NegativeInfinity = asrjt_Float32__init_(-8388608);
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));
31493
31425
  };
31494
- function asrjt_Float64() {
31426
+ function asrjt_Float32() {
31495
31427
  asrjt_Floating.call(this);
31496
- this.$bits1 = Long_ZERO;
31428
+ this.$bits0 = 0;
31497
31429
  }
31498
- var asrjt_Float64_Zero = null;
31499
- var asrjt_Float64_NegativeZero = null;
31500
- var asrjt_Float64_NaN = null;
31501
- var asrjt_Float64_Infinity = null;
31502
- var asrjt_Float64_NegativeInfinity = null;
31503
- var asrjt_Float64_$assertionsDisabled = 0;
31504
- var asrjt_Float64__init_1 = ($this, $bits) => {
31505
- $this.$bits1 = $bits;
31430
+ var asrjt_Float32_Zero = null;
31431
+ var asrjt_Float32_NegativeZero = null;
31432
+ var asrjt_Float32_NaN = null;
31433
+ var asrjt_Float32_Infinity = null;
31434
+ var asrjt_Float32_NegativeInfinity = null;
31435
+ var asrjt_Float32_$assertionsDisabled = 0;
31436
+ var asrjt_Float32__init_2 = ($this, $bits) => {
31437
+ $this.$bits0 = $bits;
31506
31438
  };
31507
- var asrjt_Float64__init_ = (var_0) => {
31508
- let var_1 = new asrjt_Float64();
31509
- asrjt_Float64__init_1(var_1, var_0);
31439
+ var asrjt_Float32__init_ = (var_0) => {
31440
+ let var_1 = new asrjt_Float32();
31441
+ asrjt_Float32__init_2(var_1, var_0);
31510
31442
  return var_1;
31511
31443
  };
31512
- var asrjt_Float64__init_2 = ($this, $sign, $exponent, $significand) => {
31513
- 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))));
31444
+ var asrjt_Float32__init_1 = ($this, $sign, $exponent, $significand) => {
31445
+ asrjt_Float32__init_2($this, (!$sign ? 0 : -2147483648) | (($exponent + 127 | 0) & 255) << 23 | $significand & 8388607);
31514
31446
  };
31515
- var asrjt_Float64__init_0 = (var_0, var_1, var_2) => {
31516
- let var_3 = new asrjt_Float64();
31517
- asrjt_Float64__init_2(var_3, var_0, var_1, var_2);
31447
+ var asrjt_Float32__init_0 = (var_0, var_1, var_2) => {
31448
+ let var_3 = new asrjt_Float32();
31449
+ asrjt_Float32__init_1(var_3, var_0, var_1, var_2);
31518
31450
  return var_3;
31519
31451
  };
31520
- var asrjt_Float64_exponent = ($this) => {
31521
- return (Long_lo(Long_shru($this.$bits1, 52)) & 2047) - 1023 | 0;
31452
+ var asrjt_Float32_exponent = ($this) => {
31453
+ return (($this.$bits0 >>> 23 | 0) & 255) - 127 | 0;
31522
31454
  };
31523
- var asrjt_Float64_negate = ($this) => {
31524
- return asrjt_Float64__init_(Long_xor($this.$bits1, Long_create(0, 2147483648)));
31455
+ var asrjt_Float32_negate = ($this) => {
31456
+ return asrjt_Float32__init_($this.$bits0 ^ -2147483648);
31525
31457
  };
31526
- var asrjt_Float64_isSignMinus = ($this) => {
31527
- return Long_ne(Long_shru($this.$bits1, 63), Long_fromInt(1)) ? 0 : 1;
31458
+ var asrjt_Float32_isSignMinus = ($this) => {
31459
+ return ($this.$bits0 >>> 31 | 0) != 1 ? 0 : 1;
31528
31460
  };
31529
- var asrjt_Float64_isInfinite = ($this) => {
31530
- return asrjt_Float64_exponent($this) == 1024 && Long_eq(Long_and($this.$bits1, Long_create(4294967295, 1048575)), Long_ZERO) ? 1 : 0;
31461
+ var asrjt_Float32_isInfinite = ($this) => {
31462
+ return asrjt_Float32_exponent($this) == 128 && !($this.$bits0 & 8388607) ? 1 : 0;
31531
31463
  };
31532
- var asrjt_Float64_isNormal = ($this) => {
31533
- return asrjt_Float64_exponent($this) != -1023 && asrjt_Float64_exponent($this) != 1024 ? 1 : 0;
31464
+ var asrjt_Float32_isNormal = ($this) => {
31465
+ return asrjt_Float32_exponent($this) != -127 && asrjt_Float32_exponent($this) != 128 ? 1 : 0;
31534
31466
  };
31535
- var asrjt_Float64_isSubnormal = ($this) => {
31536
- return asrjt_Float64_exponent($this) == -1023 && !asrjt_Float64_isZero($this) ? 1 : 0;
31467
+ var asrjt_Float32_isSubnormal = ($this) => {
31468
+ return asrjt_Float32_exponent($this) == -127 && !asrjt_Float32_isZero($this) ? 1 : 0;
31537
31469
  };
31538
- var asrjt_Float64_isNaN = ($this) => {
31539
- return asrjt_Float64_exponent($this) == 1024 && !asrjt_Float64_isInfinite($this) ? 1 : 0;
31470
+ var asrjt_Float32_isNaN = ($this) => {
31471
+ return asrjt_Float32_exponent($this) == 128 && !asrjt_Float32_isInfinite($this) ? 1 : 0;
31540
31472
  };
31541
- var asrjt_Float64_isSignalling = ($this) => {
31542
- if (!asrjt_Float64_isNaN($this))
31473
+ var asrjt_Float32_isSignalling = ($this) => {
31474
+ if (!asrjt_Float32_isNaN($this))
31543
31475
  return 0;
31544
- return Long_ne(Long_and($this.$bits1, Long_create(0, 524288)), Long_ZERO) ? 0 : 1;
31476
+ return $this.$bits0 & 4194304 ? 0 : 1;
31545
31477
  };
31546
- var asrjt_Float64_isZero = ($this) => {
31478
+ var asrjt_Float32_isZero = ($this) => {
31547
31479
  let var$1;
31548
- var$1 = $this.$bits1;
31549
- return Long_ne(var$1, Long_ZERO) && Long_ne(var$1, Long_create(0, 2147483648)) ? 0 : 1;
31480
+ var$1 = $this.$bits0;
31481
+ return var$1 && var$1 != -2147483648 ? 0 : 1;
31550
31482
  };
31551
- var asrjt_Float64_fromExactFloat0 = ($this, $ef, $env) => {
31483
+ var asrjt_Float32_fromExactFloat0 = ($this, $ef, $env) => {
31552
31484
  let $normalizedExponent, $mainBits, $roundedBits, $a, $bitsToRound, $upBits, $towardsZero, $awayZero;
31553
31485
  if (asrji_ExactFloat_isZero($ef))
31554
- return !$ef.$sign ? asrjt_Float64_Zero : asrjt_Float64_NegativeZero;
31486
+ return !$ef.$sign ? asrjt_Float32_Zero : asrjt_Float32_NegativeZero;
31555
31487
  $ef = asrji_ExactFloat_normalize($ef);
31556
31488
  $normalizedExponent = $ef.$exponent0 + jm_BigInteger_bitLength($ef.$significand) | 0;
31557
- if ($normalizedExponent > -1022) {
31558
- if ($normalizedExponent > 1024) {
31489
+ if ($normalizedExponent > -126) {
31490
+ if ($normalizedExponent > 128) {
31559
31491
  $mainBits = $env.$flags;
31560
31492
  $roundedBits = asrj_Flags_overflow;
31561
31493
  ju_GenericEnumSet_add($mainBits, $roundedBits);
31562
31494
  $mainBits = $env.$flags;
31563
31495
  $roundedBits = asrj_Flags_inexact;
31564
31496
  ju_GenericEnumSet_add($mainBits, $roundedBits);
31565
- asrjt_Float64$1_$callClinit();
31566
- switch (asrjt_Float64$1_$SwitchMap$app$specy$rars$jsoftfloat$RoundingMode.data[jl_Enum_ordinal($env.$mode)]) {
31497
+ asrjt_Float32$1_$callClinit();
31498
+ switch (asrjt_Float32$1_$SwitchMap$app$specy$rars$jsoftfloat$RoundingMode.data[jl_Enum_ordinal($env.$mode)]) {
31567
31499
  case 1:
31568
31500
  break;
31569
31501
  case 2:
31570
31502
  case 3:
31571
31503
  $normalizedExponent = $ef.$sign;
31572
31504
  if ($normalizedExponent == ($env.$mode !== asrj_RoundingMode_max ? 0 : 1))
31573
- return asrjt_Float64__init_0($normalizedExponent, 1023, Long_fromInt(-1));
31574
- return !$normalizedExponent ? asrjt_Float64_Infinity : asrjt_Float64_NegativeInfinity;
31505
+ return asrjt_Float32__init_0($normalizedExponent, 127, -1);
31506
+ return !$normalizedExponent ? asrjt_Float32_Infinity : asrjt_Float32_NegativeInfinity;
31575
31507
  case 4:
31576
31508
  case 5:
31577
- return !$ef.$sign ? asrjt_Float64_Infinity : asrjt_Float64_NegativeInfinity;
31509
+ return !$ef.$sign ? asrjt_Float32_Infinity : asrjt_Float32_NegativeInfinity;
31578
31510
  default:
31579
- if (!asrjt_Float64_$assertionsDisabled)
31511
+ if (!asrjt_Float32_$assertionsDisabled)
31580
31512
  $rt_throw(jl_AssertionError__init_($rt_s(1617)));
31581
- return !$ef.$sign ? asrjt_Float64_Infinity : asrjt_Float64_NegativeInfinity;
31513
+ return !$ef.$sign ? asrjt_Float32_Infinity : asrjt_Float32_NegativeInfinity;
31582
31514
  }
31583
- return asrjt_Float64__init_0($ef.$sign, 1023, Long_fromInt(-1));
31515
+ return asrjt_Float32__init_0($ef.$sign, 127, -1);
31584
31516
  }
31585
- if (jm_BigInteger_bitLength($ef.$significand) <= 53) {
31586
- if (!asrjt_Float64_$assertionsDisabled && (($ef.$exponent0 + jm_BigInteger_bitLength($ef.$significand) | 0) - 1 | 0) <= -1023)
31517
+ if (jm_BigInteger_bitLength($ef.$significand) <= 24) {
31518
+ if (!asrjt_Float32_$assertionsDisabled && (($ef.$exponent0 + jm_BigInteger_bitLength($ef.$significand) | 0) - 1 | 0) <= -127)
31587
31519
  $rt_throw(jl_AssertionError__init_($rt_s(1618)));
31588
- $a = new asrjt_Float64();
31520
+ $a = new asrjt_Float32();
31589
31521
  $normalizedExponent = $ef.$sign;
31590
31522
  $bitsToRound = ($ef.$exponent0 + jm_BigInteger_bitLength($ef.$significand) | 0) - 1 | 0;
31591
31523
  $ef = $ef.$significand;
31592
- 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)));
31524
+ asrjt_Float32__init_1($a, $normalizedExponent, $bitsToRound, jm_BigInteger_intValueExact(jm_BigInteger_shiftLeft($ef, 24 - jm_BigInteger_bitLength($ef) | 0)) & 8388607);
31593
31525
  return $a;
31594
31526
  }
31595
31527
  $mainBits = $env.$flags;
31596
31528
  $roundedBits = asrj_Flags_inexact;
31597
31529
  ju_GenericEnumSet_add($mainBits, $roundedBits);
31598
- $bitsToRound = jm_BigInteger_bitLength($ef.$significand) - 53 | 0;
31530
+ $bitsToRound = jm_BigInteger_bitLength($ef.$significand) - 24 | 0;
31599
31531
  $mainBits = jm_BigInteger_shiftLeft(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound), $bitsToRound);
31600
31532
  $roundedBits = jm_BigInteger_subtract($ef.$significand, $mainBits);
31601
31533
  $upBits = jm_BigInteger_add(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound), jm_BigInteger_valueOf(Long_fromInt(1)));
31602
- $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)));
31603
- $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)));
31534
+ $towardsZero = asrjt_Float32__init_0($ef.$sign, ($ef.$exponent0 + 23 | 0) + $bitsToRound | 0, jm_BigInteger_intValueExact(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound)) & 8388607);
31535
+ $awayZero = !jm_BigInteger_testBit($upBits, 0) && jm_BigInteger_bitLength($upBits) > 24 ? asrjt_Float32__init_0($ef.$sign, ($ef.$exponent0 + 24 | 0) + $bitsToRound | 0, jm_BigInteger_intValueExact(jm_BigInteger_shiftRight($upBits, 1)) & 8388607) : asrjt_Float32__init_0($ef.$sign, ($ef.$exponent0 + 23 | 0) + $bitsToRound | 0, jm_BigInteger_intValueExact($upBits) & 8388607);
31604
31536
  } else {
31605
- if ($ef.$exponent0 > -1075) {
31606
- if (!asrjt_Float64_$assertionsDisabled && jm_BigInteger_bitLength($ef.$significand) > 52)
31537
+ if ($ef.$exponent0 > -150) {
31538
+ if (!asrjt_Float32_$assertionsDisabled && jm_BigInteger_bitLength($ef.$significand) > 23)
31607
31539
  $rt_throw(jl_AssertionError__init_($rt_s(1619)));
31608
- return asrjt_Float64__init_0($ef.$sign, -1023, jm_BigInteger_longValueExact(jm_BigInteger_shiftLeft($ef.$significand, 1074 + $ef.$exponent0 | 0)));
31540
+ return asrjt_Float32__init_0($ef.$sign, -127, jm_BigInteger_intValueExact(jm_BigInteger_shiftLeft($ef.$significand, 149 + $ef.$exponent0 | 0)));
31609
31541
  }
31610
31542
  $mainBits = $env.$flags;
31611
31543
  $roundedBits = asrj_Flags_inexact;
@@ -31613,21 +31545,21 @@ var asrjt_Float64_fromExactFloat0 = ($this, $ef, $env) => {
31613
31545
  $mainBits = $env.$flags;
31614
31546
  $roundedBits = asrj_Flags_underflow;
31615
31547
  ju_GenericEnumSet_add($mainBits, $roundedBits);
31616
- $bitsToRound = -1074 - $ef.$exponent0 | 0;
31548
+ $bitsToRound = -149 - $ef.$exponent0 | 0;
31617
31549
  $mainBits = jm_BigInteger_shiftLeft(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound), $bitsToRound);
31618
31550
  $roundedBits = jm_BigInteger_subtract($ef.$significand, $mainBits);
31619
- $towardsZero = asrjt_Float64__init_0($ef.$sign, -1023, jm_BigInteger_longValueExact(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound)));
31551
+ $towardsZero = asrjt_Float32__init_0($ef.$sign, -127, jm_BigInteger_intValueExact(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound)));
31620
31552
  $upBits = jm_BigInteger_add(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound), jm_BigInteger_valueOf(Long_fromInt(1)));
31621
- if (!jm_BigInteger_testBit($upBits, 0) && jm_BigInteger_bitLength($upBits) > 52)
31622
- $awayZero = asrjt_Float64__init_0($ef.$sign, -1022, Long_and(jm_BigInteger_longValueExact($upBits), Long_create(4294967295, 1048575)));
31553
+ if (!jm_BigInteger_testBit($upBits, 0) && jm_BigInteger_bitLength($upBits) > 23)
31554
+ $awayZero = asrjt_Float32__init_0($ef.$sign, -126, jm_BigInteger_intValueExact($upBits) & 8388607);
31623
31555
  else {
31624
- if (!asrjt_Float64_$assertionsDisabled && jm_BigInteger_bitLength($upBits) > 52)
31556
+ if (!asrjt_Float32_$assertionsDisabled && jm_BigInteger_bitLength($upBits) > 23)
31625
31557
  $rt_throw(jl_AssertionError__init_1());
31626
- $awayZero = asrjt_Float64__init_0($ef.$sign, -1023, jm_BigInteger_longValueExact($upBits));
31558
+ $awayZero = asrjt_Float32__init_0($ef.$sign, -127, jm_BigInteger_intValueExact($upBits));
31627
31559
  }
31628
31560
  }
31629
- asrjt_Float64$1_$callClinit();
31630
- switch (asrjt_Float64$1_$SwitchMap$app$specy$rars$jsoftfloat$RoundingMode.data[jl_Enum_ordinal($env.$mode)]) {
31561
+ asrjt_Float32$1_$callClinit();
31562
+ switch (asrjt_Float32$1_$SwitchMap$app$specy$rars$jsoftfloat$RoundingMode.data[jl_Enum_ordinal($env.$mode)]) {
31631
31563
  case 1:
31632
31564
  break;
31633
31565
  case 2:
@@ -31643,69 +31575,279 @@ var asrjt_Float64_fromExactFloat0 = ($this, $ef, $env) => {
31643
31575
  return $towardsZero;
31644
31576
  return $awayZero;
31645
31577
  }
31646
- if ($env.$mode !== asrj_RoundingMode_away && Long_ne(Long_and($awayZero.$bits1, Long_fromInt(1)), Long_ZERO))
31578
+ if ($env.$mode !== asrj_RoundingMode_away && $awayZero.$bits0 & 1)
31647
31579
  return $towardsZero;
31648
31580
  return $awayZero;
31649
31581
  }
31650
31582
  return $towardsZero;
31651
31583
  };
31652
- var asrjt_Float64_toExactFloat = ($this) => {
31584
+ var asrjt_Float32_toExactFloat = ($this) => {
31653
31585
  let $sign, $exponent, $significand;
31654
- if (!asrjt_Float64_$assertionsDisabled && asrjt_Float64_isInfinite($this))
31586
+ if (!asrjt_Float32_$assertionsDisabled && asrjt_Float32_isInfinite($this))
31655
31587
  $rt_throw(jl_AssertionError__init_($rt_s(1620)));
31656
- if (!asrjt_Float64_$assertionsDisabled && asrjt_Float64_isNaN($this))
31588
+ if (!asrjt_Float32_$assertionsDisabled && asrjt_Float32_isNaN($this))
31657
31589
  $rt_throw(jl_AssertionError__init_($rt_s(1621)));
31658
- if (!asrjt_Float64_$assertionsDisabled && asrjt_Float64_isZero($this))
31590
+ if (!asrjt_Float32_$assertionsDisabled && asrjt_Float32_isZero($this))
31659
31591
  $rt_throw(jl_AssertionError__init_($rt_s(1622)));
31660
- $sign = asrjt_Float64_isSignMinus($this);
31661
- if (asrjt_Float64_isZero($this)) {
31592
+ $sign = asrjt_Float32_isSignMinus($this);
31593
+ if (asrjt_Float32_isZero($this)) {
31662
31594
  $exponent = 0;
31663
31595
  $significand = jm_BigInteger_ZERO;
31664
- } else if (asrjt_Float64_isNormal($this)) {
31665
- $exponent = asrjt_Float64_exponent($this) - 52 | 0;
31666
- $significand = jm_BigInteger_valueOf(Long_add(Long_and($this.$bits1, Long_create(4294967295, 1048575)), Long_create(0, 1048576)));
31596
+ } else if (asrjt_Float32_isNormal($this)) {
31597
+ $exponent = asrjt_Float32_exponent($this) - 23 | 0;
31598
+ $significand = jm_BigInteger_valueOf(Long_fromInt(($this.$bits0 & 8388607) + 8388608 | 0));
31667
31599
  } else {
31668
- if (!asrjt_Float64_isSubnormal($this)) {
31669
- if (asrjt_Float64_$assertionsDisabled)
31600
+ if (!asrjt_Float32_isSubnormal($this)) {
31601
+ if (asrjt_Float32_$assertionsDisabled)
31670
31602
  return null;
31671
31603
  $rt_throw(jl_AssertionError__init_($rt_s(1623)));
31672
31604
  }
31673
- $exponent = asrjt_Float64_exponent($this) - 51 | 0;
31674
- $significand = jm_BigInteger_valueOf(Long_and($this.$bits1, Long_create(4294967295, 1048575)));
31605
+ $exponent = asrjt_Float32_exponent($this) - 22 | 0;
31606
+ $significand = jm_BigInteger_valueOf(Long_fromInt($this.$bits0 & 8388607));
31675
31607
  }
31676
31608
  return asrji_ExactFloat__init_($sign, $exponent, $significand);
31677
31609
  };
31678
- var asrjt_Float64_maxPrecision = ($this) => {
31679
- return 60;
31610
+ var asrjt_Float32_maxPrecision = ($this) => {
31611
+ return 30;
31680
31612
  };
31681
- var asrjt_Float64_negate0 = ($this) => {
31682
- return asrjt_Float64_negate($this);
31613
+ var asrjt_Float32_negate0 = ($this) => {
31614
+ return asrjt_Float32_negate($this);
31683
31615
  };
31684
- var asrjt_Float64_fromExactFloat = ($this, var$1, var$2) => {
31685
- return asrjt_Float64_fromExactFloat0($this, var$1, var$2);
31616
+ var asrjt_Float32_fromExactFloat = ($this, var$1, var$2) => {
31617
+ return asrjt_Float32_fromExactFloat0($this, var$1, var$2);
31686
31618
  };
31687
- var asrjt_Float64_NegativeInfinity0 = ($this) => {
31688
- return asrjt_Float64_NegativeInfinity;
31619
+ var asrjt_Float32_NegativeInfinity0 = ($this) => {
31620
+ return asrjt_Float32_NegativeInfinity;
31689
31621
  };
31690
- var asrjt_Float64_Infinity0 = ($this) => {
31691
- return asrjt_Float64_Infinity;
31622
+ var asrjt_Float32_Infinity0 = ($this) => {
31623
+ return asrjt_Float32_Infinity;
31692
31624
  };
31693
- var asrjt_Float64_NegativeZero0 = ($this) => {
31694
- return asrjt_Float64_NegativeZero;
31625
+ var asrjt_Float32_NegativeZero0 = ($this) => {
31626
+ return asrjt_Float32_NegativeZero;
31695
31627
  };
31696
- var asrjt_Float64_Zero0 = ($this) => {
31697
- return asrjt_Float64_Zero;
31628
+ var asrjt_Float32_Zero0 = ($this) => {
31629
+ return asrjt_Float32_Zero;
31698
31630
  };
31699
- var asrjt_Float64_NaN0 = ($this) => {
31700
- return asrjt_Float64_NaN;
31631
+ var asrjt_Float32_NaN0 = ($this) => {
31632
+ return asrjt_Float32_NaN;
31701
31633
  };
31702
- var asrjt_Float64__clinit_ = () => {
31703
- asrjt_Float64_$assertionsDisabled = 0;
31704
- asrjt_Float64_Zero = asrjt_Float64__init_(Long_ZERO);
31705
- asrjt_Float64_NegativeZero = asrjt_Float64__init_(Long_create(0, 2147483648));
31706
- asrjt_Float64_NaN = asrjt_Float64__init_(Long_create(0, 2146959360));
31707
- asrjt_Float64_Infinity = asrjt_Float64__init_(Long_create(0, 2146435072));
31708
- asrjt_Float64_NegativeInfinity = asrjt_Float64__init_(Long_create(0, 4293918720));
31634
+ var asrjt_Float32__clinit_ = () => {
31635
+ asrjt_Float32_$assertionsDisabled = 0;
31636
+ asrjt_Float32_Zero = asrjt_Float32__init_(0);
31637
+ asrjt_Float32_NegativeZero = asrjt_Float32__init_(-2147483648);
31638
+ asrjt_Float32_NaN = asrjt_Float32__init_(2143289344);
31639
+ asrjt_Float32_Infinity = asrjt_Float32__init_(2139095040);
31640
+ asrjt_Float32_NegativeInfinity = asrjt_Float32__init_(-8388608);
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
+ };
31750
+ var asrjo_Comparisons = $rt_classWithoutFields();
31751
+ var asrjo_Comparisons_compareNoNAN = ($a, $b) => {
31752
+ if ($a.$isZero()) {
31753
+ if ($b.$isZero())
31754
+ return 0;
31755
+ return !$b.$isSignMinus() ? -1 : 1;
31756
+ }
31757
+ if ($b.$isZero())
31758
+ return !$a.$isSignMinus() ? 1 : -1;
31759
+ if (!$a.$isInfinite()) {
31760
+ if (!$b.$isInfinite())
31761
+ return asrji_ExactFloat_compareTo($a.$toExactFloat(), $b.$toExactFloat());
31762
+ return !$b.$isSignMinus() ? -1 : 1;
31763
+ }
31764
+ if ($b.$isInfinite() && $a.$isSignMinus() == $b.$isSignMinus())
31765
+ return 0;
31766
+ return !$a.$isSignMinus() ? -1 : 1;
31767
+ };
31768
+ var asrjo_Comparisons_nonNaNmin = ($a, $b) => {
31769
+ if ($a.$isSignMinus() != $b.$isSignMinus()) {
31770
+ if ($a.$isSignMinus())
31771
+ $b = $a;
31772
+ return $b;
31773
+ }
31774
+ if (!$a.$isInfinite() && !$b.$isInfinite()) {
31775
+ if (asrjo_Comparisons_compareNoNAN($a, $b) > 0)
31776
+ return $b;
31777
+ return $a;
31778
+ }
31779
+ if ($a.$isInfinite() != $a.$isSignMinus())
31780
+ return $b;
31781
+ return $a;
31782
+ };
31783
+ var asrjo_Comparisons_handleNaNNumber = ($a, $b, $env) => {
31784
+ let var$4;
31785
+ if (!(!$a.$isSignalling() && !$b.$isSignalling())) {
31786
+ var$4 = $env.$flags;
31787
+ $env = asrj_Flags_invalid;
31788
+ ju_GenericEnumSet_add(var$4, $env);
31789
+ }
31790
+ if ($a.$isNaN()) {
31791
+ if ($b.$isNaN())
31792
+ $b = $b.$NaN();
31793
+ } else
31794
+ $b = !$b.$isNaN() ? null : $a;
31795
+ return $b;
31796
+ };
31797
+ var asrjo_Comparisons_minimumNumber = ($a, $b, $env) => {
31798
+ let $tmp_0;
31799
+ $tmp_0 = asrjo_Comparisons_handleNaNNumber($a, $b, $env);
31800
+ if ($tmp_0 !== null)
31801
+ return $tmp_0;
31802
+ return asrjo_Comparisons_nonNaNmin($a, $b);
31803
+ };
31804
+ var asrjo_Comparisons_maximumNumber = ($a, $b, $env) => {
31805
+ let $tmp_0;
31806
+ $tmp_0 = asrjo_Comparisons_handleNaNNumber($a, $b, $env);
31807
+ if ($tmp_0 !== null)
31808
+ return $tmp_0;
31809
+ if ($a === asrjo_Comparisons_nonNaNmin($a, $b))
31810
+ $a = $b;
31811
+ return $a;
31812
+ };
31813
+ var asrjo_Comparisons_compareQuietEqual = ($a, $b, $env) => {
31814
+ let var$4;
31815
+ if (!(!$a.$isSignalling() && !$b.$isSignalling())) {
31816
+ var$4 = $env.$flags;
31817
+ $env = asrj_Flags_invalid;
31818
+ ju_GenericEnumSet_add(var$4, $env);
31819
+ }
31820
+ if (!$a.$isNaN() && !$b.$isNaN())
31821
+ return asrjo_Comparisons_compareNoNAN($a, $b) ? 0 : 1;
31822
+ return 0;
31823
+ };
31824
+ var asrjo_Comparisons_compareSignalingLessThan = ($a, $b, $env) => {
31825
+ let var$4, var$5;
31826
+ if (!(!$a.$isNaN() && !$b.$isNaN())) {
31827
+ var$4 = $env.$flags;
31828
+ var$5 = asrj_Flags_invalid;
31829
+ ju_GenericEnumSet_add(var$4, var$5);
31830
+ }
31831
+ if (!(!$a.$isSignalling() && !$b.$isSignalling())) {
31832
+ var$5 = $env.$flags;
31833
+ $env = asrj_Flags_invalid;
31834
+ ju_GenericEnumSet_add(var$5, $env);
31835
+ }
31836
+ return !$a.$isNaN() && !$b.$isNaN() ? asrjo_Comparisons_compareNoNAN($a, $b) >= 0 ? 0 : 1 : 0;
31837
+ };
31838
+ var asrjo_Comparisons_compareSignalingLessThanEqual = ($a, $b, $env) => {
31839
+ let var$4, var$5;
31840
+ if (!(!$a.$isNaN() && !$b.$isNaN())) {
31841
+ var$4 = $env.$flags;
31842
+ var$5 = asrj_Flags_invalid;
31843
+ ju_GenericEnumSet_add(var$4, var$5);
31844
+ }
31845
+ if (!(!$a.$isSignalling() && !$b.$isSignalling())) {
31846
+ var$5 = $env.$flags;
31847
+ $env = asrj_Flags_invalid;
31848
+ ju_GenericEnumSet_add(var$5, $env);
31849
+ }
31850
+ return !$a.$isNaN() && !$b.$isNaN() ? asrjo_Comparisons_compareNoNAN($a, $b) > 0 ? 0 : 1 : 0;
31709
31851
  };
31710
31852
  function jm_BigInteger() {
31711
31853
  let a = this;
@@ -31909,7 +32051,7 @@ var jm_BigInteger_testBit = ($this, $n) => {
31909
32051
  return !($this.$digits.data[0] & 1) ? 0 : 1;
31910
32052
  if ($n < 0) {
31911
32053
  var$2 = new jl_ArithmeticException();
31912
- jl_Throwable__init_0(var$2, $rt_s(1624));
32054
+ jl_Throwable__init_0(var$2, $rt_s(1625));
31913
32055
  $rt_throw(var$2);
31914
32056
  }
31915
32057
  $intCount = $n >> 5;
@@ -31937,7 +32079,7 @@ var jm_BigInteger_intValueExact = ($this) => {
31937
32079
  if ($this.$numberLength <= 1 && jm_BigInteger_bitLength($this) <= 31)
31938
32080
  return $rt_imul($this.$sign0, $this.$digits.data[0]);
31939
32081
  var$1 = new jl_ArithmeticException();
31940
- jl_Throwable__init_0(var$1, $rt_s(1625));
32082
+ jl_Throwable__init_0(var$1, $rt_s(1626));
31941
32083
  $rt_throw(var$1);
31942
32084
  };
31943
32085
  var jm_BigInteger_longValue = ($this) => {
@@ -31955,7 +32097,7 @@ var jm_BigInteger_longValueExact = ($this) => {
31955
32097
  if ($this.$numberLength <= 2 && jm_BigInteger_bitLength($this) <= 63)
31956
32098
  return jm_BigInteger_longValue($this);
31957
32099
  var$1 = new jl_ArithmeticException();
31958
- jl_Throwable__init_0(var$1, $rt_s(1626));
32100
+ jl_Throwable__init_0(var$1, $rt_s(1627));
31959
32101
  $rt_throw(var$1);
31960
32102
  };
31961
32103
  var jm_BigInteger_compareTo = ($this, $val) => {
@@ -32076,114 +32218,6 @@ var jm_BigInteger__clinit_ = () => {
32076
32218
  $i = $i + 1 | 0;
32077
32219
  }
32078
32220
  };
32079
- var asrjo_Conversions = $rt_classWithoutFields();
32080
- var asrjo_Conversions_convertToIntegral = ($f, $max, $min, $env, $quiet) => {
32081
- let $copy, $rounded, var$8, var$9, var$10, var$11, var$12, var$13;
32082
- if ($f.$isNaN()) {
32083
- $f = $env.$flags;
32084
- $min = asrj_Flags_invalid;
32085
- ju_GenericEnumSet_add($f, $min);
32086
- return $max;
32087
- }
32088
- if ($f.$isInfinite()) {
32089
- $env = $env.$flags;
32090
- $copy = asrj_Flags_invalid;
32091
- ju_GenericEnumSet_add($env, $copy);
32092
- if ($f.$isSignMinus())
32093
- $max = $min;
32094
- return $max;
32095
- }
32096
- $copy = asrj_Environment__init_();
32097
- $copy.$mode = $env.$mode;
32098
- if ($f.$isZero())
32099
- $rounded = jm_BigInteger_ZERO;
32100
- else {
32101
- $f = $f.$toExactFloat();
32102
- if (asrji_ExactFloat_isZero($f))
32103
- $rounded = jm_BigInteger_ZERO;
32104
- else {
32105
- if (asrji_ExactFloat_isZero($f))
32106
- $rounded = $f;
32107
- else {
32108
- $rounded = asrji_ExactFloat_normalize($f);
32109
- var$8 = $rounded.$exponent0;
32110
- if (var$8 < 0) {
32111
- var$8 = -var$8 | 0;
32112
- var$9 = jm_BigInteger_shiftLeft(jm_BigInteger_shiftRight($rounded.$significand, var$8), var$8);
32113
- var$10 = jm_BigInteger_subtract($rounded.$significand, var$9);
32114
- var$9 = asrji_ExactFloat_normalize(asrji_ExactFloat__init_($rounded.$sign, $rounded.$exponent0, var$9));
32115
- var$11 = asrji_ExactFloat_add(var$9, asrji_ExactFloat__init_($rounded.$sign, 0, jm_BigInteger_valueOf(Long_fromInt(1))));
32116
- var$12 = $env.$mode;
32117
- if (var$12 === asrj_RoundingMode_zero)
32118
- $rounded = var$9;
32119
- else {
32120
- var$13 = asrj_RoundingMode_max;
32121
- if (var$12 !== var$13 && var$12 !== asrj_RoundingMode_min) {
32122
- $rounded = jm_BigInteger_ONE;
32123
- var$8 = var$8 - 1 | 0;
32124
- $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;
32125
- } else
32126
- $rounded = (var$12 !== var$13 ? 0 : 1) != $rounded.$sign ? var$11 : var$9;
32127
- }
32128
- }
32129
- }
32130
- $rounded = asrji_ExactFloat_normalize($rounded);
32131
- if (asrji_ExactFloat_compareTo($rounded, $f)) {
32132
- var$9 = $env.$flags;
32133
- var$10 = asrj_Flags_inexact;
32134
- ju_GenericEnumSet_add(var$9, var$10);
32135
- }
32136
- if (!asrji_ExactFloat_$assertionsDisabled && $rounded.$exponent0 < 0)
32137
- $rt_throw(jl_AssertionError__init_($rt_s(1627)));
32138
- $rounded = jm_BigInteger_multiply(jm_BigInteger_shiftLeft($rounded.$significand, $rounded.$exponent0), jm_BigInteger_valueOf(!$f.$sign ? Long_fromInt(1) : Long_fromInt(-1)));
32139
- }
32140
- }
32141
- if (!(jm_BigInteger_compareTo($rounded, $max) <= 0 && jm_BigInteger_compareTo($rounded, $min) >= 0)) {
32142
- $f = $env.$flags;
32143
- $env = asrj_Flags_invalid;
32144
- ju_GenericEnumSet_add($f, $env);
32145
- } else if (!$quiet) {
32146
- $f = $copy.$flags;
32147
- $copy = asrj_Flags_inexact;
32148
- if (ju_GenericEnumSet_contains($f, $copy)) {
32149
- $f = $env.$flags;
32150
- $env = asrj_Flags_inexact;
32151
- ju_GenericEnumSet_add($f, $env);
32152
- }
32153
- }
32154
- if (jm_BigInteger_compareTo($rounded, $max) == -1)
32155
- $max = $rounded;
32156
- if (jm_BigInteger_compareTo($max, $min) == 1)
32157
- $min = $max;
32158
- return $min;
32159
- };
32160
- var asrjo_Conversions_convertToInt = ($f, $env, $quiet) => {
32161
- return jm_BigInteger_intValueExact(asrjo_Conversions_convertToIntegral($f, jm_BigInteger_valueOf(Long_fromInt(2147483647)), jm_BigInteger_valueOf(Long_fromInt(-2147483648)), $env, $quiet));
32162
- };
32163
- var asrjo_Conversions_convertToUnsignedInt = ($f, $env, $quiet) => {
32164
- 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)));
32165
- };
32166
- var asrjo_Conversions_convertToLong = ($f, $env, $quiet) => {
32167
- return jm_BigInteger_longValueExact(asrjo_Conversions_convertToIntegral($f, jm_BigInteger_valueOf(Long_create(4294967295, 2147483647)), jm_BigInteger_valueOf(Long_create(0, 2147483648)), $env, $quiet));
32168
- };
32169
- var asrjo_Conversions_convertToUnsignedLong = ($f, $env, $quiet) => {
32170
- 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));
32171
- };
32172
- var asrjo_Conversions_convertFromInt = ($i, $env, $helper) => {
32173
- let var$4;
32174
- if (jm_BigInteger_equals($i, jm_BigInteger_ZERO))
32175
- return $helper.$Zero();
32176
- var$4 = new asrji_ExactFloat();
32177
- if (jm_BigInteger_compareTo($i, jm_BigInteger_ZERO) >= 0)
32178
- var$4.$sign = 0;
32179
- else {
32180
- var$4.$sign = 1;
32181
- $i = jm_BigInteger_negate($i);
32182
- }
32183
- var$4.$exponent0 = 0;
32184
- var$4.$significand = $i;
32185
- return $helper.$fromExactFloat(var$4, $env);
32186
- };
32187
32221
  var asrjo_Arithmetic = $rt_classWithoutFields();
32188
32222
  var asrjo_Arithmetic_$assertionsDisabled = 0;
32189
32223
  var asrjo_Arithmetic_add = ($a, $b, $env) => {
@@ -32708,6 +32742,7 @@ var jm_Elementary_subtract = ($a, $aSize, $b, $bSize) => {
32708
32742
  }
32709
32743
  return $res;
32710
32744
  };
32745
+ var jl_ArithmeticException = $rt_classWithoutFields(jl_RuntimeException);
32711
32746
  var jm_BitLevel = $rt_classWithoutFields();
32712
32747
  var jm_BitLevel_shiftLeft = ($source, $count) => {
32713
32748
  let $intCount, var$4, var$5, $resLength, $resDigits, var$8, var$9, var$10, var$11, var$12, $result;
@@ -32822,7 +32857,6 @@ var jm_BitLevel_shiftRight = ($source, $count) => {
32822
32857
  jm_BigInteger_cutOffLeadingZeroes($result);
32823
32858
  return $result;
32824
32859
  };
32825
- var jl_ArithmeticException = $rt_classWithoutFields(jl_RuntimeException);
32826
32860
  var asrrs_NullString = $rt_classWithoutFields();
32827
32861
  var asrrs_NullString_get = ($statement) => {
32828
32862
  return asrrs_NullString_get0($statement, $rt_s(220));
@@ -34992,9 +35026,8 @@ $rt_metadata([
34992
35026
  0,
34993
35027
  0,
34994
35028
  0,
34995
- asr_JsCompilationResult,
34996
- "JsCompilationResult",
34997
- 10,
35029
+ ju_Arrays,
35030
+ 0,
34998
35031
  jl_Object,
34999
35032
  [],
35000
35033
  0,
@@ -35002,29 +35035,19 @@ $rt_metadata([
35002
35035
  0,
35003
35036
  0,
35004
35037
  0,
35005
- asr_AssemblyException,
35006
- 0,
35007
- jl_Exception,
35008
- [],
35009
- 0,
35010
- 3,
35011
- 0,
35012
- 0,
35038
+ juf_ToIntFunction,
35013
35039
  0,
35014
- asr_JsStackFrame,
35015
- "JsStackFrame",
35016
- 10,
35017
35040
  jl_Object,
35018
35041
  [],
35019
- 0,
35042
+ 3,
35020
35043
  3,
35021
35044
  0,
35022
35045
  0,
35023
35046
  0,
35024
- ju_Arrays,
35047
+ asr_JsRiscV$getRegistersValues$lambda$_20_0,
35025
35048
  0,
35026
35049
  jl_Object,
35027
- [],
35050
+ [juf_ToIntFunction],
35028
35051
  0,
35029
35052
  3,
35030
35053
  0,
@@ -35058,19 +35081,30 @@ $rt_metadata([
35058
35081
  0,
35059
35082
  0,
35060
35083
  0,
35061
- juf_ToIntFunction,
35062
- 0,
35084
+ asr_JsStackFrame,
35085
+ "JsStackFrame",
35086
+ 10,
35063
35087
  jl_Object,
35064
35088
  [],
35089
+ 0,
35065
35090
  3,
35091
+ 0,
35092
+ 0,
35093
+ 0,
35094
+ asr_JsCompilationResult,
35095
+ "JsCompilationResult",
35096
+ 10,
35097
+ jl_Object,
35098
+ [],
35099
+ 0,
35066
35100
  3,
35067
35101
  0,
35068
35102
  0,
35069
35103
  0,
35070
- asr_JsRiscV$getRegistersValues$lambda$_20_0,
35104
+ asr_AssemblyException,
35071
35105
  0,
35072
- jl_Object,
35073
- [juf_ToIntFunction],
35106
+ jl_Exception,
35107
+ [],
35074
35108
  0,
35075
35109
  3,
35076
35110
  0,
@@ -35188,6 +35222,62 @@ $rt_metadata([
35188
35222
  0,
35189
35223
  0,
35190
35224
  0,
35225
+ jl_AutoCloseable,
35226
+ 0,
35227
+ jl_Object,
35228
+ [],
35229
+ 3,
35230
+ 3,
35231
+ 0,
35232
+ 0,
35233
+ 0,
35234
+ jus_BaseStream,
35235
+ 0,
35236
+ jl_Object,
35237
+ [jl_AutoCloseable],
35238
+ 3,
35239
+ 3,
35240
+ 0,
35241
+ 0,
35242
+ 0,
35243
+ jus_Stream,
35244
+ 0,
35245
+ jl_Object,
35246
+ [jus_BaseStream],
35247
+ 3,
35248
+ 3,
35249
+ 0,
35250
+ 0,
35251
+ 0
35252
+ ]);
35253
+ $rt_metadata([
35254
+ jusi_SimpleStreamImpl,
35255
+ 0,
35256
+ jl_Object,
35257
+ [jus_Stream],
35258
+ 1,
35259
+ 3,
35260
+ 0,
35261
+ 0,
35262
+ 0,
35263
+ jusi_ArrayStreamImpl,
35264
+ 0,
35265
+ jusi_SimpleStreamImpl,
35266
+ [],
35267
+ 0,
35268
+ 3,
35269
+ 0,
35270
+ 0,
35271
+ ["$next1", $rt_wrapFunction1(jusi_ArrayStreamImpl_next), "$estimateSize", $rt_wrapFunction0(jusi_ArrayStreamImpl_estimateSize)],
35272
+ asrs_BackStepper$BackstepStack,
35273
+ 0,
35274
+ jl_Object,
35275
+ [],
35276
+ 0,
35277
+ 3,
35278
+ 0,
35279
+ 0,
35280
+ 0,
35191
35281
  asr_JsCompilationResult$_init_$lambda$_0_0,
35192
35282
  0,
35193
35283
  jl_Object,
@@ -35214,9 +35304,7 @@ $rt_metadata([
35214
35304
  3,
35215
35305
  0,
35216
35306
  0,
35217
- 0
35218
- ]);
35219
- $rt_metadata([
35307
+ 0,
35220
35308
  juf_BiConsumer,
35221
35309
  0,
35222
35310
  jl_Object,
@@ -35244,60 +35332,6 @@ $rt_metadata([
35244
35332
  0,
35245
35333
  0,
35246
35334
  0,
35247
- asrs_BackStepper$BackstepStack,
35248
- 0,
35249
- jl_Object,
35250
- [],
35251
- 0,
35252
- 3,
35253
- 0,
35254
- 0,
35255
- 0,
35256
- jl_AutoCloseable,
35257
- 0,
35258
- jl_Object,
35259
- [],
35260
- 3,
35261
- 3,
35262
- 0,
35263
- 0,
35264
- 0,
35265
- jus_BaseStream,
35266
- 0,
35267
- jl_Object,
35268
- [jl_AutoCloseable],
35269
- 3,
35270
- 3,
35271
- 0,
35272
- 0,
35273
- 0,
35274
- jus_Stream,
35275
- 0,
35276
- jl_Object,
35277
- [jus_BaseStream],
35278
- 3,
35279
- 3,
35280
- 0,
35281
- 0,
35282
- 0,
35283
- jusi_SimpleStreamImpl,
35284
- 0,
35285
- jl_Object,
35286
- [jus_Stream],
35287
- 1,
35288
- 3,
35289
- 0,
35290
- 0,
35291
- 0,
35292
- jusi_ArrayStreamImpl,
35293
- 0,
35294
- jusi_SimpleStreamImpl,
35295
- [],
35296
- 0,
35297
- 3,
35298
- 0,
35299
- 0,
35300
- ["$next1", $rt_wrapFunction1(jusi_ArrayStreamImpl_next), "$estimateSize", $rt_wrapFunction0(jusi_ArrayStreamImpl_estimateSize)],
35301
35335
  jl_Math,
35302
35336
  0,
35303
35337
  jl_Object,
@@ -36848,8 +36882,9 @@ $rt_metadata([
36848
36882
  0,
36849
36883
  0,
36850
36884
  0,
36851
- asr_ErrorList,
36852
- 0,
36885
+ asrrh_StackFrame,
36886
+ "StackFrame",
36887
+ 7,
36853
36888
  jl_Object,
36854
36889
  [],
36855
36890
  0,
@@ -36857,7 +36892,7 @@ $rt_metadata([
36857
36892
  0,
36858
36893
  0,
36859
36894
  0,
36860
- asrrh_StackFrame,
36895
+ asr_ErrorList,
36861
36896
  0,
36862
36897
  jl_Object,
36863
36898
  [],
@@ -37501,24 +37536,6 @@ $rt_metadata([
37501
37536
  0,
37502
37537
  0,
37503
37538
  ["$next1", $rt_wrapFunction1(jusi_StreamOverSpliterator_next), "$estimateSize", $rt_wrapFunction0(jusi_StreamOverSpliterator_estimateSize)],
37504
- jusi_WrappingStreamImpl,
37505
- 0,
37506
- jusi_SimpleStreamImpl,
37507
- [],
37508
- 1,
37509
- 3,
37510
- 0,
37511
- 0,
37512
- 0,
37513
- jusi_MappingStreamImpl,
37514
- 0,
37515
- jusi_WrappingStreamImpl,
37516
- [],
37517
- 0,
37518
- 3,
37519
- 0,
37520
- 0,
37521
- ["$wrap3", $rt_wrapFunction1(jusi_MappingStreamImpl_wrap)],
37522
37539
  jus_IntStream,
37523
37540
  0,
37524
37541
  jl_Object,
@@ -37546,6 +37563,24 @@ $rt_metadata([
37546
37563
  0,
37547
37564
  0,
37548
37565
  0,
37566
+ jusi_WrappingStreamImpl,
37567
+ 0,
37568
+ jusi_SimpleStreamImpl,
37569
+ [],
37570
+ 1,
37571
+ 3,
37572
+ 0,
37573
+ 0,
37574
+ 0,
37575
+ jusi_MappingStreamImpl,
37576
+ 0,
37577
+ jusi_WrappingStreamImpl,
37578
+ [],
37579
+ 0,
37580
+ 3,
37581
+ 0,
37582
+ 0,
37583
+ ["$wrap3", $rt_wrapFunction1(jusi_MappingStreamImpl_wrap)],
37549
37584
  asru_Binary,
37550
37585
  0,
37551
37586
  jl_Object,
@@ -37600,15 +37635,6 @@ $rt_metadata([
37600
37635
  0,
37601
37636
  0,
37602
37637
  0,
37603
- jlr_Array,
37604
- 0,
37605
- jl_Object,
37606
- [],
37607
- 4,
37608
- 3,
37609
- 0,
37610
- 0,
37611
- 0,
37612
37638
  asrs_Simulator$Reason,
37613
37639
  "Simulator$Reason",
37614
37640
  3,
@@ -37619,6 +37645,15 @@ $rt_metadata([
37619
37645
  0,
37620
37646
  0,
37621
37647
  0,
37648
+ jlr_Array,
37649
+ 0,
37650
+ jl_Object,
37651
+ [],
37652
+ 4,
37653
+ 3,
37654
+ 0,
37655
+ 0,
37656
+ 0,
37622
37657
  jur_Pattern,
37623
37658
  0,
37624
37659
  jl_Object,
@@ -40613,15 +40648,6 @@ $rt_metadata([
40613
40648
  0,
40614
40649
  0,
40615
40650
  0,
40616
- asrjo_Comparisons,
40617
- 0,
40618
- jl_Object,
40619
- [],
40620
- 0,
40621
- 3,
40622
- 0,
40623
- 0,
40624
- 0,
40625
40651
  asrjt_Floating,
40626
40652
  0,
40627
40653
  jl_Object,
@@ -40631,7 +40657,7 @@ $rt_metadata([
40631
40657
  0,
40632
40658
  0,
40633
40659
  0,
40634
- asrjt_Float32,
40660
+ asrjt_Float64,
40635
40661
  0,
40636
40662
  asrjt_Floating,
40637
40663
  [],
@@ -40641,39 +40667,39 @@ $rt_metadata([
40641
40667
  0,
40642
40668
  [
40643
40669
  "$isSignMinus",
40644
- $rt_wrapFunction0(asrjt_Float32_isSignMinus),
40670
+ $rt_wrapFunction0(asrjt_Float64_isSignMinus),
40645
40671
  "$isInfinite",
40646
- $rt_wrapFunction0(asrjt_Float32_isInfinite),
40672
+ $rt_wrapFunction0(asrjt_Float64_isInfinite),
40647
40673
  "$isNormal",
40648
- $rt_wrapFunction0(asrjt_Float32_isNormal),
40674
+ $rt_wrapFunction0(asrjt_Float64_isNormal),
40649
40675
  "$isSubnormal",
40650
- $rt_wrapFunction0(asrjt_Float32_isSubnormal),
40676
+ $rt_wrapFunction0(asrjt_Float64_isSubnormal),
40651
40677
  "$isNaN",
40652
- $rt_wrapFunction0(asrjt_Float32_isNaN),
40678
+ $rt_wrapFunction0(asrjt_Float64_isNaN),
40653
40679
  "$isSignalling",
40654
- $rt_wrapFunction0(asrjt_Float32_isSignalling),
40680
+ $rt_wrapFunction0(asrjt_Float64_isSignalling),
40655
40681
  "$isZero",
40656
- $rt_wrapFunction0(asrjt_Float32_isZero),
40682
+ $rt_wrapFunction0(asrjt_Float64_isZero),
40657
40683
  "$toExactFloat",
40658
- $rt_wrapFunction0(asrjt_Float32_toExactFloat),
40684
+ $rt_wrapFunction0(asrjt_Float64_toExactFloat),
40659
40685
  "$maxPrecision",
40660
- $rt_wrapFunction0(asrjt_Float32_maxPrecision),
40686
+ $rt_wrapFunction0(asrjt_Float64_maxPrecision),
40661
40687
  "$negate2",
40662
- $rt_wrapFunction0(asrjt_Float32_negate0),
40688
+ $rt_wrapFunction0(asrjt_Float64_negate0),
40663
40689
  "$fromExactFloat",
40664
- $rt_wrapFunction2(asrjt_Float32_fromExactFloat),
40690
+ $rt_wrapFunction2(asrjt_Float64_fromExactFloat),
40665
40691
  "$NegativeInfinity",
40666
- $rt_wrapFunction0(asrjt_Float32_NegativeInfinity0),
40692
+ $rt_wrapFunction0(asrjt_Float64_NegativeInfinity0),
40667
40693
  "$Infinity",
40668
- $rt_wrapFunction0(asrjt_Float32_Infinity0),
40694
+ $rt_wrapFunction0(asrjt_Float64_Infinity0),
40669
40695
  "$NegativeZero",
40670
- $rt_wrapFunction0(asrjt_Float32_NegativeZero0),
40696
+ $rt_wrapFunction0(asrjt_Float64_NegativeZero0),
40671
40697
  "$Zero",
40672
- $rt_wrapFunction0(asrjt_Float32_Zero0),
40698
+ $rt_wrapFunction0(asrjt_Float64_Zero0),
40673
40699
  "$NaN",
40674
- $rt_wrapFunction0(asrjt_Float32_NaN0)
40700
+ $rt_wrapFunction0(asrjt_Float64_NaN0)
40675
40701
  ],
40676
- asrjt_Float64,
40702
+ asrjt_Float32,
40677
40703
  0,
40678
40704
  asrjt_Floating,
40679
40705
  [],
@@ -40683,48 +40709,48 @@ $rt_metadata([
40683
40709
  0,
40684
40710
  [
40685
40711
  "$isSignMinus",
40686
- $rt_wrapFunction0(asrjt_Float64_isSignMinus),
40712
+ $rt_wrapFunction0(asrjt_Float32_isSignMinus),
40687
40713
  "$isInfinite",
40688
- $rt_wrapFunction0(asrjt_Float64_isInfinite),
40714
+ $rt_wrapFunction0(asrjt_Float32_isInfinite),
40689
40715
  "$isNormal",
40690
- $rt_wrapFunction0(asrjt_Float64_isNormal),
40716
+ $rt_wrapFunction0(asrjt_Float32_isNormal),
40691
40717
  "$isSubnormal",
40692
- $rt_wrapFunction0(asrjt_Float64_isSubnormal),
40718
+ $rt_wrapFunction0(asrjt_Float32_isSubnormal),
40693
40719
  "$isNaN",
40694
- $rt_wrapFunction0(asrjt_Float64_isNaN),
40720
+ $rt_wrapFunction0(asrjt_Float32_isNaN),
40695
40721
  "$isSignalling",
40696
- $rt_wrapFunction0(asrjt_Float64_isSignalling),
40722
+ $rt_wrapFunction0(asrjt_Float32_isSignalling),
40697
40723
  "$isZero",
40698
- $rt_wrapFunction0(asrjt_Float64_isZero),
40724
+ $rt_wrapFunction0(asrjt_Float32_isZero),
40699
40725
  "$toExactFloat",
40700
- $rt_wrapFunction0(asrjt_Float64_toExactFloat),
40726
+ $rt_wrapFunction0(asrjt_Float32_toExactFloat),
40701
40727
  "$maxPrecision",
40702
- $rt_wrapFunction0(asrjt_Float64_maxPrecision),
40728
+ $rt_wrapFunction0(asrjt_Float32_maxPrecision),
40703
40729
  "$negate2",
40704
- $rt_wrapFunction0(asrjt_Float64_negate0),
40730
+ $rt_wrapFunction0(asrjt_Float32_negate0),
40705
40731
  "$fromExactFloat",
40706
- $rt_wrapFunction2(asrjt_Float64_fromExactFloat),
40732
+ $rt_wrapFunction2(asrjt_Float32_fromExactFloat),
40707
40733
  "$NegativeInfinity",
40708
- $rt_wrapFunction0(asrjt_Float64_NegativeInfinity0),
40734
+ $rt_wrapFunction0(asrjt_Float32_NegativeInfinity0),
40709
40735
  "$Infinity",
40710
- $rt_wrapFunction0(asrjt_Float64_Infinity0),
40736
+ $rt_wrapFunction0(asrjt_Float32_Infinity0),
40711
40737
  "$NegativeZero",
40712
- $rt_wrapFunction0(asrjt_Float64_NegativeZero0),
40738
+ $rt_wrapFunction0(asrjt_Float32_NegativeZero0),
40713
40739
  "$Zero",
40714
- $rt_wrapFunction0(asrjt_Float64_Zero0),
40740
+ $rt_wrapFunction0(asrjt_Float32_Zero0),
40715
40741
  "$NaN",
40716
- $rt_wrapFunction0(asrjt_Float64_NaN0)
40742
+ $rt_wrapFunction0(asrjt_Float32_NaN0)
40717
40743
  ],
40718
- jm_BigInteger,
40744
+ asrjo_Conversions,
40719
40745
  0,
40720
- jl_Number,
40721
- [jl_Comparable, ji_Serializable],
40746
+ jl_Object,
40747
+ [],
40722
40748
  0,
40723
40749
  3,
40724
40750
  0,
40725
40751
  0,
40726
40752
  0,
40727
- asrjo_Conversions,
40753
+ asrjo_Comparisons,
40728
40754
  0,
40729
40755
  jl_Object,
40730
40756
  [],
@@ -40733,6 +40759,15 @@ $rt_metadata([
40733
40759
  0,
40734
40760
  0,
40735
40761
  0,
40762
+ jm_BigInteger,
40763
+ 0,
40764
+ jl_Number,
40765
+ [jl_Comparable, ji_Serializable],
40766
+ 0,
40767
+ 3,
40768
+ 0,
40769
+ 0,
40770
+ 0,
40736
40771
  asrjo_Arithmetic,
40737
40772
  0,
40738
40773
  jl_Object,
@@ -40816,21 +40851,21 @@ $rt_metadata([
40816
40851
  0,
40817
40852
  0,
40818
40853
  0,
40819
- jm_BitLevel,
40854
+ jl_ArithmeticException,
40820
40855
  0,
40821
- jl_Object,
40856
+ jl_RuntimeException,
40822
40857
  [],
40823
40858
  0,
40859
+ 3,
40824
40860
  0,
40825
40861
  0,
40826
40862
  0,
40863
+ jm_BitLevel,
40827
40864
  0,
40828
- jl_ArithmeticException,
40829
- 0,
40830
- jl_RuntimeException,
40865
+ jl_Object,
40831
40866
  [],
40832
40867
  0,
40833
- 3,
40868
+ 0,
40834
40869
  0,
40835
40870
  0,
40836
40871
  0,
@@ -41105,7 +41140,6 @@ $rt_stringPool([
41105
41140
  "Illegal radix: ",
41106
41141
  "Internal RARS error: address exception while back-stepping.",
41107
41142
  "Invalid boolean setting ID",
41108
- "sp",
41109
41143
  "main",
41110
41144
  "object",
41111
41145
  "function",
@@ -41253,6 +41287,7 @@ $rt_stringPool([
41253
41287
  "CompactTextAtZero",
41254
41288
  "Compact, Text at Address 0",
41255
41289
  "gp",
41290
+ "sp",
41256
41291
  ".text base address",
41257
41292
  "data segment base address",
41258
41293
  ".extern base address",
@@ -42712,10 +42747,10 @@ $rt_stringPool([
42712
42747
  "NaNs are not exact",
42713
42748
  "Zeros should be handled explicitly",
42714
42749
  "This should not be reachable",
42750
+ "There can't be any fractions at this point",
42715
42751
  "Negative bit address",
42716
42752
  "BigInteger out of int range",
42717
42753
  "BigInteger out of long range",
42718
- "There can't be any fractions at this point",
42719
42754
  "Square root of a negative number is not real",
42720
42755
  "Cannot get here",
42721
42756
  "Both should definitely be finite by this point",
@@ -42824,15 +42859,18 @@ var $rt_jso_marker = Symbol("jsoClass");
42824
42859
  Object.defineProperty(c, "source", {
42825
42860
  get: $rt_callWithReceiver(asr_JsProgramStatement_getSource$exported$2)
42826
42861
  });
42827
- c = asr_JsCompilationResult.prototype;
42828
- Object.defineProperty(c, "hasErrors", {
42829
- get: $rt_callWithReceiver(asr_JsCompilationResult_hasErrors$exported$1)
42862
+ c = asr_JsBackStep.prototype;
42863
+ Object.defineProperty(c, "pc", {
42864
+ get: $rt_callWithReceiver(asr_JsBackStep_getPc$exported$0)
42830
42865
  });
42831
- Object.defineProperty(c, "report", {
42832
- get: $rt_callWithReceiver(asr_JsCompilationResult_getReport$exported$2)
42866
+ Object.defineProperty(c, "action", {
42867
+ get: $rt_callWithReceiver(asr_JsBackStep_getAction$exported$2)
42833
42868
  });
42834
- Object.defineProperty(c, "errors", {
42835
- get: $rt_callWithReceiver(asr_JsCompilationResult_getErrors$exported$0)
42869
+ Object.defineProperty(c, "param1", {
42870
+ get: $rt_callWithReceiver(asr_JsBackStep_getParam1$exported$3)
42871
+ });
42872
+ Object.defineProperty(c, "param2", {
42873
+ get: $rt_callWithReceiver(asr_JsBackStep_getParam2$exported$1)
42836
42874
  });
42837
42875
  c = asr_JsStackFrame.prototype;
42838
42876
  Object.defineProperty(c, "pc", {
@@ -42850,18 +42888,15 @@ var $rt_jso_marker = Symbol("jsoClass");
42850
42888
  Object.defineProperty(c, "toAddress", {
42851
42889
  get: $rt_callWithReceiver(asr_JsStackFrame_getToAddress$exported$1)
42852
42890
  });
42853
- c = asr_JsBackStep.prototype;
42854
- Object.defineProperty(c, "pc", {
42855
- get: $rt_callWithReceiver(asr_JsBackStep_getPc$exported$0)
42856
- });
42857
- Object.defineProperty(c, "action", {
42858
- get: $rt_callWithReceiver(asr_JsBackStep_getAction$exported$2)
42891
+ c = asr_JsCompilationResult.prototype;
42892
+ Object.defineProperty(c, "hasErrors", {
42893
+ get: $rt_callWithReceiver(asr_JsCompilationResult_hasErrors$exported$1)
42859
42894
  });
42860
- Object.defineProperty(c, "param1", {
42861
- get: $rt_callWithReceiver(asr_JsBackStep_getParam1$exported$3)
42895
+ Object.defineProperty(c, "report", {
42896
+ get: $rt_callWithReceiver(asr_JsCompilationResult_getReport$exported$2)
42862
42897
  });
42863
- Object.defineProperty(c, "param2", {
42864
- get: $rt_callWithReceiver(asr_JsBackStep_getParam2$exported$1)
42898
+ Object.defineProperty(c, "errors", {
42899
+ get: $rt_callWithReceiver(asr_JsCompilationResult_getErrors$exported$0)
42865
42900
  });
42866
42901
  c = asr_JsCompilationResult$JsCompilationError.prototype;
42867
42902
  Object.defineProperty(c, "macroExpansionHistory", {
@@ -42917,18 +42952,18 @@ function $rt_export_class_JsProgramStatement_74() {
42917
42952
  throw new Error("Can't instantiate this class directly");
42918
42953
  }
42919
42954
  $rt_export_class_JsProgramStatement_74.prototype = asr_JsProgramStatement.prototype;
42920
- function $rt_export_class_JsCompilationResult_75() {
42955
+ function $rt_export_class_JsBackStep_80() {
42921
42956
  throw new Error("Can't instantiate this class directly");
42922
42957
  }
42923
- $rt_export_class_JsCompilationResult_75.prototype = asr_JsCompilationResult.prototype;
42924
- function $rt_export_class_JsStackFrame_77() {
42958
+ $rt_export_class_JsBackStep_80.prototype = asr_JsBackStep.prototype;
42959
+ function $rt_export_class_JsStackFrame_81() {
42925
42960
  throw new Error("Can't instantiate this class directly");
42926
42961
  }
42927
- $rt_export_class_JsStackFrame_77.prototype = asr_JsStackFrame.prototype;
42928
- function $rt_export_class_JsBackStep_81() {
42962
+ $rt_export_class_JsStackFrame_81.prototype = asr_JsStackFrame.prototype;
42963
+ function $rt_export_class_JsCompilationResult_82() {
42929
42964
  throw new Error("Can't instantiate this class directly");
42930
42965
  }
42931
- $rt_export_class_JsBackStep_81.prototype = asr_JsBackStep.prototype;
42966
+ $rt_export_class_JsCompilationResult_82.prototype = asr_JsCompilationResult.prototype;
42932
42967
  function $rt_export_class_JsCompilationError_349() {
42933
42968
  throw new Error("Can't instantiate this class directly");
42934
42969
  }