@specy/risc-v 1.0.4 → 1.0.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.
package/dist/index.js CHANGED
@@ -3354,11 +3354,11 @@ var asr_JsRiscV__clinit_ = () => {
3354
3354
  ju_Comparator$NaturalOrder__clinit_();
3355
3355
  asrr_BasicInstructionFormat__clinit_();
3356
3356
  jl_Long__clinit_();
3357
- asrs_Simulator$Reason__clinit_();
3358
3357
  asrrh_Stack__clinit_();
3359
3358
  asrrh_FloatingPointRegisterFile__clinit_();
3360
3359
  asrrh_ControlAndStatusRegisterFile__clinit_();
3361
3360
  asrrh_InterruptController__clinit_();
3361
+ asrs_Simulator$Reason__clinit_();
3362
3362
  asra_Tokenizer__clinit_();
3363
3363
  asrs_Simulator__clinit_();
3364
3364
  asra_Directives__clinit_();
@@ -3375,8 +3375,8 @@ var asr_JsRiscV__clinit_ = () => {
3375
3375
  jnc_CodingErrorAction__clinit_();
3376
3376
  jnc_CoderResult__clinit_();
3377
3377
  jn_ByteOrder__clinit_();
3378
- asrjt_Float64__clinit_();
3379
3378
  asrjt_Float32__clinit_();
3379
+ asrjt_Float64__clinit_();
3380
3380
  asrjo_Arithmetic__clinit_();
3381
3381
  asrj_RoundingMode__clinit_();
3382
3382
  asrj_Flags__clinit_();
@@ -4071,6 +4071,7 @@ var asr_JsRiscV$getInstructionSet$lambda$_39_0_apply = (var$0, var$1) => {
4071
4071
  var$2.$tokens.data[var$3] = asr_JsRiscVToken__init_(asra_TokenList_get(var$1.$tokenList, var$3));
4072
4072
  var$3 = var$3 + 1 | 0;
4073
4073
  }
4074
+ var$2.$isRv64Only = var$1.$isRv64;
4074
4075
  return var$2;
4075
4076
  };
4076
4077
  var juf_IntFunction = $rt_classWithoutFields(0);
@@ -4086,17 +4087,21 @@ function asr_JsInstruction() {
4086
4087
  a.$example = null;
4087
4088
  a.$description0 = null;
4088
4089
  a.$tokens = null;
4090
+ a.$isRv64Only = 0;
4089
4091
  }
4090
4092
  var asr_JsInstruction_getName$exported$0 = (var$1) => {
4091
4093
  return $rt_ustr(var$1.$name5);
4092
4094
  };
4093
- var asr_JsInstruction_getTokens$exported$1 = (var$1) => {
4095
+ var asr_JsInstruction_getIsRv64Only$exported$1 = (var$1) => {
4096
+ return !!var$1.$isRv64Only;
4097
+ };
4098
+ var asr_JsInstruction_getTokens$exported$2 = (var$1) => {
4094
4099
  return otji_JS_wrap(var$1.$tokens);
4095
4100
  };
4096
- var asr_JsInstruction_getDescription$exported$2 = (var$1) => {
4101
+ var asr_JsInstruction_getDescription$exported$3 = (var$1) => {
4097
4102
  return $rt_ustr(var$1.$description0);
4098
4103
  };
4099
- var asr_JsInstruction_getExample$exported$3 = (var$1) => {
4104
+ var asr_JsInstruction_getExample$exported$4 = (var$1) => {
4100
4105
  return $rt_ustr(var$1.$example);
4101
4106
  };
4102
4107
  var jl_IndexOutOfBoundsException = $rt_classWithoutFields(jl_RuntimeException);
@@ -4411,69 +4416,19 @@ var asrr_InstructionSet__init_ = () => {
4411
4416
  return var_0;
4412
4417
  };
4413
4418
  var asrr_InstructionSet_populate = ($this) => {
4414
- let $maskMap, $matchMaps, $mask, $inst, $basic, $match, $matchMap, var$8, var$9, var$10;
4419
+ let $matchMaps, $maskMap, var$3, $inst, $basic, $mask, $match, $matchMap, var$9, var$10;
4415
4420
  ju_ArrayList_clear($this.$instructionList);
4416
4421
  asrr_InstructionSet_addBasicInstructions($this);
4417
- $maskMap = ju_ArrayList__init_1(ju_List_of(asrr_PseudoOps_PSEUDO_OPS));
4418
- if (asrr_InstructionSet_rv64) {
4419
- $matchMaps = ju_List_of(asrr_PseudoOps_PSEUDO_OPS_64);
4420
- ju_AbstractCollection_addAll($maskMap, $matchMaps);
4421
- }
4422
- $mask = ju_AbstractList_iterator($maskMap);
4423
- while (ju_AbstractList$1_hasNext($mask)) {
4424
- $matchMaps = ju_AbstractList$1_next($mask);
4425
- if (!jl_String_startsWith($matchMaps, $rt_s(59)) && !jl_String_startsWith($matchMaps, $rt_s(38)) && $matchMaps.$nativeString.length > 0) {
4426
- $inst = $rt_s(3);
4427
- $basic = ju_StringTokenizer__init_($matchMaps, $rt_s(60));
4428
- $maskMap = ju_StringTokenizer_nextToken($basic);
4429
- $matchMaps = $rt_s(3);
4430
- a: {
4431
- while (ju_StringTokenizer_hasMoreTokens($basic)) {
4432
- $match = ju_StringTokenizer_nextToken($basic);
4433
- if (jl_String_startsWith($match, $rt_s(59))) {
4434
- $inst = jl_String_substring0($match, 1);
4435
- break a;
4436
- }
4437
- $matchMap = new jl_StringBuilder();
4438
- jl_AbstractStringBuilder__init_($matchMap);
4439
- jl_StringBuilder_append(jl_StringBuilder_append($matchMap, $matchMaps), $match);
4440
- $matchMaps = jl_AbstractStringBuilder_toString($matchMap);
4441
- if (!ju_StringTokenizer_hasMoreTokens($basic))
4442
- continue;
4443
- $match = new jl_StringBuilder();
4444
- jl_AbstractStringBuilder__init_($match);
4445
- jl_AbstractStringBuilder_append0(jl_StringBuilder_append($match, $matchMaps), 10);
4446
- $matchMaps = jl_AbstractStringBuilder_toString($match);
4447
- }
4448
- }
4449
- $basic = $this.$instructionList;
4450
- $match = new asrr_ExtendedInstruction();
4451
- $match.$exampleFormat = $maskMap;
4452
- $match.$description = $inst;
4453
- $inst = $match;
4454
- $match.$mnemonic = asrr_Instruction_extractOperator($inst, $maskMap);
4455
- asrr_Instruction_createExampleTokenList($inst);
4456
- if ($matchMaps !== null && $matchMaps.$nativeString.length) {
4457
- $maskMap = ju_ArrayList__init_();
4458
- $matchMap = ju_StringTokenizer__init_($matchMaps, $rt_s(43));
4459
- while (ju_StringTokenizer_hasMoreTokens($matchMap)) {
4460
- ju_ArrayList_add($maskMap, ju_StringTokenizer_nextToken($matchMap));
4461
- }
4462
- } else
4463
- $maskMap = null;
4464
- $match.$translationStrings = $maskMap;
4465
- ju_ArrayList_add($basic, $match);
4466
- }
4467
- }
4422
+ asrr_InstructionSet_addPseudoInstructions($this);
4468
4423
  $matchMaps = ju_AbstractList_iterator($this.$instructionList);
4469
4424
  while (ju_AbstractList$1_hasNext($matchMaps)) {
4470
4425
  asrr_Instruction_createExampleTokenList(ju_AbstractList$1_next($matchMaps));
4471
4426
  }
4472
4427
  $maskMap = ju_HashMap__init_();
4473
4428
  $matchMaps = ju_ArrayList__init_();
4474
- var$8 = ju_AbstractList_iterator($this.$instructionList);
4475
- while (ju_AbstractList$1_hasNext(var$8)) {
4476
- $inst = ju_AbstractList$1_next(var$8);
4429
+ var$3 = ju_AbstractList_iterator($this.$instructionList);
4430
+ while (ju_AbstractList$1_hasNext(var$3)) {
4431
+ $inst = ju_AbstractList$1_next(var$3);
4477
4432
  if ($inst instanceof asrr_BasicInstruction) {
4478
4433
  $basic = $inst;
4479
4434
  $mask = jl_Integer_valueOf($basic.$opcodeMask);
@@ -4500,6 +4455,88 @@ var asrr_InstructionSet_populate = ($this) => {
4500
4455
  ju_Collections_sort($matchMaps);
4501
4456
  $this.$opcodeMatchMaps = $matchMaps;
4502
4457
  };
4458
+ var asrr_InstructionSet_addPseudoInstructions = ($this) => {
4459
+ let $pseudoOps, var$2, var$3, var$4, var$5, $pseudoOp, $line, $description, $tokenizer, $pseudoOp_0, $template, $token, var$13;
4460
+ $pseudoOps = new ju_ArrayList();
4461
+ var$2 = asrr_PseudoOps_PSEUDO_OPS;
4462
+ var$3 = var$2.data;
4463
+ var$4 = var$3.length;
4464
+ var$5 = 0;
4465
+ while (var$5 < var$4) {
4466
+ ju_Objects_requireNonNull(var$3[var$5]);
4467
+ var$5 = var$5 + 1 | 0;
4468
+ }
4469
+ ju_ArrayList__init_1($pseudoOps, ju_TemplateCollections$ImmutableArrayList__init_(var$2.$clone0()));
4470
+ $pseudoOp = ju_AbstractList_iterator($pseudoOps);
4471
+ while (ju_AbstractList$1_hasNext($pseudoOp)) {
4472
+ $line = ju_AbstractList$1_next($pseudoOp);
4473
+ if (!jl_String_startsWith($line, $rt_s(59)) && !jl_String_startsWith($line, $rt_s(38)) && $line.$nativeString.length > 0) {
4474
+ $description = $rt_s(3);
4475
+ $tokenizer = ju_StringTokenizer__init_($line, $rt_s(60));
4476
+ $pseudoOp_0 = ju_StringTokenizer_nextToken($tokenizer);
4477
+ $template = $rt_s(3);
4478
+ a: {
4479
+ while (ju_StringTokenizer_hasMoreTokens($tokenizer)) {
4480
+ $token = ju_StringTokenizer_nextToken($tokenizer);
4481
+ if (jl_String_startsWith($token, $rt_s(59))) {
4482
+ $description = jl_String_substring0($token, 1);
4483
+ break a;
4484
+ }
4485
+ $pseudoOps = new jl_StringBuilder();
4486
+ jl_AbstractStringBuilder__init_($pseudoOps);
4487
+ jl_StringBuilder_append(jl_StringBuilder_append($pseudoOps, $template), $token);
4488
+ $template = jl_AbstractStringBuilder_toString($pseudoOps);
4489
+ if (!ju_StringTokenizer_hasMoreTokens($tokenizer))
4490
+ continue;
4491
+ $pseudoOps = new jl_StringBuilder();
4492
+ jl_AbstractStringBuilder__init_($pseudoOps);
4493
+ jl_AbstractStringBuilder_append0(jl_StringBuilder_append($pseudoOps, $template), 10);
4494
+ $template = jl_AbstractStringBuilder_toString($pseudoOps);
4495
+ }
4496
+ }
4497
+ ju_ArrayList_add($this.$instructionList, asrr_ExtendedInstruction__init_($pseudoOp_0, $template, $description, 0));
4498
+ }
4499
+ }
4500
+ b: {
4501
+ if (asrr_InstructionSet_rv64) {
4502
+ var$2 = asrr_PseudoOps_PSEUDO_OPS_64.data;
4503
+ var$5 = var$2.length;
4504
+ var$13 = 0;
4505
+ while (true) {
4506
+ if (var$13 >= var$5)
4507
+ break b;
4508
+ $line = var$2[var$13];
4509
+ if (!jl_String_startsWith($line, $rt_s(59)) && !jl_String_startsWith($line, $rt_s(38)) && $line.$nativeString.length > 0) {
4510
+ $description = $rt_s(3);
4511
+ $tokenizer = ju_StringTokenizer__init_($line, $rt_s(60));
4512
+ $pseudoOp = ju_StringTokenizer_nextToken($tokenizer);
4513
+ $template = $rt_s(3);
4514
+ c: {
4515
+ while (ju_StringTokenizer_hasMoreTokens($tokenizer)) {
4516
+ $token = ju_StringTokenizer_nextToken($tokenizer);
4517
+ if (jl_String_startsWith($token, $rt_s(59))) {
4518
+ $description = jl_String_substring0($token, 1);
4519
+ break c;
4520
+ }
4521
+ $pseudoOps = new jl_StringBuilder();
4522
+ jl_AbstractStringBuilder__init_($pseudoOps);
4523
+ jl_StringBuilder_append(jl_StringBuilder_append($pseudoOps, $template), $token);
4524
+ $template = jl_AbstractStringBuilder_toString($pseudoOps);
4525
+ if (!ju_StringTokenizer_hasMoreTokens($tokenizer))
4526
+ continue;
4527
+ $pseudoOps = new jl_StringBuilder();
4528
+ jl_AbstractStringBuilder__init_($pseudoOps);
4529
+ jl_AbstractStringBuilder_append0(jl_StringBuilder_append($pseudoOps, $template), 10);
4530
+ $template = jl_AbstractStringBuilder_toString($pseudoOps);
4531
+ }
4532
+ }
4533
+ ju_ArrayList_add($this.$instructionList, asrr_ExtendedInstruction__init_($pseudoOp, $template, $description, 1));
4534
+ }
4535
+ var$13 = var$13 + 1 | 0;
4536
+ }
4537
+ }
4538
+ }
4539
+ };
4503
4540
  var asrr_InstructionSet_matchOperator = ($this, $name) => {
4504
4541
  let $matchingInstructions, var$3, $inst;
4505
4542
  $matchingInstructions = null;
@@ -5830,7 +5867,7 @@ var asr_RISCVprogram_readSource = ($this, $file, $source) => {
5830
5867
  ju_Objects_requireNonNull(var$4);
5831
5868
  $file = new ju_Arrays$ArrayAsList();
5832
5869
  $file.$array3 = var$4;
5833
- ju_ArrayList__init_2(var$3, $file);
5870
+ ju_ArrayList__init_1(var$3, $file);
5834
5871
  $this.$sourceList = var$3;
5835
5872
  };
5836
5873
  var asr_RISCVprogram_simulate0 = ($this, $maxSteps) => {
@@ -6116,17 +6153,6 @@ var ju_AbstractCollection_addAll = ($this, $c) => {
6116
6153
  };
6117
6154
  var ju_SequencedCollection = $rt_classWithoutFields(0);
6118
6155
  var ju_List = $rt_classWithoutFields(0);
6119
- var ju_List_of = ($elements) => {
6120
- let var$2, var$3, var$4;
6121
- var$2 = $elements.data;
6122
- var$3 = var$2.length;
6123
- var$4 = 0;
6124
- while (var$4 < var$3) {
6125
- ju_Objects_requireNonNull(var$2[var$4]);
6126
- var$4 = var$4 + 1 | 0;
6127
- }
6128
- return ju_TemplateCollections$ImmutableArrayList__init_($elements.$clone0());
6129
- };
6130
6156
  function ju_AbstractList() {
6131
6157
  ju_AbstractCollection.call(this);
6132
6158
  this.$modCount = 0;
@@ -6165,12 +6191,12 @@ var ju_ArrayList__init_0 = ($this, $initialCapacity) => {
6165
6191
  jl_Throwable__init_(var$2);
6166
6192
  $rt_throw(var$2);
6167
6193
  };
6168
- var ju_ArrayList__init_3 = (var_0) => {
6194
+ var ju_ArrayList__init_2 = (var_0) => {
6169
6195
  let var_1 = new ju_ArrayList();
6170
6196
  ju_ArrayList__init_0(var_1, var_0);
6171
6197
  return var_1;
6172
6198
  };
6173
- var ju_ArrayList__init_2 = ($this, $c) => {
6199
+ var ju_ArrayList__init_1 = ($this, $c) => {
6174
6200
  let $iter, $i, var$4, var$5;
6175
6201
  ju_ArrayList__init_0($this, $c.$size());
6176
6202
  $iter = ju_AbstractList_iterator($c);
@@ -6186,9 +6212,9 @@ var ju_ArrayList__init_2 = ($this, $c) => {
6186
6212
  }
6187
6213
  $this.$size0 = var$5;
6188
6214
  };
6189
- var ju_ArrayList__init_1 = (var_0) => {
6215
+ var ju_ArrayList__init_3 = (var_0) => {
6190
6216
  let var_1 = new ju_ArrayList();
6191
- ju_ArrayList__init_2(var_1, var_0);
6217
+ ju_ArrayList__init_1(var_1, var_0);
6192
6218
  return var_1;
6193
6219
  };
6194
6220
  var ju_ArrayList_ensureCapacity = ($this, $minCapacity) => {
@@ -7820,30 +7846,6 @@ var jm_BigInteger__clinit_ = () => {
7820
7846
  $i = $i + 1 | 0;
7821
7847
  }
7822
7848
  };
7823
- function asr_JsStackFrame() {
7824
- let a = this;
7825
- jl_Object.call(a);
7826
- a.$pc3 = 0;
7827
- a.$toAddress0 = 0;
7828
- a.$sp = 0;
7829
- a.$fp = 0;
7830
- a.$registers = null;
7831
- }
7832
- var asr_JsStackFrame_getPc$exported$0 = (var$1) => {
7833
- return var$1.$pc3;
7834
- };
7835
- var asr_JsStackFrame_getToAddress$exported$1 = (var$1) => {
7836
- return var$1.$toAddress0;
7837
- };
7838
- var asr_JsStackFrame_getRegisters$exported$2 = (var$1) => {
7839
- return otji_JS_wrap0(var$1.$registers);
7840
- };
7841
- var asr_JsStackFrame_getSp$exported$3 = (var$1) => {
7842
- return var$1.$sp;
7843
- };
7844
- var asr_JsStackFrame_getFp$exported$4 = (var$1) => {
7845
- return var$1.$fp;
7846
- };
7847
7849
  function asr_JsCompilationResult() {
7848
7850
  let a = this;
7849
7851
  jl_Object.call(a);
@@ -7901,42 +7903,6 @@ var asr_AssemblyException__init_ = (var_0) => {
7901
7903
  asr_AssemblyException__init_0(var_1, var_0);
7902
7904
  return var_1;
7903
7905
  };
7904
- var juf_ToIntFunction = $rt_classWithoutFields(0);
7905
- var asr_JsRiscV$getRegistersValues$lambda$_25_0 = $rt_classWithoutFields();
7906
- var asr_JsRiscV$getTokenizedLines$lambda$_5_0 = $rt_classWithoutFields();
7907
- var asr_JsRiscV$getTokenizedLines$lambda$_5_0_apply = (var$0, var$1) => {
7908
- let var$2, var$3, var$4, var$5;
7909
- var$1 = var$1;
7910
- asr_JsRiscV_$callClinit();
7911
- var$2 = $rt_createArray(asr_JsRiscVToken, asra_TokenList_size(var$1));
7912
- var$3 = var$2.data;
7913
- var$4 = 0;
7914
- while (var$4 < asra_TokenList_size(var$1)) {
7915
- var$3[var$4] = asr_JsRiscVToken__init_(asra_TokenList_get(var$1, var$4));
7916
- var$4 = var$4 + 1 | 0;
7917
- }
7918
- var$5 = new asr_JsRiscVTokenizedLine();
7919
- var$5.$line0 = var$1.$processedLine;
7920
- var$5.$tokens0 = var$2;
7921
- return var$5;
7922
- };
7923
- var asr_JsRiscV$getTokenizedLines$lambda$_5_1 = $rt_classWithoutFields();
7924
- var asr_JsRiscV$getTokenizedLines$lambda$_5_1_apply = (var$0, var$1) => {
7925
- asr_JsRiscV_$callClinit();
7926
- return $rt_createArray(asr_JsRiscVTokenizedLine, var$1);
7927
- };
7928
- function asr_JsRiscVTokenizedLine() {
7929
- let a = this;
7930
- jl_Object.call(a);
7931
- a.$line0 = null;
7932
- a.$tokens0 = null;
7933
- }
7934
- var asr_JsRiscVTokenizedLine_getLine$exported$0 = (var$1) => {
7935
- return $rt_ustr(var$1.$line0);
7936
- };
7937
- var asr_JsRiscVTokenizedLine_getTokens$exported$1 = (var$1) => {
7938
- return otji_JS_wrap(var$1.$tokens0);
7939
- };
7940
7906
  function asr_JsProgramStatement() {
7941
7907
  let a = this;
7942
7908
  jl_Object.call(a);
@@ -8014,6 +7980,66 @@ var asr_JsProgramStatement_getBinaryStatement$exported$4 = (var$1) => {
8014
7980
  var asr_JsProgramStatement_getMachineStatement$exported$5 = (var$1) => {
8015
7981
  return $rt_ustr(var$1.$machineStatement0);
8016
7982
  };
7983
+ var juf_ToIntFunction = $rt_classWithoutFields(0);
7984
+ var asr_JsRiscV$getRegistersValues$lambda$_25_0 = $rt_classWithoutFields();
7985
+ function asr_JsStackFrame() {
7986
+ let a = this;
7987
+ jl_Object.call(a);
7988
+ a.$pc3 = 0;
7989
+ a.$toAddress0 = 0;
7990
+ a.$sp = 0;
7991
+ a.$fp = 0;
7992
+ a.$registers = null;
7993
+ }
7994
+ var asr_JsStackFrame_getPc$exported$0 = (var$1) => {
7995
+ return var$1.$pc3;
7996
+ };
7997
+ var asr_JsStackFrame_getToAddress$exported$1 = (var$1) => {
7998
+ return var$1.$toAddress0;
7999
+ };
8000
+ var asr_JsStackFrame_getRegisters$exported$2 = (var$1) => {
8001
+ return otji_JS_wrap0(var$1.$registers);
8002
+ };
8003
+ var asr_JsStackFrame_getSp$exported$3 = (var$1) => {
8004
+ return var$1.$sp;
8005
+ };
8006
+ var asr_JsStackFrame_getFp$exported$4 = (var$1) => {
8007
+ return var$1.$fp;
8008
+ };
8009
+ var asr_JsRiscV$getTokenizedLines$lambda$_5_0 = $rt_classWithoutFields();
8010
+ var asr_JsRiscV$getTokenizedLines$lambda$_5_0_apply = (var$0, var$1) => {
8011
+ let var$2, var$3, var$4, var$5;
8012
+ var$1 = var$1;
8013
+ asr_JsRiscV_$callClinit();
8014
+ var$2 = $rt_createArray(asr_JsRiscVToken, asra_TokenList_size(var$1));
8015
+ var$3 = var$2.data;
8016
+ var$4 = 0;
8017
+ while (var$4 < asra_TokenList_size(var$1)) {
8018
+ var$3[var$4] = asr_JsRiscVToken__init_(asra_TokenList_get(var$1, var$4));
8019
+ var$4 = var$4 + 1 | 0;
8020
+ }
8021
+ var$5 = new asr_JsRiscVTokenizedLine();
8022
+ var$5.$line0 = var$1.$processedLine;
8023
+ var$5.$tokens0 = var$2;
8024
+ return var$5;
8025
+ };
8026
+ var asr_JsRiscV$getTokenizedLines$lambda$_5_1 = $rt_classWithoutFields();
8027
+ var asr_JsRiscV$getTokenizedLines$lambda$_5_1_apply = (var$0, var$1) => {
8028
+ asr_JsRiscV_$callClinit();
8029
+ return $rt_createArray(asr_JsRiscVTokenizedLine, var$1);
8030
+ };
8031
+ function asr_JsRiscVTokenizedLine() {
8032
+ let a = this;
8033
+ jl_Object.call(a);
8034
+ a.$line0 = null;
8035
+ a.$tokens0 = null;
8036
+ }
8037
+ var asr_JsRiscVTokenizedLine_getLine$exported$0 = (var$1) => {
8038
+ return $rt_ustr(var$1.$line0);
8039
+ };
8040
+ var asr_JsRiscVTokenizedLine_getTokens$exported$1 = (var$1) => {
8041
+ return otji_JS_wrap(var$1.$tokens0);
8042
+ };
8017
8043
  var ju_Map$Entry = $rt_classWithoutFields(0);
8018
8044
  function ju_MapEntry() {
8019
8045
  let a = this;
@@ -8064,8 +8090,12 @@ function asrr_Instruction() {
8064
8090
  a.$exampleFormat = null;
8065
8091
  a.$description = null;
8066
8092
  a.$tokenList = null;
8093
+ a.$isRv64 = 0;
8067
8094
  }
8068
8095
  var asrr_Instruction_operandMask = null;
8096
+ var asrr_Instruction__init_ = ($this) => {
8097
+ $this.$isRv64 = 0;
8098
+ };
8069
8099
  var asrr_Instruction_getInstructionLength = ($this) => {
8070
8100
  return 4;
8071
8101
  };
@@ -8215,6 +8245,7 @@ function asrr_BasicInstruction() {
8215
8245
  a.$opcodeMatch = 0;
8216
8246
  }
8217
8247
  var asrr_BasicInstruction__init_ = ($this, $example, $description, $instrFormat, $operMask) => {
8248
+ asrr_Instruction__init_($this);
8218
8249
  $this.$exampleFormat = $example;
8219
8250
  $this.$mnemonic = asrr_Instruction_extractOperator($this, $example);
8220
8251
  $this.$description = $description;
@@ -8234,6 +8265,7 @@ var asrr_BasicInstruction__init_ = ($this, $example, $description, $instrFormat,
8234
8265
  };
8235
8266
  var asrr_BasicInstruction__init_0 = ($this, $example, $description, $instrFormat, $operMask, $onlyinrv64) => {
8236
8267
  asrr_BasicInstruction__init_($this, $example, $description, $instrFormat, $operMask);
8268
+ $this.$isRv64 = $onlyinrv64;
8237
8269
  if (!asrr_InstructionSet_rv64 && $onlyinrv64) {
8238
8270
  $description = new jl_NullPointerException();
8239
8271
  $instrFormat = new jl_StringBuilder();
@@ -11939,6 +11971,30 @@ function asrr_ExtendedInstruction() {
11939
11971
  asrr_Instruction.call(this);
11940
11972
  this.$translationStrings = null;
11941
11973
  }
11974
+ var asrr_ExtendedInstruction__init_0 = ($this, $example, $translation, $description, $isRv64Only) => {
11975
+ let var$5;
11976
+ asrr_Instruction__init_($this);
11977
+ $this.$exampleFormat = $example;
11978
+ $this.$description = $description;
11979
+ $description = $this;
11980
+ $this.$mnemonic = asrr_Instruction_extractOperator($description, $example);
11981
+ asrr_Instruction_createExampleTokenList($description);
11982
+ if ($translation !== null && $translation.$nativeString.length) {
11983
+ $description = ju_ArrayList__init_();
11984
+ var$5 = ju_StringTokenizer__init_($translation, $rt_s(43));
11985
+ while (ju_StringTokenizer_hasMoreTokens(var$5)) {
11986
+ ju_ArrayList_add($description, ju_StringTokenizer_nextToken(var$5));
11987
+ }
11988
+ } else
11989
+ $description = null;
11990
+ $this.$translationStrings = $description;
11991
+ $this.$isRv64 = $isRv64Only;
11992
+ };
11993
+ var asrr_ExtendedInstruction__init_ = (var_0, var_1, var_2, var_3) => {
11994
+ let var_4 = new asrr_ExtendedInstruction();
11995
+ asrr_ExtendedInstruction__init_0(var_4, var_0, var_1, var_2, var_3);
11996
+ return var_4;
11997
+ };
11942
11998
  var asrr_ExtendedInstruction_getInstructionLength = ($this) => {
11943
11999
  let var$1, var$2, var$3;
11944
12000
  a: {
@@ -12220,15 +12276,6 @@ var asrrh_RegisterBlock_resetRegisters = ($this) => {
12220
12276
  var$3 = var$3 + 1 | 0;
12221
12277
  }
12222
12278
  };
12223
- function asrrh_StackFrame() {
12224
- let a = this;
12225
- jl_Object.call(a);
12226
- a.$pc4 = 0;
12227
- a.$toAddress = 0;
12228
- a.$sp0 = 0;
12229
- a.$fp0 = 0;
12230
- a.$registers0 = null;
12231
- }
12232
12279
  function asr_ErrorList() {
12233
12280
  let a = this;
12234
12281
  jl_Object.call(a);
@@ -12314,6 +12361,15 @@ var asr_ErrorList_generateReport = ($this, $isWarning) => {
12314
12361
  }
12315
12362
  return jl_AbstractStringBuilder_toString($report);
12316
12363
  };
12364
+ function asrrh_StackFrame() {
12365
+ let a = this;
12366
+ jl_Object.call(a);
12367
+ a.$pc4 = 0;
12368
+ a.$toAddress = 0;
12369
+ a.$sp0 = 0;
12370
+ a.$fp0 = 0;
12371
+ a.$registers0 = null;
12372
+ }
12317
12373
  function asrrh_MemoryConfiguration() {
12318
12374
  let a = this;
12319
12375
  jl_Object.call(a);
@@ -14390,52 +14446,6 @@ var ju_AbstractList$1_next = ($this) => {
14390
14446
  $this.$index4 = var$3 + 1 | 0;
14391
14447
  return var$2.$get0(var$3);
14392
14448
  };
14393
- var asrs_Simulator$Reason = $rt_classWithoutFields(jl_Enum);
14394
- var asrs_Simulator$Reason_BREAKPOINT = null;
14395
- var asrs_Simulator$Reason_EXCEPTION = null;
14396
- var asrs_Simulator$Reason_MAX_STEPS = null;
14397
- var asrs_Simulator$Reason_NORMAL_TERMINATION = null;
14398
- var asrs_Simulator$Reason_CLIFF_TERMINATION = null;
14399
- var asrs_Simulator$Reason_PAUSE = null;
14400
- var asrs_Simulator$Reason_STOP = null;
14401
- var asrs_Simulator$Reason_$VALUES = null;
14402
- var asrs_Simulator$Reason_values = () => {
14403
- return asrs_Simulator$Reason_$VALUES.$clone0();
14404
- };
14405
- var asrs_Simulator$Reason__clinit_ = () => {
14406
- let var$1, var$2, var$3;
14407
- var$1 = new asrs_Simulator$Reason();
14408
- jl_Enum__init_(var$1, $rt_s(1091), 0);
14409
- asrs_Simulator$Reason_BREAKPOINT = var$1;
14410
- var$1 = new asrs_Simulator$Reason();
14411
- jl_Enum__init_(var$1, $rt_s(1092), 1);
14412
- asrs_Simulator$Reason_EXCEPTION = var$1;
14413
- var$1 = new asrs_Simulator$Reason();
14414
- jl_Enum__init_(var$1, $rt_s(1093), 2);
14415
- asrs_Simulator$Reason_MAX_STEPS = var$1;
14416
- var$1 = new asrs_Simulator$Reason();
14417
- jl_Enum__init_(var$1, $rt_s(1094), 3);
14418
- asrs_Simulator$Reason_NORMAL_TERMINATION = var$1;
14419
- var$1 = new asrs_Simulator$Reason();
14420
- jl_Enum__init_(var$1, $rt_s(1095), 4);
14421
- asrs_Simulator$Reason_CLIFF_TERMINATION = var$1;
14422
- var$1 = new asrs_Simulator$Reason();
14423
- jl_Enum__init_(var$1, $rt_s(1096), 5);
14424
- asrs_Simulator$Reason_PAUSE = var$1;
14425
- var$1 = new asrs_Simulator$Reason();
14426
- jl_Enum__init_(var$1, $rt_s(1097), 6);
14427
- asrs_Simulator$Reason_STOP = var$1;
14428
- var$2 = $rt_createArray(asrs_Simulator$Reason, 7);
14429
- var$3 = var$2.data;
14430
- var$3[0] = asrs_Simulator$Reason_BREAKPOINT;
14431
- var$3[1] = asrs_Simulator$Reason_EXCEPTION;
14432
- var$3[2] = asrs_Simulator$Reason_MAX_STEPS;
14433
- var$3[3] = asrs_Simulator$Reason_NORMAL_TERMINATION;
14434
- var$3[4] = asrs_Simulator$Reason_CLIFF_TERMINATION;
14435
- var$3[5] = asrs_Simulator$Reason_PAUSE;
14436
- var$3[6] = var$1;
14437
- asrs_Simulator$Reason_$VALUES = var$2;
14438
- };
14439
14449
  var jlr_Array = $rt_classWithoutFields();
14440
14450
  var jlr_Array_getLength = (var$1) => {
14441
14451
  if (var$1 === null || var$1.constructor.$meta.item === "undefined") {
@@ -14517,38 +14527,38 @@ var asrrh_FloatingPointRegisterFile__clinit_ = () => {
14517
14527
  var$1 = new asrrh_RegisterBlock();
14518
14528
  var$2 = $rt_createArray(asrrh_Register, 32);
14519
14529
  var$3 = var$2.data;
14520
- var$3[0] = asrrh_Register__init_($rt_s(1098), 0, Long_ZERO);
14521
- var$3[1] = asrrh_Register__init_($rt_s(1099), 1, Long_ZERO);
14522
- var$3[2] = asrrh_Register__init_($rt_s(1100), 2, Long_ZERO);
14523
- var$3[3] = asrrh_Register__init_($rt_s(1101), 3, Long_ZERO);
14524
- var$3[4] = asrrh_Register__init_($rt_s(1102), 4, Long_ZERO);
14525
- var$3[5] = asrrh_Register__init_($rt_s(1103), 5, Long_ZERO);
14526
- var$3[6] = asrrh_Register__init_($rt_s(1104), 6, Long_ZERO);
14527
- var$3[7] = asrrh_Register__init_($rt_s(1105), 7, Long_ZERO);
14528
- var$3[8] = asrrh_Register__init_($rt_s(1106), 8, Long_ZERO);
14529
- var$3[9] = asrrh_Register__init_($rt_s(1107), 9, Long_ZERO);
14530
+ var$3[0] = asrrh_Register__init_($rt_s(1091), 0, Long_ZERO);
14531
+ var$3[1] = asrrh_Register__init_($rt_s(1092), 1, Long_ZERO);
14532
+ var$3[2] = asrrh_Register__init_($rt_s(1093), 2, Long_ZERO);
14533
+ var$3[3] = asrrh_Register__init_($rt_s(1094), 3, Long_ZERO);
14534
+ var$3[4] = asrrh_Register__init_($rt_s(1095), 4, Long_ZERO);
14535
+ var$3[5] = asrrh_Register__init_($rt_s(1096), 5, Long_ZERO);
14536
+ var$3[6] = asrrh_Register__init_($rt_s(1097), 6, Long_ZERO);
14537
+ var$3[7] = asrrh_Register__init_($rt_s(1098), 7, Long_ZERO);
14538
+ var$3[8] = asrrh_Register__init_($rt_s(1099), 8, Long_ZERO);
14539
+ var$3[9] = asrrh_Register__init_($rt_s(1100), 9, Long_ZERO);
14530
14540
  var$3[10] = asrrh_Register__init_($rt_s(1042), 10, Long_ZERO);
14531
14541
  var$3[11] = asrrh_Register__init_($rt_s(1036), 11, Long_ZERO);
14532
- var$3[12] = asrrh_Register__init_($rt_s(1108), 12, Long_ZERO);
14533
- var$3[13] = asrrh_Register__init_($rt_s(1109), 13, Long_ZERO);
14534
- var$3[14] = asrrh_Register__init_($rt_s(1110), 14, Long_ZERO);
14535
- var$3[15] = asrrh_Register__init_($rt_s(1111), 15, Long_ZERO);
14536
- var$3[16] = asrrh_Register__init_($rt_s(1112), 16, Long_ZERO);
14537
- var$3[17] = asrrh_Register__init_($rt_s(1113), 17, Long_ZERO);
14538
- var$3[18] = asrrh_Register__init_($rt_s(1114), 18, Long_ZERO);
14539
- var$3[19] = asrrh_Register__init_($rt_s(1115), 19, Long_ZERO);
14540
- var$3[20] = asrrh_Register__init_($rt_s(1116), 20, Long_ZERO);
14541
- var$3[21] = asrrh_Register__init_($rt_s(1117), 21, Long_ZERO);
14542
- var$3[22] = asrrh_Register__init_($rt_s(1118), 22, Long_ZERO);
14543
- var$3[23] = asrrh_Register__init_($rt_s(1119), 23, Long_ZERO);
14544
- var$3[24] = asrrh_Register__init_($rt_s(1120), 24, Long_ZERO);
14545
- var$3[25] = asrrh_Register__init_($rt_s(1121), 25, Long_ZERO);
14546
- var$3[26] = asrrh_Register__init_($rt_s(1122), 26, Long_ZERO);
14547
- var$3[27] = asrrh_Register__init_($rt_s(1123), 27, Long_ZERO);
14548
- var$3[28] = asrrh_Register__init_($rt_s(1124), 28, Long_ZERO);
14549
- var$3[29] = asrrh_Register__init_($rt_s(1125), 29, Long_ZERO);
14550
- var$3[30] = asrrh_Register__init_($rt_s(1126), 30, Long_ZERO);
14551
- var$3[31] = asrrh_Register__init_($rt_s(1127), 31, Long_ZERO);
14542
+ var$3[12] = asrrh_Register__init_($rt_s(1101), 12, Long_ZERO);
14543
+ var$3[13] = asrrh_Register__init_($rt_s(1102), 13, Long_ZERO);
14544
+ var$3[14] = asrrh_Register__init_($rt_s(1103), 14, Long_ZERO);
14545
+ var$3[15] = asrrh_Register__init_($rt_s(1104), 15, Long_ZERO);
14546
+ var$3[16] = asrrh_Register__init_($rt_s(1105), 16, Long_ZERO);
14547
+ var$3[17] = asrrh_Register__init_($rt_s(1106), 17, Long_ZERO);
14548
+ var$3[18] = asrrh_Register__init_($rt_s(1107), 18, Long_ZERO);
14549
+ var$3[19] = asrrh_Register__init_($rt_s(1108), 19, Long_ZERO);
14550
+ var$3[20] = asrrh_Register__init_($rt_s(1109), 20, Long_ZERO);
14551
+ var$3[21] = asrrh_Register__init_($rt_s(1110), 21, Long_ZERO);
14552
+ var$3[22] = asrrh_Register__init_($rt_s(1111), 22, Long_ZERO);
14553
+ var$3[23] = asrrh_Register__init_($rt_s(1112), 23, Long_ZERO);
14554
+ var$3[24] = asrrh_Register__init_($rt_s(1113), 24, Long_ZERO);
14555
+ var$3[25] = asrrh_Register__init_($rt_s(1114), 25, Long_ZERO);
14556
+ var$3[26] = asrrh_Register__init_($rt_s(1115), 26, Long_ZERO);
14557
+ var$3[27] = asrrh_Register__init_($rt_s(1116), 27, Long_ZERO);
14558
+ var$3[28] = asrrh_Register__init_($rt_s(1117), 28, Long_ZERO);
14559
+ var$3[29] = asrrh_Register__init_($rt_s(1118), 29, Long_ZERO);
14560
+ var$3[30] = asrrh_Register__init_($rt_s(1119), 30, Long_ZERO);
14561
+ var$3[31] = asrrh_Register__init_($rt_s(1120), 31, Long_ZERO);
14552
14562
  asrrh_RegisterBlock__init_(var$1, 102, var$2);
14553
14563
  asrrh_FloatingPointRegisterFile_instance = var$1;
14554
14564
  };
@@ -14616,25 +14626,25 @@ var asrrh_ControlAndStatusRegisterFile__clinit_ = () => {
14616
14626
  var$2[0] = asrrh_MaskedRegister__init_($rt_s(679), 0, Long_ZERO, Long_fromInt(-18));
14617
14627
  var$2[1] = null;
14618
14628
  var$2[2] = null;
14619
- var$2[3] = asrrh_MaskedRegister__init_($rt_s(1128), 3, Long_ZERO, Long_fromInt(-256));
14620
- var$2[4] = asrrh_Register__init_($rt_s(1129), 4, Long_ZERO);
14621
- var$2[5] = asrrh_Register__init_($rt_s(1130), 5, Long_ZERO);
14622
- var$2[6] = asrrh_Register__init_($rt_s(1131), 64, Long_ZERO);
14629
+ var$2[3] = asrrh_MaskedRegister__init_($rt_s(1121), 3, Long_ZERO, Long_fromInt(-256));
14630
+ var$2[4] = asrrh_Register__init_($rt_s(1122), 4, Long_ZERO);
14631
+ var$2[5] = asrrh_Register__init_($rt_s(1123), 5, Long_ZERO);
14632
+ var$2[6] = asrrh_Register__init_($rt_s(1124), 64, Long_ZERO);
14623
14633
  var$2[7] = asrrh_Register__init_($rt_s(680), 65, Long_ZERO);
14624
- var$2[8] = asrrh_Register__init_($rt_s(1132), 66, Long_ZERO);
14625
- var$2[9] = asrrh_Register__init_($rt_s(1133), 67, Long_ZERO);
14626
- var$2[10] = asrrh_Register__init_($rt_s(1134), 68, Long_ZERO);
14627
- var$2[11] = asrrh_ReadOnlyRegister__init_($rt_s(1135), 3072, 0);
14628
- var$2[12] = asrrh_ReadOnlyRegister__init_($rt_s(1136), 3073, 0);
14629
- var$2[13] = asrrh_ReadOnlyRegister__init_($rt_s(1137), 3074, 0);
14634
+ var$2[8] = asrrh_Register__init_($rt_s(1125), 66, Long_ZERO);
14635
+ var$2[9] = asrrh_Register__init_($rt_s(1126), 67, Long_ZERO);
14636
+ var$2[10] = asrrh_Register__init_($rt_s(1127), 68, Long_ZERO);
14637
+ var$2[11] = asrrh_ReadOnlyRegister__init_($rt_s(1128), 3072, 0);
14638
+ var$2[12] = asrrh_ReadOnlyRegister__init_($rt_s(1129), 3073, 0);
14639
+ var$2[13] = asrrh_ReadOnlyRegister__init_($rt_s(1130), 3074, 0);
14630
14640
  var$2[14] = null;
14631
14641
  var$2[15] = null;
14632
14642
  var$2[16] = null;
14633
14643
  var$2[1] = asrrh_LinkedRegister__init_($rt_s(446), 1, var$2[3], Long_fromInt(31));
14634
14644
  var$2[2] = asrrh_LinkedRegister__init_($rt_s(447), 2, var$2[3], Long_fromInt(224));
14635
- var$2[14] = asrrh_LinkedRegister__init_($rt_s(1138), 3200, var$2[11], Long_create(0, 4294967295));
14636
- var$2[15] = asrrh_LinkedRegister__init_($rt_s(1139), 3201, var$2[12], Long_create(0, 4294967295));
14637
- var$2[16] = asrrh_LinkedRegister__init_($rt_s(1140), 3202, var$2[13], Long_create(0, 4294967295));
14645
+ var$2[14] = asrrh_LinkedRegister__init_($rt_s(1131), 3200, var$2[11], Long_create(0, 4294967295));
14646
+ var$2[15] = asrrh_LinkedRegister__init_($rt_s(1132), 3201, var$2[12], Long_create(0, 4294967295));
14647
+ var$2[16] = asrrh_LinkedRegister__init_($rt_s(1133), 3202, var$2[13], Long_create(0, 4294967295));
14638
14648
  asrrh_ControlAndStatusRegisterFile_instance = asrrh_RegisterBlock__init_0(95, $tmp_0);
14639
14649
  };
14640
14650
  var asrrh_InterruptController = $rt_classWithoutFields();
@@ -14740,7 +14750,7 @@ var asrrh_InterruptController_claimExternal = () => {
14740
14750
  a: {
14741
14751
  try {
14742
14752
  if (!asrrh_InterruptController_$assertionsDisabled && !asrrh_InterruptController_externalPending)
14743
- $rt_throw(jl_AssertionError__init_($rt_s(1141)));
14753
+ $rt_throw(jl_AssertionError__init_($rt_s(1134)));
14744
14754
  asrrh_InterruptController_externalPending = 0;
14745
14755
  var$2 = asrrh_InterruptController_externalValue;
14746
14756
  jl_Object_monitorExitSync(var$1);
@@ -14761,7 +14771,7 @@ var asrrh_InterruptController_claimTimer = () => {
14761
14771
  a: {
14762
14772
  try {
14763
14773
  if (!asrrh_InterruptController_$assertionsDisabled && !asrrh_InterruptController_timerPending)
14764
- $rt_throw(jl_AssertionError__init_($rt_s(1142)));
14774
+ $rt_throw(jl_AssertionError__init_($rt_s(1135)));
14765
14775
  asrrh_InterruptController_timerPending = 0;
14766
14776
  var$2 = asrrh_InterruptController_timerValue;
14767
14777
  jl_Object_monitorExitSync(var$1);
@@ -14783,9 +14793,9 @@ var asrrh_InterruptController_claimTrap = () => {
14783
14793
  try {
14784
14794
  var$2 = asrrh_InterruptController_$assertionsDisabled;
14785
14795
  if (!var$2 && !asrrh_InterruptController_trapPending)
14786
- $rt_throw(jl_AssertionError__init_($rt_s(1143)));
14796
+ $rt_throw(jl_AssertionError__init_($rt_s(1136)));
14787
14797
  if (!var$2 && asrrh_InterruptController_trapPC != (asrrh_RegisterFile_getProgramCounter() - 4 | 0))
14788
- $rt_throw(jl_AssertionError__init_($rt_s(1144)));
14798
+ $rt_throw(jl_AssertionError__init_($rt_s(1137)));
14789
14799
  asrrh_InterruptController_trapPending = 0;
14790
14800
  var$3 = asrrh_InterruptController_trapSE;
14791
14801
  jl_Object_monitorExitSync(var$1);
@@ -14806,6 +14816,52 @@ var asrrh_InterruptController__clinit_ = () => {
14806
14816
  asrrh_InterruptController_timerPending = 0;
14807
14817
  asrrh_InterruptController_trapPending = 0;
14808
14818
  };
14819
+ var asrs_Simulator$Reason = $rt_classWithoutFields(jl_Enum);
14820
+ var asrs_Simulator$Reason_BREAKPOINT = null;
14821
+ var asrs_Simulator$Reason_EXCEPTION = null;
14822
+ var asrs_Simulator$Reason_MAX_STEPS = null;
14823
+ var asrs_Simulator$Reason_NORMAL_TERMINATION = null;
14824
+ var asrs_Simulator$Reason_CLIFF_TERMINATION = null;
14825
+ var asrs_Simulator$Reason_PAUSE = null;
14826
+ var asrs_Simulator$Reason_STOP = null;
14827
+ var asrs_Simulator$Reason_$VALUES = null;
14828
+ var asrs_Simulator$Reason_values = () => {
14829
+ return asrs_Simulator$Reason_$VALUES.$clone0();
14830
+ };
14831
+ var asrs_Simulator$Reason__clinit_ = () => {
14832
+ let var$1, var$2, var$3;
14833
+ var$1 = new asrs_Simulator$Reason();
14834
+ jl_Enum__init_(var$1, $rt_s(1138), 0);
14835
+ asrs_Simulator$Reason_BREAKPOINT = var$1;
14836
+ var$1 = new asrs_Simulator$Reason();
14837
+ jl_Enum__init_(var$1, $rt_s(1139), 1);
14838
+ asrs_Simulator$Reason_EXCEPTION = var$1;
14839
+ var$1 = new asrs_Simulator$Reason();
14840
+ jl_Enum__init_(var$1, $rt_s(1140), 2);
14841
+ asrs_Simulator$Reason_MAX_STEPS = var$1;
14842
+ var$1 = new asrs_Simulator$Reason();
14843
+ jl_Enum__init_(var$1, $rt_s(1141), 3);
14844
+ asrs_Simulator$Reason_NORMAL_TERMINATION = var$1;
14845
+ var$1 = new asrs_Simulator$Reason();
14846
+ jl_Enum__init_(var$1, $rt_s(1142), 4);
14847
+ asrs_Simulator$Reason_CLIFF_TERMINATION = var$1;
14848
+ var$1 = new asrs_Simulator$Reason();
14849
+ jl_Enum__init_(var$1, $rt_s(1143), 5);
14850
+ asrs_Simulator$Reason_PAUSE = var$1;
14851
+ var$1 = new asrs_Simulator$Reason();
14852
+ jl_Enum__init_(var$1, $rt_s(1144), 6);
14853
+ asrs_Simulator$Reason_STOP = var$1;
14854
+ var$2 = $rt_createArray(asrs_Simulator$Reason, 7);
14855
+ var$3 = var$2.data;
14856
+ var$3[0] = asrs_Simulator$Reason_BREAKPOINT;
14857
+ var$3[1] = asrs_Simulator$Reason_EXCEPTION;
14858
+ var$3[2] = asrs_Simulator$Reason_MAX_STEPS;
14859
+ var$3[3] = asrs_Simulator$Reason_NORMAL_TERMINATION;
14860
+ var$3[4] = asrs_Simulator$Reason_CLIFF_TERMINATION;
14861
+ var$3[5] = asrs_Simulator$Reason_PAUSE;
14862
+ var$3[6] = var$1;
14863
+ asrs_Simulator$Reason_$VALUES = var$2;
14864
+ };
14809
14865
  function jur_Pattern() {
14810
14866
  let a = this;
14811
14867
  jl_Object.call(a);
@@ -15767,7 +15823,7 @@ var asra_Tokenizer__init_ = () => {
15767
15823
  var asra_Tokenizer_processIncludes = ($this, $program, $inclFiles, $files) => {
15768
15824
  let $source, $result, $i, $t, var$8, var$9, $line, $tl, $hasInclude, $ii, var$14, var$15, $filename, var$17, $allLines, $incl, $file, var$21, $$je;
15769
15825
  $source = $program.$sourceList;
15770
- $result = ju_ArrayList__init_3($source.$size0);
15826
+ $result = ju_ArrayList__init_2($source.$size0);
15771
15827
  $i = 0;
15772
15828
  $t = $inclFiles;
15773
15829
  var$8 = $files;
@@ -16539,7 +16595,6 @@ var jl_Thread__clinit_ = () => {
16539
16595
  };
16540
16596
  var jl_IllegalStateException = $rt_classWithoutFields(jl_RuntimeException);
16541
16597
  var jl_IllegalMonitorStateException = $rt_classWithoutFields(jl_RuntimeException);
16542
- var jl_NegativeArraySizeException = $rt_classWithoutFields(jl_RuntimeException);
16543
16598
  var otjc_JSObjects = $rt_classWithoutFields();
16544
16599
  var otji_JSWrapper$Helper = $rt_classWithoutFields();
16545
16600
  var otji_JSWrapper$Helper_hashCodes = null;
@@ -16575,6 +16630,7 @@ var otji_JSWrapper$Helper__clinit_ = () => {
16575
16630
  otji_JSWrapper$Helper_numberFinalizationRegistry = var$1;
16576
16631
  };
16577
16632
  var otjc_JSUndefined = $rt_classWithoutFields();
16633
+ var jl_NegativeArraySizeException = $rt_classWithoutFields(jl_RuntimeException);
16578
16634
  function ju_Arrays$ArrayAsList() {
16579
16635
  ju_AbstractList.call(this);
16580
16636
  this.$array3 = null;
@@ -23290,7 +23346,7 @@ var asrs_Simulator_getInstance = () => {
23290
23346
  if (asrs_Simulator_simulator === null) {
23291
23347
  var$1 = new asrs_Simulator();
23292
23348
  ju_Observable__init_(var$1);
23293
- var$1.$stopListeners = ju_ArrayList__init_3(1);
23349
+ var$1.$stopListeners = ju_ArrayList__init_2(1);
23294
23350
  var$1.$simulatorThread = null;
23295
23351
  asrs_Simulator_simulator = var$1;
23296
23352
  }
@@ -24338,7 +24394,7 @@ var asra_TokenList_clone = ($this) => {
24338
24394
  a: {
24339
24395
  try {
24340
24396
  $t = jl_Object_clone($this);
24341
- $t.$tokenList0 = ju_ArrayList__init_1($this.$tokenList0);
24397
+ $t.$tokenList0 = ju_ArrayList__init_3($this.$tokenList0);
24342
24398
  } catch ($$e) {
24343
24399
  $$je = $rt_wrapException($$e);
24344
24400
  if ($$je instanceof jl_CloneNotSupportedException) {
@@ -24617,10 +24673,10 @@ var asrs_Simulator$SimThread_handleTrap = ($this, $se, $pc) => {
24617
24673
  if (!$utvec && $se.$cause < 0)
24618
24674
  $rt_throw(jl_AssertionError__init_($rt_s(1514)));
24619
24675
  a: {
24620
- asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(1132), Long_fromInt($se.$cause));
24676
+ asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(1125), Long_fromInt($se.$cause));
24621
24677
  asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(680), Long_fromInt($pc));
24622
- asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(1133), Long_fromInt($se.$value5));
24623
- $base = asrrh_ControlAndStatusRegisterFile_getValue($rt_s(1130)) & -4;
24678
+ asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(1126), Long_fromInt($se.$value5));
24679
+ $base = asrrh_ControlAndStatusRegisterFile_getValue($rt_s(1123)) & -4;
24624
24680
  $exceptionHandler = null;
24625
24681
  if (!(asrrh_ControlAndStatusRegisterFile_getValue($rt_s(679)) & 1))
24626
24682
  var$6 = $exceptionHandler;
@@ -24656,12 +24712,12 @@ var asrs_Simulator$SimThread_handleInterrupt = ($this, $value, $cause, $pc) => {
24656
24712
  if (!$mode && !($cause & -2147483648))
24657
24713
  $rt_throw(jl_AssertionError__init_($rt_s(1515)));
24658
24714
  $code = $cause & 2147483647;
24659
- if (!$mode && !(asrrh_ControlAndStatusRegisterFile_getValue($rt_s(679)) & 1 && asrrh_ControlAndStatusRegisterFile_getValue($rt_s(1129)) & 1 << $code))
24715
+ if (!$mode && !(asrrh_ControlAndStatusRegisterFile_getValue($rt_s(679)) & 1 && asrrh_ControlAndStatusRegisterFile_getValue($rt_s(1122)) & 1 << $code))
24660
24716
  $rt_throw(jl_AssertionError__init_($rt_s(1516)));
24661
- asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(1132), Long_fromInt($cause));
24717
+ asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(1125), Long_fromInt($cause));
24662
24718
  asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(680), Long_fromInt($pc));
24663
- asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(1133), Long_fromInt($value));
24664
- $utvec = asrrh_ControlAndStatusRegisterFile_getValue($rt_s(1130));
24719
+ asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(1126), Long_fromInt($value));
24720
+ $utvec = asrrh_ControlAndStatusRegisterFile_getValue($rt_s(1123));
24665
24721
  $base = $utvec & -4;
24666
24722
  if (($utvec & 3) == 2)
24667
24723
  $base = $base + (4 * $code | 0) | 0;
@@ -24741,8 +24797,8 @@ var asrs_Simulator$SimThread_run = ($this) => {
24741
24797
  asrs_Simulator$SimThread_stopExecution($this, 0, $this.$constructReturnReason);
24742
24798
  return;
24743
24799
  }
24744
- $uip = asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1134));
24745
- $uie = asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1129));
24800
+ $uip = asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1127));
24801
+ $uie = asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1122));
24746
24802
  $IE = Long_eq(Long_and(asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(679)), Long_fromInt(1)), Long_ZERO) ? 0 : 1;
24747
24803
  $this.$pc0 = asrrh_RegisterFile_getProgramCounter();
24748
24804
  $se = asrrh_InterruptController_lock;
@@ -24933,8 +24989,8 @@ var asrs_Simulator$SimThread_run = ($this) => {
24933
24989
  jl_Object_monitorExit($se);
24934
24990
  $rt_throw($instruction);
24935
24991
  }
24936
- if (Long_ne($cycle, asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1134))))
24937
- asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(1134), $cycle);
24992
+ if (Long_ne($cycle, asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1127))))
24993
+ asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(1127), $cycle);
24938
24994
  var$14 = $this.$maxSteps;
24939
24995
  if (var$14 > 0) {
24940
24996
  $steps = $steps + 1 | 0;
@@ -25055,12 +25111,12 @@ var asrs_Simulator$SimThread_run = ($this) => {
25055
25111
  $waiting = 1;
25056
25112
  }
25057
25113
  v: {
25058
- $cycle = asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1135));
25059
- $instret = asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1137));
25114
+ $cycle = asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1128));
25115
+ $instret = asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1130));
25060
25116
  $time = jl_System_currentTimeMillis();
25061
- asrrh_ControlAndStatusRegisterFile_updateRegisterBackdoor($rt_s(1135), Long_add($cycle, Long_fromInt(1)));
25062
- asrrh_ControlAndStatusRegisterFile_updateRegisterBackdoor($rt_s(1137), Long_add($instret, Long_fromInt(1)));
25063
- asrrh_ControlAndStatusRegisterFile_updateRegisterBackdoor($rt_s(1136), $time);
25117
+ asrrh_ControlAndStatusRegisterFile_updateRegisterBackdoor($rt_s(1128), Long_add($cycle, Long_fromInt(1)));
25118
+ asrrh_ControlAndStatusRegisterFile_updateRegisterBackdoor($rt_s(1130), Long_add($instret, Long_fromInt(1)));
25119
+ asrrh_ControlAndStatusRegisterFile_updateRegisterBackdoor($rt_s(1129), $time);
25064
25120
  if (!$ebreak) {
25065
25121
  var$1 = $this.$breakPoints;
25066
25122
  if (var$1 === null)
@@ -25083,8 +25139,8 @@ var asrs_Simulator$SimThread_run = ($this) => {
25083
25139
  asrs_Simulator$SimThread_stopExecution($this, 0, $this.$constructReturnReason);
25084
25140
  return;
25085
25141
  }
25086
- $uip = asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1134));
25087
- $uie = asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1129));
25142
+ $uip = asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1127));
25143
+ $uie = asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1122));
25088
25144
  $IE = Long_eq(Long_and(asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(679)), Long_fromInt(1)), Long_ZERO) ? 0 : 1;
25089
25145
  $this.$pc0 = asrrh_RegisterFile_getProgramCounter();
25090
25146
  $se = asrrh_InterruptController_lock;
@@ -25120,8 +25176,8 @@ var asrs_Simulator$SimThread_run = ($this) => {
25120
25176
  asrs_Simulator$SimThread_stopExecution($this, 0, $this.$constructReturnReason);
25121
25177
  return;
25122
25178
  }
25123
- $uip = asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1134));
25124
- $uie = asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1129));
25179
+ $uip = asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1127));
25180
+ $uie = asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1122));
25125
25181
  $IE = Long_eq(Long_and(asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(679)), Long_fromInt(1)), Long_ZERO) ? 0 : 1;
25126
25182
  $this.$pc0 = asrrh_RegisterFile_getProgramCounter();
25127
25183
  $se = asrrh_InterruptController_lock;
@@ -25159,8 +25215,8 @@ var asrs_Simulator$SimThread_run = ($this) => {
25159
25215
  asrs_Simulator$SimThread_stopExecution($this, 0, $this.$constructReturnReason);
25160
25216
  return;
25161
25217
  }
25162
- $uip = asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1134));
25163
- $uie = asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1129));
25218
+ $uip = asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1127));
25219
+ $uie = asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1122));
25164
25220
  $IE = Long_eq(Long_and(asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(679)), Long_fromInt(1)), Long_ZERO) ? 0 : 1;
25165
25221
  $this.$pc0 = asrrh_RegisterFile_getProgramCounter();
25166
25222
  $se = asrrh_InterruptController_lock;
@@ -27004,7 +27060,7 @@ var asra_Macro_getSubstitutedLine = ($this, $line, $args, $counter, $errors) =>
27004
27060
  $substitute = $token.$value;
27005
27061
  var$5 = $this.$labels;
27006
27062
  var$12 = ju_Comparator$NaturalOrder_INSTANCE;
27007
- var$13 = $rt_isInstance(var$5, ju_RandomAccess) ? var$5 : ju_ArrayList__init_1(var$5);
27063
+ var$13 = $rt_isInstance(var$5, ju_RandomAccess) ? var$5 : ju_ArrayList__init_3(var$5);
27008
27064
  if (var$12 === null)
27009
27065
  var$12 = ju_Comparator$NaturalOrder_INSTANCE;
27010
27066
  c: {
@@ -31837,6 +31893,222 @@ var asrjt_Floating = $rt_classWithoutFields();
31837
31893
  var asrjt_Floating_isFinite = ($this) => {
31838
31894
  return !$this.$isZero() && !$this.$isNormal() && !$this.$isSubnormal() ? 0 : 1;
31839
31895
  };
31896
+ function asrjt_Float32() {
31897
+ asrjt_Floating.call(this);
31898
+ this.$bits0 = 0;
31899
+ }
31900
+ var asrjt_Float32_Zero = null;
31901
+ var asrjt_Float32_NegativeZero = null;
31902
+ var asrjt_Float32_NaN = null;
31903
+ var asrjt_Float32_Infinity = null;
31904
+ var asrjt_Float32_NegativeInfinity = null;
31905
+ var asrjt_Float32_$assertionsDisabled = 0;
31906
+ var asrjt_Float32__init_2 = ($this, $bits) => {
31907
+ $this.$bits0 = $bits;
31908
+ };
31909
+ var asrjt_Float32__init_ = (var_0) => {
31910
+ let var_1 = new asrjt_Float32();
31911
+ asrjt_Float32__init_2(var_1, var_0);
31912
+ return var_1;
31913
+ };
31914
+ var asrjt_Float32__init_1 = ($this, $sign, $exponent, $significand) => {
31915
+ asrjt_Float32__init_2($this, (!$sign ? 0 : -2147483648) | (($exponent + 127 | 0) & 255) << 23 | $significand & 8388607);
31916
+ };
31917
+ var asrjt_Float32__init_0 = (var_0, var_1, var_2) => {
31918
+ let var_3 = new asrjt_Float32();
31919
+ asrjt_Float32__init_1(var_3, var_0, var_1, var_2);
31920
+ return var_3;
31921
+ };
31922
+ var asrjt_Float32_exponent = ($this) => {
31923
+ return (($this.$bits0 >>> 23 | 0) & 255) - 127 | 0;
31924
+ };
31925
+ var asrjt_Float32_negate = ($this) => {
31926
+ return asrjt_Float32__init_($this.$bits0 ^ -2147483648);
31927
+ };
31928
+ var asrjt_Float32_isSignMinus = ($this) => {
31929
+ return ($this.$bits0 >>> 31 | 0) != 1 ? 0 : 1;
31930
+ };
31931
+ var asrjt_Float32_isInfinite = ($this) => {
31932
+ return asrjt_Float32_exponent($this) == 128 && !($this.$bits0 & 8388607) ? 1 : 0;
31933
+ };
31934
+ var asrjt_Float32_isNormal = ($this) => {
31935
+ return asrjt_Float32_exponent($this) != -127 && asrjt_Float32_exponent($this) != 128 ? 1 : 0;
31936
+ };
31937
+ var asrjt_Float32_isSubnormal = ($this) => {
31938
+ return asrjt_Float32_exponent($this) == -127 && !asrjt_Float32_isZero($this) ? 1 : 0;
31939
+ };
31940
+ var asrjt_Float32_isNaN = ($this) => {
31941
+ return asrjt_Float32_exponent($this) == 128 && !asrjt_Float32_isInfinite($this) ? 1 : 0;
31942
+ };
31943
+ var asrjt_Float32_isSignalling = ($this) => {
31944
+ if (!asrjt_Float32_isNaN($this))
31945
+ return 0;
31946
+ return $this.$bits0 & 4194304 ? 0 : 1;
31947
+ };
31948
+ var asrjt_Float32_isZero = ($this) => {
31949
+ let var$1;
31950
+ var$1 = $this.$bits0;
31951
+ return var$1 && var$1 != -2147483648 ? 0 : 1;
31952
+ };
31953
+ var asrjt_Float32_fromExactFloat0 = ($this, $ef, $env) => {
31954
+ let $normalizedExponent, $mainBits, $roundedBits, $a, $bitsToRound, $upBits, $towardsZero, $awayZero;
31955
+ if (asrji_ExactFloat_isZero($ef))
31956
+ return !$ef.$sign ? asrjt_Float32_Zero : asrjt_Float32_NegativeZero;
31957
+ $ef = asrji_ExactFloat_normalize($ef);
31958
+ $normalizedExponent = $ef.$exponent0 + jm_BigInteger_bitLength($ef.$significand) | 0;
31959
+ if ($normalizedExponent > -126) {
31960
+ if ($normalizedExponent > 128) {
31961
+ $mainBits = $env.$flags;
31962
+ $roundedBits = asrj_Flags_overflow;
31963
+ ju_GenericEnumSet_add($mainBits, $roundedBits);
31964
+ $mainBits = $env.$flags;
31965
+ $roundedBits = asrj_Flags_inexact;
31966
+ ju_GenericEnumSet_add($mainBits, $roundedBits);
31967
+ asrjt_Float32$1_$callClinit();
31968
+ switch (asrjt_Float32$1_$SwitchMap$app$specy$rars$jsoftfloat$RoundingMode.data[jl_Enum_ordinal($env.$mode)]) {
31969
+ case 1:
31970
+ break;
31971
+ case 2:
31972
+ case 3:
31973
+ $normalizedExponent = $ef.$sign;
31974
+ if ($normalizedExponent == ($env.$mode !== asrj_RoundingMode_max ? 0 : 1))
31975
+ return asrjt_Float32__init_0($normalizedExponent, 127, -1);
31976
+ return !$normalizedExponent ? asrjt_Float32_Infinity : asrjt_Float32_NegativeInfinity;
31977
+ case 4:
31978
+ case 5:
31979
+ return !$ef.$sign ? asrjt_Float32_Infinity : asrjt_Float32_NegativeInfinity;
31980
+ default:
31981
+ if (!asrjt_Float32_$assertionsDisabled)
31982
+ $rt_throw(jl_AssertionError__init_($rt_s(1629)));
31983
+ return !$ef.$sign ? asrjt_Float32_Infinity : asrjt_Float32_NegativeInfinity;
31984
+ }
31985
+ return asrjt_Float32__init_0($ef.$sign, 127, -1);
31986
+ }
31987
+ if (jm_BigInteger_bitLength($ef.$significand) <= 24) {
31988
+ if (!asrjt_Float32_$assertionsDisabled && (($ef.$exponent0 + jm_BigInteger_bitLength($ef.$significand) | 0) - 1 | 0) <= -127)
31989
+ $rt_throw(jl_AssertionError__init_($rt_s(1630)));
31990
+ $a = new asrjt_Float32();
31991
+ $normalizedExponent = $ef.$sign;
31992
+ $bitsToRound = ($ef.$exponent0 + jm_BigInteger_bitLength($ef.$significand) | 0) - 1 | 0;
31993
+ $ef = $ef.$significand;
31994
+ asrjt_Float32__init_1($a, $normalizedExponent, $bitsToRound, jm_BigInteger_intValueExact(jm_BigInteger_shiftLeft($ef, 24 - jm_BigInteger_bitLength($ef) | 0)) & 8388607);
31995
+ return $a;
31996
+ }
31997
+ $mainBits = $env.$flags;
31998
+ $roundedBits = asrj_Flags_inexact;
31999
+ ju_GenericEnumSet_add($mainBits, $roundedBits);
32000
+ $bitsToRound = jm_BigInteger_bitLength($ef.$significand) - 24 | 0;
32001
+ $mainBits = jm_BigInteger_shiftLeft(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound), $bitsToRound);
32002
+ $roundedBits = jm_BigInteger_subtract($ef.$significand, $mainBits);
32003
+ $upBits = jm_BigInteger_add(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound), jm_BigInteger_valueOf(Long_fromInt(1)));
32004
+ $towardsZero = asrjt_Float32__init_0($ef.$sign, ($ef.$exponent0 + 23 | 0) + $bitsToRound | 0, jm_BigInteger_intValueExact(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound)) & 8388607);
32005
+ $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);
32006
+ } else {
32007
+ if ($ef.$exponent0 > -150) {
32008
+ if (!asrjt_Float32_$assertionsDisabled && jm_BigInteger_bitLength($ef.$significand) > 23)
32009
+ $rt_throw(jl_AssertionError__init_($rt_s(1631)));
32010
+ return asrjt_Float32__init_0($ef.$sign, -127, jm_BigInteger_intValueExact(jm_BigInteger_shiftLeft($ef.$significand, 149 + $ef.$exponent0 | 0)));
32011
+ }
32012
+ $mainBits = $env.$flags;
32013
+ $roundedBits = asrj_Flags_inexact;
32014
+ ju_GenericEnumSet_add($mainBits, $roundedBits);
32015
+ $mainBits = $env.$flags;
32016
+ $roundedBits = asrj_Flags_underflow;
32017
+ ju_GenericEnumSet_add($mainBits, $roundedBits);
32018
+ $bitsToRound = -149 - $ef.$exponent0 | 0;
32019
+ $mainBits = jm_BigInteger_shiftLeft(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound), $bitsToRound);
32020
+ $roundedBits = jm_BigInteger_subtract($ef.$significand, $mainBits);
32021
+ $towardsZero = asrjt_Float32__init_0($ef.$sign, -127, jm_BigInteger_intValueExact(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound)));
32022
+ $upBits = jm_BigInteger_add(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound), jm_BigInteger_valueOf(Long_fromInt(1)));
32023
+ if (!jm_BigInteger_testBit($upBits, 0) && jm_BigInteger_bitLength($upBits) > 23)
32024
+ $awayZero = asrjt_Float32__init_0($ef.$sign, -126, jm_BigInteger_intValueExact($upBits) & 8388607);
32025
+ else {
32026
+ if (!asrjt_Float32_$assertionsDisabled && jm_BigInteger_bitLength($upBits) > 23)
32027
+ $rt_throw(jl_AssertionError__init_1());
32028
+ $awayZero = asrjt_Float32__init_0($ef.$sign, -127, jm_BigInteger_intValueExact($upBits));
32029
+ }
32030
+ }
32031
+ asrjt_Float32$1_$callClinit();
32032
+ switch (asrjt_Float32$1_$SwitchMap$app$specy$rars$jsoftfloat$RoundingMode.data[jl_Enum_ordinal($env.$mode)]) {
32033
+ case 1:
32034
+ break;
32035
+ case 2:
32036
+ case 3:
32037
+ if ($ef.$sign == ($env.$mode !== asrj_RoundingMode_max ? 0 : 1))
32038
+ return $towardsZero;
32039
+ return $awayZero;
32040
+ default:
32041
+ $ef = jm_BigInteger_ONE;
32042
+ $normalizedExponent = $bitsToRound - 1 | 0;
32043
+ if (!jm_BigInteger_equals($roundedBits, jm_BigInteger_shiftLeft($ef, $normalizedExponent))) {
32044
+ if (jm_BigInteger_compareTo($roundedBits, jm_BigInteger_shiftLeft(jm_BigInteger_ONE, $normalizedExponent)) <= 0)
32045
+ return $towardsZero;
32046
+ return $awayZero;
32047
+ }
32048
+ if ($env.$mode !== asrj_RoundingMode_away && $awayZero.$bits0 & 1)
32049
+ return $towardsZero;
32050
+ return $awayZero;
32051
+ }
32052
+ return $towardsZero;
32053
+ };
32054
+ var asrjt_Float32_toExactFloat = ($this) => {
32055
+ let $sign, $exponent, $significand;
32056
+ if (!asrjt_Float32_$assertionsDisabled && asrjt_Float32_isInfinite($this))
32057
+ $rt_throw(jl_AssertionError__init_($rt_s(1632)));
32058
+ if (!asrjt_Float32_$assertionsDisabled && asrjt_Float32_isNaN($this))
32059
+ $rt_throw(jl_AssertionError__init_($rt_s(1633)));
32060
+ if (!asrjt_Float32_$assertionsDisabled && asrjt_Float32_isZero($this))
32061
+ $rt_throw(jl_AssertionError__init_($rt_s(1634)));
32062
+ $sign = asrjt_Float32_isSignMinus($this);
32063
+ if (asrjt_Float32_isZero($this)) {
32064
+ $exponent = 0;
32065
+ $significand = jm_BigInteger_ZERO;
32066
+ } else if (asrjt_Float32_isNormal($this)) {
32067
+ $exponent = asrjt_Float32_exponent($this) - 23 | 0;
32068
+ $significand = jm_BigInteger_valueOf(Long_fromInt(($this.$bits0 & 8388607) + 8388608 | 0));
32069
+ } else {
32070
+ if (!asrjt_Float32_isSubnormal($this)) {
32071
+ if (asrjt_Float32_$assertionsDisabled)
32072
+ return null;
32073
+ $rt_throw(jl_AssertionError__init_($rt_s(1635)));
32074
+ }
32075
+ $exponent = asrjt_Float32_exponent($this) - 22 | 0;
32076
+ $significand = jm_BigInteger_valueOf(Long_fromInt($this.$bits0 & 8388607));
32077
+ }
32078
+ return asrji_ExactFloat__init_($sign, $exponent, $significand);
32079
+ };
32080
+ var asrjt_Float32_maxPrecision = ($this) => {
32081
+ return 30;
32082
+ };
32083
+ var asrjt_Float32_negate0 = ($this) => {
32084
+ return asrjt_Float32_negate($this);
32085
+ };
32086
+ var asrjt_Float32_fromExactFloat = ($this, var$1, var$2) => {
32087
+ return asrjt_Float32_fromExactFloat0($this, var$1, var$2);
32088
+ };
32089
+ var asrjt_Float32_NegativeInfinity0 = ($this) => {
32090
+ return asrjt_Float32_NegativeInfinity;
32091
+ };
32092
+ var asrjt_Float32_Infinity0 = ($this) => {
32093
+ return asrjt_Float32_Infinity;
32094
+ };
32095
+ var asrjt_Float32_NegativeZero0 = ($this) => {
32096
+ return asrjt_Float32_NegativeZero;
32097
+ };
32098
+ var asrjt_Float32_Zero0 = ($this) => {
32099
+ return asrjt_Float32_Zero;
32100
+ };
32101
+ var asrjt_Float32_NaN0 = ($this) => {
32102
+ return asrjt_Float32_NaN;
32103
+ };
32104
+ var asrjt_Float32__clinit_ = () => {
32105
+ asrjt_Float32_$assertionsDisabled = 0;
32106
+ asrjt_Float32_Zero = asrjt_Float32__init_(0);
32107
+ asrjt_Float32_NegativeZero = asrjt_Float32__init_(-2147483648);
32108
+ asrjt_Float32_NaN = asrjt_Float32__init_(2143289344);
32109
+ asrjt_Float32_Infinity = asrjt_Float32__init_(2139095040);
32110
+ asrjt_Float32_NegativeInfinity = asrjt_Float32__init_(-8388608);
32111
+ };
31840
32112
  function asrjt_Float64() {
31841
32113
  asrjt_Floating.call(this);
31842
32114
  this.$bits1 = Long_ZERO;
@@ -32161,324 +32433,6 @@ var asrjo_Conversions_convertFromInt = ($i, $env, $helper) => {
32161
32433
  var$4.$significand = $i;
32162
32434
  return $helper.$fromExactFloat(var$4, $env);
32163
32435
  };
32164
- function asrjt_Float32() {
32165
- asrjt_Floating.call(this);
32166
- this.$bits0 = 0;
32167
- }
32168
- var asrjt_Float32_Zero = null;
32169
- var asrjt_Float32_NegativeZero = null;
32170
- var asrjt_Float32_NaN = null;
32171
- var asrjt_Float32_Infinity = null;
32172
- var asrjt_Float32_NegativeInfinity = null;
32173
- var asrjt_Float32_$assertionsDisabled = 0;
32174
- var asrjt_Float32__init_2 = ($this, $bits) => {
32175
- $this.$bits0 = $bits;
32176
- };
32177
- var asrjt_Float32__init_ = (var_0) => {
32178
- let var_1 = new asrjt_Float32();
32179
- asrjt_Float32__init_2(var_1, var_0);
32180
- return var_1;
32181
- };
32182
- var asrjt_Float32__init_1 = ($this, $sign, $exponent, $significand) => {
32183
- asrjt_Float32__init_2($this, (!$sign ? 0 : -2147483648) | (($exponent + 127 | 0) & 255) << 23 | $significand & 8388607);
32184
- };
32185
- var asrjt_Float32__init_0 = (var_0, var_1, var_2) => {
32186
- let var_3 = new asrjt_Float32();
32187
- asrjt_Float32__init_1(var_3, var_0, var_1, var_2);
32188
- return var_3;
32189
- };
32190
- var asrjt_Float32_exponent = ($this) => {
32191
- return (($this.$bits0 >>> 23 | 0) & 255) - 127 | 0;
32192
- };
32193
- var asrjt_Float32_negate = ($this) => {
32194
- return asrjt_Float32__init_($this.$bits0 ^ -2147483648);
32195
- };
32196
- var asrjt_Float32_isSignMinus = ($this) => {
32197
- return ($this.$bits0 >>> 31 | 0) != 1 ? 0 : 1;
32198
- };
32199
- var asrjt_Float32_isInfinite = ($this) => {
32200
- return asrjt_Float32_exponent($this) == 128 && !($this.$bits0 & 8388607) ? 1 : 0;
32201
- };
32202
- var asrjt_Float32_isNormal = ($this) => {
32203
- return asrjt_Float32_exponent($this) != -127 && asrjt_Float32_exponent($this) != 128 ? 1 : 0;
32204
- };
32205
- var asrjt_Float32_isSubnormal = ($this) => {
32206
- return asrjt_Float32_exponent($this) == -127 && !asrjt_Float32_isZero($this) ? 1 : 0;
32207
- };
32208
- var asrjt_Float32_isNaN = ($this) => {
32209
- return asrjt_Float32_exponent($this) == 128 && !asrjt_Float32_isInfinite($this) ? 1 : 0;
32210
- };
32211
- var asrjt_Float32_isSignalling = ($this) => {
32212
- if (!asrjt_Float32_isNaN($this))
32213
- return 0;
32214
- return $this.$bits0 & 4194304 ? 0 : 1;
32215
- };
32216
- var asrjt_Float32_isZero = ($this) => {
32217
- let var$1;
32218
- var$1 = $this.$bits0;
32219
- return var$1 && var$1 != -2147483648 ? 0 : 1;
32220
- };
32221
- var asrjt_Float32_fromExactFloat0 = ($this, $ef, $env) => {
32222
- let $normalizedExponent, $mainBits, $roundedBits, $a, $bitsToRound, $upBits, $towardsZero, $awayZero;
32223
- if (asrji_ExactFloat_isZero($ef))
32224
- return !$ef.$sign ? asrjt_Float32_Zero : asrjt_Float32_NegativeZero;
32225
- $ef = asrji_ExactFloat_normalize($ef);
32226
- $normalizedExponent = $ef.$exponent0 + jm_BigInteger_bitLength($ef.$significand) | 0;
32227
- if ($normalizedExponent > -126) {
32228
- if ($normalizedExponent > 128) {
32229
- $mainBits = $env.$flags;
32230
- $roundedBits = asrj_Flags_overflow;
32231
- ju_GenericEnumSet_add($mainBits, $roundedBits);
32232
- $mainBits = $env.$flags;
32233
- $roundedBits = asrj_Flags_inexact;
32234
- ju_GenericEnumSet_add($mainBits, $roundedBits);
32235
- asrjt_Float32$1_$callClinit();
32236
- switch (asrjt_Float32$1_$SwitchMap$app$specy$rars$jsoftfloat$RoundingMode.data[jl_Enum_ordinal($env.$mode)]) {
32237
- case 1:
32238
- break;
32239
- case 2:
32240
- case 3:
32241
- $normalizedExponent = $ef.$sign;
32242
- if ($normalizedExponent == ($env.$mode !== asrj_RoundingMode_max ? 0 : 1))
32243
- return asrjt_Float32__init_0($normalizedExponent, 127, -1);
32244
- return !$normalizedExponent ? asrjt_Float32_Infinity : asrjt_Float32_NegativeInfinity;
32245
- case 4:
32246
- case 5:
32247
- return !$ef.$sign ? asrjt_Float32_Infinity : asrjt_Float32_NegativeInfinity;
32248
- default:
32249
- if (!asrjt_Float32_$assertionsDisabled)
32250
- $rt_throw(jl_AssertionError__init_($rt_s(1629)));
32251
- return !$ef.$sign ? asrjt_Float32_Infinity : asrjt_Float32_NegativeInfinity;
32252
- }
32253
- return asrjt_Float32__init_0($ef.$sign, 127, -1);
32254
- }
32255
- if (jm_BigInteger_bitLength($ef.$significand) <= 24) {
32256
- if (!asrjt_Float32_$assertionsDisabled && (($ef.$exponent0 + jm_BigInteger_bitLength($ef.$significand) | 0) - 1 | 0) <= -127)
32257
- $rt_throw(jl_AssertionError__init_($rt_s(1630)));
32258
- $a = new asrjt_Float32();
32259
- $normalizedExponent = $ef.$sign;
32260
- $bitsToRound = ($ef.$exponent0 + jm_BigInteger_bitLength($ef.$significand) | 0) - 1 | 0;
32261
- $ef = $ef.$significand;
32262
- asrjt_Float32__init_1($a, $normalizedExponent, $bitsToRound, jm_BigInteger_intValueExact(jm_BigInteger_shiftLeft($ef, 24 - jm_BigInteger_bitLength($ef) | 0)) & 8388607);
32263
- return $a;
32264
- }
32265
- $mainBits = $env.$flags;
32266
- $roundedBits = asrj_Flags_inexact;
32267
- ju_GenericEnumSet_add($mainBits, $roundedBits);
32268
- $bitsToRound = jm_BigInteger_bitLength($ef.$significand) - 24 | 0;
32269
- $mainBits = jm_BigInteger_shiftLeft(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound), $bitsToRound);
32270
- $roundedBits = jm_BigInteger_subtract($ef.$significand, $mainBits);
32271
- $upBits = jm_BigInteger_add(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound), jm_BigInteger_valueOf(Long_fromInt(1)));
32272
- $towardsZero = asrjt_Float32__init_0($ef.$sign, ($ef.$exponent0 + 23 | 0) + $bitsToRound | 0, jm_BigInteger_intValueExact(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound)) & 8388607);
32273
- $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);
32274
- } else {
32275
- if ($ef.$exponent0 > -150) {
32276
- if (!asrjt_Float32_$assertionsDisabled && jm_BigInteger_bitLength($ef.$significand) > 23)
32277
- $rt_throw(jl_AssertionError__init_($rt_s(1631)));
32278
- return asrjt_Float32__init_0($ef.$sign, -127, jm_BigInteger_intValueExact(jm_BigInteger_shiftLeft($ef.$significand, 149 + $ef.$exponent0 | 0)));
32279
- }
32280
- $mainBits = $env.$flags;
32281
- $roundedBits = asrj_Flags_inexact;
32282
- ju_GenericEnumSet_add($mainBits, $roundedBits);
32283
- $mainBits = $env.$flags;
32284
- $roundedBits = asrj_Flags_underflow;
32285
- ju_GenericEnumSet_add($mainBits, $roundedBits);
32286
- $bitsToRound = -149 - $ef.$exponent0 | 0;
32287
- $mainBits = jm_BigInteger_shiftLeft(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound), $bitsToRound);
32288
- $roundedBits = jm_BigInteger_subtract($ef.$significand, $mainBits);
32289
- $towardsZero = asrjt_Float32__init_0($ef.$sign, -127, jm_BigInteger_intValueExact(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound)));
32290
- $upBits = jm_BigInteger_add(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound), jm_BigInteger_valueOf(Long_fromInt(1)));
32291
- if (!jm_BigInteger_testBit($upBits, 0) && jm_BigInteger_bitLength($upBits) > 23)
32292
- $awayZero = asrjt_Float32__init_0($ef.$sign, -126, jm_BigInteger_intValueExact($upBits) & 8388607);
32293
- else {
32294
- if (!asrjt_Float32_$assertionsDisabled && jm_BigInteger_bitLength($upBits) > 23)
32295
- $rt_throw(jl_AssertionError__init_1());
32296
- $awayZero = asrjt_Float32__init_0($ef.$sign, -127, jm_BigInteger_intValueExact($upBits));
32297
- }
32298
- }
32299
- asrjt_Float32$1_$callClinit();
32300
- switch (asrjt_Float32$1_$SwitchMap$app$specy$rars$jsoftfloat$RoundingMode.data[jl_Enum_ordinal($env.$mode)]) {
32301
- case 1:
32302
- break;
32303
- case 2:
32304
- case 3:
32305
- if ($ef.$sign == ($env.$mode !== asrj_RoundingMode_max ? 0 : 1))
32306
- return $towardsZero;
32307
- return $awayZero;
32308
- default:
32309
- $ef = jm_BigInteger_ONE;
32310
- $normalizedExponent = $bitsToRound - 1 | 0;
32311
- if (!jm_BigInteger_equals($roundedBits, jm_BigInteger_shiftLeft($ef, $normalizedExponent))) {
32312
- if (jm_BigInteger_compareTo($roundedBits, jm_BigInteger_shiftLeft(jm_BigInteger_ONE, $normalizedExponent)) <= 0)
32313
- return $towardsZero;
32314
- return $awayZero;
32315
- }
32316
- if ($env.$mode !== asrj_RoundingMode_away && $awayZero.$bits0 & 1)
32317
- return $towardsZero;
32318
- return $awayZero;
32319
- }
32320
- return $towardsZero;
32321
- };
32322
- var asrjt_Float32_toExactFloat = ($this) => {
32323
- let $sign, $exponent, $significand;
32324
- if (!asrjt_Float32_$assertionsDisabled && asrjt_Float32_isInfinite($this))
32325
- $rt_throw(jl_AssertionError__init_($rt_s(1632)));
32326
- if (!asrjt_Float32_$assertionsDisabled && asrjt_Float32_isNaN($this))
32327
- $rt_throw(jl_AssertionError__init_($rt_s(1633)));
32328
- if (!asrjt_Float32_$assertionsDisabled && asrjt_Float32_isZero($this))
32329
- $rt_throw(jl_AssertionError__init_($rt_s(1634)));
32330
- $sign = asrjt_Float32_isSignMinus($this);
32331
- if (asrjt_Float32_isZero($this)) {
32332
- $exponent = 0;
32333
- $significand = jm_BigInteger_ZERO;
32334
- } else if (asrjt_Float32_isNormal($this)) {
32335
- $exponent = asrjt_Float32_exponent($this) - 23 | 0;
32336
- $significand = jm_BigInteger_valueOf(Long_fromInt(($this.$bits0 & 8388607) + 8388608 | 0));
32337
- } else {
32338
- if (!asrjt_Float32_isSubnormal($this)) {
32339
- if (asrjt_Float32_$assertionsDisabled)
32340
- return null;
32341
- $rt_throw(jl_AssertionError__init_($rt_s(1635)));
32342
- }
32343
- $exponent = asrjt_Float32_exponent($this) - 22 | 0;
32344
- $significand = jm_BigInteger_valueOf(Long_fromInt($this.$bits0 & 8388607));
32345
- }
32346
- return asrji_ExactFloat__init_($sign, $exponent, $significand);
32347
- };
32348
- var asrjt_Float32_maxPrecision = ($this) => {
32349
- return 30;
32350
- };
32351
- var asrjt_Float32_negate0 = ($this) => {
32352
- return asrjt_Float32_negate($this);
32353
- };
32354
- var asrjt_Float32_fromExactFloat = ($this, var$1, var$2) => {
32355
- return asrjt_Float32_fromExactFloat0($this, var$1, var$2);
32356
- };
32357
- var asrjt_Float32_NegativeInfinity0 = ($this) => {
32358
- return asrjt_Float32_NegativeInfinity;
32359
- };
32360
- var asrjt_Float32_Infinity0 = ($this) => {
32361
- return asrjt_Float32_Infinity;
32362
- };
32363
- var asrjt_Float32_NegativeZero0 = ($this) => {
32364
- return asrjt_Float32_NegativeZero;
32365
- };
32366
- var asrjt_Float32_Zero0 = ($this) => {
32367
- return asrjt_Float32_Zero;
32368
- };
32369
- var asrjt_Float32_NaN0 = ($this) => {
32370
- return asrjt_Float32_NaN;
32371
- };
32372
- var asrjt_Float32__clinit_ = () => {
32373
- asrjt_Float32_$assertionsDisabled = 0;
32374
- asrjt_Float32_Zero = asrjt_Float32__init_(0);
32375
- asrjt_Float32_NegativeZero = asrjt_Float32__init_(-2147483648);
32376
- asrjt_Float32_NaN = asrjt_Float32__init_(2143289344);
32377
- asrjt_Float32_Infinity = asrjt_Float32__init_(2139095040);
32378
- asrjt_Float32_NegativeInfinity = asrjt_Float32__init_(-8388608);
32379
- };
32380
- var asrjo_Comparisons = $rt_classWithoutFields();
32381
- var asrjo_Comparisons_compareNoNAN = ($a, $b) => {
32382
- if ($a.$isZero()) {
32383
- if ($b.$isZero())
32384
- return 0;
32385
- return !$b.$isSignMinus() ? -1 : 1;
32386
- }
32387
- if ($b.$isZero())
32388
- return !$a.$isSignMinus() ? 1 : -1;
32389
- if (!$a.$isInfinite()) {
32390
- if (!$b.$isInfinite())
32391
- return asrji_ExactFloat_compareTo($a.$toExactFloat(), $b.$toExactFloat());
32392
- return !$b.$isSignMinus() ? -1 : 1;
32393
- }
32394
- if ($b.$isInfinite() && $a.$isSignMinus() == $b.$isSignMinus())
32395
- return 0;
32396
- return !$a.$isSignMinus() ? -1 : 1;
32397
- };
32398
- var asrjo_Comparisons_nonNaNmin = ($a, $b) => {
32399
- if ($a.$isSignMinus() != $b.$isSignMinus()) {
32400
- if ($a.$isSignMinus())
32401
- $b = $a;
32402
- return $b;
32403
- }
32404
- if (!$a.$isInfinite() && !$b.$isInfinite()) {
32405
- if (asrjo_Comparisons_compareNoNAN($a, $b) > 0)
32406
- return $b;
32407
- return $a;
32408
- }
32409
- if ($a.$isInfinite() != $a.$isSignMinus())
32410
- return $b;
32411
- return $a;
32412
- };
32413
- var asrjo_Comparisons_handleNaNNumber = ($a, $b, $env) => {
32414
- let var$4;
32415
- if (!(!$a.$isSignalling() && !$b.$isSignalling())) {
32416
- var$4 = $env.$flags;
32417
- $env = asrj_Flags_invalid;
32418
- ju_GenericEnumSet_add(var$4, $env);
32419
- }
32420
- if ($a.$isNaN()) {
32421
- if ($b.$isNaN())
32422
- $b = $b.$NaN();
32423
- } else
32424
- $b = !$b.$isNaN() ? null : $a;
32425
- return $b;
32426
- };
32427
- var asrjo_Comparisons_minimumNumber = ($a, $b, $env) => {
32428
- let $tmp_0;
32429
- $tmp_0 = asrjo_Comparisons_handleNaNNumber($a, $b, $env);
32430
- if ($tmp_0 !== null)
32431
- return $tmp_0;
32432
- return asrjo_Comparisons_nonNaNmin($a, $b);
32433
- };
32434
- var asrjo_Comparisons_maximumNumber = ($a, $b, $env) => {
32435
- let $tmp_0;
32436
- $tmp_0 = asrjo_Comparisons_handleNaNNumber($a, $b, $env);
32437
- if ($tmp_0 !== null)
32438
- return $tmp_0;
32439
- if ($a === asrjo_Comparisons_nonNaNmin($a, $b))
32440
- $a = $b;
32441
- return $a;
32442
- };
32443
- var asrjo_Comparisons_compareQuietEqual = ($a, $b, $env) => {
32444
- let var$4;
32445
- if (!(!$a.$isSignalling() && !$b.$isSignalling())) {
32446
- var$4 = $env.$flags;
32447
- $env = asrj_Flags_invalid;
32448
- ju_GenericEnumSet_add(var$4, $env);
32449
- }
32450
- if (!$a.$isNaN() && !$b.$isNaN())
32451
- return asrjo_Comparisons_compareNoNAN($a, $b) ? 0 : 1;
32452
- return 0;
32453
- };
32454
- var asrjo_Comparisons_compareSignalingLessThan = ($a, $b, $env) => {
32455
- let var$4, var$5;
32456
- if (!(!$a.$isNaN() && !$b.$isNaN())) {
32457
- var$4 = $env.$flags;
32458
- var$5 = asrj_Flags_invalid;
32459
- ju_GenericEnumSet_add(var$4, var$5);
32460
- }
32461
- if (!(!$a.$isSignalling() && !$b.$isSignalling())) {
32462
- var$5 = $env.$flags;
32463
- $env = asrj_Flags_invalid;
32464
- ju_GenericEnumSet_add(var$5, $env);
32465
- }
32466
- return !$a.$isNaN() && !$b.$isNaN() ? asrjo_Comparisons_compareNoNAN($a, $b) >= 0 ? 0 : 1 : 0;
32467
- };
32468
- var asrjo_Comparisons_compareSignalingLessThanEqual = ($a, $b, $env) => {
32469
- let var$4, var$5;
32470
- if (!(!$a.$isNaN() && !$b.$isNaN())) {
32471
- var$4 = $env.$flags;
32472
- var$5 = asrj_Flags_invalid;
32473
- ju_GenericEnumSet_add(var$4, var$5);
32474
- }
32475
- if (!(!$a.$isSignalling() && !$b.$isSignalling())) {
32476
- var$5 = $env.$flags;
32477
- $env = asrj_Flags_invalid;
32478
- ju_GenericEnumSet_add(var$5, $env);
32479
- }
32480
- return !$a.$isNaN() && !$b.$isNaN() ? asrjo_Comparisons_compareNoNAN($a, $b) > 0 ? 0 : 1 : 0;
32481
- };
32482
32436
  var asrjo_Arithmetic = $rt_classWithoutFields();
32483
32437
  var asrjo_Arithmetic_$assertionsDisabled = 0;
32484
32438
  var asrjo_Arithmetic_add = ($a, $b, $env) => {
@@ -32714,6 +32668,108 @@ var asrjo_Arithmetic_division = ($a, $b, $env) => {
32714
32668
  var asrjo_Arithmetic__clinit_ = () => {
32715
32669
  asrjo_Arithmetic_$assertionsDisabled = 0;
32716
32670
  };
32671
+ var asrjo_Comparisons = $rt_classWithoutFields();
32672
+ var asrjo_Comparisons_compareNoNAN = ($a, $b) => {
32673
+ if ($a.$isZero()) {
32674
+ if ($b.$isZero())
32675
+ return 0;
32676
+ return !$b.$isSignMinus() ? -1 : 1;
32677
+ }
32678
+ if ($b.$isZero())
32679
+ return !$a.$isSignMinus() ? 1 : -1;
32680
+ if (!$a.$isInfinite()) {
32681
+ if (!$b.$isInfinite())
32682
+ return asrji_ExactFloat_compareTo($a.$toExactFloat(), $b.$toExactFloat());
32683
+ return !$b.$isSignMinus() ? -1 : 1;
32684
+ }
32685
+ if ($b.$isInfinite() && $a.$isSignMinus() == $b.$isSignMinus())
32686
+ return 0;
32687
+ return !$a.$isSignMinus() ? -1 : 1;
32688
+ };
32689
+ var asrjo_Comparisons_nonNaNmin = ($a, $b) => {
32690
+ if ($a.$isSignMinus() != $b.$isSignMinus()) {
32691
+ if ($a.$isSignMinus())
32692
+ $b = $a;
32693
+ return $b;
32694
+ }
32695
+ if (!$a.$isInfinite() && !$b.$isInfinite()) {
32696
+ if (asrjo_Comparisons_compareNoNAN($a, $b) > 0)
32697
+ return $b;
32698
+ return $a;
32699
+ }
32700
+ if ($a.$isInfinite() != $a.$isSignMinus())
32701
+ return $b;
32702
+ return $a;
32703
+ };
32704
+ var asrjo_Comparisons_handleNaNNumber = ($a, $b, $env) => {
32705
+ let var$4;
32706
+ if (!(!$a.$isSignalling() && !$b.$isSignalling())) {
32707
+ var$4 = $env.$flags;
32708
+ $env = asrj_Flags_invalid;
32709
+ ju_GenericEnumSet_add(var$4, $env);
32710
+ }
32711
+ if ($a.$isNaN()) {
32712
+ if ($b.$isNaN())
32713
+ $b = $b.$NaN();
32714
+ } else
32715
+ $b = !$b.$isNaN() ? null : $a;
32716
+ return $b;
32717
+ };
32718
+ var asrjo_Comparisons_minimumNumber = ($a, $b, $env) => {
32719
+ let $tmp_0;
32720
+ $tmp_0 = asrjo_Comparisons_handleNaNNumber($a, $b, $env);
32721
+ if ($tmp_0 !== null)
32722
+ return $tmp_0;
32723
+ return asrjo_Comparisons_nonNaNmin($a, $b);
32724
+ };
32725
+ var asrjo_Comparisons_maximumNumber = ($a, $b, $env) => {
32726
+ let $tmp_0;
32727
+ $tmp_0 = asrjo_Comparisons_handleNaNNumber($a, $b, $env);
32728
+ if ($tmp_0 !== null)
32729
+ return $tmp_0;
32730
+ if ($a === asrjo_Comparisons_nonNaNmin($a, $b))
32731
+ $a = $b;
32732
+ return $a;
32733
+ };
32734
+ var asrjo_Comparisons_compareQuietEqual = ($a, $b, $env) => {
32735
+ let var$4;
32736
+ if (!(!$a.$isSignalling() && !$b.$isSignalling())) {
32737
+ var$4 = $env.$flags;
32738
+ $env = asrj_Flags_invalid;
32739
+ ju_GenericEnumSet_add(var$4, $env);
32740
+ }
32741
+ if (!$a.$isNaN() && !$b.$isNaN())
32742
+ return asrjo_Comparisons_compareNoNAN($a, $b) ? 0 : 1;
32743
+ return 0;
32744
+ };
32745
+ var asrjo_Comparisons_compareSignalingLessThan = ($a, $b, $env) => {
32746
+ let var$4, var$5;
32747
+ if (!(!$a.$isNaN() && !$b.$isNaN())) {
32748
+ var$4 = $env.$flags;
32749
+ var$5 = asrj_Flags_invalid;
32750
+ ju_GenericEnumSet_add(var$4, var$5);
32751
+ }
32752
+ if (!(!$a.$isSignalling() && !$b.$isSignalling())) {
32753
+ var$5 = $env.$flags;
32754
+ $env = asrj_Flags_invalid;
32755
+ ju_GenericEnumSet_add(var$5, $env);
32756
+ }
32757
+ return !$a.$isNaN() && !$b.$isNaN() ? asrjo_Comparisons_compareNoNAN($a, $b) >= 0 ? 0 : 1 : 0;
32758
+ };
32759
+ var asrjo_Comparisons_compareSignalingLessThanEqual = ($a, $b, $env) => {
32760
+ let var$4, var$5;
32761
+ if (!(!$a.$isNaN() && !$b.$isNaN())) {
32762
+ var$4 = $env.$flags;
32763
+ var$5 = asrj_Flags_invalid;
32764
+ ju_GenericEnumSet_add(var$4, var$5);
32765
+ }
32766
+ if (!(!$a.$isSignalling() && !$b.$isSignalling())) {
32767
+ var$5 = $env.$flags;
32768
+ $env = asrj_Flags_invalid;
32769
+ ju_GenericEnumSet_add(var$5, $env);
32770
+ }
32771
+ return !$a.$isNaN() && !$b.$isNaN() ? asrjo_Comparisons_compareNoNAN($a, $b) > 0 ? 0 : 1 : 0;
32772
+ };
32717
32773
  function jnci_BufferedEncoder$Controller() {
32718
32774
  let a = this;
32719
32775
  jl_Object.call(a);
@@ -34073,34 +34129,34 @@ function ju_Hashtable$Entry() {
34073
34129
  var ju_Hashtable$Entry_equalsKey = ($this, $aKey, $hash) => {
34074
34130
  return $this.$hashcode == jl_String_hashCode($aKey) && $this.$key.$equals($aKey) ? 1 : 0;
34075
34131
  };
34076
- var asrjt_Float64$1 = $rt_classWithoutFields();
34077
- var asrjt_Float64$1_$SwitchMap$app$specy$rars$jsoftfloat$RoundingMode = null;
34078
- var asrjt_Float64$1_$callClinit = () => {
34079
- asrjt_Float64$1_$callClinit = $rt_eraseClinit(asrjt_Float64$1);
34080
- asrjt_Float64$1__clinit_();
34132
+ var asrjt_Float32$1 = $rt_classWithoutFields();
34133
+ var asrjt_Float32$1_$SwitchMap$app$specy$rars$jsoftfloat$RoundingMode = null;
34134
+ var asrjt_Float32$1_$callClinit = () => {
34135
+ asrjt_Float32$1_$callClinit = $rt_eraseClinit(asrjt_Float32$1);
34136
+ asrjt_Float32$1__clinit_();
34081
34137
  };
34082
- var asrjt_Float64$1__clinit_ = () => {
34138
+ var asrjt_Float32$1__clinit_ = () => {
34083
34139
  let var$1, var$2;
34084
34140
  var$1 = $rt_createIntArray(asrj_RoundingMode_values().data.length);
34085
34141
  var$2 = var$1.data;
34086
- asrjt_Float64$1_$SwitchMap$app$specy$rars$jsoftfloat$RoundingMode = var$1;
34142
+ asrjt_Float32$1_$SwitchMap$app$specy$rars$jsoftfloat$RoundingMode = var$1;
34087
34143
  var$2[asrj_RoundingMode_zero.$ordinal0] = 1;
34088
34144
  var$2[asrj_RoundingMode_min.$ordinal0] = 2;
34089
34145
  var$2[asrj_RoundingMode_max.$ordinal0] = 3;
34090
34146
  var$2[asrj_RoundingMode_away.$ordinal0] = 4;
34091
34147
  var$2[asrj_RoundingMode_even.$ordinal0] = 5;
34092
34148
  };
34093
- var asrjt_Float32$1 = $rt_classWithoutFields();
34094
- var asrjt_Float32$1_$SwitchMap$app$specy$rars$jsoftfloat$RoundingMode = null;
34095
- var asrjt_Float32$1_$callClinit = () => {
34096
- asrjt_Float32$1_$callClinit = $rt_eraseClinit(asrjt_Float32$1);
34097
- asrjt_Float32$1__clinit_();
34149
+ var asrjt_Float64$1 = $rt_classWithoutFields();
34150
+ var asrjt_Float64$1_$SwitchMap$app$specy$rars$jsoftfloat$RoundingMode = null;
34151
+ var asrjt_Float64$1_$callClinit = () => {
34152
+ asrjt_Float64$1_$callClinit = $rt_eraseClinit(asrjt_Float64$1);
34153
+ asrjt_Float64$1__clinit_();
34098
34154
  };
34099
- var asrjt_Float32$1__clinit_ = () => {
34155
+ var asrjt_Float64$1__clinit_ = () => {
34100
34156
  let var$1, var$2;
34101
34157
  var$1 = $rt_createIntArray(asrj_RoundingMode_values().data.length);
34102
34158
  var$2 = var$1.data;
34103
- asrjt_Float32$1_$SwitchMap$app$specy$rars$jsoftfloat$RoundingMode = var$1;
34159
+ asrjt_Float64$1_$SwitchMap$app$specy$rars$jsoftfloat$RoundingMode = var$1;
34104
34160
  var$2[asrj_RoundingMode_zero.$ordinal0] = 1;
34105
34161
  var$2[asrj_RoundingMode_min.$ordinal0] = 2;
34106
34162
  var$2[asrj_RoundingMode_max.$ordinal0] = 3;
@@ -35306,8 +35362,8 @@ $rt_metadata([
35306
35362
  0,
35307
35363
  0,
35308
35364
  ["$equals", $rt_wrapFunction1(jm_BigInteger_equals), "$toString", $rt_wrapFunction0(jm_BigInteger_toString)],
35309
- asr_JsStackFrame,
35310
- "JsStackFrame",
35365
+ asr_JsCompilationResult,
35366
+ "JsCompilationResult",
35311
35367
  10,
35312
35368
  jl_Object,
35313
35369
  [],
@@ -35316,19 +35372,19 @@ $rt_metadata([
35316
35372
  0,
35317
35373
  0,
35318
35374
  0,
35319
- asr_JsCompilationResult,
35320
- "JsCompilationResult",
35321
- 10,
35322
- jl_Object,
35375
+ asr_AssemblyException,
35376
+ 0,
35377
+ jl_Exception,
35323
35378
  [],
35324
35379
  0,
35325
35380
  3,
35326
35381
  0,
35327
35382
  0,
35328
35383
  0,
35329
- asr_AssemblyException,
35330
- 0,
35331
- jl_Exception,
35384
+ asr_JsProgramStatement,
35385
+ "JsProgramStatement",
35386
+ 10,
35387
+ jl_Object,
35332
35388
  [],
35333
35389
  0,
35334
35390
  3,
@@ -35353,6 +35409,16 @@ $rt_metadata([
35353
35409
  0,
35354
35410
  0,
35355
35411
  0,
35412
+ asr_JsStackFrame,
35413
+ "JsStackFrame",
35414
+ 10,
35415
+ jl_Object,
35416
+ [],
35417
+ 0,
35418
+ 3,
35419
+ 0,
35420
+ 0,
35421
+ 0,
35356
35422
  asr_JsRiscV$getTokenizedLines$lambda$_5_0,
35357
35423
  0,
35358
35424
  jl_Object,
@@ -35381,16 +35447,6 @@ $rt_metadata([
35381
35447
  0,
35382
35448
  0,
35383
35449
  0,
35384
- asr_JsProgramStatement,
35385
- "JsProgramStatement",
35386
- 10,
35387
- jl_Object,
35388
- [],
35389
- 0,
35390
- 3,
35391
- 0,
35392
- 0,
35393
- 0,
35394
35450
  ju_Map$Entry,
35395
35451
  0,
35396
35452
  jl_Object,
@@ -37163,9 +37219,8 @@ $rt_metadata([
37163
37219
  0,
37164
37220
  0,
37165
37221
  0,
37166
- asrrh_StackFrame,
37167
- "StackFrame",
37168
- 7,
37222
+ asr_ErrorList,
37223
+ 0,
37169
37224
  jl_Object,
37170
37225
  [],
37171
37226
  0,
@@ -37173,8 +37228,9 @@ $rt_metadata([
37173
37228
  0,
37174
37229
  0,
37175
37230
  0,
37176
- asr_ErrorList,
37177
- 0,
37231
+ asrrh_StackFrame,
37232
+ "StackFrame",
37233
+ 7,
37178
37234
  jl_Object,
37179
37235
  [],
37180
37236
  0,
@@ -37889,16 +37945,6 @@ $rt_metadata([
37889
37945
  0,
37890
37946
  0,
37891
37947
  ["$hasNext", $rt_wrapFunction0(ju_AbstractList$1_hasNext), "$next", $rt_wrapFunction0(ju_AbstractList$1_next)],
37892
- asrs_Simulator$Reason,
37893
- "Simulator$Reason",
37894
- 3,
37895
- jl_Enum,
37896
- [],
37897
- 12,
37898
- 3,
37899
- 0,
37900
- 0,
37901
- 0,
37902
37948
  jlr_Array,
37903
37949
  0,
37904
37950
  jl_Object,
@@ -37944,6 +37990,16 @@ $rt_metadata([
37944
37990
  0,
37945
37991
  0,
37946
37992
  0,
37993
+ asrs_Simulator$Reason,
37994
+ "Simulator$Reason",
37995
+ 3,
37996
+ jl_Enum,
37997
+ [],
37998
+ 12,
37999
+ 3,
38000
+ 0,
38001
+ 0,
38002
+ 0,
37947
38003
  jur_Pattern,
37948
38004
  0,
37949
38005
  jl_Object,
@@ -38083,15 +38139,6 @@ $rt_metadata([
38083
38139
  0,
38084
38140
  0,
38085
38141
  0,
38086
- jl_NegativeArraySizeException,
38087
- 0,
38088
- jl_RuntimeException,
38089
- [],
38090
- 0,
38091
- 3,
38092
- 0,
38093
- 0,
38094
- 0,
38095
38142
  otjc_JSObjects,
38096
38143
  0,
38097
38144
  jl_Object,
@@ -38119,6 +38166,15 @@ $rt_metadata([
38119
38166
  0,
38120
38167
  0,
38121
38168
  0,
38169
+ jl_NegativeArraySizeException,
38170
+ 0,
38171
+ jl_RuntimeException,
38172
+ [],
38173
+ 0,
38174
+ 3,
38175
+ 0,
38176
+ 0,
38177
+ 0,
38122
38178
  ju_Arrays$ArrayAsList,
38123
38179
  0,
38124
38180
  ju_AbstractList,
@@ -40947,7 +41003,7 @@ $rt_metadata([
40947
41003
  0,
40948
41004
  0,
40949
41005
  0,
40950
- asrjt_Float64,
41006
+ asrjt_Float32,
40951
41007
  0,
40952
41008
  asrjt_Floating,
40953
41009
  [],
@@ -40957,48 +41013,39 @@ $rt_metadata([
40957
41013
  0,
40958
41014
  [
40959
41015
  "$isSignMinus",
40960
- $rt_wrapFunction0(asrjt_Float64_isSignMinus),
41016
+ $rt_wrapFunction0(asrjt_Float32_isSignMinus),
40961
41017
  "$isInfinite",
40962
- $rt_wrapFunction0(asrjt_Float64_isInfinite),
41018
+ $rt_wrapFunction0(asrjt_Float32_isInfinite),
40963
41019
  "$isNormal",
40964
- $rt_wrapFunction0(asrjt_Float64_isNormal),
41020
+ $rt_wrapFunction0(asrjt_Float32_isNormal),
40965
41021
  "$isSubnormal",
40966
- $rt_wrapFunction0(asrjt_Float64_isSubnormal),
41022
+ $rt_wrapFunction0(asrjt_Float32_isSubnormal),
40967
41023
  "$isNaN",
40968
- $rt_wrapFunction0(asrjt_Float64_isNaN),
41024
+ $rt_wrapFunction0(asrjt_Float32_isNaN),
40969
41025
  "$isSignalling",
40970
- $rt_wrapFunction0(asrjt_Float64_isSignalling),
41026
+ $rt_wrapFunction0(asrjt_Float32_isSignalling),
40971
41027
  "$isZero",
40972
- $rt_wrapFunction0(asrjt_Float64_isZero),
41028
+ $rt_wrapFunction0(asrjt_Float32_isZero),
40973
41029
  "$toExactFloat",
40974
- $rt_wrapFunction0(asrjt_Float64_toExactFloat),
41030
+ $rt_wrapFunction0(asrjt_Float32_toExactFloat),
40975
41031
  "$maxPrecision",
40976
- $rt_wrapFunction0(asrjt_Float64_maxPrecision),
41032
+ $rt_wrapFunction0(asrjt_Float32_maxPrecision),
40977
41033
  "$negate2",
40978
- $rt_wrapFunction0(asrjt_Float64_negate0),
41034
+ $rt_wrapFunction0(asrjt_Float32_negate0),
40979
41035
  "$fromExactFloat",
40980
- $rt_wrapFunction2(asrjt_Float64_fromExactFloat),
41036
+ $rt_wrapFunction2(asrjt_Float32_fromExactFloat),
40981
41037
  "$NegativeInfinity",
40982
- $rt_wrapFunction0(asrjt_Float64_NegativeInfinity0),
41038
+ $rt_wrapFunction0(asrjt_Float32_NegativeInfinity0),
40983
41039
  "$Infinity",
40984
- $rt_wrapFunction0(asrjt_Float64_Infinity0),
41040
+ $rt_wrapFunction0(asrjt_Float32_Infinity0),
40985
41041
  "$NegativeZero",
40986
- $rt_wrapFunction0(asrjt_Float64_NegativeZero0),
41042
+ $rt_wrapFunction0(asrjt_Float32_NegativeZero0),
40987
41043
  "$Zero",
40988
- $rt_wrapFunction0(asrjt_Float64_Zero0),
41044
+ $rt_wrapFunction0(asrjt_Float32_Zero0),
40989
41045
  "$NaN",
40990
- $rt_wrapFunction0(asrjt_Float64_NaN0)
41046
+ $rt_wrapFunction0(asrjt_Float32_NaN0)
40991
41047
  ],
40992
- asrjo_Conversions,
40993
- 0,
40994
- jl_Object,
40995
- [],
40996
- 0,
40997
- 3,
40998
- 0,
40999
- 0,
41000
- 0,
41001
- asrjt_Float32,
41048
+ asrjt_Float64,
41002
41049
  0,
41003
41050
  asrjt_Floating,
41004
41051
  [],
@@ -41008,39 +41055,39 @@ $rt_metadata([
41008
41055
  0,
41009
41056
  [
41010
41057
  "$isSignMinus",
41011
- $rt_wrapFunction0(asrjt_Float32_isSignMinus),
41058
+ $rt_wrapFunction0(asrjt_Float64_isSignMinus),
41012
41059
  "$isInfinite",
41013
- $rt_wrapFunction0(asrjt_Float32_isInfinite),
41060
+ $rt_wrapFunction0(asrjt_Float64_isInfinite),
41014
41061
  "$isNormal",
41015
- $rt_wrapFunction0(asrjt_Float32_isNormal),
41062
+ $rt_wrapFunction0(asrjt_Float64_isNormal),
41016
41063
  "$isSubnormal",
41017
- $rt_wrapFunction0(asrjt_Float32_isSubnormal),
41064
+ $rt_wrapFunction0(asrjt_Float64_isSubnormal),
41018
41065
  "$isNaN",
41019
- $rt_wrapFunction0(asrjt_Float32_isNaN),
41066
+ $rt_wrapFunction0(asrjt_Float64_isNaN),
41020
41067
  "$isSignalling",
41021
- $rt_wrapFunction0(asrjt_Float32_isSignalling),
41068
+ $rt_wrapFunction0(asrjt_Float64_isSignalling),
41022
41069
  "$isZero",
41023
- $rt_wrapFunction0(asrjt_Float32_isZero),
41070
+ $rt_wrapFunction0(asrjt_Float64_isZero),
41024
41071
  "$toExactFloat",
41025
- $rt_wrapFunction0(asrjt_Float32_toExactFloat),
41072
+ $rt_wrapFunction0(asrjt_Float64_toExactFloat),
41026
41073
  "$maxPrecision",
41027
- $rt_wrapFunction0(asrjt_Float32_maxPrecision),
41074
+ $rt_wrapFunction0(asrjt_Float64_maxPrecision),
41028
41075
  "$negate2",
41029
- $rt_wrapFunction0(asrjt_Float32_negate0),
41076
+ $rt_wrapFunction0(asrjt_Float64_negate0),
41030
41077
  "$fromExactFloat",
41031
- $rt_wrapFunction2(asrjt_Float32_fromExactFloat),
41078
+ $rt_wrapFunction2(asrjt_Float64_fromExactFloat),
41032
41079
  "$NegativeInfinity",
41033
- $rt_wrapFunction0(asrjt_Float32_NegativeInfinity0),
41080
+ $rt_wrapFunction0(asrjt_Float64_NegativeInfinity0),
41034
41081
  "$Infinity",
41035
- $rt_wrapFunction0(asrjt_Float32_Infinity0),
41082
+ $rt_wrapFunction0(asrjt_Float64_Infinity0),
41036
41083
  "$NegativeZero",
41037
- $rt_wrapFunction0(asrjt_Float32_NegativeZero0),
41084
+ $rt_wrapFunction0(asrjt_Float64_NegativeZero0),
41038
41085
  "$Zero",
41039
- $rt_wrapFunction0(asrjt_Float32_Zero0),
41086
+ $rt_wrapFunction0(asrjt_Float64_Zero0),
41040
41087
  "$NaN",
41041
- $rt_wrapFunction0(asrjt_Float32_NaN0)
41088
+ $rt_wrapFunction0(asrjt_Float64_NaN0)
41042
41089
  ],
41043
- asrjo_Comparisons,
41090
+ asrjo_Conversions,
41044
41091
  0,
41045
41092
  jl_Object,
41046
41093
  [],
@@ -41058,6 +41105,15 @@ $rt_metadata([
41058
41105
  0,
41059
41106
  0,
41060
41107
  0,
41108
+ asrjo_Comparisons,
41109
+ 0,
41110
+ jl_Object,
41111
+ [],
41112
+ 0,
41113
+ 3,
41114
+ 0,
41115
+ 0,
41116
+ 0,
41061
41117
  jnci_BufferedEncoder$Controller,
41062
41118
  0,
41063
41119
  jl_Object,
@@ -41287,23 +41343,23 @@ $rt_metadata([
41287
41343
  0,
41288
41344
  0,
41289
41345
  0,
41290
- asrjt_Float64$1,
41346
+ asrjt_Float32$1,
41291
41347
  0,
41292
41348
  jl_Object,
41293
41349
  [],
41294
41350
  32,
41295
41351
  0,
41296
41352
  0,
41297
- asrjt_Float64$1_$callClinit,
41353
+ asrjt_Float32$1_$callClinit,
41298
41354
  0,
41299
- asrjt_Float32$1,
41355
+ asrjt_Float64$1,
41300
41356
  0,
41301
41357
  jl_Object,
41302
41358
  [],
41303
41359
  32,
41304
41360
  0,
41305
41361
  0,
41306
- asrjt_Float32$1_$callClinit,
41362
+ asrjt_Float64$1_$callClinit,
41307
41363
  0
41308
41364
  ]);
41309
41365
  $rt_metadata([
@@ -42486,13 +42542,6 @@ $rt_stringPool([
42486
42542
  "0.000000",
42487
42543
  "0E",
42488
42544
  "0E+",
42489
- "BREAKPOINT",
42490
- "EXCEPTION",
42491
- "MAX_STEPS",
42492
- "NORMAL_TERMINATION",
42493
- "CLIFF_TERMINATION",
42494
- "PAUSE",
42495
- "STOP",
42496
42545
  "ft0",
42497
42546
  "ft1",
42498
42547
  "ft2",
@@ -42540,6 +42589,13 @@ $rt_stringPool([
42540
42589
  "Cannot claim, no timer interrupt pending",
42541
42590
  "Cannot claim, no trap pending",
42542
42591
  "trapPC doesn't match current pc",
42592
+ "BREAKPOINT",
42593
+ "EXCEPTION",
42594
+ "MAX_STEPS",
42595
+ "NORMAL_TERMINATION",
42596
+ "CLIFF_TERMINATION",
42597
+ "PAUSE",
42598
+ "STOP",
42543
42599
  "Patter is null",
42544
42600
  "Recursive include of file ",
42545
42601
  "Error reading include file ",
@@ -43113,13 +43169,16 @@ var $rt_jso_marker = Symbol("jsoClass");
43113
43169
  get: $rt_callWithReceiver(asr_JsInstruction_getName$exported$0)
43114
43170
  });
43115
43171
  Object.defineProperty(c, "description", {
43116
- get: $rt_callWithReceiver(asr_JsInstruction_getDescription$exported$2)
43172
+ get: $rt_callWithReceiver(asr_JsInstruction_getDescription$exported$3)
43117
43173
  });
43118
43174
  Object.defineProperty(c, "tokens", {
43119
- get: $rt_callWithReceiver(asr_JsInstruction_getTokens$exported$1)
43175
+ get: $rt_callWithReceiver(asr_JsInstruction_getTokens$exported$2)
43176
+ });
43177
+ Object.defineProperty(c, "getIsRv64Only", {
43178
+ get: $rt_callWithReceiver(asr_JsInstruction_getIsRv64Only$exported$1)
43120
43179
  });
43121
43180
  Object.defineProperty(c, "example", {
43122
- get: $rt_callWithReceiver(asr_JsInstruction_getExample$exported$3)
43181
+ get: $rt_callWithReceiver(asr_JsInstruction_getExample$exported$4)
43123
43182
  });
43124
43183
  c = asr_JsBackStep.prototype;
43125
43184
  Object.defineProperty(c, "pc", {
@@ -43134,22 +43193,6 @@ var $rt_jso_marker = Symbol("jsoClass");
43134
43193
  Object.defineProperty(c, "param2", {
43135
43194
  get: $rt_callWithReceiver(asr_JsBackStep_getParam2$exported$1)
43136
43195
  });
43137
- c = asr_JsStackFrame.prototype;
43138
- Object.defineProperty(c, "pc", {
43139
- get: $rt_callWithReceiver(asr_JsStackFrame_getPc$exported$0)
43140
- });
43141
- Object.defineProperty(c, "registers", {
43142
- get: $rt_callWithReceiver(asr_JsStackFrame_getRegisters$exported$2)
43143
- });
43144
- Object.defineProperty(c, "fp", {
43145
- get: $rt_callWithReceiver(asr_JsStackFrame_getFp$exported$4)
43146
- });
43147
- Object.defineProperty(c, "sp", {
43148
- get: $rt_callWithReceiver(asr_JsStackFrame_getSp$exported$3)
43149
- });
43150
- Object.defineProperty(c, "toAddress", {
43151
- get: $rt_callWithReceiver(asr_JsStackFrame_getToAddress$exported$1)
43152
- });
43153
43196
  c = asr_JsCompilationResult.prototype;
43154
43197
  Object.defineProperty(c, "hasErrors", {
43155
43198
  get: $rt_callWithReceiver(asr_JsCompilationResult_hasErrors$exported$1)
@@ -43160,13 +43203,6 @@ var $rt_jso_marker = Symbol("jsoClass");
43160
43203
  Object.defineProperty(c, "errors", {
43161
43204
  get: $rt_callWithReceiver(asr_JsCompilationResult_getErrors$exported$0)
43162
43205
  });
43163
- c = asr_JsRiscVTokenizedLine.prototype;
43164
- Object.defineProperty(c, "line", {
43165
- get: $rt_callWithReceiver(asr_JsRiscVTokenizedLine_getLine$exported$0)
43166
- });
43167
- Object.defineProperty(c, "tokens", {
43168
- get: $rt_callWithReceiver(asr_JsRiscVTokenizedLine_getTokens$exported$1)
43169
- });
43170
43206
  c = asr_JsProgramStatement.prototype;
43171
43207
  Object.defineProperty(c, "assemblyStatement", {
43172
43208
  get: $rt_callWithReceiver(asr_JsProgramStatement_getAssemblyStatement$exported$1)
@@ -43186,6 +43222,29 @@ var $rt_jso_marker = Symbol("jsoClass");
43186
43222
  Object.defineProperty(c, "source", {
43187
43223
  get: $rt_callWithReceiver(asr_JsProgramStatement_getSource$exported$2)
43188
43224
  });
43225
+ c = asr_JsStackFrame.prototype;
43226
+ Object.defineProperty(c, "pc", {
43227
+ get: $rt_callWithReceiver(asr_JsStackFrame_getPc$exported$0)
43228
+ });
43229
+ Object.defineProperty(c, "registers", {
43230
+ get: $rt_callWithReceiver(asr_JsStackFrame_getRegisters$exported$2)
43231
+ });
43232
+ Object.defineProperty(c, "fp", {
43233
+ get: $rt_callWithReceiver(asr_JsStackFrame_getFp$exported$4)
43234
+ });
43235
+ Object.defineProperty(c, "sp", {
43236
+ get: $rt_callWithReceiver(asr_JsStackFrame_getSp$exported$3)
43237
+ });
43238
+ Object.defineProperty(c, "toAddress", {
43239
+ get: $rt_callWithReceiver(asr_JsStackFrame_getToAddress$exported$1)
43240
+ });
43241
+ c = asr_JsRiscVTokenizedLine.prototype;
43242
+ Object.defineProperty(c, "line", {
43243
+ get: $rt_callWithReceiver(asr_JsRiscVTokenizedLine_getLine$exported$0)
43244
+ });
43245
+ Object.defineProperty(c, "tokens", {
43246
+ get: $rt_callWithReceiver(asr_JsRiscVTokenizedLine_getTokens$exported$1)
43247
+ });
43189
43248
  c = asr_JsCompilationResult$JsCompilationError.prototype;
43190
43249
  Object.defineProperty(c, "macroExpansionHistory", {
43191
43250
  get: $rt_callWithReceiver(asr_JsCompilationResult$JsCompilationError_getMacroExpansionHistory$exported$3)
@@ -43236,22 +43295,22 @@ function $rt_export_class_JsBackStep_74() {
43236
43295
  throw new Error("Can't instantiate this class directly");
43237
43296
  }
43238
43297
  $rt_export_class_JsBackStep_74.prototype = asr_JsBackStep.prototype;
43239
- function $rt_export_class_JsStackFrame_77() {
43298
+ function $rt_export_class_JsCompilationResult_77() {
43240
43299
  throw new Error("Can't instantiate this class directly");
43241
43300
  }
43242
- $rt_export_class_JsStackFrame_77.prototype = asr_JsStackFrame.prototype;
43243
- function $rt_export_class_JsCompilationResult_78() {
43301
+ $rt_export_class_JsCompilationResult_77.prototype = asr_JsCompilationResult.prototype;
43302
+ function $rt_export_class_JsProgramStatement_79() {
43244
43303
  throw new Error("Can't instantiate this class directly");
43245
43304
  }
43246
- $rt_export_class_JsCompilationResult_78.prototype = asr_JsCompilationResult.prototype;
43247
- function $rt_export_class_JsRiscVTokenizedLine_84() {
43305
+ $rt_export_class_JsProgramStatement_79.prototype = asr_JsProgramStatement.prototype;
43306
+ function $rt_export_class_JsStackFrame_82() {
43248
43307
  throw new Error("Can't instantiate this class directly");
43249
43308
  }
43250
- $rt_export_class_JsRiscVTokenizedLine_84.prototype = asr_JsRiscVTokenizedLine.prototype;
43251
- function $rt_export_class_JsProgramStatement_85() {
43309
+ $rt_export_class_JsStackFrame_82.prototype = asr_JsStackFrame.prototype;
43310
+ function $rt_export_class_JsRiscVTokenizedLine_85() {
43252
43311
  throw new Error("Can't instantiate this class directly");
43253
43312
  }
43254
- $rt_export_class_JsProgramStatement_85.prototype = asr_JsProgramStatement.prototype;
43313
+ $rt_export_class_JsRiscVTokenizedLine_85.prototype = asr_JsRiscVTokenizedLine.prototype;
43255
43314
  function $rt_export_class_JsCompilationError_352() {
43256
43315
  throw new Error("Can't instantiate this class directly");
43257
43316
  }