@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.mjs CHANGED
@@ -3320,11 +3320,11 @@ var asr_JsRiscV__clinit_ = () => {
3320
3320
  ju_Comparator$NaturalOrder__clinit_();
3321
3321
  asrr_BasicInstructionFormat__clinit_();
3322
3322
  jl_Long__clinit_();
3323
- asrs_Simulator$Reason__clinit_();
3324
3323
  asrrh_Stack__clinit_();
3325
3324
  asrrh_FloatingPointRegisterFile__clinit_();
3326
3325
  asrrh_ControlAndStatusRegisterFile__clinit_();
3327
3326
  asrrh_InterruptController__clinit_();
3327
+ asrs_Simulator$Reason__clinit_();
3328
3328
  asra_Tokenizer__clinit_();
3329
3329
  asrs_Simulator__clinit_();
3330
3330
  asra_Directives__clinit_();
@@ -3341,8 +3341,8 @@ var asr_JsRiscV__clinit_ = () => {
3341
3341
  jnc_CodingErrorAction__clinit_();
3342
3342
  jnc_CoderResult__clinit_();
3343
3343
  jn_ByteOrder__clinit_();
3344
- asrjt_Float64__clinit_();
3345
3344
  asrjt_Float32__clinit_();
3345
+ asrjt_Float64__clinit_();
3346
3346
  asrjo_Arithmetic__clinit_();
3347
3347
  asrj_RoundingMode__clinit_();
3348
3348
  asrj_Flags__clinit_();
@@ -4037,6 +4037,7 @@ var asr_JsRiscV$getInstructionSet$lambda$_39_0_apply = (var$0, var$1) => {
4037
4037
  var$2.$tokens.data[var$3] = asr_JsRiscVToken__init_(asra_TokenList_get(var$1.$tokenList, var$3));
4038
4038
  var$3 = var$3 + 1 | 0;
4039
4039
  }
4040
+ var$2.$isRv64Only = var$1.$isRv64;
4040
4041
  return var$2;
4041
4042
  };
4042
4043
  var juf_IntFunction = $rt_classWithoutFields(0);
@@ -4052,17 +4053,21 @@ function asr_JsInstruction() {
4052
4053
  a.$example = null;
4053
4054
  a.$description0 = null;
4054
4055
  a.$tokens = null;
4056
+ a.$isRv64Only = 0;
4055
4057
  }
4056
4058
  var asr_JsInstruction_getName$exported$0 = (var$1) => {
4057
4059
  return $rt_ustr(var$1.$name5);
4058
4060
  };
4059
- var asr_JsInstruction_getTokens$exported$1 = (var$1) => {
4061
+ var asr_JsInstruction_getIsRv64Only$exported$1 = (var$1) => {
4062
+ return !!var$1.$isRv64Only;
4063
+ };
4064
+ var asr_JsInstruction_getTokens$exported$2 = (var$1) => {
4060
4065
  return otji_JS_wrap(var$1.$tokens);
4061
4066
  };
4062
- var asr_JsInstruction_getDescription$exported$2 = (var$1) => {
4067
+ var asr_JsInstruction_getDescription$exported$3 = (var$1) => {
4063
4068
  return $rt_ustr(var$1.$description0);
4064
4069
  };
4065
- var asr_JsInstruction_getExample$exported$3 = (var$1) => {
4070
+ var asr_JsInstruction_getExample$exported$4 = (var$1) => {
4066
4071
  return $rt_ustr(var$1.$example);
4067
4072
  };
4068
4073
  var jl_IndexOutOfBoundsException = $rt_classWithoutFields(jl_RuntimeException);
@@ -4377,69 +4382,19 @@ var asrr_InstructionSet__init_ = () => {
4377
4382
  return var_0;
4378
4383
  };
4379
4384
  var asrr_InstructionSet_populate = ($this) => {
4380
- let $maskMap, $matchMaps, $mask, $inst, $basic, $match, $matchMap, var$8, var$9, var$10;
4385
+ let $matchMaps, $maskMap, var$3, $inst, $basic, $mask, $match, $matchMap, var$9, var$10;
4381
4386
  ju_ArrayList_clear($this.$instructionList);
4382
4387
  asrr_InstructionSet_addBasicInstructions($this);
4383
- $maskMap = ju_ArrayList__init_1(ju_List_of(asrr_PseudoOps_PSEUDO_OPS));
4384
- if (asrr_InstructionSet_rv64) {
4385
- $matchMaps = ju_List_of(asrr_PseudoOps_PSEUDO_OPS_64);
4386
- ju_AbstractCollection_addAll($maskMap, $matchMaps);
4387
- }
4388
- $mask = ju_AbstractList_iterator($maskMap);
4389
- while (ju_AbstractList$1_hasNext($mask)) {
4390
- $matchMaps = ju_AbstractList$1_next($mask);
4391
- if (!jl_String_startsWith($matchMaps, $rt_s(59)) && !jl_String_startsWith($matchMaps, $rt_s(38)) && $matchMaps.$nativeString.length > 0) {
4392
- $inst = $rt_s(3);
4393
- $basic = ju_StringTokenizer__init_($matchMaps, $rt_s(60));
4394
- $maskMap = ju_StringTokenizer_nextToken($basic);
4395
- $matchMaps = $rt_s(3);
4396
- a: {
4397
- while (ju_StringTokenizer_hasMoreTokens($basic)) {
4398
- $match = ju_StringTokenizer_nextToken($basic);
4399
- if (jl_String_startsWith($match, $rt_s(59))) {
4400
- $inst = jl_String_substring0($match, 1);
4401
- break a;
4402
- }
4403
- $matchMap = new jl_StringBuilder();
4404
- jl_AbstractStringBuilder__init_($matchMap);
4405
- jl_StringBuilder_append(jl_StringBuilder_append($matchMap, $matchMaps), $match);
4406
- $matchMaps = jl_AbstractStringBuilder_toString($matchMap);
4407
- if (!ju_StringTokenizer_hasMoreTokens($basic))
4408
- continue;
4409
- $match = new jl_StringBuilder();
4410
- jl_AbstractStringBuilder__init_($match);
4411
- jl_AbstractStringBuilder_append0(jl_StringBuilder_append($match, $matchMaps), 10);
4412
- $matchMaps = jl_AbstractStringBuilder_toString($match);
4413
- }
4414
- }
4415
- $basic = $this.$instructionList;
4416
- $match = new asrr_ExtendedInstruction();
4417
- $match.$exampleFormat = $maskMap;
4418
- $match.$description = $inst;
4419
- $inst = $match;
4420
- $match.$mnemonic = asrr_Instruction_extractOperator($inst, $maskMap);
4421
- asrr_Instruction_createExampleTokenList($inst);
4422
- if ($matchMaps !== null && $matchMaps.$nativeString.length) {
4423
- $maskMap = ju_ArrayList__init_();
4424
- $matchMap = ju_StringTokenizer__init_($matchMaps, $rt_s(43));
4425
- while (ju_StringTokenizer_hasMoreTokens($matchMap)) {
4426
- ju_ArrayList_add($maskMap, ju_StringTokenizer_nextToken($matchMap));
4427
- }
4428
- } else
4429
- $maskMap = null;
4430
- $match.$translationStrings = $maskMap;
4431
- ju_ArrayList_add($basic, $match);
4432
- }
4433
- }
4388
+ asrr_InstructionSet_addPseudoInstructions($this);
4434
4389
  $matchMaps = ju_AbstractList_iterator($this.$instructionList);
4435
4390
  while (ju_AbstractList$1_hasNext($matchMaps)) {
4436
4391
  asrr_Instruction_createExampleTokenList(ju_AbstractList$1_next($matchMaps));
4437
4392
  }
4438
4393
  $maskMap = ju_HashMap__init_();
4439
4394
  $matchMaps = ju_ArrayList__init_();
4440
- var$8 = ju_AbstractList_iterator($this.$instructionList);
4441
- while (ju_AbstractList$1_hasNext(var$8)) {
4442
- $inst = ju_AbstractList$1_next(var$8);
4395
+ var$3 = ju_AbstractList_iterator($this.$instructionList);
4396
+ while (ju_AbstractList$1_hasNext(var$3)) {
4397
+ $inst = ju_AbstractList$1_next(var$3);
4443
4398
  if ($inst instanceof asrr_BasicInstruction) {
4444
4399
  $basic = $inst;
4445
4400
  $mask = jl_Integer_valueOf($basic.$opcodeMask);
@@ -4466,6 +4421,88 @@ var asrr_InstructionSet_populate = ($this) => {
4466
4421
  ju_Collections_sort($matchMaps);
4467
4422
  $this.$opcodeMatchMaps = $matchMaps;
4468
4423
  };
4424
+ var asrr_InstructionSet_addPseudoInstructions = ($this) => {
4425
+ let $pseudoOps, var$2, var$3, var$4, var$5, $pseudoOp, $line, $description, $tokenizer, $pseudoOp_0, $template, $token, var$13;
4426
+ $pseudoOps = new ju_ArrayList();
4427
+ var$2 = asrr_PseudoOps_PSEUDO_OPS;
4428
+ var$3 = var$2.data;
4429
+ var$4 = var$3.length;
4430
+ var$5 = 0;
4431
+ while (var$5 < var$4) {
4432
+ ju_Objects_requireNonNull(var$3[var$5]);
4433
+ var$5 = var$5 + 1 | 0;
4434
+ }
4435
+ ju_ArrayList__init_1($pseudoOps, ju_TemplateCollections$ImmutableArrayList__init_(var$2.$clone0()));
4436
+ $pseudoOp = ju_AbstractList_iterator($pseudoOps);
4437
+ while (ju_AbstractList$1_hasNext($pseudoOp)) {
4438
+ $line = ju_AbstractList$1_next($pseudoOp);
4439
+ if (!jl_String_startsWith($line, $rt_s(59)) && !jl_String_startsWith($line, $rt_s(38)) && $line.$nativeString.length > 0) {
4440
+ $description = $rt_s(3);
4441
+ $tokenizer = ju_StringTokenizer__init_($line, $rt_s(60));
4442
+ $pseudoOp_0 = ju_StringTokenizer_nextToken($tokenizer);
4443
+ $template = $rt_s(3);
4444
+ a: {
4445
+ while (ju_StringTokenizer_hasMoreTokens($tokenizer)) {
4446
+ $token = ju_StringTokenizer_nextToken($tokenizer);
4447
+ if (jl_String_startsWith($token, $rt_s(59))) {
4448
+ $description = jl_String_substring0($token, 1);
4449
+ break a;
4450
+ }
4451
+ $pseudoOps = new jl_StringBuilder();
4452
+ jl_AbstractStringBuilder__init_($pseudoOps);
4453
+ jl_StringBuilder_append(jl_StringBuilder_append($pseudoOps, $template), $token);
4454
+ $template = jl_AbstractStringBuilder_toString($pseudoOps);
4455
+ if (!ju_StringTokenizer_hasMoreTokens($tokenizer))
4456
+ continue;
4457
+ $pseudoOps = new jl_StringBuilder();
4458
+ jl_AbstractStringBuilder__init_($pseudoOps);
4459
+ jl_AbstractStringBuilder_append0(jl_StringBuilder_append($pseudoOps, $template), 10);
4460
+ $template = jl_AbstractStringBuilder_toString($pseudoOps);
4461
+ }
4462
+ }
4463
+ ju_ArrayList_add($this.$instructionList, asrr_ExtendedInstruction__init_($pseudoOp_0, $template, $description, 0));
4464
+ }
4465
+ }
4466
+ b: {
4467
+ if (asrr_InstructionSet_rv64) {
4468
+ var$2 = asrr_PseudoOps_PSEUDO_OPS_64.data;
4469
+ var$5 = var$2.length;
4470
+ var$13 = 0;
4471
+ while (true) {
4472
+ if (var$13 >= var$5)
4473
+ break b;
4474
+ $line = var$2[var$13];
4475
+ if (!jl_String_startsWith($line, $rt_s(59)) && !jl_String_startsWith($line, $rt_s(38)) && $line.$nativeString.length > 0) {
4476
+ $description = $rt_s(3);
4477
+ $tokenizer = ju_StringTokenizer__init_($line, $rt_s(60));
4478
+ $pseudoOp = ju_StringTokenizer_nextToken($tokenizer);
4479
+ $template = $rt_s(3);
4480
+ c: {
4481
+ while (ju_StringTokenizer_hasMoreTokens($tokenizer)) {
4482
+ $token = ju_StringTokenizer_nextToken($tokenizer);
4483
+ if (jl_String_startsWith($token, $rt_s(59))) {
4484
+ $description = jl_String_substring0($token, 1);
4485
+ break c;
4486
+ }
4487
+ $pseudoOps = new jl_StringBuilder();
4488
+ jl_AbstractStringBuilder__init_($pseudoOps);
4489
+ jl_StringBuilder_append(jl_StringBuilder_append($pseudoOps, $template), $token);
4490
+ $template = jl_AbstractStringBuilder_toString($pseudoOps);
4491
+ if (!ju_StringTokenizer_hasMoreTokens($tokenizer))
4492
+ continue;
4493
+ $pseudoOps = new jl_StringBuilder();
4494
+ jl_AbstractStringBuilder__init_($pseudoOps);
4495
+ jl_AbstractStringBuilder_append0(jl_StringBuilder_append($pseudoOps, $template), 10);
4496
+ $template = jl_AbstractStringBuilder_toString($pseudoOps);
4497
+ }
4498
+ }
4499
+ ju_ArrayList_add($this.$instructionList, asrr_ExtendedInstruction__init_($pseudoOp, $template, $description, 1));
4500
+ }
4501
+ var$13 = var$13 + 1 | 0;
4502
+ }
4503
+ }
4504
+ }
4505
+ };
4469
4506
  var asrr_InstructionSet_matchOperator = ($this, $name) => {
4470
4507
  let $matchingInstructions, var$3, $inst;
4471
4508
  $matchingInstructions = null;
@@ -5796,7 +5833,7 @@ var asr_RISCVprogram_readSource = ($this, $file, $source) => {
5796
5833
  ju_Objects_requireNonNull(var$4);
5797
5834
  $file = new ju_Arrays$ArrayAsList();
5798
5835
  $file.$array3 = var$4;
5799
- ju_ArrayList__init_2(var$3, $file);
5836
+ ju_ArrayList__init_1(var$3, $file);
5800
5837
  $this.$sourceList = var$3;
5801
5838
  };
5802
5839
  var asr_RISCVprogram_simulate0 = ($this, $maxSteps) => {
@@ -6082,17 +6119,6 @@ var ju_AbstractCollection_addAll = ($this, $c) => {
6082
6119
  };
6083
6120
  var ju_SequencedCollection = $rt_classWithoutFields(0);
6084
6121
  var ju_List = $rt_classWithoutFields(0);
6085
- var ju_List_of = ($elements) => {
6086
- let var$2, var$3, var$4;
6087
- var$2 = $elements.data;
6088
- var$3 = var$2.length;
6089
- var$4 = 0;
6090
- while (var$4 < var$3) {
6091
- ju_Objects_requireNonNull(var$2[var$4]);
6092
- var$4 = var$4 + 1 | 0;
6093
- }
6094
- return ju_TemplateCollections$ImmutableArrayList__init_($elements.$clone0());
6095
- };
6096
6122
  function ju_AbstractList() {
6097
6123
  ju_AbstractCollection.call(this);
6098
6124
  this.$modCount = 0;
@@ -6131,12 +6157,12 @@ var ju_ArrayList__init_0 = ($this, $initialCapacity) => {
6131
6157
  jl_Throwable__init_(var$2);
6132
6158
  $rt_throw(var$2);
6133
6159
  };
6134
- var ju_ArrayList__init_3 = (var_0) => {
6160
+ var ju_ArrayList__init_2 = (var_0) => {
6135
6161
  let var_1 = new ju_ArrayList();
6136
6162
  ju_ArrayList__init_0(var_1, var_0);
6137
6163
  return var_1;
6138
6164
  };
6139
- var ju_ArrayList__init_2 = ($this, $c) => {
6165
+ var ju_ArrayList__init_1 = ($this, $c) => {
6140
6166
  let $iter, $i, var$4, var$5;
6141
6167
  ju_ArrayList__init_0($this, $c.$size());
6142
6168
  $iter = ju_AbstractList_iterator($c);
@@ -6152,9 +6178,9 @@ var ju_ArrayList__init_2 = ($this, $c) => {
6152
6178
  }
6153
6179
  $this.$size0 = var$5;
6154
6180
  };
6155
- var ju_ArrayList__init_1 = (var_0) => {
6181
+ var ju_ArrayList__init_3 = (var_0) => {
6156
6182
  let var_1 = new ju_ArrayList();
6157
- ju_ArrayList__init_2(var_1, var_0);
6183
+ ju_ArrayList__init_1(var_1, var_0);
6158
6184
  return var_1;
6159
6185
  };
6160
6186
  var ju_ArrayList_ensureCapacity = ($this, $minCapacity) => {
@@ -7786,30 +7812,6 @@ var jm_BigInteger__clinit_ = () => {
7786
7812
  $i = $i + 1 | 0;
7787
7813
  }
7788
7814
  };
7789
- function asr_JsStackFrame() {
7790
- let a = this;
7791
- jl_Object.call(a);
7792
- a.$pc3 = 0;
7793
- a.$toAddress0 = 0;
7794
- a.$sp = 0;
7795
- a.$fp = 0;
7796
- a.$registers = null;
7797
- }
7798
- var asr_JsStackFrame_getPc$exported$0 = (var$1) => {
7799
- return var$1.$pc3;
7800
- };
7801
- var asr_JsStackFrame_getToAddress$exported$1 = (var$1) => {
7802
- return var$1.$toAddress0;
7803
- };
7804
- var asr_JsStackFrame_getRegisters$exported$2 = (var$1) => {
7805
- return otji_JS_wrap0(var$1.$registers);
7806
- };
7807
- var asr_JsStackFrame_getSp$exported$3 = (var$1) => {
7808
- return var$1.$sp;
7809
- };
7810
- var asr_JsStackFrame_getFp$exported$4 = (var$1) => {
7811
- return var$1.$fp;
7812
- };
7813
7815
  function asr_JsCompilationResult() {
7814
7816
  let a = this;
7815
7817
  jl_Object.call(a);
@@ -7867,42 +7869,6 @@ var asr_AssemblyException__init_ = (var_0) => {
7867
7869
  asr_AssemblyException__init_0(var_1, var_0);
7868
7870
  return var_1;
7869
7871
  };
7870
- var juf_ToIntFunction = $rt_classWithoutFields(0);
7871
- var asr_JsRiscV$getRegistersValues$lambda$_25_0 = $rt_classWithoutFields();
7872
- var asr_JsRiscV$getTokenizedLines$lambda$_5_0 = $rt_classWithoutFields();
7873
- var asr_JsRiscV$getTokenizedLines$lambda$_5_0_apply = (var$0, var$1) => {
7874
- let var$2, var$3, var$4, var$5;
7875
- var$1 = var$1;
7876
- asr_JsRiscV_$callClinit();
7877
- var$2 = $rt_createArray(asr_JsRiscVToken, asra_TokenList_size(var$1));
7878
- var$3 = var$2.data;
7879
- var$4 = 0;
7880
- while (var$4 < asra_TokenList_size(var$1)) {
7881
- var$3[var$4] = asr_JsRiscVToken__init_(asra_TokenList_get(var$1, var$4));
7882
- var$4 = var$4 + 1 | 0;
7883
- }
7884
- var$5 = new asr_JsRiscVTokenizedLine();
7885
- var$5.$line0 = var$1.$processedLine;
7886
- var$5.$tokens0 = var$2;
7887
- return var$5;
7888
- };
7889
- var asr_JsRiscV$getTokenizedLines$lambda$_5_1 = $rt_classWithoutFields();
7890
- var asr_JsRiscV$getTokenizedLines$lambda$_5_1_apply = (var$0, var$1) => {
7891
- asr_JsRiscV_$callClinit();
7892
- return $rt_createArray(asr_JsRiscVTokenizedLine, var$1);
7893
- };
7894
- function asr_JsRiscVTokenizedLine() {
7895
- let a = this;
7896
- jl_Object.call(a);
7897
- a.$line0 = null;
7898
- a.$tokens0 = null;
7899
- }
7900
- var asr_JsRiscVTokenizedLine_getLine$exported$0 = (var$1) => {
7901
- return $rt_ustr(var$1.$line0);
7902
- };
7903
- var asr_JsRiscVTokenizedLine_getTokens$exported$1 = (var$1) => {
7904
- return otji_JS_wrap(var$1.$tokens0);
7905
- };
7906
7872
  function asr_JsProgramStatement() {
7907
7873
  let a = this;
7908
7874
  jl_Object.call(a);
@@ -7980,6 +7946,66 @@ var asr_JsProgramStatement_getBinaryStatement$exported$4 = (var$1) => {
7980
7946
  var asr_JsProgramStatement_getMachineStatement$exported$5 = (var$1) => {
7981
7947
  return $rt_ustr(var$1.$machineStatement0);
7982
7948
  };
7949
+ var juf_ToIntFunction = $rt_classWithoutFields(0);
7950
+ var asr_JsRiscV$getRegistersValues$lambda$_25_0 = $rt_classWithoutFields();
7951
+ function asr_JsStackFrame() {
7952
+ let a = this;
7953
+ jl_Object.call(a);
7954
+ a.$pc3 = 0;
7955
+ a.$toAddress0 = 0;
7956
+ a.$sp = 0;
7957
+ a.$fp = 0;
7958
+ a.$registers = null;
7959
+ }
7960
+ var asr_JsStackFrame_getPc$exported$0 = (var$1) => {
7961
+ return var$1.$pc3;
7962
+ };
7963
+ var asr_JsStackFrame_getToAddress$exported$1 = (var$1) => {
7964
+ return var$1.$toAddress0;
7965
+ };
7966
+ var asr_JsStackFrame_getRegisters$exported$2 = (var$1) => {
7967
+ return otji_JS_wrap0(var$1.$registers);
7968
+ };
7969
+ var asr_JsStackFrame_getSp$exported$3 = (var$1) => {
7970
+ return var$1.$sp;
7971
+ };
7972
+ var asr_JsStackFrame_getFp$exported$4 = (var$1) => {
7973
+ return var$1.$fp;
7974
+ };
7975
+ var asr_JsRiscV$getTokenizedLines$lambda$_5_0 = $rt_classWithoutFields();
7976
+ var asr_JsRiscV$getTokenizedLines$lambda$_5_0_apply = (var$0, var$1) => {
7977
+ let var$2, var$3, var$4, var$5;
7978
+ var$1 = var$1;
7979
+ asr_JsRiscV_$callClinit();
7980
+ var$2 = $rt_createArray(asr_JsRiscVToken, asra_TokenList_size(var$1));
7981
+ var$3 = var$2.data;
7982
+ var$4 = 0;
7983
+ while (var$4 < asra_TokenList_size(var$1)) {
7984
+ var$3[var$4] = asr_JsRiscVToken__init_(asra_TokenList_get(var$1, var$4));
7985
+ var$4 = var$4 + 1 | 0;
7986
+ }
7987
+ var$5 = new asr_JsRiscVTokenizedLine();
7988
+ var$5.$line0 = var$1.$processedLine;
7989
+ var$5.$tokens0 = var$2;
7990
+ return var$5;
7991
+ };
7992
+ var asr_JsRiscV$getTokenizedLines$lambda$_5_1 = $rt_classWithoutFields();
7993
+ var asr_JsRiscV$getTokenizedLines$lambda$_5_1_apply = (var$0, var$1) => {
7994
+ asr_JsRiscV_$callClinit();
7995
+ return $rt_createArray(asr_JsRiscVTokenizedLine, var$1);
7996
+ };
7997
+ function asr_JsRiscVTokenizedLine() {
7998
+ let a = this;
7999
+ jl_Object.call(a);
8000
+ a.$line0 = null;
8001
+ a.$tokens0 = null;
8002
+ }
8003
+ var asr_JsRiscVTokenizedLine_getLine$exported$0 = (var$1) => {
8004
+ return $rt_ustr(var$1.$line0);
8005
+ };
8006
+ var asr_JsRiscVTokenizedLine_getTokens$exported$1 = (var$1) => {
8007
+ return otji_JS_wrap(var$1.$tokens0);
8008
+ };
7983
8009
  var ju_Map$Entry = $rt_classWithoutFields(0);
7984
8010
  function ju_MapEntry() {
7985
8011
  let a = this;
@@ -8030,8 +8056,12 @@ function asrr_Instruction() {
8030
8056
  a.$exampleFormat = null;
8031
8057
  a.$description = null;
8032
8058
  a.$tokenList = null;
8059
+ a.$isRv64 = 0;
8033
8060
  }
8034
8061
  var asrr_Instruction_operandMask = null;
8062
+ var asrr_Instruction__init_ = ($this) => {
8063
+ $this.$isRv64 = 0;
8064
+ };
8035
8065
  var asrr_Instruction_getInstructionLength = ($this) => {
8036
8066
  return 4;
8037
8067
  };
@@ -8181,6 +8211,7 @@ function asrr_BasicInstruction() {
8181
8211
  a.$opcodeMatch = 0;
8182
8212
  }
8183
8213
  var asrr_BasicInstruction__init_ = ($this, $example, $description, $instrFormat, $operMask) => {
8214
+ asrr_Instruction__init_($this);
8184
8215
  $this.$exampleFormat = $example;
8185
8216
  $this.$mnemonic = asrr_Instruction_extractOperator($this, $example);
8186
8217
  $this.$description = $description;
@@ -8200,6 +8231,7 @@ var asrr_BasicInstruction__init_ = ($this, $example, $description, $instrFormat,
8200
8231
  };
8201
8232
  var asrr_BasicInstruction__init_0 = ($this, $example, $description, $instrFormat, $operMask, $onlyinrv64) => {
8202
8233
  asrr_BasicInstruction__init_($this, $example, $description, $instrFormat, $operMask);
8234
+ $this.$isRv64 = $onlyinrv64;
8203
8235
  if (!asrr_InstructionSet_rv64 && $onlyinrv64) {
8204
8236
  $description = new jl_NullPointerException();
8205
8237
  $instrFormat = new jl_StringBuilder();
@@ -11905,6 +11937,30 @@ function asrr_ExtendedInstruction() {
11905
11937
  asrr_Instruction.call(this);
11906
11938
  this.$translationStrings = null;
11907
11939
  }
11940
+ var asrr_ExtendedInstruction__init_0 = ($this, $example, $translation, $description, $isRv64Only) => {
11941
+ let var$5;
11942
+ asrr_Instruction__init_($this);
11943
+ $this.$exampleFormat = $example;
11944
+ $this.$description = $description;
11945
+ $description = $this;
11946
+ $this.$mnemonic = asrr_Instruction_extractOperator($description, $example);
11947
+ asrr_Instruction_createExampleTokenList($description);
11948
+ if ($translation !== null && $translation.$nativeString.length) {
11949
+ $description = ju_ArrayList__init_();
11950
+ var$5 = ju_StringTokenizer__init_($translation, $rt_s(43));
11951
+ while (ju_StringTokenizer_hasMoreTokens(var$5)) {
11952
+ ju_ArrayList_add($description, ju_StringTokenizer_nextToken(var$5));
11953
+ }
11954
+ } else
11955
+ $description = null;
11956
+ $this.$translationStrings = $description;
11957
+ $this.$isRv64 = $isRv64Only;
11958
+ };
11959
+ var asrr_ExtendedInstruction__init_ = (var_0, var_1, var_2, var_3) => {
11960
+ let var_4 = new asrr_ExtendedInstruction();
11961
+ asrr_ExtendedInstruction__init_0(var_4, var_0, var_1, var_2, var_3);
11962
+ return var_4;
11963
+ };
11908
11964
  var asrr_ExtendedInstruction_getInstructionLength = ($this) => {
11909
11965
  let var$1, var$2, var$3;
11910
11966
  a: {
@@ -12186,15 +12242,6 @@ var asrrh_RegisterBlock_resetRegisters = ($this) => {
12186
12242
  var$3 = var$3 + 1 | 0;
12187
12243
  }
12188
12244
  };
12189
- function asrrh_StackFrame() {
12190
- let a = this;
12191
- jl_Object.call(a);
12192
- a.$pc4 = 0;
12193
- a.$toAddress = 0;
12194
- a.$sp0 = 0;
12195
- a.$fp0 = 0;
12196
- a.$registers0 = null;
12197
- }
12198
12245
  function asr_ErrorList() {
12199
12246
  let a = this;
12200
12247
  jl_Object.call(a);
@@ -12280,6 +12327,15 @@ var asr_ErrorList_generateReport = ($this, $isWarning) => {
12280
12327
  }
12281
12328
  return jl_AbstractStringBuilder_toString($report);
12282
12329
  };
12330
+ function asrrh_StackFrame() {
12331
+ let a = this;
12332
+ jl_Object.call(a);
12333
+ a.$pc4 = 0;
12334
+ a.$toAddress = 0;
12335
+ a.$sp0 = 0;
12336
+ a.$fp0 = 0;
12337
+ a.$registers0 = null;
12338
+ }
12283
12339
  function asrrh_MemoryConfiguration() {
12284
12340
  let a = this;
12285
12341
  jl_Object.call(a);
@@ -14356,52 +14412,6 @@ var ju_AbstractList$1_next = ($this) => {
14356
14412
  $this.$index4 = var$3 + 1 | 0;
14357
14413
  return var$2.$get0(var$3);
14358
14414
  };
14359
- var asrs_Simulator$Reason = $rt_classWithoutFields(jl_Enum);
14360
- var asrs_Simulator$Reason_BREAKPOINT = null;
14361
- var asrs_Simulator$Reason_EXCEPTION = null;
14362
- var asrs_Simulator$Reason_MAX_STEPS = null;
14363
- var asrs_Simulator$Reason_NORMAL_TERMINATION = null;
14364
- var asrs_Simulator$Reason_CLIFF_TERMINATION = null;
14365
- var asrs_Simulator$Reason_PAUSE = null;
14366
- var asrs_Simulator$Reason_STOP = null;
14367
- var asrs_Simulator$Reason_$VALUES = null;
14368
- var asrs_Simulator$Reason_values = () => {
14369
- return asrs_Simulator$Reason_$VALUES.$clone0();
14370
- };
14371
- var asrs_Simulator$Reason__clinit_ = () => {
14372
- let var$1, var$2, var$3;
14373
- var$1 = new asrs_Simulator$Reason();
14374
- jl_Enum__init_(var$1, $rt_s(1091), 0);
14375
- asrs_Simulator$Reason_BREAKPOINT = var$1;
14376
- var$1 = new asrs_Simulator$Reason();
14377
- jl_Enum__init_(var$1, $rt_s(1092), 1);
14378
- asrs_Simulator$Reason_EXCEPTION = var$1;
14379
- var$1 = new asrs_Simulator$Reason();
14380
- jl_Enum__init_(var$1, $rt_s(1093), 2);
14381
- asrs_Simulator$Reason_MAX_STEPS = var$1;
14382
- var$1 = new asrs_Simulator$Reason();
14383
- jl_Enum__init_(var$1, $rt_s(1094), 3);
14384
- asrs_Simulator$Reason_NORMAL_TERMINATION = var$1;
14385
- var$1 = new asrs_Simulator$Reason();
14386
- jl_Enum__init_(var$1, $rt_s(1095), 4);
14387
- asrs_Simulator$Reason_CLIFF_TERMINATION = var$1;
14388
- var$1 = new asrs_Simulator$Reason();
14389
- jl_Enum__init_(var$1, $rt_s(1096), 5);
14390
- asrs_Simulator$Reason_PAUSE = var$1;
14391
- var$1 = new asrs_Simulator$Reason();
14392
- jl_Enum__init_(var$1, $rt_s(1097), 6);
14393
- asrs_Simulator$Reason_STOP = var$1;
14394
- var$2 = $rt_createArray(asrs_Simulator$Reason, 7);
14395
- var$3 = var$2.data;
14396
- var$3[0] = asrs_Simulator$Reason_BREAKPOINT;
14397
- var$3[1] = asrs_Simulator$Reason_EXCEPTION;
14398
- var$3[2] = asrs_Simulator$Reason_MAX_STEPS;
14399
- var$3[3] = asrs_Simulator$Reason_NORMAL_TERMINATION;
14400
- var$3[4] = asrs_Simulator$Reason_CLIFF_TERMINATION;
14401
- var$3[5] = asrs_Simulator$Reason_PAUSE;
14402
- var$3[6] = var$1;
14403
- asrs_Simulator$Reason_$VALUES = var$2;
14404
- };
14405
14415
  var jlr_Array = $rt_classWithoutFields();
14406
14416
  var jlr_Array_getLength = (var$1) => {
14407
14417
  if (var$1 === null || var$1.constructor.$meta.item === "undefined") {
@@ -14483,38 +14493,38 @@ var asrrh_FloatingPointRegisterFile__clinit_ = () => {
14483
14493
  var$1 = new asrrh_RegisterBlock();
14484
14494
  var$2 = $rt_createArray(asrrh_Register, 32);
14485
14495
  var$3 = var$2.data;
14486
- var$3[0] = asrrh_Register__init_($rt_s(1098), 0, Long_ZERO);
14487
- var$3[1] = asrrh_Register__init_($rt_s(1099), 1, Long_ZERO);
14488
- var$3[2] = asrrh_Register__init_($rt_s(1100), 2, Long_ZERO);
14489
- var$3[3] = asrrh_Register__init_($rt_s(1101), 3, Long_ZERO);
14490
- var$3[4] = asrrh_Register__init_($rt_s(1102), 4, Long_ZERO);
14491
- var$3[5] = asrrh_Register__init_($rt_s(1103), 5, Long_ZERO);
14492
- var$3[6] = asrrh_Register__init_($rt_s(1104), 6, Long_ZERO);
14493
- var$3[7] = asrrh_Register__init_($rt_s(1105), 7, Long_ZERO);
14494
- var$3[8] = asrrh_Register__init_($rt_s(1106), 8, Long_ZERO);
14495
- var$3[9] = asrrh_Register__init_($rt_s(1107), 9, Long_ZERO);
14496
+ var$3[0] = asrrh_Register__init_($rt_s(1091), 0, Long_ZERO);
14497
+ var$3[1] = asrrh_Register__init_($rt_s(1092), 1, Long_ZERO);
14498
+ var$3[2] = asrrh_Register__init_($rt_s(1093), 2, Long_ZERO);
14499
+ var$3[3] = asrrh_Register__init_($rt_s(1094), 3, Long_ZERO);
14500
+ var$3[4] = asrrh_Register__init_($rt_s(1095), 4, Long_ZERO);
14501
+ var$3[5] = asrrh_Register__init_($rt_s(1096), 5, Long_ZERO);
14502
+ var$3[6] = asrrh_Register__init_($rt_s(1097), 6, Long_ZERO);
14503
+ var$3[7] = asrrh_Register__init_($rt_s(1098), 7, Long_ZERO);
14504
+ var$3[8] = asrrh_Register__init_($rt_s(1099), 8, Long_ZERO);
14505
+ var$3[9] = asrrh_Register__init_($rt_s(1100), 9, Long_ZERO);
14496
14506
  var$3[10] = asrrh_Register__init_($rt_s(1042), 10, Long_ZERO);
14497
14507
  var$3[11] = asrrh_Register__init_($rt_s(1036), 11, Long_ZERO);
14498
- var$3[12] = asrrh_Register__init_($rt_s(1108), 12, Long_ZERO);
14499
- var$3[13] = asrrh_Register__init_($rt_s(1109), 13, Long_ZERO);
14500
- var$3[14] = asrrh_Register__init_($rt_s(1110), 14, Long_ZERO);
14501
- var$3[15] = asrrh_Register__init_($rt_s(1111), 15, Long_ZERO);
14502
- var$3[16] = asrrh_Register__init_($rt_s(1112), 16, Long_ZERO);
14503
- var$3[17] = asrrh_Register__init_($rt_s(1113), 17, Long_ZERO);
14504
- var$3[18] = asrrh_Register__init_($rt_s(1114), 18, Long_ZERO);
14505
- var$3[19] = asrrh_Register__init_($rt_s(1115), 19, Long_ZERO);
14506
- var$3[20] = asrrh_Register__init_($rt_s(1116), 20, Long_ZERO);
14507
- var$3[21] = asrrh_Register__init_($rt_s(1117), 21, Long_ZERO);
14508
- var$3[22] = asrrh_Register__init_($rt_s(1118), 22, Long_ZERO);
14509
- var$3[23] = asrrh_Register__init_($rt_s(1119), 23, Long_ZERO);
14510
- var$3[24] = asrrh_Register__init_($rt_s(1120), 24, Long_ZERO);
14511
- var$3[25] = asrrh_Register__init_($rt_s(1121), 25, Long_ZERO);
14512
- var$3[26] = asrrh_Register__init_($rt_s(1122), 26, Long_ZERO);
14513
- var$3[27] = asrrh_Register__init_($rt_s(1123), 27, Long_ZERO);
14514
- var$3[28] = asrrh_Register__init_($rt_s(1124), 28, Long_ZERO);
14515
- var$3[29] = asrrh_Register__init_($rt_s(1125), 29, Long_ZERO);
14516
- var$3[30] = asrrh_Register__init_($rt_s(1126), 30, Long_ZERO);
14517
- var$3[31] = asrrh_Register__init_($rt_s(1127), 31, Long_ZERO);
14508
+ var$3[12] = asrrh_Register__init_($rt_s(1101), 12, Long_ZERO);
14509
+ var$3[13] = asrrh_Register__init_($rt_s(1102), 13, Long_ZERO);
14510
+ var$3[14] = asrrh_Register__init_($rt_s(1103), 14, Long_ZERO);
14511
+ var$3[15] = asrrh_Register__init_($rt_s(1104), 15, Long_ZERO);
14512
+ var$3[16] = asrrh_Register__init_($rt_s(1105), 16, Long_ZERO);
14513
+ var$3[17] = asrrh_Register__init_($rt_s(1106), 17, Long_ZERO);
14514
+ var$3[18] = asrrh_Register__init_($rt_s(1107), 18, Long_ZERO);
14515
+ var$3[19] = asrrh_Register__init_($rt_s(1108), 19, Long_ZERO);
14516
+ var$3[20] = asrrh_Register__init_($rt_s(1109), 20, Long_ZERO);
14517
+ var$3[21] = asrrh_Register__init_($rt_s(1110), 21, Long_ZERO);
14518
+ var$3[22] = asrrh_Register__init_($rt_s(1111), 22, Long_ZERO);
14519
+ var$3[23] = asrrh_Register__init_($rt_s(1112), 23, Long_ZERO);
14520
+ var$3[24] = asrrh_Register__init_($rt_s(1113), 24, Long_ZERO);
14521
+ var$3[25] = asrrh_Register__init_($rt_s(1114), 25, Long_ZERO);
14522
+ var$3[26] = asrrh_Register__init_($rt_s(1115), 26, Long_ZERO);
14523
+ var$3[27] = asrrh_Register__init_($rt_s(1116), 27, Long_ZERO);
14524
+ var$3[28] = asrrh_Register__init_($rt_s(1117), 28, Long_ZERO);
14525
+ var$3[29] = asrrh_Register__init_($rt_s(1118), 29, Long_ZERO);
14526
+ var$3[30] = asrrh_Register__init_($rt_s(1119), 30, Long_ZERO);
14527
+ var$3[31] = asrrh_Register__init_($rt_s(1120), 31, Long_ZERO);
14518
14528
  asrrh_RegisterBlock__init_(var$1, 102, var$2);
14519
14529
  asrrh_FloatingPointRegisterFile_instance = var$1;
14520
14530
  };
@@ -14582,25 +14592,25 @@ var asrrh_ControlAndStatusRegisterFile__clinit_ = () => {
14582
14592
  var$2[0] = asrrh_MaskedRegister__init_($rt_s(679), 0, Long_ZERO, Long_fromInt(-18));
14583
14593
  var$2[1] = null;
14584
14594
  var$2[2] = null;
14585
- var$2[3] = asrrh_MaskedRegister__init_($rt_s(1128), 3, Long_ZERO, Long_fromInt(-256));
14586
- var$2[4] = asrrh_Register__init_($rt_s(1129), 4, Long_ZERO);
14587
- var$2[5] = asrrh_Register__init_($rt_s(1130), 5, Long_ZERO);
14588
- var$2[6] = asrrh_Register__init_($rt_s(1131), 64, Long_ZERO);
14595
+ var$2[3] = asrrh_MaskedRegister__init_($rt_s(1121), 3, Long_ZERO, Long_fromInt(-256));
14596
+ var$2[4] = asrrh_Register__init_($rt_s(1122), 4, Long_ZERO);
14597
+ var$2[5] = asrrh_Register__init_($rt_s(1123), 5, Long_ZERO);
14598
+ var$2[6] = asrrh_Register__init_($rt_s(1124), 64, Long_ZERO);
14589
14599
  var$2[7] = asrrh_Register__init_($rt_s(680), 65, Long_ZERO);
14590
- var$2[8] = asrrh_Register__init_($rt_s(1132), 66, Long_ZERO);
14591
- var$2[9] = asrrh_Register__init_($rt_s(1133), 67, Long_ZERO);
14592
- var$2[10] = asrrh_Register__init_($rt_s(1134), 68, Long_ZERO);
14593
- var$2[11] = asrrh_ReadOnlyRegister__init_($rt_s(1135), 3072, 0);
14594
- var$2[12] = asrrh_ReadOnlyRegister__init_($rt_s(1136), 3073, 0);
14595
- var$2[13] = asrrh_ReadOnlyRegister__init_($rt_s(1137), 3074, 0);
14600
+ var$2[8] = asrrh_Register__init_($rt_s(1125), 66, Long_ZERO);
14601
+ var$2[9] = asrrh_Register__init_($rt_s(1126), 67, Long_ZERO);
14602
+ var$2[10] = asrrh_Register__init_($rt_s(1127), 68, Long_ZERO);
14603
+ var$2[11] = asrrh_ReadOnlyRegister__init_($rt_s(1128), 3072, 0);
14604
+ var$2[12] = asrrh_ReadOnlyRegister__init_($rt_s(1129), 3073, 0);
14605
+ var$2[13] = asrrh_ReadOnlyRegister__init_($rt_s(1130), 3074, 0);
14596
14606
  var$2[14] = null;
14597
14607
  var$2[15] = null;
14598
14608
  var$2[16] = null;
14599
14609
  var$2[1] = asrrh_LinkedRegister__init_($rt_s(446), 1, var$2[3], Long_fromInt(31));
14600
14610
  var$2[2] = asrrh_LinkedRegister__init_($rt_s(447), 2, var$2[3], Long_fromInt(224));
14601
- var$2[14] = asrrh_LinkedRegister__init_($rt_s(1138), 3200, var$2[11], Long_create(0, 4294967295));
14602
- var$2[15] = asrrh_LinkedRegister__init_($rt_s(1139), 3201, var$2[12], Long_create(0, 4294967295));
14603
- var$2[16] = asrrh_LinkedRegister__init_($rt_s(1140), 3202, var$2[13], Long_create(0, 4294967295));
14611
+ var$2[14] = asrrh_LinkedRegister__init_($rt_s(1131), 3200, var$2[11], Long_create(0, 4294967295));
14612
+ var$2[15] = asrrh_LinkedRegister__init_($rt_s(1132), 3201, var$2[12], Long_create(0, 4294967295));
14613
+ var$2[16] = asrrh_LinkedRegister__init_($rt_s(1133), 3202, var$2[13], Long_create(0, 4294967295));
14604
14614
  asrrh_ControlAndStatusRegisterFile_instance = asrrh_RegisterBlock__init_0(95, $tmp_0);
14605
14615
  };
14606
14616
  var asrrh_InterruptController = $rt_classWithoutFields();
@@ -14706,7 +14716,7 @@ var asrrh_InterruptController_claimExternal = () => {
14706
14716
  a: {
14707
14717
  try {
14708
14718
  if (!asrrh_InterruptController_$assertionsDisabled && !asrrh_InterruptController_externalPending)
14709
- $rt_throw(jl_AssertionError__init_($rt_s(1141)));
14719
+ $rt_throw(jl_AssertionError__init_($rt_s(1134)));
14710
14720
  asrrh_InterruptController_externalPending = 0;
14711
14721
  var$2 = asrrh_InterruptController_externalValue;
14712
14722
  jl_Object_monitorExitSync(var$1);
@@ -14727,7 +14737,7 @@ var asrrh_InterruptController_claimTimer = () => {
14727
14737
  a: {
14728
14738
  try {
14729
14739
  if (!asrrh_InterruptController_$assertionsDisabled && !asrrh_InterruptController_timerPending)
14730
- $rt_throw(jl_AssertionError__init_($rt_s(1142)));
14740
+ $rt_throw(jl_AssertionError__init_($rt_s(1135)));
14731
14741
  asrrh_InterruptController_timerPending = 0;
14732
14742
  var$2 = asrrh_InterruptController_timerValue;
14733
14743
  jl_Object_monitorExitSync(var$1);
@@ -14749,9 +14759,9 @@ var asrrh_InterruptController_claimTrap = () => {
14749
14759
  try {
14750
14760
  var$2 = asrrh_InterruptController_$assertionsDisabled;
14751
14761
  if (!var$2 && !asrrh_InterruptController_trapPending)
14752
- $rt_throw(jl_AssertionError__init_($rt_s(1143)));
14762
+ $rt_throw(jl_AssertionError__init_($rt_s(1136)));
14753
14763
  if (!var$2 && asrrh_InterruptController_trapPC != (asrrh_RegisterFile_getProgramCounter() - 4 | 0))
14754
- $rt_throw(jl_AssertionError__init_($rt_s(1144)));
14764
+ $rt_throw(jl_AssertionError__init_($rt_s(1137)));
14755
14765
  asrrh_InterruptController_trapPending = 0;
14756
14766
  var$3 = asrrh_InterruptController_trapSE;
14757
14767
  jl_Object_monitorExitSync(var$1);
@@ -14772,6 +14782,52 @@ var asrrh_InterruptController__clinit_ = () => {
14772
14782
  asrrh_InterruptController_timerPending = 0;
14773
14783
  asrrh_InterruptController_trapPending = 0;
14774
14784
  };
14785
+ var asrs_Simulator$Reason = $rt_classWithoutFields(jl_Enum);
14786
+ var asrs_Simulator$Reason_BREAKPOINT = null;
14787
+ var asrs_Simulator$Reason_EXCEPTION = null;
14788
+ var asrs_Simulator$Reason_MAX_STEPS = null;
14789
+ var asrs_Simulator$Reason_NORMAL_TERMINATION = null;
14790
+ var asrs_Simulator$Reason_CLIFF_TERMINATION = null;
14791
+ var asrs_Simulator$Reason_PAUSE = null;
14792
+ var asrs_Simulator$Reason_STOP = null;
14793
+ var asrs_Simulator$Reason_$VALUES = null;
14794
+ var asrs_Simulator$Reason_values = () => {
14795
+ return asrs_Simulator$Reason_$VALUES.$clone0();
14796
+ };
14797
+ var asrs_Simulator$Reason__clinit_ = () => {
14798
+ let var$1, var$2, var$3;
14799
+ var$1 = new asrs_Simulator$Reason();
14800
+ jl_Enum__init_(var$1, $rt_s(1138), 0);
14801
+ asrs_Simulator$Reason_BREAKPOINT = var$1;
14802
+ var$1 = new asrs_Simulator$Reason();
14803
+ jl_Enum__init_(var$1, $rt_s(1139), 1);
14804
+ asrs_Simulator$Reason_EXCEPTION = var$1;
14805
+ var$1 = new asrs_Simulator$Reason();
14806
+ jl_Enum__init_(var$1, $rt_s(1140), 2);
14807
+ asrs_Simulator$Reason_MAX_STEPS = var$1;
14808
+ var$1 = new asrs_Simulator$Reason();
14809
+ jl_Enum__init_(var$1, $rt_s(1141), 3);
14810
+ asrs_Simulator$Reason_NORMAL_TERMINATION = var$1;
14811
+ var$1 = new asrs_Simulator$Reason();
14812
+ jl_Enum__init_(var$1, $rt_s(1142), 4);
14813
+ asrs_Simulator$Reason_CLIFF_TERMINATION = var$1;
14814
+ var$1 = new asrs_Simulator$Reason();
14815
+ jl_Enum__init_(var$1, $rt_s(1143), 5);
14816
+ asrs_Simulator$Reason_PAUSE = var$1;
14817
+ var$1 = new asrs_Simulator$Reason();
14818
+ jl_Enum__init_(var$1, $rt_s(1144), 6);
14819
+ asrs_Simulator$Reason_STOP = var$1;
14820
+ var$2 = $rt_createArray(asrs_Simulator$Reason, 7);
14821
+ var$3 = var$2.data;
14822
+ var$3[0] = asrs_Simulator$Reason_BREAKPOINT;
14823
+ var$3[1] = asrs_Simulator$Reason_EXCEPTION;
14824
+ var$3[2] = asrs_Simulator$Reason_MAX_STEPS;
14825
+ var$3[3] = asrs_Simulator$Reason_NORMAL_TERMINATION;
14826
+ var$3[4] = asrs_Simulator$Reason_CLIFF_TERMINATION;
14827
+ var$3[5] = asrs_Simulator$Reason_PAUSE;
14828
+ var$3[6] = var$1;
14829
+ asrs_Simulator$Reason_$VALUES = var$2;
14830
+ };
14775
14831
  function jur_Pattern() {
14776
14832
  let a = this;
14777
14833
  jl_Object.call(a);
@@ -15733,7 +15789,7 @@ var asra_Tokenizer__init_ = () => {
15733
15789
  var asra_Tokenizer_processIncludes = ($this, $program, $inclFiles, $files) => {
15734
15790
  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;
15735
15791
  $source = $program.$sourceList;
15736
- $result = ju_ArrayList__init_3($source.$size0);
15792
+ $result = ju_ArrayList__init_2($source.$size0);
15737
15793
  $i = 0;
15738
15794
  $t = $inclFiles;
15739
15795
  var$8 = $files;
@@ -16505,7 +16561,6 @@ var jl_Thread__clinit_ = () => {
16505
16561
  };
16506
16562
  var jl_IllegalStateException = $rt_classWithoutFields(jl_RuntimeException);
16507
16563
  var jl_IllegalMonitorStateException = $rt_classWithoutFields(jl_RuntimeException);
16508
- var jl_NegativeArraySizeException = $rt_classWithoutFields(jl_RuntimeException);
16509
16564
  var otjc_JSObjects = $rt_classWithoutFields();
16510
16565
  var otji_JSWrapper$Helper = $rt_classWithoutFields();
16511
16566
  var otji_JSWrapper$Helper_hashCodes = null;
@@ -16541,6 +16596,7 @@ var otji_JSWrapper$Helper__clinit_ = () => {
16541
16596
  otji_JSWrapper$Helper_numberFinalizationRegistry = var$1;
16542
16597
  };
16543
16598
  var otjc_JSUndefined = $rt_classWithoutFields();
16599
+ var jl_NegativeArraySizeException = $rt_classWithoutFields(jl_RuntimeException);
16544
16600
  function ju_Arrays$ArrayAsList() {
16545
16601
  ju_AbstractList.call(this);
16546
16602
  this.$array3 = null;
@@ -23256,7 +23312,7 @@ var asrs_Simulator_getInstance = () => {
23256
23312
  if (asrs_Simulator_simulator === null) {
23257
23313
  var$1 = new asrs_Simulator();
23258
23314
  ju_Observable__init_(var$1);
23259
- var$1.$stopListeners = ju_ArrayList__init_3(1);
23315
+ var$1.$stopListeners = ju_ArrayList__init_2(1);
23260
23316
  var$1.$simulatorThread = null;
23261
23317
  asrs_Simulator_simulator = var$1;
23262
23318
  }
@@ -24304,7 +24360,7 @@ var asra_TokenList_clone = ($this) => {
24304
24360
  a: {
24305
24361
  try {
24306
24362
  $t = jl_Object_clone($this);
24307
- $t.$tokenList0 = ju_ArrayList__init_1($this.$tokenList0);
24363
+ $t.$tokenList0 = ju_ArrayList__init_3($this.$tokenList0);
24308
24364
  } catch ($$e) {
24309
24365
  $$je = $rt_wrapException($$e);
24310
24366
  if ($$je instanceof jl_CloneNotSupportedException) {
@@ -24583,10 +24639,10 @@ var asrs_Simulator$SimThread_handleTrap = ($this, $se, $pc) => {
24583
24639
  if (!$utvec && $se.$cause < 0)
24584
24640
  $rt_throw(jl_AssertionError__init_($rt_s(1514)));
24585
24641
  a: {
24586
- asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(1132), Long_fromInt($se.$cause));
24642
+ asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(1125), Long_fromInt($se.$cause));
24587
24643
  asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(680), Long_fromInt($pc));
24588
- asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(1133), Long_fromInt($se.$value5));
24589
- $base = asrrh_ControlAndStatusRegisterFile_getValue($rt_s(1130)) & -4;
24644
+ asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(1126), Long_fromInt($se.$value5));
24645
+ $base = asrrh_ControlAndStatusRegisterFile_getValue($rt_s(1123)) & -4;
24590
24646
  $exceptionHandler = null;
24591
24647
  if (!(asrrh_ControlAndStatusRegisterFile_getValue($rt_s(679)) & 1))
24592
24648
  var$6 = $exceptionHandler;
@@ -24622,12 +24678,12 @@ var asrs_Simulator$SimThread_handleInterrupt = ($this, $value, $cause, $pc) => {
24622
24678
  if (!$mode && !($cause & -2147483648))
24623
24679
  $rt_throw(jl_AssertionError__init_($rt_s(1515)));
24624
24680
  $code = $cause & 2147483647;
24625
- if (!$mode && !(asrrh_ControlAndStatusRegisterFile_getValue($rt_s(679)) & 1 && asrrh_ControlAndStatusRegisterFile_getValue($rt_s(1129)) & 1 << $code))
24681
+ if (!$mode && !(asrrh_ControlAndStatusRegisterFile_getValue($rt_s(679)) & 1 && asrrh_ControlAndStatusRegisterFile_getValue($rt_s(1122)) & 1 << $code))
24626
24682
  $rt_throw(jl_AssertionError__init_($rt_s(1516)));
24627
- asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(1132), Long_fromInt($cause));
24683
+ asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(1125), Long_fromInt($cause));
24628
24684
  asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(680), Long_fromInt($pc));
24629
- asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(1133), Long_fromInt($value));
24630
- $utvec = asrrh_ControlAndStatusRegisterFile_getValue($rt_s(1130));
24685
+ asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(1126), Long_fromInt($value));
24686
+ $utvec = asrrh_ControlAndStatusRegisterFile_getValue($rt_s(1123));
24631
24687
  $base = $utvec & -4;
24632
24688
  if (($utvec & 3) == 2)
24633
24689
  $base = $base + (4 * $code | 0) | 0;
@@ -24707,8 +24763,8 @@ var asrs_Simulator$SimThread_run = ($this) => {
24707
24763
  asrs_Simulator$SimThread_stopExecution($this, 0, $this.$constructReturnReason);
24708
24764
  return;
24709
24765
  }
24710
- $uip = asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1134));
24711
- $uie = asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1129));
24766
+ $uip = asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1127));
24767
+ $uie = asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1122));
24712
24768
  $IE = Long_eq(Long_and(asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(679)), Long_fromInt(1)), Long_ZERO) ? 0 : 1;
24713
24769
  $this.$pc0 = asrrh_RegisterFile_getProgramCounter();
24714
24770
  $se = asrrh_InterruptController_lock;
@@ -24899,8 +24955,8 @@ var asrs_Simulator$SimThread_run = ($this) => {
24899
24955
  jl_Object_monitorExit($se);
24900
24956
  $rt_throw($instruction);
24901
24957
  }
24902
- if (Long_ne($cycle, asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1134))))
24903
- asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(1134), $cycle);
24958
+ if (Long_ne($cycle, asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1127))))
24959
+ asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(1127), $cycle);
24904
24960
  var$14 = $this.$maxSteps;
24905
24961
  if (var$14 > 0) {
24906
24962
  $steps = $steps + 1 | 0;
@@ -25021,12 +25077,12 @@ var asrs_Simulator$SimThread_run = ($this) => {
25021
25077
  $waiting = 1;
25022
25078
  }
25023
25079
  v: {
25024
- $cycle = asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1135));
25025
- $instret = asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1137));
25080
+ $cycle = asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1128));
25081
+ $instret = asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1130));
25026
25082
  $time = jl_System_currentTimeMillis();
25027
- asrrh_ControlAndStatusRegisterFile_updateRegisterBackdoor($rt_s(1135), Long_add($cycle, Long_fromInt(1)));
25028
- asrrh_ControlAndStatusRegisterFile_updateRegisterBackdoor($rt_s(1137), Long_add($instret, Long_fromInt(1)));
25029
- asrrh_ControlAndStatusRegisterFile_updateRegisterBackdoor($rt_s(1136), $time);
25083
+ asrrh_ControlAndStatusRegisterFile_updateRegisterBackdoor($rt_s(1128), Long_add($cycle, Long_fromInt(1)));
25084
+ asrrh_ControlAndStatusRegisterFile_updateRegisterBackdoor($rt_s(1130), Long_add($instret, Long_fromInt(1)));
25085
+ asrrh_ControlAndStatusRegisterFile_updateRegisterBackdoor($rt_s(1129), $time);
25030
25086
  if (!$ebreak) {
25031
25087
  var$1 = $this.$breakPoints;
25032
25088
  if (var$1 === null)
@@ -25049,8 +25105,8 @@ var asrs_Simulator$SimThread_run = ($this) => {
25049
25105
  asrs_Simulator$SimThread_stopExecution($this, 0, $this.$constructReturnReason);
25050
25106
  return;
25051
25107
  }
25052
- $uip = asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1134));
25053
- $uie = asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1129));
25108
+ $uip = asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1127));
25109
+ $uie = asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1122));
25054
25110
  $IE = Long_eq(Long_and(asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(679)), Long_fromInt(1)), Long_ZERO) ? 0 : 1;
25055
25111
  $this.$pc0 = asrrh_RegisterFile_getProgramCounter();
25056
25112
  $se = asrrh_InterruptController_lock;
@@ -25086,8 +25142,8 @@ var asrs_Simulator$SimThread_run = ($this) => {
25086
25142
  asrs_Simulator$SimThread_stopExecution($this, 0, $this.$constructReturnReason);
25087
25143
  return;
25088
25144
  }
25089
- $uip = asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1134));
25090
- $uie = asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1129));
25145
+ $uip = asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1127));
25146
+ $uie = asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1122));
25091
25147
  $IE = Long_eq(Long_and(asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(679)), Long_fromInt(1)), Long_ZERO) ? 0 : 1;
25092
25148
  $this.$pc0 = asrrh_RegisterFile_getProgramCounter();
25093
25149
  $se = asrrh_InterruptController_lock;
@@ -25125,8 +25181,8 @@ var asrs_Simulator$SimThread_run = ($this) => {
25125
25181
  asrs_Simulator$SimThread_stopExecution($this, 0, $this.$constructReturnReason);
25126
25182
  return;
25127
25183
  }
25128
- $uip = asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1134));
25129
- $uie = asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1129));
25184
+ $uip = asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1127));
25185
+ $uie = asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1122));
25130
25186
  $IE = Long_eq(Long_and(asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(679)), Long_fromInt(1)), Long_ZERO) ? 0 : 1;
25131
25187
  $this.$pc0 = asrrh_RegisterFile_getProgramCounter();
25132
25188
  $se = asrrh_InterruptController_lock;
@@ -26970,7 +27026,7 @@ var asra_Macro_getSubstitutedLine = ($this, $line, $args, $counter, $errors) =>
26970
27026
  $substitute = $token.$value;
26971
27027
  var$5 = $this.$labels;
26972
27028
  var$12 = ju_Comparator$NaturalOrder_INSTANCE;
26973
- var$13 = $rt_isInstance(var$5, ju_RandomAccess) ? var$5 : ju_ArrayList__init_1(var$5);
27029
+ var$13 = $rt_isInstance(var$5, ju_RandomAccess) ? var$5 : ju_ArrayList__init_3(var$5);
26974
27030
  if (var$12 === null)
26975
27031
  var$12 = ju_Comparator$NaturalOrder_INSTANCE;
26976
27032
  c: {
@@ -31803,6 +31859,222 @@ var asrjt_Floating = $rt_classWithoutFields();
31803
31859
  var asrjt_Floating_isFinite = ($this) => {
31804
31860
  return !$this.$isZero() && !$this.$isNormal() && !$this.$isSubnormal() ? 0 : 1;
31805
31861
  };
31862
+ function asrjt_Float32() {
31863
+ asrjt_Floating.call(this);
31864
+ this.$bits0 = 0;
31865
+ }
31866
+ var asrjt_Float32_Zero = null;
31867
+ var asrjt_Float32_NegativeZero = null;
31868
+ var asrjt_Float32_NaN = null;
31869
+ var asrjt_Float32_Infinity = null;
31870
+ var asrjt_Float32_NegativeInfinity = null;
31871
+ var asrjt_Float32_$assertionsDisabled = 0;
31872
+ var asrjt_Float32__init_2 = ($this, $bits) => {
31873
+ $this.$bits0 = $bits;
31874
+ };
31875
+ var asrjt_Float32__init_ = (var_0) => {
31876
+ let var_1 = new asrjt_Float32();
31877
+ asrjt_Float32__init_2(var_1, var_0);
31878
+ return var_1;
31879
+ };
31880
+ var asrjt_Float32__init_1 = ($this, $sign, $exponent, $significand) => {
31881
+ asrjt_Float32__init_2($this, (!$sign ? 0 : -2147483648) | (($exponent + 127 | 0) & 255) << 23 | $significand & 8388607);
31882
+ };
31883
+ var asrjt_Float32__init_0 = (var_0, var_1, var_2) => {
31884
+ let var_3 = new asrjt_Float32();
31885
+ asrjt_Float32__init_1(var_3, var_0, var_1, var_2);
31886
+ return var_3;
31887
+ };
31888
+ var asrjt_Float32_exponent = ($this) => {
31889
+ return (($this.$bits0 >>> 23 | 0) & 255) - 127 | 0;
31890
+ };
31891
+ var asrjt_Float32_negate = ($this) => {
31892
+ return asrjt_Float32__init_($this.$bits0 ^ -2147483648);
31893
+ };
31894
+ var asrjt_Float32_isSignMinus = ($this) => {
31895
+ return ($this.$bits0 >>> 31 | 0) != 1 ? 0 : 1;
31896
+ };
31897
+ var asrjt_Float32_isInfinite = ($this) => {
31898
+ return asrjt_Float32_exponent($this) == 128 && !($this.$bits0 & 8388607) ? 1 : 0;
31899
+ };
31900
+ var asrjt_Float32_isNormal = ($this) => {
31901
+ return asrjt_Float32_exponent($this) != -127 && asrjt_Float32_exponent($this) != 128 ? 1 : 0;
31902
+ };
31903
+ var asrjt_Float32_isSubnormal = ($this) => {
31904
+ return asrjt_Float32_exponent($this) == -127 && !asrjt_Float32_isZero($this) ? 1 : 0;
31905
+ };
31906
+ var asrjt_Float32_isNaN = ($this) => {
31907
+ return asrjt_Float32_exponent($this) == 128 && !asrjt_Float32_isInfinite($this) ? 1 : 0;
31908
+ };
31909
+ var asrjt_Float32_isSignalling = ($this) => {
31910
+ if (!asrjt_Float32_isNaN($this))
31911
+ return 0;
31912
+ return $this.$bits0 & 4194304 ? 0 : 1;
31913
+ };
31914
+ var asrjt_Float32_isZero = ($this) => {
31915
+ let var$1;
31916
+ var$1 = $this.$bits0;
31917
+ return var$1 && var$1 != -2147483648 ? 0 : 1;
31918
+ };
31919
+ var asrjt_Float32_fromExactFloat0 = ($this, $ef, $env) => {
31920
+ let $normalizedExponent, $mainBits, $roundedBits, $a, $bitsToRound, $upBits, $towardsZero, $awayZero;
31921
+ if (asrji_ExactFloat_isZero($ef))
31922
+ return !$ef.$sign ? asrjt_Float32_Zero : asrjt_Float32_NegativeZero;
31923
+ $ef = asrji_ExactFloat_normalize($ef);
31924
+ $normalizedExponent = $ef.$exponent0 + jm_BigInteger_bitLength($ef.$significand) | 0;
31925
+ if ($normalizedExponent > -126) {
31926
+ if ($normalizedExponent > 128) {
31927
+ $mainBits = $env.$flags;
31928
+ $roundedBits = asrj_Flags_overflow;
31929
+ ju_GenericEnumSet_add($mainBits, $roundedBits);
31930
+ $mainBits = $env.$flags;
31931
+ $roundedBits = asrj_Flags_inexact;
31932
+ ju_GenericEnumSet_add($mainBits, $roundedBits);
31933
+ asrjt_Float32$1_$callClinit();
31934
+ switch (asrjt_Float32$1_$SwitchMap$app$specy$rars$jsoftfloat$RoundingMode.data[jl_Enum_ordinal($env.$mode)]) {
31935
+ case 1:
31936
+ break;
31937
+ case 2:
31938
+ case 3:
31939
+ $normalizedExponent = $ef.$sign;
31940
+ if ($normalizedExponent == ($env.$mode !== asrj_RoundingMode_max ? 0 : 1))
31941
+ return asrjt_Float32__init_0($normalizedExponent, 127, -1);
31942
+ return !$normalizedExponent ? asrjt_Float32_Infinity : asrjt_Float32_NegativeInfinity;
31943
+ case 4:
31944
+ case 5:
31945
+ return !$ef.$sign ? asrjt_Float32_Infinity : asrjt_Float32_NegativeInfinity;
31946
+ default:
31947
+ if (!asrjt_Float32_$assertionsDisabled)
31948
+ $rt_throw(jl_AssertionError__init_($rt_s(1629)));
31949
+ return !$ef.$sign ? asrjt_Float32_Infinity : asrjt_Float32_NegativeInfinity;
31950
+ }
31951
+ return asrjt_Float32__init_0($ef.$sign, 127, -1);
31952
+ }
31953
+ if (jm_BigInteger_bitLength($ef.$significand) <= 24) {
31954
+ if (!asrjt_Float32_$assertionsDisabled && (($ef.$exponent0 + jm_BigInteger_bitLength($ef.$significand) | 0) - 1 | 0) <= -127)
31955
+ $rt_throw(jl_AssertionError__init_($rt_s(1630)));
31956
+ $a = new asrjt_Float32();
31957
+ $normalizedExponent = $ef.$sign;
31958
+ $bitsToRound = ($ef.$exponent0 + jm_BigInteger_bitLength($ef.$significand) | 0) - 1 | 0;
31959
+ $ef = $ef.$significand;
31960
+ asrjt_Float32__init_1($a, $normalizedExponent, $bitsToRound, jm_BigInteger_intValueExact(jm_BigInteger_shiftLeft($ef, 24 - jm_BigInteger_bitLength($ef) | 0)) & 8388607);
31961
+ return $a;
31962
+ }
31963
+ $mainBits = $env.$flags;
31964
+ $roundedBits = asrj_Flags_inexact;
31965
+ ju_GenericEnumSet_add($mainBits, $roundedBits);
31966
+ $bitsToRound = jm_BigInteger_bitLength($ef.$significand) - 24 | 0;
31967
+ $mainBits = jm_BigInteger_shiftLeft(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound), $bitsToRound);
31968
+ $roundedBits = jm_BigInteger_subtract($ef.$significand, $mainBits);
31969
+ $upBits = jm_BigInteger_add(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound), jm_BigInteger_valueOf(Long_fromInt(1)));
31970
+ $towardsZero = asrjt_Float32__init_0($ef.$sign, ($ef.$exponent0 + 23 | 0) + $bitsToRound | 0, jm_BigInteger_intValueExact(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound)) & 8388607);
31971
+ $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);
31972
+ } else {
31973
+ if ($ef.$exponent0 > -150) {
31974
+ if (!asrjt_Float32_$assertionsDisabled && jm_BigInteger_bitLength($ef.$significand) > 23)
31975
+ $rt_throw(jl_AssertionError__init_($rt_s(1631)));
31976
+ return asrjt_Float32__init_0($ef.$sign, -127, jm_BigInteger_intValueExact(jm_BigInteger_shiftLeft($ef.$significand, 149 + $ef.$exponent0 | 0)));
31977
+ }
31978
+ $mainBits = $env.$flags;
31979
+ $roundedBits = asrj_Flags_inexact;
31980
+ ju_GenericEnumSet_add($mainBits, $roundedBits);
31981
+ $mainBits = $env.$flags;
31982
+ $roundedBits = asrj_Flags_underflow;
31983
+ ju_GenericEnumSet_add($mainBits, $roundedBits);
31984
+ $bitsToRound = -149 - $ef.$exponent0 | 0;
31985
+ $mainBits = jm_BigInteger_shiftLeft(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound), $bitsToRound);
31986
+ $roundedBits = jm_BigInteger_subtract($ef.$significand, $mainBits);
31987
+ $towardsZero = asrjt_Float32__init_0($ef.$sign, -127, jm_BigInteger_intValueExact(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound)));
31988
+ $upBits = jm_BigInteger_add(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound), jm_BigInteger_valueOf(Long_fromInt(1)));
31989
+ if (!jm_BigInteger_testBit($upBits, 0) && jm_BigInteger_bitLength($upBits) > 23)
31990
+ $awayZero = asrjt_Float32__init_0($ef.$sign, -126, jm_BigInteger_intValueExact($upBits) & 8388607);
31991
+ else {
31992
+ if (!asrjt_Float32_$assertionsDisabled && jm_BigInteger_bitLength($upBits) > 23)
31993
+ $rt_throw(jl_AssertionError__init_1());
31994
+ $awayZero = asrjt_Float32__init_0($ef.$sign, -127, jm_BigInteger_intValueExact($upBits));
31995
+ }
31996
+ }
31997
+ asrjt_Float32$1_$callClinit();
31998
+ switch (asrjt_Float32$1_$SwitchMap$app$specy$rars$jsoftfloat$RoundingMode.data[jl_Enum_ordinal($env.$mode)]) {
31999
+ case 1:
32000
+ break;
32001
+ case 2:
32002
+ case 3:
32003
+ if ($ef.$sign == ($env.$mode !== asrj_RoundingMode_max ? 0 : 1))
32004
+ return $towardsZero;
32005
+ return $awayZero;
32006
+ default:
32007
+ $ef = jm_BigInteger_ONE;
32008
+ $normalizedExponent = $bitsToRound - 1 | 0;
32009
+ if (!jm_BigInteger_equals($roundedBits, jm_BigInteger_shiftLeft($ef, $normalizedExponent))) {
32010
+ if (jm_BigInteger_compareTo($roundedBits, jm_BigInteger_shiftLeft(jm_BigInteger_ONE, $normalizedExponent)) <= 0)
32011
+ return $towardsZero;
32012
+ return $awayZero;
32013
+ }
32014
+ if ($env.$mode !== asrj_RoundingMode_away && $awayZero.$bits0 & 1)
32015
+ return $towardsZero;
32016
+ return $awayZero;
32017
+ }
32018
+ return $towardsZero;
32019
+ };
32020
+ var asrjt_Float32_toExactFloat = ($this) => {
32021
+ let $sign, $exponent, $significand;
32022
+ if (!asrjt_Float32_$assertionsDisabled && asrjt_Float32_isInfinite($this))
32023
+ $rt_throw(jl_AssertionError__init_($rt_s(1632)));
32024
+ if (!asrjt_Float32_$assertionsDisabled && asrjt_Float32_isNaN($this))
32025
+ $rt_throw(jl_AssertionError__init_($rt_s(1633)));
32026
+ if (!asrjt_Float32_$assertionsDisabled && asrjt_Float32_isZero($this))
32027
+ $rt_throw(jl_AssertionError__init_($rt_s(1634)));
32028
+ $sign = asrjt_Float32_isSignMinus($this);
32029
+ if (asrjt_Float32_isZero($this)) {
32030
+ $exponent = 0;
32031
+ $significand = jm_BigInteger_ZERO;
32032
+ } else if (asrjt_Float32_isNormal($this)) {
32033
+ $exponent = asrjt_Float32_exponent($this) - 23 | 0;
32034
+ $significand = jm_BigInteger_valueOf(Long_fromInt(($this.$bits0 & 8388607) + 8388608 | 0));
32035
+ } else {
32036
+ if (!asrjt_Float32_isSubnormal($this)) {
32037
+ if (asrjt_Float32_$assertionsDisabled)
32038
+ return null;
32039
+ $rt_throw(jl_AssertionError__init_($rt_s(1635)));
32040
+ }
32041
+ $exponent = asrjt_Float32_exponent($this) - 22 | 0;
32042
+ $significand = jm_BigInteger_valueOf(Long_fromInt($this.$bits0 & 8388607));
32043
+ }
32044
+ return asrji_ExactFloat__init_($sign, $exponent, $significand);
32045
+ };
32046
+ var asrjt_Float32_maxPrecision = ($this) => {
32047
+ return 30;
32048
+ };
32049
+ var asrjt_Float32_negate0 = ($this) => {
32050
+ return asrjt_Float32_negate($this);
32051
+ };
32052
+ var asrjt_Float32_fromExactFloat = ($this, var$1, var$2) => {
32053
+ return asrjt_Float32_fromExactFloat0($this, var$1, var$2);
32054
+ };
32055
+ var asrjt_Float32_NegativeInfinity0 = ($this) => {
32056
+ return asrjt_Float32_NegativeInfinity;
32057
+ };
32058
+ var asrjt_Float32_Infinity0 = ($this) => {
32059
+ return asrjt_Float32_Infinity;
32060
+ };
32061
+ var asrjt_Float32_NegativeZero0 = ($this) => {
32062
+ return asrjt_Float32_NegativeZero;
32063
+ };
32064
+ var asrjt_Float32_Zero0 = ($this) => {
32065
+ return asrjt_Float32_Zero;
32066
+ };
32067
+ var asrjt_Float32_NaN0 = ($this) => {
32068
+ return asrjt_Float32_NaN;
32069
+ };
32070
+ var asrjt_Float32__clinit_ = () => {
32071
+ asrjt_Float32_$assertionsDisabled = 0;
32072
+ asrjt_Float32_Zero = asrjt_Float32__init_(0);
32073
+ asrjt_Float32_NegativeZero = asrjt_Float32__init_(-2147483648);
32074
+ asrjt_Float32_NaN = asrjt_Float32__init_(2143289344);
32075
+ asrjt_Float32_Infinity = asrjt_Float32__init_(2139095040);
32076
+ asrjt_Float32_NegativeInfinity = asrjt_Float32__init_(-8388608);
32077
+ };
31806
32078
  function asrjt_Float64() {
31807
32079
  asrjt_Floating.call(this);
31808
32080
  this.$bits1 = Long_ZERO;
@@ -32127,324 +32399,6 @@ var asrjo_Conversions_convertFromInt = ($i, $env, $helper) => {
32127
32399
  var$4.$significand = $i;
32128
32400
  return $helper.$fromExactFloat(var$4, $env);
32129
32401
  };
32130
- function asrjt_Float32() {
32131
- asrjt_Floating.call(this);
32132
- this.$bits0 = 0;
32133
- }
32134
- var asrjt_Float32_Zero = null;
32135
- var asrjt_Float32_NegativeZero = null;
32136
- var asrjt_Float32_NaN = null;
32137
- var asrjt_Float32_Infinity = null;
32138
- var asrjt_Float32_NegativeInfinity = null;
32139
- var asrjt_Float32_$assertionsDisabled = 0;
32140
- var asrjt_Float32__init_2 = ($this, $bits) => {
32141
- $this.$bits0 = $bits;
32142
- };
32143
- var asrjt_Float32__init_ = (var_0) => {
32144
- let var_1 = new asrjt_Float32();
32145
- asrjt_Float32__init_2(var_1, var_0);
32146
- return var_1;
32147
- };
32148
- var asrjt_Float32__init_1 = ($this, $sign, $exponent, $significand) => {
32149
- asrjt_Float32__init_2($this, (!$sign ? 0 : -2147483648) | (($exponent + 127 | 0) & 255) << 23 | $significand & 8388607);
32150
- };
32151
- var asrjt_Float32__init_0 = (var_0, var_1, var_2) => {
32152
- let var_3 = new asrjt_Float32();
32153
- asrjt_Float32__init_1(var_3, var_0, var_1, var_2);
32154
- return var_3;
32155
- };
32156
- var asrjt_Float32_exponent = ($this) => {
32157
- return (($this.$bits0 >>> 23 | 0) & 255) - 127 | 0;
32158
- };
32159
- var asrjt_Float32_negate = ($this) => {
32160
- return asrjt_Float32__init_($this.$bits0 ^ -2147483648);
32161
- };
32162
- var asrjt_Float32_isSignMinus = ($this) => {
32163
- return ($this.$bits0 >>> 31 | 0) != 1 ? 0 : 1;
32164
- };
32165
- var asrjt_Float32_isInfinite = ($this) => {
32166
- return asrjt_Float32_exponent($this) == 128 && !($this.$bits0 & 8388607) ? 1 : 0;
32167
- };
32168
- var asrjt_Float32_isNormal = ($this) => {
32169
- return asrjt_Float32_exponent($this) != -127 && asrjt_Float32_exponent($this) != 128 ? 1 : 0;
32170
- };
32171
- var asrjt_Float32_isSubnormal = ($this) => {
32172
- return asrjt_Float32_exponent($this) == -127 && !asrjt_Float32_isZero($this) ? 1 : 0;
32173
- };
32174
- var asrjt_Float32_isNaN = ($this) => {
32175
- return asrjt_Float32_exponent($this) == 128 && !asrjt_Float32_isInfinite($this) ? 1 : 0;
32176
- };
32177
- var asrjt_Float32_isSignalling = ($this) => {
32178
- if (!asrjt_Float32_isNaN($this))
32179
- return 0;
32180
- return $this.$bits0 & 4194304 ? 0 : 1;
32181
- };
32182
- var asrjt_Float32_isZero = ($this) => {
32183
- let var$1;
32184
- var$1 = $this.$bits0;
32185
- return var$1 && var$1 != -2147483648 ? 0 : 1;
32186
- };
32187
- var asrjt_Float32_fromExactFloat0 = ($this, $ef, $env) => {
32188
- let $normalizedExponent, $mainBits, $roundedBits, $a, $bitsToRound, $upBits, $towardsZero, $awayZero;
32189
- if (asrji_ExactFloat_isZero($ef))
32190
- return !$ef.$sign ? asrjt_Float32_Zero : asrjt_Float32_NegativeZero;
32191
- $ef = asrji_ExactFloat_normalize($ef);
32192
- $normalizedExponent = $ef.$exponent0 + jm_BigInteger_bitLength($ef.$significand) | 0;
32193
- if ($normalizedExponent > -126) {
32194
- if ($normalizedExponent > 128) {
32195
- $mainBits = $env.$flags;
32196
- $roundedBits = asrj_Flags_overflow;
32197
- ju_GenericEnumSet_add($mainBits, $roundedBits);
32198
- $mainBits = $env.$flags;
32199
- $roundedBits = asrj_Flags_inexact;
32200
- ju_GenericEnumSet_add($mainBits, $roundedBits);
32201
- asrjt_Float32$1_$callClinit();
32202
- switch (asrjt_Float32$1_$SwitchMap$app$specy$rars$jsoftfloat$RoundingMode.data[jl_Enum_ordinal($env.$mode)]) {
32203
- case 1:
32204
- break;
32205
- case 2:
32206
- case 3:
32207
- $normalizedExponent = $ef.$sign;
32208
- if ($normalizedExponent == ($env.$mode !== asrj_RoundingMode_max ? 0 : 1))
32209
- return asrjt_Float32__init_0($normalizedExponent, 127, -1);
32210
- return !$normalizedExponent ? asrjt_Float32_Infinity : asrjt_Float32_NegativeInfinity;
32211
- case 4:
32212
- case 5:
32213
- return !$ef.$sign ? asrjt_Float32_Infinity : asrjt_Float32_NegativeInfinity;
32214
- default:
32215
- if (!asrjt_Float32_$assertionsDisabled)
32216
- $rt_throw(jl_AssertionError__init_($rt_s(1629)));
32217
- return !$ef.$sign ? asrjt_Float32_Infinity : asrjt_Float32_NegativeInfinity;
32218
- }
32219
- return asrjt_Float32__init_0($ef.$sign, 127, -1);
32220
- }
32221
- if (jm_BigInteger_bitLength($ef.$significand) <= 24) {
32222
- if (!asrjt_Float32_$assertionsDisabled && (($ef.$exponent0 + jm_BigInteger_bitLength($ef.$significand) | 0) - 1 | 0) <= -127)
32223
- $rt_throw(jl_AssertionError__init_($rt_s(1630)));
32224
- $a = new asrjt_Float32();
32225
- $normalizedExponent = $ef.$sign;
32226
- $bitsToRound = ($ef.$exponent0 + jm_BigInteger_bitLength($ef.$significand) | 0) - 1 | 0;
32227
- $ef = $ef.$significand;
32228
- asrjt_Float32__init_1($a, $normalizedExponent, $bitsToRound, jm_BigInteger_intValueExact(jm_BigInteger_shiftLeft($ef, 24 - jm_BigInteger_bitLength($ef) | 0)) & 8388607);
32229
- return $a;
32230
- }
32231
- $mainBits = $env.$flags;
32232
- $roundedBits = asrj_Flags_inexact;
32233
- ju_GenericEnumSet_add($mainBits, $roundedBits);
32234
- $bitsToRound = jm_BigInteger_bitLength($ef.$significand) - 24 | 0;
32235
- $mainBits = jm_BigInteger_shiftLeft(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound), $bitsToRound);
32236
- $roundedBits = jm_BigInteger_subtract($ef.$significand, $mainBits);
32237
- $upBits = jm_BigInteger_add(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound), jm_BigInteger_valueOf(Long_fromInt(1)));
32238
- $towardsZero = asrjt_Float32__init_0($ef.$sign, ($ef.$exponent0 + 23 | 0) + $bitsToRound | 0, jm_BigInteger_intValueExact(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound)) & 8388607);
32239
- $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);
32240
- } else {
32241
- if ($ef.$exponent0 > -150) {
32242
- if (!asrjt_Float32_$assertionsDisabled && jm_BigInteger_bitLength($ef.$significand) > 23)
32243
- $rt_throw(jl_AssertionError__init_($rt_s(1631)));
32244
- return asrjt_Float32__init_0($ef.$sign, -127, jm_BigInteger_intValueExact(jm_BigInteger_shiftLeft($ef.$significand, 149 + $ef.$exponent0 | 0)));
32245
- }
32246
- $mainBits = $env.$flags;
32247
- $roundedBits = asrj_Flags_inexact;
32248
- ju_GenericEnumSet_add($mainBits, $roundedBits);
32249
- $mainBits = $env.$flags;
32250
- $roundedBits = asrj_Flags_underflow;
32251
- ju_GenericEnumSet_add($mainBits, $roundedBits);
32252
- $bitsToRound = -149 - $ef.$exponent0 | 0;
32253
- $mainBits = jm_BigInteger_shiftLeft(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound), $bitsToRound);
32254
- $roundedBits = jm_BigInteger_subtract($ef.$significand, $mainBits);
32255
- $towardsZero = asrjt_Float32__init_0($ef.$sign, -127, jm_BigInteger_intValueExact(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound)));
32256
- $upBits = jm_BigInteger_add(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound), jm_BigInteger_valueOf(Long_fromInt(1)));
32257
- if (!jm_BigInteger_testBit($upBits, 0) && jm_BigInteger_bitLength($upBits) > 23)
32258
- $awayZero = asrjt_Float32__init_0($ef.$sign, -126, jm_BigInteger_intValueExact($upBits) & 8388607);
32259
- else {
32260
- if (!asrjt_Float32_$assertionsDisabled && jm_BigInteger_bitLength($upBits) > 23)
32261
- $rt_throw(jl_AssertionError__init_1());
32262
- $awayZero = asrjt_Float32__init_0($ef.$sign, -127, jm_BigInteger_intValueExact($upBits));
32263
- }
32264
- }
32265
- asrjt_Float32$1_$callClinit();
32266
- switch (asrjt_Float32$1_$SwitchMap$app$specy$rars$jsoftfloat$RoundingMode.data[jl_Enum_ordinal($env.$mode)]) {
32267
- case 1:
32268
- break;
32269
- case 2:
32270
- case 3:
32271
- if ($ef.$sign == ($env.$mode !== asrj_RoundingMode_max ? 0 : 1))
32272
- return $towardsZero;
32273
- return $awayZero;
32274
- default:
32275
- $ef = jm_BigInteger_ONE;
32276
- $normalizedExponent = $bitsToRound - 1 | 0;
32277
- if (!jm_BigInteger_equals($roundedBits, jm_BigInteger_shiftLeft($ef, $normalizedExponent))) {
32278
- if (jm_BigInteger_compareTo($roundedBits, jm_BigInteger_shiftLeft(jm_BigInteger_ONE, $normalizedExponent)) <= 0)
32279
- return $towardsZero;
32280
- return $awayZero;
32281
- }
32282
- if ($env.$mode !== asrj_RoundingMode_away && $awayZero.$bits0 & 1)
32283
- return $towardsZero;
32284
- return $awayZero;
32285
- }
32286
- return $towardsZero;
32287
- };
32288
- var asrjt_Float32_toExactFloat = ($this) => {
32289
- let $sign, $exponent, $significand;
32290
- if (!asrjt_Float32_$assertionsDisabled && asrjt_Float32_isInfinite($this))
32291
- $rt_throw(jl_AssertionError__init_($rt_s(1632)));
32292
- if (!asrjt_Float32_$assertionsDisabled && asrjt_Float32_isNaN($this))
32293
- $rt_throw(jl_AssertionError__init_($rt_s(1633)));
32294
- if (!asrjt_Float32_$assertionsDisabled && asrjt_Float32_isZero($this))
32295
- $rt_throw(jl_AssertionError__init_($rt_s(1634)));
32296
- $sign = asrjt_Float32_isSignMinus($this);
32297
- if (asrjt_Float32_isZero($this)) {
32298
- $exponent = 0;
32299
- $significand = jm_BigInteger_ZERO;
32300
- } else if (asrjt_Float32_isNormal($this)) {
32301
- $exponent = asrjt_Float32_exponent($this) - 23 | 0;
32302
- $significand = jm_BigInteger_valueOf(Long_fromInt(($this.$bits0 & 8388607) + 8388608 | 0));
32303
- } else {
32304
- if (!asrjt_Float32_isSubnormal($this)) {
32305
- if (asrjt_Float32_$assertionsDisabled)
32306
- return null;
32307
- $rt_throw(jl_AssertionError__init_($rt_s(1635)));
32308
- }
32309
- $exponent = asrjt_Float32_exponent($this) - 22 | 0;
32310
- $significand = jm_BigInteger_valueOf(Long_fromInt($this.$bits0 & 8388607));
32311
- }
32312
- return asrji_ExactFloat__init_($sign, $exponent, $significand);
32313
- };
32314
- var asrjt_Float32_maxPrecision = ($this) => {
32315
- return 30;
32316
- };
32317
- var asrjt_Float32_negate0 = ($this) => {
32318
- return asrjt_Float32_negate($this);
32319
- };
32320
- var asrjt_Float32_fromExactFloat = ($this, var$1, var$2) => {
32321
- return asrjt_Float32_fromExactFloat0($this, var$1, var$2);
32322
- };
32323
- var asrjt_Float32_NegativeInfinity0 = ($this) => {
32324
- return asrjt_Float32_NegativeInfinity;
32325
- };
32326
- var asrjt_Float32_Infinity0 = ($this) => {
32327
- return asrjt_Float32_Infinity;
32328
- };
32329
- var asrjt_Float32_NegativeZero0 = ($this) => {
32330
- return asrjt_Float32_NegativeZero;
32331
- };
32332
- var asrjt_Float32_Zero0 = ($this) => {
32333
- return asrjt_Float32_Zero;
32334
- };
32335
- var asrjt_Float32_NaN0 = ($this) => {
32336
- return asrjt_Float32_NaN;
32337
- };
32338
- var asrjt_Float32__clinit_ = () => {
32339
- asrjt_Float32_$assertionsDisabled = 0;
32340
- asrjt_Float32_Zero = asrjt_Float32__init_(0);
32341
- asrjt_Float32_NegativeZero = asrjt_Float32__init_(-2147483648);
32342
- asrjt_Float32_NaN = asrjt_Float32__init_(2143289344);
32343
- asrjt_Float32_Infinity = asrjt_Float32__init_(2139095040);
32344
- asrjt_Float32_NegativeInfinity = asrjt_Float32__init_(-8388608);
32345
- };
32346
- var asrjo_Comparisons = $rt_classWithoutFields();
32347
- var asrjo_Comparisons_compareNoNAN = ($a, $b) => {
32348
- if ($a.$isZero()) {
32349
- if ($b.$isZero())
32350
- return 0;
32351
- return !$b.$isSignMinus() ? -1 : 1;
32352
- }
32353
- if ($b.$isZero())
32354
- return !$a.$isSignMinus() ? 1 : -1;
32355
- if (!$a.$isInfinite()) {
32356
- if (!$b.$isInfinite())
32357
- return asrji_ExactFloat_compareTo($a.$toExactFloat(), $b.$toExactFloat());
32358
- return !$b.$isSignMinus() ? -1 : 1;
32359
- }
32360
- if ($b.$isInfinite() && $a.$isSignMinus() == $b.$isSignMinus())
32361
- return 0;
32362
- return !$a.$isSignMinus() ? -1 : 1;
32363
- };
32364
- var asrjo_Comparisons_nonNaNmin = ($a, $b) => {
32365
- if ($a.$isSignMinus() != $b.$isSignMinus()) {
32366
- if ($a.$isSignMinus())
32367
- $b = $a;
32368
- return $b;
32369
- }
32370
- if (!$a.$isInfinite() && !$b.$isInfinite()) {
32371
- if (asrjo_Comparisons_compareNoNAN($a, $b) > 0)
32372
- return $b;
32373
- return $a;
32374
- }
32375
- if ($a.$isInfinite() != $a.$isSignMinus())
32376
- return $b;
32377
- return $a;
32378
- };
32379
- var asrjo_Comparisons_handleNaNNumber = ($a, $b, $env) => {
32380
- let var$4;
32381
- if (!(!$a.$isSignalling() && !$b.$isSignalling())) {
32382
- var$4 = $env.$flags;
32383
- $env = asrj_Flags_invalid;
32384
- ju_GenericEnumSet_add(var$4, $env);
32385
- }
32386
- if ($a.$isNaN()) {
32387
- if ($b.$isNaN())
32388
- $b = $b.$NaN();
32389
- } else
32390
- $b = !$b.$isNaN() ? null : $a;
32391
- return $b;
32392
- };
32393
- var asrjo_Comparisons_minimumNumber = ($a, $b, $env) => {
32394
- let $tmp_0;
32395
- $tmp_0 = asrjo_Comparisons_handleNaNNumber($a, $b, $env);
32396
- if ($tmp_0 !== null)
32397
- return $tmp_0;
32398
- return asrjo_Comparisons_nonNaNmin($a, $b);
32399
- };
32400
- var asrjo_Comparisons_maximumNumber = ($a, $b, $env) => {
32401
- let $tmp_0;
32402
- $tmp_0 = asrjo_Comparisons_handleNaNNumber($a, $b, $env);
32403
- if ($tmp_0 !== null)
32404
- return $tmp_0;
32405
- if ($a === asrjo_Comparisons_nonNaNmin($a, $b))
32406
- $a = $b;
32407
- return $a;
32408
- };
32409
- var asrjo_Comparisons_compareQuietEqual = ($a, $b, $env) => {
32410
- let var$4;
32411
- if (!(!$a.$isSignalling() && !$b.$isSignalling())) {
32412
- var$4 = $env.$flags;
32413
- $env = asrj_Flags_invalid;
32414
- ju_GenericEnumSet_add(var$4, $env);
32415
- }
32416
- if (!$a.$isNaN() && !$b.$isNaN())
32417
- return asrjo_Comparisons_compareNoNAN($a, $b) ? 0 : 1;
32418
- return 0;
32419
- };
32420
- var asrjo_Comparisons_compareSignalingLessThan = ($a, $b, $env) => {
32421
- let var$4, var$5;
32422
- if (!(!$a.$isNaN() && !$b.$isNaN())) {
32423
- var$4 = $env.$flags;
32424
- var$5 = asrj_Flags_invalid;
32425
- ju_GenericEnumSet_add(var$4, var$5);
32426
- }
32427
- if (!(!$a.$isSignalling() && !$b.$isSignalling())) {
32428
- var$5 = $env.$flags;
32429
- $env = asrj_Flags_invalid;
32430
- ju_GenericEnumSet_add(var$5, $env);
32431
- }
32432
- return !$a.$isNaN() && !$b.$isNaN() ? asrjo_Comparisons_compareNoNAN($a, $b) >= 0 ? 0 : 1 : 0;
32433
- };
32434
- var asrjo_Comparisons_compareSignalingLessThanEqual = ($a, $b, $env) => {
32435
- let var$4, var$5;
32436
- if (!(!$a.$isNaN() && !$b.$isNaN())) {
32437
- var$4 = $env.$flags;
32438
- var$5 = asrj_Flags_invalid;
32439
- ju_GenericEnumSet_add(var$4, var$5);
32440
- }
32441
- if (!(!$a.$isSignalling() && !$b.$isSignalling())) {
32442
- var$5 = $env.$flags;
32443
- $env = asrj_Flags_invalid;
32444
- ju_GenericEnumSet_add(var$5, $env);
32445
- }
32446
- return !$a.$isNaN() && !$b.$isNaN() ? asrjo_Comparisons_compareNoNAN($a, $b) > 0 ? 0 : 1 : 0;
32447
- };
32448
32402
  var asrjo_Arithmetic = $rt_classWithoutFields();
32449
32403
  var asrjo_Arithmetic_$assertionsDisabled = 0;
32450
32404
  var asrjo_Arithmetic_add = ($a, $b, $env) => {
@@ -32680,6 +32634,108 @@ var asrjo_Arithmetic_division = ($a, $b, $env) => {
32680
32634
  var asrjo_Arithmetic__clinit_ = () => {
32681
32635
  asrjo_Arithmetic_$assertionsDisabled = 0;
32682
32636
  };
32637
+ var asrjo_Comparisons = $rt_classWithoutFields();
32638
+ var asrjo_Comparisons_compareNoNAN = ($a, $b) => {
32639
+ if ($a.$isZero()) {
32640
+ if ($b.$isZero())
32641
+ return 0;
32642
+ return !$b.$isSignMinus() ? -1 : 1;
32643
+ }
32644
+ if ($b.$isZero())
32645
+ return !$a.$isSignMinus() ? 1 : -1;
32646
+ if (!$a.$isInfinite()) {
32647
+ if (!$b.$isInfinite())
32648
+ return asrji_ExactFloat_compareTo($a.$toExactFloat(), $b.$toExactFloat());
32649
+ return !$b.$isSignMinus() ? -1 : 1;
32650
+ }
32651
+ if ($b.$isInfinite() && $a.$isSignMinus() == $b.$isSignMinus())
32652
+ return 0;
32653
+ return !$a.$isSignMinus() ? -1 : 1;
32654
+ };
32655
+ var asrjo_Comparisons_nonNaNmin = ($a, $b) => {
32656
+ if ($a.$isSignMinus() != $b.$isSignMinus()) {
32657
+ if ($a.$isSignMinus())
32658
+ $b = $a;
32659
+ return $b;
32660
+ }
32661
+ if (!$a.$isInfinite() && !$b.$isInfinite()) {
32662
+ if (asrjo_Comparisons_compareNoNAN($a, $b) > 0)
32663
+ return $b;
32664
+ return $a;
32665
+ }
32666
+ if ($a.$isInfinite() != $a.$isSignMinus())
32667
+ return $b;
32668
+ return $a;
32669
+ };
32670
+ var asrjo_Comparisons_handleNaNNumber = ($a, $b, $env) => {
32671
+ let var$4;
32672
+ if (!(!$a.$isSignalling() && !$b.$isSignalling())) {
32673
+ var$4 = $env.$flags;
32674
+ $env = asrj_Flags_invalid;
32675
+ ju_GenericEnumSet_add(var$4, $env);
32676
+ }
32677
+ if ($a.$isNaN()) {
32678
+ if ($b.$isNaN())
32679
+ $b = $b.$NaN();
32680
+ } else
32681
+ $b = !$b.$isNaN() ? null : $a;
32682
+ return $b;
32683
+ };
32684
+ var asrjo_Comparisons_minimumNumber = ($a, $b, $env) => {
32685
+ let $tmp_0;
32686
+ $tmp_0 = asrjo_Comparisons_handleNaNNumber($a, $b, $env);
32687
+ if ($tmp_0 !== null)
32688
+ return $tmp_0;
32689
+ return asrjo_Comparisons_nonNaNmin($a, $b);
32690
+ };
32691
+ var asrjo_Comparisons_maximumNumber = ($a, $b, $env) => {
32692
+ let $tmp_0;
32693
+ $tmp_0 = asrjo_Comparisons_handleNaNNumber($a, $b, $env);
32694
+ if ($tmp_0 !== null)
32695
+ return $tmp_0;
32696
+ if ($a === asrjo_Comparisons_nonNaNmin($a, $b))
32697
+ $a = $b;
32698
+ return $a;
32699
+ };
32700
+ var asrjo_Comparisons_compareQuietEqual = ($a, $b, $env) => {
32701
+ let var$4;
32702
+ if (!(!$a.$isSignalling() && !$b.$isSignalling())) {
32703
+ var$4 = $env.$flags;
32704
+ $env = asrj_Flags_invalid;
32705
+ ju_GenericEnumSet_add(var$4, $env);
32706
+ }
32707
+ if (!$a.$isNaN() && !$b.$isNaN())
32708
+ return asrjo_Comparisons_compareNoNAN($a, $b) ? 0 : 1;
32709
+ return 0;
32710
+ };
32711
+ var asrjo_Comparisons_compareSignalingLessThan = ($a, $b, $env) => {
32712
+ let var$4, var$5;
32713
+ if (!(!$a.$isNaN() && !$b.$isNaN())) {
32714
+ var$4 = $env.$flags;
32715
+ var$5 = asrj_Flags_invalid;
32716
+ ju_GenericEnumSet_add(var$4, var$5);
32717
+ }
32718
+ if (!(!$a.$isSignalling() && !$b.$isSignalling())) {
32719
+ var$5 = $env.$flags;
32720
+ $env = asrj_Flags_invalid;
32721
+ ju_GenericEnumSet_add(var$5, $env);
32722
+ }
32723
+ return !$a.$isNaN() && !$b.$isNaN() ? asrjo_Comparisons_compareNoNAN($a, $b) >= 0 ? 0 : 1 : 0;
32724
+ };
32725
+ var asrjo_Comparisons_compareSignalingLessThanEqual = ($a, $b, $env) => {
32726
+ let var$4, var$5;
32727
+ if (!(!$a.$isNaN() && !$b.$isNaN())) {
32728
+ var$4 = $env.$flags;
32729
+ var$5 = asrj_Flags_invalid;
32730
+ ju_GenericEnumSet_add(var$4, var$5);
32731
+ }
32732
+ if (!(!$a.$isSignalling() && !$b.$isSignalling())) {
32733
+ var$5 = $env.$flags;
32734
+ $env = asrj_Flags_invalid;
32735
+ ju_GenericEnumSet_add(var$5, $env);
32736
+ }
32737
+ return !$a.$isNaN() && !$b.$isNaN() ? asrjo_Comparisons_compareNoNAN($a, $b) > 0 ? 0 : 1 : 0;
32738
+ };
32683
32739
  function jnci_BufferedEncoder$Controller() {
32684
32740
  let a = this;
32685
32741
  jl_Object.call(a);
@@ -34039,34 +34095,34 @@ function ju_Hashtable$Entry() {
34039
34095
  var ju_Hashtable$Entry_equalsKey = ($this, $aKey, $hash) => {
34040
34096
  return $this.$hashcode == jl_String_hashCode($aKey) && $this.$key.$equals($aKey) ? 1 : 0;
34041
34097
  };
34042
- var asrjt_Float64$1 = $rt_classWithoutFields();
34043
- var asrjt_Float64$1_$SwitchMap$app$specy$rars$jsoftfloat$RoundingMode = null;
34044
- var asrjt_Float64$1_$callClinit = () => {
34045
- asrjt_Float64$1_$callClinit = $rt_eraseClinit(asrjt_Float64$1);
34046
- asrjt_Float64$1__clinit_();
34098
+ var asrjt_Float32$1 = $rt_classWithoutFields();
34099
+ var asrjt_Float32$1_$SwitchMap$app$specy$rars$jsoftfloat$RoundingMode = null;
34100
+ var asrjt_Float32$1_$callClinit = () => {
34101
+ asrjt_Float32$1_$callClinit = $rt_eraseClinit(asrjt_Float32$1);
34102
+ asrjt_Float32$1__clinit_();
34047
34103
  };
34048
- var asrjt_Float64$1__clinit_ = () => {
34104
+ var asrjt_Float32$1__clinit_ = () => {
34049
34105
  let var$1, var$2;
34050
34106
  var$1 = $rt_createIntArray(asrj_RoundingMode_values().data.length);
34051
34107
  var$2 = var$1.data;
34052
- asrjt_Float64$1_$SwitchMap$app$specy$rars$jsoftfloat$RoundingMode = var$1;
34108
+ asrjt_Float32$1_$SwitchMap$app$specy$rars$jsoftfloat$RoundingMode = var$1;
34053
34109
  var$2[asrj_RoundingMode_zero.$ordinal0] = 1;
34054
34110
  var$2[asrj_RoundingMode_min.$ordinal0] = 2;
34055
34111
  var$2[asrj_RoundingMode_max.$ordinal0] = 3;
34056
34112
  var$2[asrj_RoundingMode_away.$ordinal0] = 4;
34057
34113
  var$2[asrj_RoundingMode_even.$ordinal0] = 5;
34058
34114
  };
34059
- var asrjt_Float32$1 = $rt_classWithoutFields();
34060
- var asrjt_Float32$1_$SwitchMap$app$specy$rars$jsoftfloat$RoundingMode = null;
34061
- var asrjt_Float32$1_$callClinit = () => {
34062
- asrjt_Float32$1_$callClinit = $rt_eraseClinit(asrjt_Float32$1);
34063
- asrjt_Float32$1__clinit_();
34115
+ var asrjt_Float64$1 = $rt_classWithoutFields();
34116
+ var asrjt_Float64$1_$SwitchMap$app$specy$rars$jsoftfloat$RoundingMode = null;
34117
+ var asrjt_Float64$1_$callClinit = () => {
34118
+ asrjt_Float64$1_$callClinit = $rt_eraseClinit(asrjt_Float64$1);
34119
+ asrjt_Float64$1__clinit_();
34064
34120
  };
34065
- var asrjt_Float32$1__clinit_ = () => {
34121
+ var asrjt_Float64$1__clinit_ = () => {
34066
34122
  let var$1, var$2;
34067
34123
  var$1 = $rt_createIntArray(asrj_RoundingMode_values().data.length);
34068
34124
  var$2 = var$1.data;
34069
- asrjt_Float32$1_$SwitchMap$app$specy$rars$jsoftfloat$RoundingMode = var$1;
34125
+ asrjt_Float64$1_$SwitchMap$app$specy$rars$jsoftfloat$RoundingMode = var$1;
34070
34126
  var$2[asrj_RoundingMode_zero.$ordinal0] = 1;
34071
34127
  var$2[asrj_RoundingMode_min.$ordinal0] = 2;
34072
34128
  var$2[asrj_RoundingMode_max.$ordinal0] = 3;
@@ -35272,8 +35328,8 @@ $rt_metadata([
35272
35328
  0,
35273
35329
  0,
35274
35330
  ["$equals", $rt_wrapFunction1(jm_BigInteger_equals), "$toString", $rt_wrapFunction0(jm_BigInteger_toString)],
35275
- asr_JsStackFrame,
35276
- "JsStackFrame",
35331
+ asr_JsCompilationResult,
35332
+ "JsCompilationResult",
35277
35333
  10,
35278
35334
  jl_Object,
35279
35335
  [],
@@ -35282,19 +35338,19 @@ $rt_metadata([
35282
35338
  0,
35283
35339
  0,
35284
35340
  0,
35285
- asr_JsCompilationResult,
35286
- "JsCompilationResult",
35287
- 10,
35288
- jl_Object,
35341
+ asr_AssemblyException,
35342
+ 0,
35343
+ jl_Exception,
35289
35344
  [],
35290
35345
  0,
35291
35346
  3,
35292
35347
  0,
35293
35348
  0,
35294
35349
  0,
35295
- asr_AssemblyException,
35296
- 0,
35297
- jl_Exception,
35350
+ asr_JsProgramStatement,
35351
+ "JsProgramStatement",
35352
+ 10,
35353
+ jl_Object,
35298
35354
  [],
35299
35355
  0,
35300
35356
  3,
@@ -35319,6 +35375,16 @@ $rt_metadata([
35319
35375
  0,
35320
35376
  0,
35321
35377
  0,
35378
+ asr_JsStackFrame,
35379
+ "JsStackFrame",
35380
+ 10,
35381
+ jl_Object,
35382
+ [],
35383
+ 0,
35384
+ 3,
35385
+ 0,
35386
+ 0,
35387
+ 0,
35322
35388
  asr_JsRiscV$getTokenizedLines$lambda$_5_0,
35323
35389
  0,
35324
35390
  jl_Object,
@@ -35347,16 +35413,6 @@ $rt_metadata([
35347
35413
  0,
35348
35414
  0,
35349
35415
  0,
35350
- asr_JsProgramStatement,
35351
- "JsProgramStatement",
35352
- 10,
35353
- jl_Object,
35354
- [],
35355
- 0,
35356
- 3,
35357
- 0,
35358
- 0,
35359
- 0,
35360
35416
  ju_Map$Entry,
35361
35417
  0,
35362
35418
  jl_Object,
@@ -37129,9 +37185,8 @@ $rt_metadata([
37129
37185
  0,
37130
37186
  0,
37131
37187
  0,
37132
- asrrh_StackFrame,
37133
- "StackFrame",
37134
- 7,
37188
+ asr_ErrorList,
37189
+ 0,
37135
37190
  jl_Object,
37136
37191
  [],
37137
37192
  0,
@@ -37139,8 +37194,9 @@ $rt_metadata([
37139
37194
  0,
37140
37195
  0,
37141
37196
  0,
37142
- asr_ErrorList,
37143
- 0,
37197
+ asrrh_StackFrame,
37198
+ "StackFrame",
37199
+ 7,
37144
37200
  jl_Object,
37145
37201
  [],
37146
37202
  0,
@@ -37855,16 +37911,6 @@ $rt_metadata([
37855
37911
  0,
37856
37912
  0,
37857
37913
  ["$hasNext", $rt_wrapFunction0(ju_AbstractList$1_hasNext), "$next", $rt_wrapFunction0(ju_AbstractList$1_next)],
37858
- asrs_Simulator$Reason,
37859
- "Simulator$Reason",
37860
- 3,
37861
- jl_Enum,
37862
- [],
37863
- 12,
37864
- 3,
37865
- 0,
37866
- 0,
37867
- 0,
37868
37914
  jlr_Array,
37869
37915
  0,
37870
37916
  jl_Object,
@@ -37910,6 +37956,16 @@ $rt_metadata([
37910
37956
  0,
37911
37957
  0,
37912
37958
  0,
37959
+ asrs_Simulator$Reason,
37960
+ "Simulator$Reason",
37961
+ 3,
37962
+ jl_Enum,
37963
+ [],
37964
+ 12,
37965
+ 3,
37966
+ 0,
37967
+ 0,
37968
+ 0,
37913
37969
  jur_Pattern,
37914
37970
  0,
37915
37971
  jl_Object,
@@ -38049,15 +38105,6 @@ $rt_metadata([
38049
38105
  0,
38050
38106
  0,
38051
38107
  0,
38052
- jl_NegativeArraySizeException,
38053
- 0,
38054
- jl_RuntimeException,
38055
- [],
38056
- 0,
38057
- 3,
38058
- 0,
38059
- 0,
38060
- 0,
38061
38108
  otjc_JSObjects,
38062
38109
  0,
38063
38110
  jl_Object,
@@ -38085,6 +38132,15 @@ $rt_metadata([
38085
38132
  0,
38086
38133
  0,
38087
38134
  0,
38135
+ jl_NegativeArraySizeException,
38136
+ 0,
38137
+ jl_RuntimeException,
38138
+ [],
38139
+ 0,
38140
+ 3,
38141
+ 0,
38142
+ 0,
38143
+ 0,
38088
38144
  ju_Arrays$ArrayAsList,
38089
38145
  0,
38090
38146
  ju_AbstractList,
@@ -40913,7 +40969,7 @@ $rt_metadata([
40913
40969
  0,
40914
40970
  0,
40915
40971
  0,
40916
- asrjt_Float64,
40972
+ asrjt_Float32,
40917
40973
  0,
40918
40974
  asrjt_Floating,
40919
40975
  [],
@@ -40923,48 +40979,39 @@ $rt_metadata([
40923
40979
  0,
40924
40980
  [
40925
40981
  "$isSignMinus",
40926
- $rt_wrapFunction0(asrjt_Float64_isSignMinus),
40982
+ $rt_wrapFunction0(asrjt_Float32_isSignMinus),
40927
40983
  "$isInfinite",
40928
- $rt_wrapFunction0(asrjt_Float64_isInfinite),
40984
+ $rt_wrapFunction0(asrjt_Float32_isInfinite),
40929
40985
  "$isNormal",
40930
- $rt_wrapFunction0(asrjt_Float64_isNormal),
40986
+ $rt_wrapFunction0(asrjt_Float32_isNormal),
40931
40987
  "$isSubnormal",
40932
- $rt_wrapFunction0(asrjt_Float64_isSubnormal),
40988
+ $rt_wrapFunction0(asrjt_Float32_isSubnormal),
40933
40989
  "$isNaN",
40934
- $rt_wrapFunction0(asrjt_Float64_isNaN),
40990
+ $rt_wrapFunction0(asrjt_Float32_isNaN),
40935
40991
  "$isSignalling",
40936
- $rt_wrapFunction0(asrjt_Float64_isSignalling),
40992
+ $rt_wrapFunction0(asrjt_Float32_isSignalling),
40937
40993
  "$isZero",
40938
- $rt_wrapFunction0(asrjt_Float64_isZero),
40994
+ $rt_wrapFunction0(asrjt_Float32_isZero),
40939
40995
  "$toExactFloat",
40940
- $rt_wrapFunction0(asrjt_Float64_toExactFloat),
40996
+ $rt_wrapFunction0(asrjt_Float32_toExactFloat),
40941
40997
  "$maxPrecision",
40942
- $rt_wrapFunction0(asrjt_Float64_maxPrecision),
40998
+ $rt_wrapFunction0(asrjt_Float32_maxPrecision),
40943
40999
  "$negate2",
40944
- $rt_wrapFunction0(asrjt_Float64_negate0),
41000
+ $rt_wrapFunction0(asrjt_Float32_negate0),
40945
41001
  "$fromExactFloat",
40946
- $rt_wrapFunction2(asrjt_Float64_fromExactFloat),
41002
+ $rt_wrapFunction2(asrjt_Float32_fromExactFloat),
40947
41003
  "$NegativeInfinity",
40948
- $rt_wrapFunction0(asrjt_Float64_NegativeInfinity0),
41004
+ $rt_wrapFunction0(asrjt_Float32_NegativeInfinity0),
40949
41005
  "$Infinity",
40950
- $rt_wrapFunction0(asrjt_Float64_Infinity0),
41006
+ $rt_wrapFunction0(asrjt_Float32_Infinity0),
40951
41007
  "$NegativeZero",
40952
- $rt_wrapFunction0(asrjt_Float64_NegativeZero0),
41008
+ $rt_wrapFunction0(asrjt_Float32_NegativeZero0),
40953
41009
  "$Zero",
40954
- $rt_wrapFunction0(asrjt_Float64_Zero0),
41010
+ $rt_wrapFunction0(asrjt_Float32_Zero0),
40955
41011
  "$NaN",
40956
- $rt_wrapFunction0(asrjt_Float64_NaN0)
41012
+ $rt_wrapFunction0(asrjt_Float32_NaN0)
40957
41013
  ],
40958
- asrjo_Conversions,
40959
- 0,
40960
- jl_Object,
40961
- [],
40962
- 0,
40963
- 3,
40964
- 0,
40965
- 0,
40966
- 0,
40967
- asrjt_Float32,
41014
+ asrjt_Float64,
40968
41015
  0,
40969
41016
  asrjt_Floating,
40970
41017
  [],
@@ -40974,39 +41021,39 @@ $rt_metadata([
40974
41021
  0,
40975
41022
  [
40976
41023
  "$isSignMinus",
40977
- $rt_wrapFunction0(asrjt_Float32_isSignMinus),
41024
+ $rt_wrapFunction0(asrjt_Float64_isSignMinus),
40978
41025
  "$isInfinite",
40979
- $rt_wrapFunction0(asrjt_Float32_isInfinite),
41026
+ $rt_wrapFunction0(asrjt_Float64_isInfinite),
40980
41027
  "$isNormal",
40981
- $rt_wrapFunction0(asrjt_Float32_isNormal),
41028
+ $rt_wrapFunction0(asrjt_Float64_isNormal),
40982
41029
  "$isSubnormal",
40983
- $rt_wrapFunction0(asrjt_Float32_isSubnormal),
41030
+ $rt_wrapFunction0(asrjt_Float64_isSubnormal),
40984
41031
  "$isNaN",
40985
- $rt_wrapFunction0(asrjt_Float32_isNaN),
41032
+ $rt_wrapFunction0(asrjt_Float64_isNaN),
40986
41033
  "$isSignalling",
40987
- $rt_wrapFunction0(asrjt_Float32_isSignalling),
41034
+ $rt_wrapFunction0(asrjt_Float64_isSignalling),
40988
41035
  "$isZero",
40989
- $rt_wrapFunction0(asrjt_Float32_isZero),
41036
+ $rt_wrapFunction0(asrjt_Float64_isZero),
40990
41037
  "$toExactFloat",
40991
- $rt_wrapFunction0(asrjt_Float32_toExactFloat),
41038
+ $rt_wrapFunction0(asrjt_Float64_toExactFloat),
40992
41039
  "$maxPrecision",
40993
- $rt_wrapFunction0(asrjt_Float32_maxPrecision),
41040
+ $rt_wrapFunction0(asrjt_Float64_maxPrecision),
40994
41041
  "$negate2",
40995
- $rt_wrapFunction0(asrjt_Float32_negate0),
41042
+ $rt_wrapFunction0(asrjt_Float64_negate0),
40996
41043
  "$fromExactFloat",
40997
- $rt_wrapFunction2(asrjt_Float32_fromExactFloat),
41044
+ $rt_wrapFunction2(asrjt_Float64_fromExactFloat),
40998
41045
  "$NegativeInfinity",
40999
- $rt_wrapFunction0(asrjt_Float32_NegativeInfinity0),
41046
+ $rt_wrapFunction0(asrjt_Float64_NegativeInfinity0),
41000
41047
  "$Infinity",
41001
- $rt_wrapFunction0(asrjt_Float32_Infinity0),
41048
+ $rt_wrapFunction0(asrjt_Float64_Infinity0),
41002
41049
  "$NegativeZero",
41003
- $rt_wrapFunction0(asrjt_Float32_NegativeZero0),
41050
+ $rt_wrapFunction0(asrjt_Float64_NegativeZero0),
41004
41051
  "$Zero",
41005
- $rt_wrapFunction0(asrjt_Float32_Zero0),
41052
+ $rt_wrapFunction0(asrjt_Float64_Zero0),
41006
41053
  "$NaN",
41007
- $rt_wrapFunction0(asrjt_Float32_NaN0)
41054
+ $rt_wrapFunction0(asrjt_Float64_NaN0)
41008
41055
  ],
41009
- asrjo_Comparisons,
41056
+ asrjo_Conversions,
41010
41057
  0,
41011
41058
  jl_Object,
41012
41059
  [],
@@ -41024,6 +41071,15 @@ $rt_metadata([
41024
41071
  0,
41025
41072
  0,
41026
41073
  0,
41074
+ asrjo_Comparisons,
41075
+ 0,
41076
+ jl_Object,
41077
+ [],
41078
+ 0,
41079
+ 3,
41080
+ 0,
41081
+ 0,
41082
+ 0,
41027
41083
  jnci_BufferedEncoder$Controller,
41028
41084
  0,
41029
41085
  jl_Object,
@@ -41253,23 +41309,23 @@ $rt_metadata([
41253
41309
  0,
41254
41310
  0,
41255
41311
  0,
41256
- asrjt_Float64$1,
41312
+ asrjt_Float32$1,
41257
41313
  0,
41258
41314
  jl_Object,
41259
41315
  [],
41260
41316
  32,
41261
41317
  0,
41262
41318
  0,
41263
- asrjt_Float64$1_$callClinit,
41319
+ asrjt_Float32$1_$callClinit,
41264
41320
  0,
41265
- asrjt_Float32$1,
41321
+ asrjt_Float64$1,
41266
41322
  0,
41267
41323
  jl_Object,
41268
41324
  [],
41269
41325
  32,
41270
41326
  0,
41271
41327
  0,
41272
- asrjt_Float32$1_$callClinit,
41328
+ asrjt_Float64$1_$callClinit,
41273
41329
  0
41274
41330
  ]);
41275
41331
  $rt_metadata([
@@ -42452,13 +42508,6 @@ $rt_stringPool([
42452
42508
  "0.000000",
42453
42509
  "0E",
42454
42510
  "0E+",
42455
- "BREAKPOINT",
42456
- "EXCEPTION",
42457
- "MAX_STEPS",
42458
- "NORMAL_TERMINATION",
42459
- "CLIFF_TERMINATION",
42460
- "PAUSE",
42461
- "STOP",
42462
42511
  "ft0",
42463
42512
  "ft1",
42464
42513
  "ft2",
@@ -42506,6 +42555,13 @@ $rt_stringPool([
42506
42555
  "Cannot claim, no timer interrupt pending",
42507
42556
  "Cannot claim, no trap pending",
42508
42557
  "trapPC doesn't match current pc",
42558
+ "BREAKPOINT",
42559
+ "EXCEPTION",
42560
+ "MAX_STEPS",
42561
+ "NORMAL_TERMINATION",
42562
+ "CLIFF_TERMINATION",
42563
+ "PAUSE",
42564
+ "STOP",
42509
42565
  "Patter is null",
42510
42566
  "Recursive include of file ",
42511
42567
  "Error reading include file ",
@@ -43079,13 +43135,16 @@ var $rt_jso_marker = Symbol("jsoClass");
43079
43135
  get: $rt_callWithReceiver(asr_JsInstruction_getName$exported$0)
43080
43136
  });
43081
43137
  Object.defineProperty(c, "description", {
43082
- get: $rt_callWithReceiver(asr_JsInstruction_getDescription$exported$2)
43138
+ get: $rt_callWithReceiver(asr_JsInstruction_getDescription$exported$3)
43083
43139
  });
43084
43140
  Object.defineProperty(c, "tokens", {
43085
- get: $rt_callWithReceiver(asr_JsInstruction_getTokens$exported$1)
43141
+ get: $rt_callWithReceiver(asr_JsInstruction_getTokens$exported$2)
43142
+ });
43143
+ Object.defineProperty(c, "getIsRv64Only", {
43144
+ get: $rt_callWithReceiver(asr_JsInstruction_getIsRv64Only$exported$1)
43086
43145
  });
43087
43146
  Object.defineProperty(c, "example", {
43088
- get: $rt_callWithReceiver(asr_JsInstruction_getExample$exported$3)
43147
+ get: $rt_callWithReceiver(asr_JsInstruction_getExample$exported$4)
43089
43148
  });
43090
43149
  c = asr_JsBackStep.prototype;
43091
43150
  Object.defineProperty(c, "pc", {
@@ -43100,22 +43159,6 @@ var $rt_jso_marker = Symbol("jsoClass");
43100
43159
  Object.defineProperty(c, "param2", {
43101
43160
  get: $rt_callWithReceiver(asr_JsBackStep_getParam2$exported$1)
43102
43161
  });
43103
- c = asr_JsStackFrame.prototype;
43104
- Object.defineProperty(c, "pc", {
43105
- get: $rt_callWithReceiver(asr_JsStackFrame_getPc$exported$0)
43106
- });
43107
- Object.defineProperty(c, "registers", {
43108
- get: $rt_callWithReceiver(asr_JsStackFrame_getRegisters$exported$2)
43109
- });
43110
- Object.defineProperty(c, "fp", {
43111
- get: $rt_callWithReceiver(asr_JsStackFrame_getFp$exported$4)
43112
- });
43113
- Object.defineProperty(c, "sp", {
43114
- get: $rt_callWithReceiver(asr_JsStackFrame_getSp$exported$3)
43115
- });
43116
- Object.defineProperty(c, "toAddress", {
43117
- get: $rt_callWithReceiver(asr_JsStackFrame_getToAddress$exported$1)
43118
- });
43119
43162
  c = asr_JsCompilationResult.prototype;
43120
43163
  Object.defineProperty(c, "hasErrors", {
43121
43164
  get: $rt_callWithReceiver(asr_JsCompilationResult_hasErrors$exported$1)
@@ -43126,13 +43169,6 @@ var $rt_jso_marker = Symbol("jsoClass");
43126
43169
  Object.defineProperty(c, "errors", {
43127
43170
  get: $rt_callWithReceiver(asr_JsCompilationResult_getErrors$exported$0)
43128
43171
  });
43129
- c = asr_JsRiscVTokenizedLine.prototype;
43130
- Object.defineProperty(c, "line", {
43131
- get: $rt_callWithReceiver(asr_JsRiscVTokenizedLine_getLine$exported$0)
43132
- });
43133
- Object.defineProperty(c, "tokens", {
43134
- get: $rt_callWithReceiver(asr_JsRiscVTokenizedLine_getTokens$exported$1)
43135
- });
43136
43172
  c = asr_JsProgramStatement.prototype;
43137
43173
  Object.defineProperty(c, "assemblyStatement", {
43138
43174
  get: $rt_callWithReceiver(asr_JsProgramStatement_getAssemblyStatement$exported$1)
@@ -43152,6 +43188,29 @@ var $rt_jso_marker = Symbol("jsoClass");
43152
43188
  Object.defineProperty(c, "source", {
43153
43189
  get: $rt_callWithReceiver(asr_JsProgramStatement_getSource$exported$2)
43154
43190
  });
43191
+ c = asr_JsStackFrame.prototype;
43192
+ Object.defineProperty(c, "pc", {
43193
+ get: $rt_callWithReceiver(asr_JsStackFrame_getPc$exported$0)
43194
+ });
43195
+ Object.defineProperty(c, "registers", {
43196
+ get: $rt_callWithReceiver(asr_JsStackFrame_getRegisters$exported$2)
43197
+ });
43198
+ Object.defineProperty(c, "fp", {
43199
+ get: $rt_callWithReceiver(asr_JsStackFrame_getFp$exported$4)
43200
+ });
43201
+ Object.defineProperty(c, "sp", {
43202
+ get: $rt_callWithReceiver(asr_JsStackFrame_getSp$exported$3)
43203
+ });
43204
+ Object.defineProperty(c, "toAddress", {
43205
+ get: $rt_callWithReceiver(asr_JsStackFrame_getToAddress$exported$1)
43206
+ });
43207
+ c = asr_JsRiscVTokenizedLine.prototype;
43208
+ Object.defineProperty(c, "line", {
43209
+ get: $rt_callWithReceiver(asr_JsRiscVTokenizedLine_getLine$exported$0)
43210
+ });
43211
+ Object.defineProperty(c, "tokens", {
43212
+ get: $rt_callWithReceiver(asr_JsRiscVTokenizedLine_getTokens$exported$1)
43213
+ });
43155
43214
  c = asr_JsCompilationResult$JsCompilationError.prototype;
43156
43215
  Object.defineProperty(c, "macroExpansionHistory", {
43157
43216
  get: $rt_callWithReceiver(asr_JsCompilationResult$JsCompilationError_getMacroExpansionHistory$exported$3)
@@ -43202,22 +43261,22 @@ function $rt_export_class_JsBackStep_74() {
43202
43261
  throw new Error("Can't instantiate this class directly");
43203
43262
  }
43204
43263
  $rt_export_class_JsBackStep_74.prototype = asr_JsBackStep.prototype;
43205
- function $rt_export_class_JsStackFrame_77() {
43264
+ function $rt_export_class_JsCompilationResult_77() {
43206
43265
  throw new Error("Can't instantiate this class directly");
43207
43266
  }
43208
- $rt_export_class_JsStackFrame_77.prototype = asr_JsStackFrame.prototype;
43209
- function $rt_export_class_JsCompilationResult_78() {
43267
+ $rt_export_class_JsCompilationResult_77.prototype = asr_JsCompilationResult.prototype;
43268
+ function $rt_export_class_JsProgramStatement_79() {
43210
43269
  throw new Error("Can't instantiate this class directly");
43211
43270
  }
43212
- $rt_export_class_JsCompilationResult_78.prototype = asr_JsCompilationResult.prototype;
43213
- function $rt_export_class_JsRiscVTokenizedLine_84() {
43271
+ $rt_export_class_JsProgramStatement_79.prototype = asr_JsProgramStatement.prototype;
43272
+ function $rt_export_class_JsStackFrame_82() {
43214
43273
  throw new Error("Can't instantiate this class directly");
43215
43274
  }
43216
- $rt_export_class_JsRiscVTokenizedLine_84.prototype = asr_JsRiscVTokenizedLine.prototype;
43217
- function $rt_export_class_JsProgramStatement_85() {
43275
+ $rt_export_class_JsStackFrame_82.prototype = asr_JsStackFrame.prototype;
43276
+ function $rt_export_class_JsRiscVTokenizedLine_85() {
43218
43277
  throw new Error("Can't instantiate this class directly");
43219
43278
  }
43220
- $rt_export_class_JsProgramStatement_85.prototype = asr_JsProgramStatement.prototype;
43279
+ $rt_export_class_JsRiscVTokenizedLine_85.prototype = asr_JsRiscVTokenizedLine.prototype;
43221
43280
  function $rt_export_class_JsCompilationError_352() {
43222
43281
  throw new Error("Can't instantiate this class directly");
43223
43282
  }