@specy/risc-v 1.0.4 → 1.0.6

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
- asrrh_Stack__clinit_();
3325
3323
  asrrh_FloatingPointRegisterFile__clinit_();
3326
3324
  asrrh_ControlAndStatusRegisterFile__clinit_();
3327
3325
  asrrh_InterruptController__clinit_();
3326
+ asrrh_Stack__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) => {
@@ -7047,19 +7073,292 @@ var jl_System_currentTimeMillis = () => {
7047
7073
  return Long_fromNumber((/* @__PURE__ */ new Date()).getTime());
7048
7074
  };
7049
7075
  var jl_CloneNotSupportedException = $rt_classWithoutFields(jl_Exception);
7076
+ function asr_JsProgramStatement() {
7077
+ let a = this;
7078
+ jl_Object.call(a);
7079
+ a.$sourceLine1 = 0;
7080
+ a.$address2 = 0;
7081
+ a.$binaryStatement0 = 0;
7082
+ a.$source3 = null;
7083
+ a.$assemblyStatement = null;
7084
+ a.$machineStatement0 = null;
7085
+ }
7086
+ var asr_JsProgramStatement__init_0 = ($this, var$1) => {
7087
+ let var$2, var$3, var$4, var$5, var$6;
7088
+ $this.$sourceLine1 = var$1.$sourceLine0;
7089
+ $this.$address2 = var$1.$textAddress0;
7090
+ $this.$binaryStatement0 = var$1.$binaryStatement;
7091
+ $this.$source3 = var$1.$source;
7092
+ var$2 = var$1.$basicStatementList;
7093
+ var$3 = !asr_Settings_getBooleanSetting(asr_Globals_getSettings(), asr_Settings$Bool_DISPLAY_ADDRESSES_IN_HEX) ? 10 : 16;
7094
+ var$4 = !asr_Settings_getBooleanSetting(asr_Globals_getSettings(), asr_Settings$Bool_DISPLAY_ADDRESSES_IN_HEX) ? 10 : 16;
7095
+ var$5 = new jl_StringBuffer();
7096
+ jl_AbstractStringBuilder__init_(var$5);
7097
+ var$6 = ju_AbstractList_iterator(var$2.$list);
7098
+ while (ju_AbstractList$1_hasNext(var$6)) {
7099
+ a: {
7100
+ var$2 = ju_AbstractList$1_next(var$6);
7101
+ switch (var$2.$type3) {
7102
+ case 0:
7103
+ break;
7104
+ case 1:
7105
+ if (var$3 == 10) {
7106
+ jl_AbstractStringBuilder_append(var$5, var$2.$iValue);
7107
+ break a;
7108
+ }
7109
+ jl_AbstractStringBuilder_append1(var$5, asru_Binary_intToHexString(var$2.$iValue));
7110
+ break a;
7111
+ case 2:
7112
+ if (var$4 == 10) {
7113
+ jl_AbstractStringBuilder_append(var$5, var$2.$iValue);
7114
+ break a;
7115
+ }
7116
+ jl_AbstractStringBuilder_append1(var$5, asru_Binary_intToHexString(var$2.$iValue));
7117
+ break a;
7118
+ case 3:
7119
+ jl_AbstractStringBuilder_append(var$5, var$2.$iValue);
7120
+ break a;
7121
+ default:
7122
+ break a;
7123
+ }
7124
+ jl_AbstractStringBuilder_append1(var$5, var$2.$sValue);
7125
+ }
7126
+ }
7127
+ $this.$assemblyStatement = jl_AbstractStringBuilder_toString(var$5);
7128
+ $this.$machineStatement0 = var$1.$machineStatement;
7129
+ };
7130
+ var asr_JsProgramStatement__init_ = (var_0) => {
7131
+ let var_1 = new asr_JsProgramStatement();
7132
+ asr_JsProgramStatement__init_0(var_1, var_0);
7133
+ return var_1;
7134
+ };
7135
+ var asr_JsProgramStatement_getSourceLine$exported$0 = (var$1) => {
7136
+ return var$1.$sourceLine1;
7137
+ };
7138
+ var asr_JsProgramStatement_getAssemblyStatement$exported$1 = (var$1) => {
7139
+ return $rt_ustr(var$1.$assemblyStatement);
7140
+ };
7141
+ var asr_JsProgramStatement_getSource$exported$2 = (var$1) => {
7142
+ return $rt_ustr(var$1.$source3);
7143
+ };
7144
+ var asr_JsProgramStatement_getAddress$exported$3 = (var$1) => {
7145
+ return var$1.$address2;
7146
+ };
7147
+ var asr_JsProgramStatement_getBinaryStatement$exported$4 = (var$1) => {
7148
+ return var$1.$binaryStatement0;
7149
+ };
7150
+ var asr_JsProgramStatement_getMachineStatement$exported$5 = (var$1) => {
7151
+ return $rt_ustr(var$1.$machineStatement0);
7152
+ };
7153
+ function asr_JsCompilationResult() {
7154
+ let a = this;
7155
+ jl_Object.call(a);
7156
+ a.$report = null;
7157
+ a.$errors1 = null;
7158
+ }
7159
+ var asr_JsCompilationResult__init_0 = ($this, $errorReport) => {
7160
+ let var$2, var$3, var$4;
7161
+ $this.$report = asr_ErrorList_generateErrorAndWarningReport($errorReport);
7162
+ $errorReport = ju_Collection_stream($errorReport.$messages);
7163
+ var$2 = new asr_JsCompilationResult$_init_$lambda$_0_0();
7164
+ var$2.$_06 = $this;
7165
+ $errorReport = jusi_SimpleStreamImpl_map($errorReport, var$2);
7166
+ var$2 = new asr_JsCompilationResult$_init_$lambda$_0_2();
7167
+ $errorReport = $errorReport;
7168
+ var$3 = ju_ArrayList__init_();
7169
+ var$4 = $errorReport;
7170
+ while (true) {
7171
+ $errorReport = new jusi_SimpleStreamImpl$collect$lambda$_25_0();
7172
+ $errorReport.$_08 = var$2;
7173
+ $errorReport.$_12 = var$3;
7174
+ if (!jusi_WrappingStreamImpl_next(var$4, $errorReport))
7175
+ break;
7176
+ }
7177
+ $this.$errors1 = var$3;
7178
+ };
7179
+ var asr_JsCompilationResult__init_ = (var_0) => {
7180
+ let var_1 = new asr_JsCompilationResult();
7181
+ asr_JsCompilationResult__init_0(var_1, var_0);
7182
+ return var_1;
7183
+ };
7184
+ var asr_JsCompilationResult_getErrors$exported$0 = (var$1) => {
7185
+ let var$2;
7186
+ var$1 = var$1.$errors1;
7187
+ var$2 = $rt_createArray(asr_JsCompilationResult$JsCompilationError, 0);
7188
+ return otji_JS_wrap(ju_AbstractCollection_toArray(var$1, var$2));
7189
+ };
7190
+ var asr_JsCompilationResult_hasErrors$exported$1 = (var$1) => {
7191
+ var$1 = var$1;
7192
+ return !!(ju_AbstractCollection_isEmpty(var$1.$errors1) ? 0 : 1);
7193
+ };
7194
+ var asr_JsCompilationResult_getReport$exported$2 = (var$1) => {
7195
+ return $rt_ustr(var$1.$report);
7196
+ };
7197
+ function asr_AssemblyException() {
7198
+ jl_Exception.call(this);
7199
+ this.$errs = null;
7200
+ }
7201
+ var asr_AssemblyException__init_0 = ($this, $errs) => {
7202
+ jl_Throwable__init_0($this, asr_ErrorList_generateErrorAndWarningReport($errs));
7203
+ $this.$errs = $errs;
7204
+ };
7205
+ var asr_AssemblyException__init_ = (var_0) => {
7206
+ let var_1 = new asr_AssemblyException();
7207
+ asr_AssemblyException__init_0(var_1, var_0);
7208
+ return var_1;
7209
+ };
7210
+ var asrrh_RegisterFile = $rt_classWithoutFields();
7211
+ var asrrh_RegisterFile_instance = null;
7212
+ var asrrh_RegisterFile_programCounter = null;
7213
+ var asrrh_RegisterFile_$callClinit = () => {
7214
+ asrrh_RegisterFile_$callClinit = $rt_eraseClinit(asrrh_RegisterFile);
7215
+ asrrh_RegisterFile__clinit_();
7216
+ };
7217
+ var asrrh_RegisterFile_updateRegister = ($num, $val) => {
7218
+ let var$3;
7219
+ asrrh_RegisterFile_$callClinit();
7220
+ if ($num) {
7221
+ if (!asr_Settings_getBackSteppingEnabled(asr_Globals_getSettings()))
7222
+ asrrh_RegisterBlock_updateRegister(asrrh_RegisterFile_instance, $num, $val);
7223
+ else {
7224
+ var$3 = asr_Globals_program.$backStepper;
7225
+ $val = asrrh_RegisterBlock_updateRegister(asrrh_RegisterFile_instance, $num, $val);
7226
+ asrs_BackStepper$BackstepStack_push(var$3.$backSteps, asrs_BackStepper$Action_REGISTER_RESTORE, asrs_BackStepper_pc(var$3), $num, $val);
7227
+ }
7228
+ }
7229
+ };
7230
+ var asrrh_RegisterFile_updateRegister0 = ($name, $val) => {
7231
+ asrrh_RegisterFile_$callClinit();
7232
+ asrrh_RegisterFile_updateRegister(asrrh_RegisterBlock_getRegister(asrrh_RegisterFile_instance, $name).$number, $val);
7233
+ };
7234
+ var asrrh_RegisterFile_getValue0 = ($num) => {
7235
+ asrrh_RegisterFile_$callClinit();
7236
+ return Long_lo(asrrh_RegisterBlock_getValue(asrrh_RegisterFile_instance, $num));
7237
+ };
7238
+ var asrrh_RegisterFile_getValueLong = ($num) => {
7239
+ asrrh_RegisterFile_$callClinit();
7240
+ return asrrh_RegisterBlock_getValue(asrrh_RegisterFile_instance, $num);
7241
+ };
7242
+ var asrrh_RegisterFile_getValue = ($name) => {
7243
+ asrrh_RegisterFile_$callClinit();
7244
+ return Long_lo(asrrh_RegisterBlock_getValue0(asrrh_RegisterFile_instance, $name));
7245
+ };
7246
+ var asrrh_RegisterFile_getRegisters = () => {
7247
+ asrrh_RegisterFile_$callClinit();
7248
+ return asrrh_RegisterFile_instance.$regFile;
7249
+ };
7250
+ var asrrh_RegisterFile_getRegister = ($name) => {
7251
+ asrrh_RegisterFile_$callClinit();
7252
+ if (!jl_String_equals($name, $rt_s(212)))
7253
+ return asrrh_RegisterBlock_getRegister(asrrh_RegisterFile_instance, $name);
7254
+ return asrrh_RegisterBlock_getRegister(asrrh_RegisterFile_instance, $rt_s(213));
7255
+ };
7256
+ var asrrh_RegisterFile_initializeProgramCounter = ($value) => {
7257
+ asrrh_RegisterFile_$callClinit();
7258
+ asrrh_Register_setValue(asrrh_RegisterFile_programCounter, Long_fromInt($value));
7259
+ };
7260
+ var asrrh_RegisterFile_initializeProgramCounter0 = ($startAtMain) => {
7261
+ let $mainAddr;
7262
+ asrrh_RegisterFile_$callClinit();
7263
+ asr_Globals_$callClinit();
7264
+ $mainAddr = asra_SymbolTable_getAddress(asr_Globals_symbolTable, asra_SymbolTable_startLabel);
7265
+ if ($startAtMain && $mainAddr != -1 && asrrh_Memory_inTextSegment($mainAddr))
7266
+ asrrh_RegisterFile_initializeProgramCounter($mainAddr);
7267
+ else
7268
+ asrrh_RegisterFile_initializeProgramCounter(Long_lo(asrrh_RegisterFile_programCounter.$resetValue0));
7269
+ };
7270
+ var asrrh_RegisterFile_getStackPointerRegister = () => {
7271
+ asrrh_RegisterFile_$callClinit();
7272
+ return asrrh_RegisterBlock_getRegister(asrrh_RegisterFile_instance, $rt_s(165));
7273
+ };
7274
+ var asrrh_RegisterFile_setProgramCounter = ($value) => {
7275
+ let $old, var$3;
7276
+ asrrh_RegisterFile_$callClinit();
7277
+ $old = Long_lo(asrrh_Register_getValue(asrrh_RegisterFile_programCounter));
7278
+ asrrh_Register_setValue(asrrh_RegisterFile_programCounter, Long_fromInt($value));
7279
+ if (asr_Settings_getBackSteppingEnabled(asr_Globals_getSettings())) {
7280
+ var$3 = asr_Globals_program.$backStepper;
7281
+ $value = $old + -4 | 0;
7282
+ asrs_BackStepper$BackstepStack_push0(var$3.$backSteps, asrs_BackStepper$Action_PC_RESTORE, $value, $value);
7283
+ }
7284
+ return $old;
7285
+ };
7286
+ var asrrh_RegisterFile_getProgramCounter = () => {
7287
+ asrrh_RegisterFile_$callClinit();
7288
+ return Long_lo(asrrh_Register_getValue(asrrh_RegisterFile_programCounter));
7289
+ };
7290
+ var asrrh_RegisterFile_getProgramCounterRegister = () => {
7291
+ asrrh_RegisterFile_$callClinit();
7292
+ return asrrh_RegisterFile_programCounter;
7293
+ };
7294
+ var asrrh_RegisterFile_resetRegisters = () => {
7295
+ asrrh_RegisterFile_$callClinit();
7296
+ asrrh_RegisterBlock_resetRegisters(asrrh_RegisterFile_instance);
7297
+ asrrh_RegisterFile_initializeProgramCounter0(asr_Settings_getBooleanSetting(asr_Globals_getSettings(), asr_Settings$Bool_START_AT_MAIN));
7298
+ };
7299
+ var asrrh_RegisterFile_incrementPC = () => {
7300
+ let var$1;
7301
+ asrrh_RegisterFile_$callClinit();
7302
+ var$1 = asrrh_RegisterFile_programCounter;
7303
+ asrrh_Register_setValue(var$1, Long_add(asrrh_Register_getValue(var$1), Long_fromInt(4)));
7304
+ };
7305
+ var asrrh_RegisterFile__clinit_ = () => {
7306
+ let var$1, var$2, var$3, var$4;
7307
+ var$1 = new asrrh_RegisterBlock();
7308
+ var$2 = $rt_createArray(asrrh_Register, 32);
7309
+ var$3 = var$2.data;
7310
+ var$3[0] = asrrh_Register__init_($rt_s(214), 0, Long_ZERO);
7311
+ var$3[1] = asrrh_Register__init_($rt_s(215), 1, Long_ZERO);
7312
+ var$4 = new asrrh_Register();
7313
+ asrrh_Memory_$callClinit();
7314
+ asrrh_Register__init_0(var$4, $rt_s(165), 2, Long_fromInt(asrrh_Memory_stackPointer));
7315
+ var$3[2] = var$4;
7316
+ var$3[3] = asrrh_Register__init_($rt_s(164), 3, Long_fromInt(asrrh_Memory_globalPointer));
7317
+ var$3[4] = asrrh_Register__init_($rt_s(216), 4, Long_ZERO);
7318
+ var$3[5] = asrrh_Register__init_($rt_s(217), 5, Long_ZERO);
7319
+ var$3[6] = asrrh_Register__init_($rt_s(218), 6, Long_ZERO);
7320
+ var$3[7] = asrrh_Register__init_($rt_s(219), 7, Long_ZERO);
7321
+ var$3[8] = asrrh_Register__init_($rt_s(213), 8, Long_ZERO);
7322
+ var$3[9] = asrrh_Register__init_($rt_s(220), 9, Long_ZERO);
7323
+ var$3[10] = asrrh_Register__init_($rt_s(221), 10, Long_ZERO);
7324
+ var$3[11] = asrrh_Register__init_($rt_s(222), 11, Long_ZERO);
7325
+ var$3[12] = asrrh_Register__init_($rt_s(223), 12, Long_ZERO);
7326
+ var$3[13] = asrrh_Register__init_($rt_s(224), 13, Long_ZERO);
7327
+ var$3[14] = asrrh_Register__init_($rt_s(225), 14, Long_ZERO);
7328
+ var$3[15] = asrrh_Register__init_($rt_s(226), 15, Long_ZERO);
7329
+ var$3[16] = asrrh_Register__init_($rt_s(227), 16, Long_ZERO);
7330
+ var$3[17] = asrrh_Register__init_($rt_s(228), 17, Long_ZERO);
7331
+ var$3[18] = asrrh_Register__init_($rt_s(229), 18, Long_ZERO);
7332
+ var$3[19] = asrrh_Register__init_($rt_s(230), 19, Long_ZERO);
7333
+ var$3[20] = asrrh_Register__init_($rt_s(231), 20, Long_ZERO);
7334
+ var$3[21] = asrrh_Register__init_($rt_s(232), 21, Long_ZERO);
7335
+ var$3[22] = asrrh_Register__init_($rt_s(233), 22, Long_ZERO);
7336
+ var$3[23] = asrrh_Register__init_($rt_s(234), 23, Long_ZERO);
7337
+ var$3[24] = asrrh_Register__init_($rt_s(235), 24, Long_ZERO);
7338
+ var$3[25] = asrrh_Register__init_($rt_s(236), 25, Long_ZERO);
7339
+ var$3[26] = asrrh_Register__init_($rt_s(237), 26, Long_ZERO);
7340
+ var$3[27] = asrrh_Register__init_($rt_s(238), 27, Long_ZERO);
7341
+ var$3[28] = asrrh_Register__init_($rt_s(239), 28, Long_ZERO);
7342
+ var$3[29] = asrrh_Register__init_($rt_s(240), 29, Long_ZERO);
7343
+ var$3[30] = asrrh_Register__init_($rt_s(241), 30, Long_ZERO);
7344
+ var$3[31] = asrrh_Register__init_($rt_s(242), 31, Long_ZERO);
7345
+ asrrh_RegisterBlock__init_(var$1, 120, var$2);
7346
+ asrrh_RegisterFile_instance = var$1;
7347
+ asrrh_RegisterFile_programCounter = asrrh_Register__init_($rt_s(243), -1, Long_fromInt(asrrh_Memory_textBaseAddress));
7348
+ };
7050
7349
  var ju_Arrays = $rt_classWithoutFields();
7051
- var ju_Arrays_copyOf1 = (var$1, var$2) => {
7052
- let var$3, var$4, var$5, $i;
7053
- var$1 = var$1.data;
7054
- var$3 = $rt_createCharArray(var$2);
7055
- var$4 = var$3.data;
7056
- var$5 = jl_Math_min(var$2, var$1.length);
7350
+ var ju_Arrays_copyOf1 = ($array, $length) => {
7351
+ let $result, var$4, $sz, $i;
7352
+ $array = $array.data;
7353
+ $result = $rt_createCharArray($length);
7354
+ var$4 = $result.data;
7355
+ $sz = jl_Math_min($length, $array.length);
7057
7356
  $i = 0;
7058
- while ($i < var$5) {
7059
- var$4[$i] = var$1[$i];
7357
+ while ($i < $sz) {
7358
+ var$4[$i] = $array[$i];
7060
7359
  $i = $i + 1 | 0;
7061
7360
  }
7062
- return var$3;
7361
+ return $result;
7063
7362
  };
7064
7363
  var ju_Arrays_copyOf0 = ($array, $length) => {
7065
7364
  let $result, var$4, $sz, $i;
@@ -7238,182 +7537,8 @@ var ju_Arrays_stream = ($array) => {
7238
7537
  var$3.$size2 = var$4 - 0 | 0;
7239
7538
  return var$3;
7240
7539
  };
7241
- var asr_JsRiscV$getUndoStack$lambda$_26_0 = $rt_classWithoutFields();
7242
- var asr_JsRiscV$getUndoStack$lambda$_26_0_apply = (var$0, var$1) => {
7243
- let var$2, var$3;
7244
- var$1 = var$1;
7245
- var$2 = new asr_JsBackStep();
7246
- var$3 = var$1.$action;
7247
- var$2.$action0 = var$3 === null ? -1 : var$3.$ordinal0;
7248
- var$2.$pc2 = var$1.$pc1;
7249
- var$2.$param10 = var$1.$param1;
7250
- var$2.$param20 = Long_lo(var$1.$param2);
7251
- return var$2;
7252
- };
7253
- var asr_JsRiscV$getUndoStack$lambda$_26_1 = $rt_classWithoutFields();
7254
- var asr_JsRiscV$getUndoStack$lambda$_26_1_apply = (var$0, var$1) => {
7255
- asr_JsRiscV_$callClinit();
7256
- return $rt_createArray(asr_JsBackStep, var$1);
7257
- };
7258
- function asr_JsBackStep() {
7259
- let a = this;
7260
- jl_Object.call(a);
7261
- a.$action0 = 0;
7262
- a.$pc2 = 0;
7263
- a.$param10 = 0;
7264
- a.$param20 = 0;
7265
- }
7266
- var asr_JsBackStep_getPc$exported$0 = (var$1) => {
7267
- return var$1.$pc2;
7268
- };
7269
- var asr_JsBackStep_getParam2$exported$1 = (var$1) => {
7270
- return var$1.$param20;
7271
- };
7272
- var asr_JsBackStep_getAction$exported$2 = (var$1) => {
7273
- return var$1.$action0;
7274
- };
7275
- var asr_JsBackStep_getParam1$exported$3 = (var$1) => {
7276
- return var$1.$param10;
7277
- };
7278
- var asrrh_RegisterFile = $rt_classWithoutFields();
7279
- var asrrh_RegisterFile_instance = null;
7280
- var asrrh_RegisterFile_programCounter = null;
7281
- var asrrh_RegisterFile_$callClinit = () => {
7282
- asrrh_RegisterFile_$callClinit = $rt_eraseClinit(asrrh_RegisterFile);
7283
- asrrh_RegisterFile__clinit_();
7284
- };
7285
- var asrrh_RegisterFile_updateRegister = ($num, $val) => {
7286
- let var$3;
7287
- asrrh_RegisterFile_$callClinit();
7288
- if ($num) {
7289
- if (!asr_Settings_getBackSteppingEnabled(asr_Globals_getSettings()))
7290
- asrrh_RegisterBlock_updateRegister(asrrh_RegisterFile_instance, $num, $val);
7291
- else {
7292
- var$3 = asr_Globals_program.$backStepper;
7293
- $val = asrrh_RegisterBlock_updateRegister(asrrh_RegisterFile_instance, $num, $val);
7294
- asrs_BackStepper$BackstepStack_push(var$3.$backSteps, asrs_BackStepper$Action_REGISTER_RESTORE, asrs_BackStepper_pc(var$3), $num, $val);
7295
- }
7296
- }
7297
- };
7298
- var asrrh_RegisterFile_updateRegister0 = ($name, $val) => {
7299
- asrrh_RegisterFile_$callClinit();
7300
- asrrh_RegisterFile_updateRegister(asrrh_RegisterBlock_getRegister(asrrh_RegisterFile_instance, $name).$number, $val);
7301
- };
7302
- var asrrh_RegisterFile_getValue0 = ($num) => {
7303
- asrrh_RegisterFile_$callClinit();
7304
- return Long_lo(asrrh_RegisterBlock_getValue(asrrh_RegisterFile_instance, $num));
7305
- };
7306
- var asrrh_RegisterFile_getValueLong = ($num) => {
7307
- asrrh_RegisterFile_$callClinit();
7308
- return asrrh_RegisterBlock_getValue(asrrh_RegisterFile_instance, $num);
7309
- };
7310
- var asrrh_RegisterFile_getValue = ($name) => {
7311
- asrrh_RegisterFile_$callClinit();
7312
- return Long_lo(asrrh_RegisterBlock_getValue0(asrrh_RegisterFile_instance, $name));
7313
- };
7314
- var asrrh_RegisterFile_getRegisters = () => {
7315
- asrrh_RegisterFile_$callClinit();
7316
- return asrrh_RegisterFile_instance.$regFile;
7317
- };
7318
- var asrrh_RegisterFile_getRegister = ($name) => {
7319
- asrrh_RegisterFile_$callClinit();
7320
- if (!jl_String_equals($name, $rt_s(212)))
7321
- return asrrh_RegisterBlock_getRegister(asrrh_RegisterFile_instance, $name);
7322
- return asrrh_RegisterBlock_getRegister(asrrh_RegisterFile_instance, $rt_s(213));
7323
- };
7324
- var asrrh_RegisterFile_initializeProgramCounter = ($value) => {
7325
- asrrh_RegisterFile_$callClinit();
7326
- asrrh_Register_setValue(asrrh_RegisterFile_programCounter, Long_fromInt($value));
7327
- };
7328
- var asrrh_RegisterFile_initializeProgramCounter0 = ($startAtMain) => {
7329
- let $mainAddr;
7330
- asrrh_RegisterFile_$callClinit();
7331
- asr_Globals_$callClinit();
7332
- $mainAddr = asra_SymbolTable_getAddress(asr_Globals_symbolTable, asra_SymbolTable_startLabel);
7333
- if ($startAtMain && $mainAddr != -1 && asrrh_Memory_inTextSegment($mainAddr))
7334
- asrrh_RegisterFile_initializeProgramCounter($mainAddr);
7335
- else
7336
- asrrh_RegisterFile_initializeProgramCounter(Long_lo(asrrh_RegisterFile_programCounter.$resetValue0));
7337
- };
7338
- var asrrh_RegisterFile_getStackPointerRegister = () => {
7339
- asrrh_RegisterFile_$callClinit();
7340
- return asrrh_RegisterBlock_getRegister(asrrh_RegisterFile_instance, $rt_s(165));
7341
- };
7342
- var asrrh_RegisterFile_setProgramCounter = ($value) => {
7343
- let $old, var$3;
7344
- asrrh_RegisterFile_$callClinit();
7345
- $old = Long_lo(asrrh_Register_getValue(asrrh_RegisterFile_programCounter));
7346
- asrrh_Register_setValue(asrrh_RegisterFile_programCounter, Long_fromInt($value));
7347
- if (asr_Settings_getBackSteppingEnabled(asr_Globals_getSettings())) {
7348
- var$3 = asr_Globals_program.$backStepper;
7349
- $value = $old + -4 | 0;
7350
- asrs_BackStepper$BackstepStack_push0(var$3.$backSteps, asrs_BackStepper$Action_PC_RESTORE, $value, $value);
7351
- }
7352
- return $old;
7353
- };
7354
- var asrrh_RegisterFile_getProgramCounter = () => {
7355
- asrrh_RegisterFile_$callClinit();
7356
- return Long_lo(asrrh_Register_getValue(asrrh_RegisterFile_programCounter));
7357
- };
7358
- var asrrh_RegisterFile_getProgramCounterRegister = () => {
7359
- asrrh_RegisterFile_$callClinit();
7360
- return asrrh_RegisterFile_programCounter;
7361
- };
7362
- var asrrh_RegisterFile_resetRegisters = () => {
7363
- asrrh_RegisterFile_$callClinit();
7364
- asrrh_RegisterBlock_resetRegisters(asrrh_RegisterFile_instance);
7365
- asrrh_RegisterFile_initializeProgramCounter0(asr_Settings_getBooleanSetting(asr_Globals_getSettings(), asr_Settings$Bool_START_AT_MAIN));
7366
- };
7367
- var asrrh_RegisterFile_incrementPC = () => {
7368
- let var$1;
7369
- asrrh_RegisterFile_$callClinit();
7370
- var$1 = asrrh_RegisterFile_programCounter;
7371
- asrrh_Register_setValue(var$1, Long_add(asrrh_Register_getValue(var$1), Long_fromInt(4)));
7372
- };
7373
- var asrrh_RegisterFile__clinit_ = () => {
7374
- let var$1, var$2, var$3, var$4;
7375
- var$1 = new asrrh_RegisterBlock();
7376
- var$2 = $rt_createArray(asrrh_Register, 32);
7377
- var$3 = var$2.data;
7378
- var$3[0] = asrrh_Register__init_($rt_s(214), 0, Long_ZERO);
7379
- var$3[1] = asrrh_Register__init_($rt_s(215), 1, Long_ZERO);
7380
- var$4 = new asrrh_Register();
7381
- asrrh_Memory_$callClinit();
7382
- asrrh_Register__init_0(var$4, $rt_s(165), 2, Long_fromInt(asrrh_Memory_stackPointer));
7383
- var$3[2] = var$4;
7384
- var$3[3] = asrrh_Register__init_($rt_s(164), 3, Long_fromInt(asrrh_Memory_globalPointer));
7385
- var$3[4] = asrrh_Register__init_($rt_s(216), 4, Long_ZERO);
7386
- var$3[5] = asrrh_Register__init_($rt_s(217), 5, Long_ZERO);
7387
- var$3[6] = asrrh_Register__init_($rt_s(218), 6, Long_ZERO);
7388
- var$3[7] = asrrh_Register__init_($rt_s(219), 7, Long_ZERO);
7389
- var$3[8] = asrrh_Register__init_($rt_s(213), 8, Long_ZERO);
7390
- var$3[9] = asrrh_Register__init_($rt_s(220), 9, Long_ZERO);
7391
- var$3[10] = asrrh_Register__init_($rt_s(221), 10, Long_ZERO);
7392
- var$3[11] = asrrh_Register__init_($rt_s(222), 11, Long_ZERO);
7393
- var$3[12] = asrrh_Register__init_($rt_s(223), 12, Long_ZERO);
7394
- var$3[13] = asrrh_Register__init_($rt_s(224), 13, Long_ZERO);
7395
- var$3[14] = asrrh_Register__init_($rt_s(225), 14, Long_ZERO);
7396
- var$3[15] = asrrh_Register__init_($rt_s(226), 15, Long_ZERO);
7397
- var$3[16] = asrrh_Register__init_($rt_s(227), 16, Long_ZERO);
7398
- var$3[17] = asrrh_Register__init_($rt_s(228), 17, Long_ZERO);
7399
- var$3[18] = asrrh_Register__init_($rt_s(229), 18, Long_ZERO);
7400
- var$3[19] = asrrh_Register__init_($rt_s(230), 19, Long_ZERO);
7401
- var$3[20] = asrrh_Register__init_($rt_s(231), 20, Long_ZERO);
7402
- var$3[21] = asrrh_Register__init_($rt_s(232), 21, Long_ZERO);
7403
- var$3[22] = asrrh_Register__init_($rt_s(233), 22, Long_ZERO);
7404
- var$3[23] = asrrh_Register__init_($rt_s(234), 23, Long_ZERO);
7405
- var$3[24] = asrrh_Register__init_($rt_s(235), 24, Long_ZERO);
7406
- var$3[25] = asrrh_Register__init_($rt_s(236), 25, Long_ZERO);
7407
- var$3[26] = asrrh_Register__init_($rt_s(237), 26, Long_ZERO);
7408
- var$3[27] = asrrh_Register__init_($rt_s(238), 27, Long_ZERO);
7409
- var$3[28] = asrrh_Register__init_($rt_s(239), 28, Long_ZERO);
7410
- var$3[29] = asrrh_Register__init_($rt_s(240), 29, Long_ZERO);
7411
- var$3[30] = asrrh_Register__init_($rt_s(241), 30, Long_ZERO);
7412
- var$3[31] = asrrh_Register__init_($rt_s(242), 31, Long_ZERO);
7413
- asrrh_RegisterBlock__init_(var$1, 120, var$2);
7414
- asrrh_RegisterFile_instance = var$1;
7415
- asrrh_RegisterFile_programCounter = asrrh_Register__init_($rt_s(243), -1, Long_fromInt(asrrh_Memory_textBaseAddress));
7416
- };
7540
+ var juf_ToIntFunction = $rt_classWithoutFields(0);
7541
+ var asr_JsRiscV$getRegistersValues$lambda$_25_0 = $rt_classWithoutFields();
7417
7542
  function jm_BigInteger() {
7418
7543
  let a = this;
7419
7544
  jl_Number.call(a);
@@ -7786,89 +7911,6 @@ var jm_BigInteger__clinit_ = () => {
7786
7911
  $i = $i + 1 | 0;
7787
7912
  }
7788
7913
  };
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
- function asr_JsCompilationResult() {
7814
- let a = this;
7815
- jl_Object.call(a);
7816
- a.$report = null;
7817
- a.$errors1 = null;
7818
- }
7819
- var asr_JsCompilationResult__init_0 = ($this, $errorReport) => {
7820
- let var$2, var$3, var$4;
7821
- $this.$report = asr_ErrorList_generateErrorAndWarningReport($errorReport);
7822
- $errorReport = ju_Collection_stream($errorReport.$messages);
7823
- var$2 = new asr_JsCompilationResult$_init_$lambda$_0_0();
7824
- var$2.$_06 = $this;
7825
- $errorReport = jusi_SimpleStreamImpl_map($errorReport, var$2);
7826
- var$2 = new asr_JsCompilationResult$_init_$lambda$_0_2();
7827
- $errorReport = $errorReport;
7828
- var$3 = ju_ArrayList__init_();
7829
- var$4 = $errorReport;
7830
- while (true) {
7831
- $errorReport = new jusi_SimpleStreamImpl$collect$lambda$_25_0();
7832
- $errorReport.$_08 = var$2;
7833
- $errorReport.$_12 = var$3;
7834
- if (!jusi_WrappingStreamImpl_next(var$4, $errorReport))
7835
- break;
7836
- }
7837
- $this.$errors1 = var$3;
7838
- };
7839
- var asr_JsCompilationResult__init_ = (var_0) => {
7840
- let var_1 = new asr_JsCompilationResult();
7841
- asr_JsCompilationResult__init_0(var_1, var_0);
7842
- return var_1;
7843
- };
7844
- var asr_JsCompilationResult_getErrors$exported$0 = (var$1) => {
7845
- let var$2;
7846
- var$1 = var$1.$errors1;
7847
- var$2 = $rt_createArray(asr_JsCompilationResult$JsCompilationError, 0);
7848
- return otji_JS_wrap(ju_AbstractCollection_toArray(var$1, var$2));
7849
- };
7850
- var asr_JsCompilationResult_hasErrors$exported$1 = (var$1) => {
7851
- var$1 = var$1;
7852
- return !!(ju_AbstractCollection_isEmpty(var$1.$errors1) ? 0 : 1);
7853
- };
7854
- var asr_JsCompilationResult_getReport$exported$2 = (var$1) => {
7855
- return $rt_ustr(var$1.$report);
7856
- };
7857
- function asr_AssemblyException() {
7858
- jl_Exception.call(this);
7859
- this.$errs = null;
7860
- }
7861
- var asr_AssemblyException__init_0 = ($this, $errs) => {
7862
- jl_Throwable__init_0($this, asr_ErrorList_generateErrorAndWarningReport($errs));
7863
- $this.$errs = $errs;
7864
- };
7865
- var asr_AssemblyException__init_ = (var_0) => {
7866
- let var_1 = new asr_AssemblyException();
7867
- asr_AssemblyException__init_0(var_1, var_0);
7868
- return var_1;
7869
- };
7870
- var juf_ToIntFunction = $rt_classWithoutFields(0);
7871
- var asr_JsRiscV$getRegistersValues$lambda$_25_0 = $rt_classWithoutFields();
7872
7914
  var asr_JsRiscV$getTokenizedLines$lambda$_5_0 = $rt_classWithoutFields();
7873
7915
  var asr_JsRiscV$getTokenizedLines$lambda$_5_0_apply = (var$0, var$1) => {
7874
7916
  let var$2, var$3, var$4, var$5;
@@ -7903,82 +7945,66 @@ var asr_JsRiscVTokenizedLine_getLine$exported$0 = (var$1) => {
7903
7945
  var asr_JsRiscVTokenizedLine_getTokens$exported$1 = (var$1) => {
7904
7946
  return otji_JS_wrap(var$1.$tokens0);
7905
7947
  };
7906
- function asr_JsProgramStatement() {
7948
+ var asr_JsRiscV$getUndoStack$lambda$_26_0 = $rt_classWithoutFields();
7949
+ var asr_JsRiscV$getUndoStack$lambda$_26_0_apply = (var$0, var$1) => {
7950
+ let var$2, var$3;
7951
+ var$1 = var$1;
7952
+ var$2 = new asr_JsBackStep();
7953
+ var$3 = var$1.$action;
7954
+ var$2.$action0 = var$3 === null ? -1 : var$3.$ordinal0;
7955
+ var$2.$pc2 = var$1.$pc1;
7956
+ var$2.$param10 = var$1.$param1;
7957
+ var$2.$param20 = Long_lo(var$1.$param2);
7958
+ return var$2;
7959
+ };
7960
+ var asr_JsRiscV$getUndoStack$lambda$_26_1 = $rt_classWithoutFields();
7961
+ var asr_JsRiscV$getUndoStack$lambda$_26_1_apply = (var$0, var$1) => {
7962
+ asr_JsRiscV_$callClinit();
7963
+ return $rt_createArray(asr_JsBackStep, var$1);
7964
+ };
7965
+ function asr_JsBackStep() {
7907
7966
  let a = this;
7908
7967
  jl_Object.call(a);
7909
- a.$sourceLine1 = 0;
7910
- a.$address2 = 0;
7911
- a.$binaryStatement0 = 0;
7912
- a.$source3 = null;
7913
- a.$assemblyStatement = null;
7914
- a.$machineStatement0 = null;
7968
+ a.$action0 = 0;
7969
+ a.$pc2 = 0;
7970
+ a.$param10 = 0;
7971
+ a.$param20 = 0;
7915
7972
  }
7916
- var asr_JsProgramStatement__init_0 = ($this, $programStatement) => {
7917
- let var$2, var$3, var$4, var$5, var$6;
7918
- $this.$sourceLine1 = $programStatement.$sourceLine0;
7919
- $this.$address2 = $programStatement.$textAddress0;
7920
- $this.$binaryStatement0 = $programStatement.$binaryStatement;
7921
- $this.$source3 = $programStatement.$source;
7922
- var$2 = $programStatement.$basicStatementList;
7923
- var$3 = !asr_Settings_getBooleanSetting(asr_Globals_getSettings(), asr_Settings$Bool_DISPLAY_ADDRESSES_IN_HEX) ? 10 : 16;
7924
- var$4 = !asr_Settings_getBooleanSetting(asr_Globals_getSettings(), asr_Settings$Bool_DISPLAY_ADDRESSES_IN_HEX) ? 10 : 16;
7925
- var$5 = new jl_StringBuffer();
7926
- jl_AbstractStringBuilder__init_(var$5);
7927
- var$6 = ju_AbstractList_iterator(var$2.$list);
7928
- while (ju_AbstractList$1_hasNext(var$6)) {
7929
- a: {
7930
- var$2 = ju_AbstractList$1_next(var$6);
7931
- switch (var$2.$type3) {
7932
- case 0:
7933
- break;
7934
- case 1:
7935
- if (var$3 == 10) {
7936
- jl_AbstractStringBuilder_append(var$5, var$2.$iValue);
7937
- break a;
7938
- }
7939
- jl_AbstractStringBuilder_append1(var$5, asru_Binary_intToHexString(var$2.$iValue));
7940
- break a;
7941
- case 2:
7942
- if (var$4 == 10) {
7943
- jl_AbstractStringBuilder_append(var$5, var$2.$iValue);
7944
- break a;
7945
- }
7946
- jl_AbstractStringBuilder_append1(var$5, asru_Binary_intToHexString(var$2.$iValue));
7947
- break a;
7948
- case 3:
7949
- jl_AbstractStringBuilder_append(var$5, var$2.$iValue);
7950
- break a;
7951
- default:
7952
- break a;
7953
- }
7954
- jl_AbstractStringBuilder_append1(var$5, var$2.$sValue);
7955
- }
7956
- }
7957
- $this.$assemblyStatement = jl_AbstractStringBuilder_toString(var$5);
7958
- $this.$machineStatement0 = $programStatement.$machineStatement;
7973
+ var asr_JsBackStep_getPc$exported$0 = (var$1) => {
7974
+ return var$1.$pc2;
7959
7975
  };
7960
- var asr_JsProgramStatement__init_ = (var_0) => {
7961
- let var_1 = new asr_JsProgramStatement();
7962
- asr_JsProgramStatement__init_0(var_1, var_0);
7963
- return var_1;
7976
+ var asr_JsBackStep_getParam2$exported$1 = (var$1) => {
7977
+ return var$1.$param20;
7964
7978
  };
7965
- var asr_JsProgramStatement_getSourceLine$exported$0 = (var$1) => {
7966
- return var$1.$sourceLine1;
7979
+ var asr_JsBackStep_getAction$exported$2 = (var$1) => {
7980
+ return var$1.$action0;
7967
7981
  };
7968
- var asr_JsProgramStatement_getAssemblyStatement$exported$1 = (var$1) => {
7969
- return $rt_ustr(var$1.$assemblyStatement);
7982
+ var asr_JsBackStep_getParam1$exported$3 = (var$1) => {
7983
+ return var$1.$param10;
7970
7984
  };
7971
- var asr_JsProgramStatement_getSource$exported$2 = (var$1) => {
7972
- return $rt_ustr(var$1.$source3);
7985
+ function asr_JsStackFrame() {
7986
+ let a = this;
7987
+ jl_Object.call(a);
7988
+ a.$pc3 = 0;
7989
+ a.$toAddress0 = 0;
7990
+ a.$sp = 0;
7991
+ a.$fp = 0;
7992
+ a.$registers = null;
7993
+ }
7994
+ var asr_JsStackFrame_getPc$exported$0 = (var$1) => {
7995
+ return var$1.$pc3;
7973
7996
  };
7974
- var asr_JsProgramStatement_getAddress$exported$3 = (var$1) => {
7975
- return var$1.$address2;
7997
+ var asr_JsStackFrame_getToAddress$exported$1 = (var$1) => {
7998
+ return var$1.$toAddress0;
7976
7999
  };
7977
- var asr_JsProgramStatement_getBinaryStatement$exported$4 = (var$1) => {
7978
- return var$1.$binaryStatement0;
8000
+ var asr_JsStackFrame_getRegisters$exported$2 = (var$1) => {
8001
+ return otji_JS_wrap0(var$1.$registers);
7979
8002
  };
7980
- var asr_JsProgramStatement_getMachineStatement$exported$5 = (var$1) => {
7981
- return $rt_ustr(var$1.$machineStatement0);
8003
+ var asr_JsStackFrame_getSp$exported$3 = (var$1) => {
8004
+ return var$1.$sp;
8005
+ };
8006
+ var asr_JsStackFrame_getFp$exported$4 = (var$1) => {
8007
+ return var$1.$fp;
7982
8008
  };
7983
8009
  var ju_Map$Entry = $rt_classWithoutFields(0);
7984
8010
  function ju_MapEntry() {
@@ -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();
@@ -8523,6 +8555,29 @@ var asr_RISCVFile_getName = ($this) => {
8523
8555
  return $this.$name2;
8524
8556
  };
8525
8557
  var jl_StringIndexOutOfBoundsException = $rt_classWithoutFields(jl_IndexOutOfBoundsException);
8558
+ function asr_JsCompilationResult$_init_$lambda$_0_0() {
8559
+ jl_Object.call(this);
8560
+ this.$_06 = null;
8561
+ }
8562
+ var asr_JsCompilationResult$_init_$lambda$_0_0_apply = (var$0, var$1) => {
8563
+ let var$2, var$3;
8564
+ var$1 = var$1;
8565
+ var$2 = var$0.$_06;
8566
+ var$3 = new asr_JsCompilationResult$JsCompilationError();
8567
+ var$3.$this$016 = var$2;
8568
+ var$3.$isWarning0 = var$1.$isWarning;
8569
+ var$3.$message2 = var$1.$message0;
8570
+ var$3.$macroExpansionHistory0 = asr_ErrorMessage_getMacroExpansionHistory(var$1);
8571
+ var$3.$filename2 = var$1.$filename0;
8572
+ var$3.$lineNumber0 = var$1.$line;
8573
+ var$3.$columnNumber = var$1.$position2;
8574
+ return var$3;
8575
+ };
8576
+ var juf_Supplier = $rt_classWithoutFields(0);
8577
+ var asr_JsCompilationResult$_init_$lambda$_0_1 = $rt_classWithoutFields();
8578
+ var juf_BiConsumer = $rt_classWithoutFields(0);
8579
+ var asr_JsCompilationResult$_init_$lambda$_0_2 = $rt_classWithoutFields();
8580
+ var asr_JsCompilationResult$_init_$lambda$_0_3 = $rt_classWithoutFields();
8526
8581
  function asrs_BackStepper() {
8527
8582
  let a = this;
8528
8583
  jl_Object.call(a);
@@ -8540,108 +8595,6 @@ var asrs_BackStepper_addDoNothing = ($this, $pc) => {
8540
8595
  if (!(!asrs_BackStepper$BackstepStack_empty($this.$backSteps) && asrs_BackStepper$BackstepStack_peek($this.$backSteps).$pc1 == $pc))
8541
8596
  asrs_BackStepper$BackstepStack_push1($this.$backSteps, asrs_BackStepper$Action_DO_NOTHING, $pc);
8542
8597
  };
8543
- function asrs_BackStepper$BackstepStack() {
8544
- let a = this;
8545
- jl_Object.call(a);
8546
- a.$capacity = 0;
8547
- a.$size1 = 0;
8548
- a.$top = 0;
8549
- a.$stack = null;
8550
- a.$this$015 = null;
8551
- }
8552
- var asrs_BackStepper$BackstepStack_empty = ($this) => {
8553
- jl_Object_monitorEnterSync($this);
8554
- try {
8555
- return $this.$size1 ? 0 : 1;
8556
- } finally {
8557
- jl_Object_monitorExitSync($this);
8558
- }
8559
- };
8560
- var asrs_BackStepper$BackstepStack_push = ($this, $act, $programCounter, $parm1, $parm2) => {
8561
- let var$5, var$6, var$7, $$je;
8562
- jl_Object_monitorEnterSync($this);
8563
- try {
8564
- var$5 = $this.$size1;
8565
- if (!var$5) {
8566
- $this.$top = 0;
8567
- $this.$size1 = var$5 + 1 | 0;
8568
- } else {
8569
- var$6 = $this.$capacity;
8570
- if (var$5 >= var$6)
8571
- $this.$top = ($this.$top + 1 | 0) % var$6 | 0;
8572
- else {
8573
- $this.$top = ($this.$top + 1 | 0) % var$6 | 0;
8574
- $this.$size1 = var$5 + 1 | 0;
8575
- }
8576
- }
8577
- var$7 = $this.$stack.data[$this.$top];
8578
- var$7.$action = $act;
8579
- var$7.$pc1 = $programCounter;
8580
- a: {
8581
- try {
8582
- asr_Globals_$callClinit();
8583
- var$7.$ps = asrrh_Memory_getStatementNoNotify(asr_Globals_memory, $programCounter);
8584
- break a;
8585
- } catch ($$e) {
8586
- $$je = $rt_wrapException($$e);
8587
- if ($$je instanceof jl_Exception) {
8588
- } else {
8589
- throw $$e;
8590
- }
8591
- }
8592
- var$7.$ps = null;
8593
- var$7.$pc1 = -1;
8594
- }
8595
- var$7.$param1 = $parm1;
8596
- var$7.$param2 = $parm2;
8597
- } finally {
8598
- jl_Object_monitorExitSync($this);
8599
- }
8600
- };
8601
- var asrs_BackStepper$BackstepStack_push0 = ($this, $act, $programCounter, $parm1) => {
8602
- jl_Object_monitorEnterSync($this);
8603
- try {
8604
- asrs_BackStepper$BackstepStack_push($this, $act, $programCounter, $parm1, Long_ZERO);
8605
- } finally {
8606
- jl_Object_monitorExitSync($this);
8607
- }
8608
- };
8609
- var asrs_BackStepper$BackstepStack_push1 = ($this, $act, $programCounter) => {
8610
- jl_Object_monitorEnterSync($this);
8611
- try {
8612
- asrs_BackStepper$BackstepStack_push($this, $act, $programCounter, 0, Long_ZERO);
8613
- } finally {
8614
- jl_Object_monitorExitSync($this);
8615
- }
8616
- };
8617
- var asrs_BackStepper$BackstepStack_pop = ($this) => {
8618
- let var$1, var$2, $bs, var$4, var$5;
8619
- jl_Object_monitorEnterSync($this);
8620
- try {
8621
- var$1 = $this.$stack.data;
8622
- var$2 = $this.$top;
8623
- $bs = var$1[var$2];
8624
- var$4 = $this.$size1;
8625
- if (var$4 == 1)
8626
- $this.$top = -1;
8627
- else {
8628
- var$5 = $this.$capacity;
8629
- $this.$top = ((var$2 + var$5 | 0) - 1 | 0) % var$5 | 0;
8630
- }
8631
- $this.$size1 = var$4 - 1 | 0;
8632
- return $bs;
8633
- } finally {
8634
- jl_Object_monitorExitSync($this);
8635
- }
8636
- };
8637
- var asrs_BackStepper$BackstepStack_peek = ($this) => {
8638
- jl_Object_monitorEnterSync($this);
8639
- try {
8640
- return $this.$stack.data[$this.$top];
8641
- } finally {
8642
- jl_Object_monitorExitSync($this);
8643
- }
8644
- };
8645
8598
  var jl_AutoCloseable = $rt_classWithoutFields(0);
8646
8599
  var jus_BaseStream = $rt_classWithoutFields(0);
8647
8600
  var jus_Stream = $rt_classWithoutFields(0);
@@ -8834,29 +8787,108 @@ var asrrh_Register_notifyAnyObservers = ($this, $type) => {
8834
8787
  ju_Observable_notifyObservers(var$2, var$3);
8835
8788
  }
8836
8789
  };
8837
- function asr_JsCompilationResult$_init_$lambda$_0_0() {
8838
- jl_Object.call(this);
8839
- this.$_06 = null;
8790
+ function asrs_BackStepper$BackstepStack() {
8791
+ let a = this;
8792
+ jl_Object.call(a);
8793
+ a.$capacity = 0;
8794
+ a.$size1 = 0;
8795
+ a.$top = 0;
8796
+ a.$stack = null;
8797
+ a.$this$015 = null;
8840
8798
  }
8841
- var asr_JsCompilationResult$_init_$lambda$_0_0_apply = (var$0, var$1) => {
8842
- let var$2, var$3;
8843
- var$1 = var$1;
8844
- var$2 = var$0.$_06;
8845
- var$3 = new asr_JsCompilationResult$JsCompilationError();
8846
- var$3.$this$016 = var$2;
8847
- var$3.$isWarning0 = var$1.$isWarning;
8848
- var$3.$message2 = var$1.$message0;
8849
- var$3.$macroExpansionHistory0 = asr_ErrorMessage_getMacroExpansionHistory(var$1);
8850
- var$3.$filename2 = var$1.$filename0;
8851
- var$3.$lineNumber0 = var$1.$line;
8852
- var$3.$columnNumber = var$1.$position2;
8853
- return var$3;
8799
+ var asrs_BackStepper$BackstepStack_empty = ($this) => {
8800
+ jl_Object_monitorEnterSync($this);
8801
+ try {
8802
+ return $this.$size1 ? 0 : 1;
8803
+ } finally {
8804
+ jl_Object_monitorExitSync($this);
8805
+ }
8806
+ };
8807
+ var asrs_BackStepper$BackstepStack_push = ($this, $act, $programCounter, $parm1, $parm2) => {
8808
+ let var$5, var$6, var$7, $$je;
8809
+ jl_Object_monitorEnterSync($this);
8810
+ try {
8811
+ var$5 = $this.$size1;
8812
+ if (!var$5) {
8813
+ $this.$top = 0;
8814
+ $this.$size1 = var$5 + 1 | 0;
8815
+ } else {
8816
+ var$6 = $this.$capacity;
8817
+ if (var$5 >= var$6)
8818
+ $this.$top = ($this.$top + 1 | 0) % var$6 | 0;
8819
+ else {
8820
+ $this.$top = ($this.$top + 1 | 0) % var$6 | 0;
8821
+ $this.$size1 = var$5 + 1 | 0;
8822
+ }
8823
+ }
8824
+ var$7 = $this.$stack.data[$this.$top];
8825
+ var$7.$action = $act;
8826
+ var$7.$pc1 = $programCounter;
8827
+ a: {
8828
+ try {
8829
+ asr_Globals_$callClinit();
8830
+ var$7.$ps = asrrh_Memory_getStatementNoNotify(asr_Globals_memory, $programCounter);
8831
+ break a;
8832
+ } catch ($$e) {
8833
+ $$je = $rt_wrapException($$e);
8834
+ if ($$je instanceof jl_Exception) {
8835
+ } else {
8836
+ throw $$e;
8837
+ }
8838
+ }
8839
+ var$7.$ps = null;
8840
+ var$7.$pc1 = -1;
8841
+ }
8842
+ var$7.$param1 = $parm1;
8843
+ var$7.$param2 = $parm2;
8844
+ } finally {
8845
+ jl_Object_monitorExitSync($this);
8846
+ }
8847
+ };
8848
+ var asrs_BackStepper$BackstepStack_push0 = ($this, $act, $programCounter, $parm1) => {
8849
+ jl_Object_monitorEnterSync($this);
8850
+ try {
8851
+ asrs_BackStepper$BackstepStack_push($this, $act, $programCounter, $parm1, Long_ZERO);
8852
+ } finally {
8853
+ jl_Object_monitorExitSync($this);
8854
+ }
8855
+ };
8856
+ var asrs_BackStepper$BackstepStack_push1 = ($this, $act, $programCounter) => {
8857
+ jl_Object_monitorEnterSync($this);
8858
+ try {
8859
+ asrs_BackStepper$BackstepStack_push($this, $act, $programCounter, 0, Long_ZERO);
8860
+ } finally {
8861
+ jl_Object_monitorExitSync($this);
8862
+ }
8863
+ };
8864
+ var asrs_BackStepper$BackstepStack_pop = ($this) => {
8865
+ let var$1, var$2, $bs, var$4, var$5;
8866
+ jl_Object_monitorEnterSync($this);
8867
+ try {
8868
+ var$1 = $this.$stack.data;
8869
+ var$2 = $this.$top;
8870
+ $bs = var$1[var$2];
8871
+ var$4 = $this.$size1;
8872
+ if (var$4 == 1)
8873
+ $this.$top = -1;
8874
+ else {
8875
+ var$5 = $this.$capacity;
8876
+ $this.$top = ((var$2 + var$5 | 0) - 1 | 0) % var$5 | 0;
8877
+ }
8878
+ $this.$size1 = var$4 - 1 | 0;
8879
+ return $bs;
8880
+ } finally {
8881
+ jl_Object_monitorExitSync($this);
8882
+ }
8883
+ };
8884
+ var asrs_BackStepper$BackstepStack_peek = ($this) => {
8885
+ jl_Object_monitorEnterSync($this);
8886
+ try {
8887
+ return $this.$stack.data[$this.$top];
8888
+ } finally {
8889
+ jl_Object_monitorExitSync($this);
8890
+ }
8854
8891
  };
8855
- var juf_Supplier = $rt_classWithoutFields(0);
8856
- var asr_JsCompilationResult$_init_$lambda$_0_1 = $rt_classWithoutFields();
8857
- var juf_BiConsumer = $rt_classWithoutFields(0);
8858
- var asr_JsCompilationResult$_init_$lambda$_0_2 = $rt_classWithoutFields();
8859
- var asr_JsCompilationResult$_init_$lambda$_0_3 = $rt_classWithoutFields();
8860
8892
  var jl_Math = $rt_classWithoutFields();
8861
8893
  var jl_Math_pow = ($x, $y) => {
8862
8894
  return jl_Math_powImpl($x, $y);
@@ -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: {
@@ -12107,6 +12163,91 @@ var ju_Comparator$NaturalOrder_compare = ($this, $o1, $o2) => {
12107
12163
  var ju_Comparator$NaturalOrder__clinit_ = () => {
12108
12164
  ju_Comparator$NaturalOrder_INSTANCE = new ju_Comparator$NaturalOrder();
12109
12165
  };
12166
+ function asr_ErrorList() {
12167
+ let a = this;
12168
+ jl_Object.call(a);
12169
+ a.$messages = null;
12170
+ a.$errorCount = 0;
12171
+ a.$warningCount = 0;
12172
+ }
12173
+ var asr_ErrorList__init_0 = ($this) => {
12174
+ $this.$messages = ju_ArrayList__init_();
12175
+ $this.$errorCount = 0;
12176
+ $this.$warningCount = 0;
12177
+ };
12178
+ var asr_ErrorList__init_ = () => {
12179
+ let var_0 = new asr_ErrorList();
12180
+ asr_ErrorList__init_0(var_0);
12181
+ return var_0;
12182
+ };
12183
+ var asr_ErrorList_errorsOccurred = ($this) => {
12184
+ return !$this.$errorCount ? 0 : 1;
12185
+ };
12186
+ var asr_ErrorList_warningsOccurred = ($this) => {
12187
+ return !$this.$warningCount ? 0 : 1;
12188
+ };
12189
+ var asr_ErrorList_add = ($this, $mess) => {
12190
+ let var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9;
12191
+ var$2 = $this.$messages.$size0;
12192
+ if ($this.$errorCount <= asr_ErrorList_getErrorLimit($this)) {
12193
+ if ($this.$errorCount != asr_ErrorList_getErrorLimit($this)) {
12194
+ ju_ArrayList_add0($this.$messages, var$2, $mess);
12195
+ if (!$mess.$isWarning)
12196
+ $this.$errorCount = $this.$errorCount + 1 | 0;
12197
+ else
12198
+ $this.$warningCount = $this.$warningCount + 1 | 0;
12199
+ } else {
12200
+ var$3 = $this.$messages;
12201
+ var$4 = new asr_ErrorMessage();
12202
+ var$5 = null;
12203
+ var$2 = $mess.$line;
12204
+ var$6 = $mess.$position2;
12205
+ var$7 = asr_ErrorList_getErrorLimit($this);
12206
+ var$8 = new jl_StringBuilder();
12207
+ jl_AbstractStringBuilder__init_(var$8);
12208
+ var$9 = jl_StringBuilder_append(var$8, $rt_s(1025));
12209
+ jl_AbstractStringBuilder_append(var$9, var$7);
12210
+ jl_StringBuilder_append(var$9, $rt_s(1026));
12211
+ asr_ErrorMessage__init_(var$4, var$5, var$2, var$6, jl_AbstractStringBuilder_toString(var$8));
12212
+ ju_ArrayList_add(var$3, var$4);
12213
+ $this.$errorCount = $this.$errorCount + 1 | 0;
12214
+ }
12215
+ }
12216
+ };
12217
+ var asr_ErrorList_errorLimitExceeded = ($this) => {
12218
+ return $this.$errorCount <= asr_ErrorList_getErrorLimit($this) ? 0 : 1;
12219
+ };
12220
+ var asr_ErrorList_getErrorLimit = ($this) => {
12221
+ asr_Globals_$callClinit();
12222
+ return asr_Globals_maximumErrorMessages;
12223
+ };
12224
+ var asr_ErrorList_generateErrorAndWarningReport = ($this) => {
12225
+ let var$1, var$2, var$3;
12226
+ var$1 = asr_ErrorList_generateReport($this, 1);
12227
+ var$2 = asr_ErrorList_generateReport($this, 0);
12228
+ var$3 = new jl_StringBuilder();
12229
+ jl_AbstractStringBuilder__init_(var$3);
12230
+ jl_StringBuilder_append(jl_StringBuilder_append(var$3, var$1), var$2);
12231
+ return jl_AbstractStringBuilder_toString(var$3);
12232
+ };
12233
+ var asr_ErrorList_generateReport = ($this, $isWarning) => {
12234
+ let $report, var$3, $m;
12235
+ $report = jl_StringBuilder__init_0($rt_s(3));
12236
+ var$3 = ju_AbstractList_iterator($this.$messages);
12237
+ while (ju_AbstractList$1_hasNext(var$3)) {
12238
+ a: {
12239
+ $m = ju_AbstractList$1_next(var$3);
12240
+ if (!($isWarning && $m.$isWarning)) {
12241
+ if ($isWarning)
12242
+ break a;
12243
+ if ($m.$isWarning)
12244
+ break a;
12245
+ }
12246
+ jl_AbstractStringBuilder_append1($report, asr_ErrorMessage_generateReport($m));
12247
+ }
12248
+ }
12249
+ return jl_AbstractStringBuilder_toString($report);
12250
+ };
12110
12251
  function asrrh_RegisterBlock() {
12111
12252
  let a = this;
12112
12253
  jl_Object.call(a);
@@ -12195,91 +12336,6 @@ function asrrh_StackFrame() {
12195
12336
  a.$fp0 = 0;
12196
12337
  a.$registers0 = null;
12197
12338
  }
12198
- function asr_ErrorList() {
12199
- let a = this;
12200
- jl_Object.call(a);
12201
- a.$messages = null;
12202
- a.$errorCount = 0;
12203
- a.$warningCount = 0;
12204
- }
12205
- var asr_ErrorList__init_0 = ($this) => {
12206
- $this.$messages = ju_ArrayList__init_();
12207
- $this.$errorCount = 0;
12208
- $this.$warningCount = 0;
12209
- };
12210
- var asr_ErrorList__init_ = () => {
12211
- let var_0 = new asr_ErrorList();
12212
- asr_ErrorList__init_0(var_0);
12213
- return var_0;
12214
- };
12215
- var asr_ErrorList_errorsOccurred = ($this) => {
12216
- return !$this.$errorCount ? 0 : 1;
12217
- };
12218
- var asr_ErrorList_warningsOccurred = ($this) => {
12219
- return !$this.$warningCount ? 0 : 1;
12220
- };
12221
- var asr_ErrorList_add = ($this, $mess) => {
12222
- let var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9;
12223
- var$2 = $this.$messages.$size0;
12224
- if ($this.$errorCount <= asr_ErrorList_getErrorLimit($this)) {
12225
- if ($this.$errorCount != asr_ErrorList_getErrorLimit($this)) {
12226
- ju_ArrayList_add0($this.$messages, var$2, $mess);
12227
- if (!$mess.$isWarning)
12228
- $this.$errorCount = $this.$errorCount + 1 | 0;
12229
- else
12230
- $this.$warningCount = $this.$warningCount + 1 | 0;
12231
- } else {
12232
- var$3 = $this.$messages;
12233
- var$4 = new asr_ErrorMessage();
12234
- var$5 = null;
12235
- var$2 = $mess.$line;
12236
- var$6 = $mess.$position2;
12237
- var$7 = asr_ErrorList_getErrorLimit($this);
12238
- var$8 = new jl_StringBuilder();
12239
- jl_AbstractStringBuilder__init_(var$8);
12240
- var$9 = jl_StringBuilder_append(var$8, $rt_s(1025));
12241
- jl_AbstractStringBuilder_append(var$9, var$7);
12242
- jl_StringBuilder_append(var$9, $rt_s(1026));
12243
- asr_ErrorMessage__init_(var$4, var$5, var$2, var$6, jl_AbstractStringBuilder_toString(var$8));
12244
- ju_ArrayList_add(var$3, var$4);
12245
- $this.$errorCount = $this.$errorCount + 1 | 0;
12246
- }
12247
- }
12248
- };
12249
- var asr_ErrorList_errorLimitExceeded = ($this) => {
12250
- return $this.$errorCount <= asr_ErrorList_getErrorLimit($this) ? 0 : 1;
12251
- };
12252
- var asr_ErrorList_getErrorLimit = ($this) => {
12253
- asr_Globals_$callClinit();
12254
- return asr_Globals_maximumErrorMessages;
12255
- };
12256
- var asr_ErrorList_generateErrorAndWarningReport = ($this) => {
12257
- let var$1, var$2, var$3;
12258
- var$1 = asr_ErrorList_generateReport($this, 1);
12259
- var$2 = asr_ErrorList_generateReport($this, 0);
12260
- var$3 = new jl_StringBuilder();
12261
- jl_AbstractStringBuilder__init_(var$3);
12262
- jl_StringBuilder_append(jl_StringBuilder_append(var$3, var$1), var$2);
12263
- return jl_AbstractStringBuilder_toString(var$3);
12264
- };
12265
- var asr_ErrorList_generateReport = ($this, $isWarning) => {
12266
- let $report, var$3, $m;
12267
- $report = jl_StringBuilder__init_0($rt_s(3));
12268
- var$3 = ju_AbstractList_iterator($this.$messages);
12269
- while (ju_AbstractList$1_hasNext(var$3)) {
12270
- a: {
12271
- $m = ju_AbstractList$1_next(var$3);
12272
- if (!($isWarning && $m.$isWarning)) {
12273
- if ($isWarning)
12274
- break a;
12275
- if ($m.$isWarning)
12276
- break a;
12277
- }
12278
- jl_AbstractStringBuilder_append1($report, asr_ErrorMessage_generateReport($m));
12279
- }
12280
- }
12281
- return jl_AbstractStringBuilder_toString($report);
12282
- };
12283
12339
  function asrrh_MemoryConfiguration() {
12284
12340
  let a = this;
12285
12341
  jl_Object.call(a);
@@ -13873,6 +13929,22 @@ var jusi_StreamOverSpliterator_next = ($this, $consumer) => {
13873
13929
  var jusi_StreamOverSpliterator_estimateSize = ($this) => {
13874
13930
  return Long_lo(Long_fromInt($this.$spliterator0.$collection.$size()));
13875
13931
  };
13932
+ var jus_IntStream = $rt_classWithoutFields(0);
13933
+ var jusi_SimpleIntStreamImpl = $rt_classWithoutFields();
13934
+ function jusi_MappingToIntStreamImpl() {
13935
+ let a = this;
13936
+ jusi_SimpleIntStreamImpl.call(a);
13937
+ a.$source1 = null;
13938
+ a.$mapper0 = null;
13939
+ }
13940
+ var jusi_MappingToIntStreamImpl_next = ($this, $consumer) => {
13941
+ let var$2, var$3;
13942
+ var$2 = $this.$source1;
13943
+ var$3 = new jusi_MappingToIntStreamImpl$next$lambda$_1_0();
13944
+ var$3.$_09 = $this;
13945
+ var$3.$_13 = $consumer;
13946
+ return jusi_ArrayStreamImpl_next(var$2, var$3);
13947
+ };
13876
13948
  function jusi_WrappingStreamImpl() {
13877
13949
  jusi_SimpleStreamImpl.call(this);
13878
13950
  this.$sourceStream = null;
@@ -13894,22 +13966,6 @@ var jusi_MappingStreamImpl_wrap = ($this, $consumer) => {
13894
13966
  var$2.$_10 = $consumer;
13895
13967
  return var$2;
13896
13968
  };
13897
- var jus_IntStream = $rt_classWithoutFields(0);
13898
- var jusi_SimpleIntStreamImpl = $rt_classWithoutFields();
13899
- function jusi_MappingToIntStreamImpl() {
13900
- let a = this;
13901
- jusi_SimpleIntStreamImpl.call(a);
13902
- a.$source1 = null;
13903
- a.$mapper0 = null;
13904
- }
13905
- var jusi_MappingToIntStreamImpl_next = ($this, $consumer) => {
13906
- let var$2, var$3;
13907
- var$2 = $this.$source1;
13908
- var$3 = new jusi_MappingToIntStreamImpl$next$lambda$_1_0();
13909
- var$3.$_09 = $this;
13910
- var$3.$_13 = $consumer;
13911
- return jusi_ArrayStreamImpl_next(var$2, var$3);
13912
- };
13913
13969
  var jm_Conversion = $rt_classWithoutFields();
13914
13970
  var jm_Conversion_digitFitInInt = null;
13915
13971
  var jm_Conversion_bigRadices = null;
@@ -14356,89 +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
- var jlr_Array = $rt_classWithoutFields();
14406
- var jlr_Array_getLength = (var$1) => {
14407
- if (var$1 === null || var$1.constructor.$meta.item === "undefined") {
14408
- $rt_throw(jl_IllegalArgumentException__init_());
14409
- }
14410
- return var$1.data.length;
14411
- };
14412
- var jlr_Array_newInstance = (var$1, $length) => {
14413
- if (var$1 === null) {
14414
- var$1 = new jl_NullPointerException();
14415
- jl_Throwable__init_(var$1);
14416
- $rt_throw(var$1);
14417
- }
14418
- if (var$1 === $rt_cls($rt_voidcls)) {
14419
- var$1 = new jl_IllegalArgumentException();
14420
- jl_Throwable__init_(var$1);
14421
- $rt_throw(var$1);
14422
- }
14423
- if ($length >= 0)
14424
- return jlr_Array_newInstanceImpl(var$1.$platformClass, $length);
14425
- var$1 = new jl_NegativeArraySizeException();
14426
- jl_Throwable__init_(var$1);
14427
- $rt_throw(var$1);
14428
- };
14429
- var jlr_Array_newInstanceImpl = (var$1, var$2) => {
14430
- if (var$1.$meta.primitive) {
14431
- switch (var$1) {
14432
- }
14433
- ;
14434
- }
14435
- return $rt_createArray(var$1, var$2);
14436
- };
14437
- var asrrh_Stack = $rt_classWithoutFields();
14438
- var asrrh_Stack_callStack = null;
14439
- var asrrh_Stack__clinit_ = () => {
14440
- asrrh_Stack_callStack = ju_ArrayList__init_();
14441
- };
14442
14415
  var asrrh_FloatingPointRegisterFile = $rt_classWithoutFields();
14443
14416
  var asrrh_FloatingPointRegisterFile_instance = null;
14444
14417
  var asrrh_FloatingPointRegisterFile_setRegisterToFloat = ($reg, $val) => {
@@ -14483,38 +14456,38 @@ var asrrh_FloatingPointRegisterFile__clinit_ = () => {
14483
14456
  var$1 = new asrrh_RegisterBlock();
14484
14457
  var$2 = $rt_createArray(asrrh_Register, 32);
14485
14458
  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);
14459
+ var$3[0] = asrrh_Register__init_($rt_s(1091), 0, Long_ZERO);
14460
+ var$3[1] = asrrh_Register__init_($rt_s(1092), 1, Long_ZERO);
14461
+ var$3[2] = asrrh_Register__init_($rt_s(1093), 2, Long_ZERO);
14462
+ var$3[3] = asrrh_Register__init_($rt_s(1094), 3, Long_ZERO);
14463
+ var$3[4] = asrrh_Register__init_($rt_s(1095), 4, Long_ZERO);
14464
+ var$3[5] = asrrh_Register__init_($rt_s(1096), 5, Long_ZERO);
14465
+ var$3[6] = asrrh_Register__init_($rt_s(1097), 6, Long_ZERO);
14466
+ var$3[7] = asrrh_Register__init_($rt_s(1098), 7, Long_ZERO);
14467
+ var$3[8] = asrrh_Register__init_($rt_s(1099), 8, Long_ZERO);
14468
+ var$3[9] = asrrh_Register__init_($rt_s(1100), 9, Long_ZERO);
14496
14469
  var$3[10] = asrrh_Register__init_($rt_s(1042), 10, Long_ZERO);
14497
14470
  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);
14471
+ var$3[12] = asrrh_Register__init_($rt_s(1101), 12, Long_ZERO);
14472
+ var$3[13] = asrrh_Register__init_($rt_s(1102), 13, Long_ZERO);
14473
+ var$3[14] = asrrh_Register__init_($rt_s(1103), 14, Long_ZERO);
14474
+ var$3[15] = asrrh_Register__init_($rt_s(1104), 15, Long_ZERO);
14475
+ var$3[16] = asrrh_Register__init_($rt_s(1105), 16, Long_ZERO);
14476
+ var$3[17] = asrrh_Register__init_($rt_s(1106), 17, Long_ZERO);
14477
+ var$3[18] = asrrh_Register__init_($rt_s(1107), 18, Long_ZERO);
14478
+ var$3[19] = asrrh_Register__init_($rt_s(1108), 19, Long_ZERO);
14479
+ var$3[20] = asrrh_Register__init_($rt_s(1109), 20, Long_ZERO);
14480
+ var$3[21] = asrrh_Register__init_($rt_s(1110), 21, Long_ZERO);
14481
+ var$3[22] = asrrh_Register__init_($rt_s(1111), 22, Long_ZERO);
14482
+ var$3[23] = asrrh_Register__init_($rt_s(1112), 23, Long_ZERO);
14483
+ var$3[24] = asrrh_Register__init_($rt_s(1113), 24, Long_ZERO);
14484
+ var$3[25] = asrrh_Register__init_($rt_s(1114), 25, Long_ZERO);
14485
+ var$3[26] = asrrh_Register__init_($rt_s(1115), 26, Long_ZERO);
14486
+ var$3[27] = asrrh_Register__init_($rt_s(1116), 27, Long_ZERO);
14487
+ var$3[28] = asrrh_Register__init_($rt_s(1117), 28, Long_ZERO);
14488
+ var$3[29] = asrrh_Register__init_($rt_s(1118), 29, Long_ZERO);
14489
+ var$3[30] = asrrh_Register__init_($rt_s(1119), 30, Long_ZERO);
14490
+ var$3[31] = asrrh_Register__init_($rt_s(1120), 31, Long_ZERO);
14518
14491
  asrrh_RegisterBlock__init_(var$1, 102, var$2);
14519
14492
  asrrh_FloatingPointRegisterFile_instance = var$1;
14520
14493
  };
@@ -14582,25 +14555,25 @@ var asrrh_ControlAndStatusRegisterFile__clinit_ = () => {
14582
14555
  var$2[0] = asrrh_MaskedRegister__init_($rt_s(679), 0, Long_ZERO, Long_fromInt(-18));
14583
14556
  var$2[1] = null;
14584
14557
  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);
14558
+ var$2[3] = asrrh_MaskedRegister__init_($rt_s(1121), 3, Long_ZERO, Long_fromInt(-256));
14559
+ var$2[4] = asrrh_Register__init_($rt_s(1122), 4, Long_ZERO);
14560
+ var$2[5] = asrrh_Register__init_($rt_s(1123), 5, Long_ZERO);
14561
+ var$2[6] = asrrh_Register__init_($rt_s(1124), 64, Long_ZERO);
14589
14562
  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);
14563
+ var$2[8] = asrrh_Register__init_($rt_s(1125), 66, Long_ZERO);
14564
+ var$2[9] = asrrh_Register__init_($rt_s(1126), 67, Long_ZERO);
14565
+ var$2[10] = asrrh_Register__init_($rt_s(1127), 68, Long_ZERO);
14566
+ var$2[11] = asrrh_ReadOnlyRegister__init_($rt_s(1128), 3072, 0);
14567
+ var$2[12] = asrrh_ReadOnlyRegister__init_($rt_s(1129), 3073, 0);
14568
+ var$2[13] = asrrh_ReadOnlyRegister__init_($rt_s(1130), 3074, 0);
14596
14569
  var$2[14] = null;
14597
14570
  var$2[15] = null;
14598
14571
  var$2[16] = null;
14599
14572
  var$2[1] = asrrh_LinkedRegister__init_($rt_s(446), 1, var$2[3], Long_fromInt(31));
14600
14573
  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));
14574
+ var$2[14] = asrrh_LinkedRegister__init_($rt_s(1131), 3200, var$2[11], Long_create(0, 4294967295));
14575
+ var$2[15] = asrrh_LinkedRegister__init_($rt_s(1132), 3201, var$2[12], Long_create(0, 4294967295));
14576
+ var$2[16] = asrrh_LinkedRegister__init_($rt_s(1133), 3202, var$2[13], Long_create(0, 4294967295));
14604
14577
  asrrh_ControlAndStatusRegisterFile_instance = asrrh_RegisterBlock__init_0(95, $tmp_0);
14605
14578
  };
14606
14579
  var asrrh_InterruptController = $rt_classWithoutFields();
@@ -14706,7 +14679,7 @@ var asrrh_InterruptController_claimExternal = () => {
14706
14679
  a: {
14707
14680
  try {
14708
14681
  if (!asrrh_InterruptController_$assertionsDisabled && !asrrh_InterruptController_externalPending)
14709
- $rt_throw(jl_AssertionError__init_($rt_s(1141)));
14682
+ $rt_throw(jl_AssertionError__init_($rt_s(1134)));
14710
14683
  asrrh_InterruptController_externalPending = 0;
14711
14684
  var$2 = asrrh_InterruptController_externalValue;
14712
14685
  jl_Object_monitorExitSync(var$1);
@@ -14727,7 +14700,7 @@ var asrrh_InterruptController_claimTimer = () => {
14727
14700
  a: {
14728
14701
  try {
14729
14702
  if (!asrrh_InterruptController_$assertionsDisabled && !asrrh_InterruptController_timerPending)
14730
- $rt_throw(jl_AssertionError__init_($rt_s(1142)));
14703
+ $rt_throw(jl_AssertionError__init_($rt_s(1135)));
14731
14704
  asrrh_InterruptController_timerPending = 0;
14732
14705
  var$2 = asrrh_InterruptController_timerValue;
14733
14706
  jl_Object_monitorExitSync(var$1);
@@ -14749,9 +14722,9 @@ var asrrh_InterruptController_claimTrap = () => {
14749
14722
  try {
14750
14723
  var$2 = asrrh_InterruptController_$assertionsDisabled;
14751
14724
  if (!var$2 && !asrrh_InterruptController_trapPending)
14752
- $rt_throw(jl_AssertionError__init_($rt_s(1143)));
14725
+ $rt_throw(jl_AssertionError__init_($rt_s(1136)));
14753
14726
  if (!var$2 && asrrh_InterruptController_trapPC != (asrrh_RegisterFile_getProgramCounter() - 4 | 0))
14754
- $rt_throw(jl_AssertionError__init_($rt_s(1144)));
14727
+ $rt_throw(jl_AssertionError__init_($rt_s(1137)));
14755
14728
  asrrh_InterruptController_trapPending = 0;
14756
14729
  var$3 = asrrh_InterruptController_trapSE;
14757
14730
  jl_Object_monitorExitSync(var$1);
@@ -14772,6 +14745,89 @@ var asrrh_InterruptController__clinit_ = () => {
14772
14745
  asrrh_InterruptController_timerPending = 0;
14773
14746
  asrrh_InterruptController_trapPending = 0;
14774
14747
  };
14748
+ var asrrh_Stack = $rt_classWithoutFields();
14749
+ var asrrh_Stack_callStack = null;
14750
+ var asrrh_Stack__clinit_ = () => {
14751
+ asrrh_Stack_callStack = ju_ArrayList__init_();
14752
+ };
14753
+ var jlr_Array = $rt_classWithoutFields();
14754
+ var jlr_Array_getLength = (var$1) => {
14755
+ if (var$1 === null || var$1.constructor.$meta.item === "undefined") {
14756
+ $rt_throw(jl_IllegalArgumentException__init_());
14757
+ }
14758
+ return var$1.data.length;
14759
+ };
14760
+ var jlr_Array_newInstance = (var$1, $length) => {
14761
+ if (var$1 === null) {
14762
+ var$1 = new jl_NullPointerException();
14763
+ jl_Throwable__init_(var$1);
14764
+ $rt_throw(var$1);
14765
+ }
14766
+ if (var$1 === $rt_cls($rt_voidcls)) {
14767
+ var$1 = new jl_IllegalArgumentException();
14768
+ jl_Throwable__init_(var$1);
14769
+ $rt_throw(var$1);
14770
+ }
14771
+ if ($length >= 0)
14772
+ return jlr_Array_newInstanceImpl(var$1.$platformClass, $length);
14773
+ var$1 = new jl_NegativeArraySizeException();
14774
+ jl_Throwable__init_(var$1);
14775
+ $rt_throw(var$1);
14776
+ };
14777
+ var jlr_Array_newInstanceImpl = (var$1, var$2) => {
14778
+ if (var$1.$meta.primitive) {
14779
+ switch (var$1) {
14780
+ }
14781
+ ;
14782
+ }
14783
+ return $rt_createArray(var$1, var$2);
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,330 +31859,6 @@ 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
  };
31806
- function asrjt_Float64() {
31807
- asrjt_Floating.call(this);
31808
- this.$bits1 = Long_ZERO;
31809
- }
31810
- var asrjt_Float64_Zero = null;
31811
- var asrjt_Float64_NegativeZero = null;
31812
- var asrjt_Float64_NaN = null;
31813
- var asrjt_Float64_Infinity = null;
31814
- var asrjt_Float64_NegativeInfinity = null;
31815
- var asrjt_Float64_$assertionsDisabled = 0;
31816
- var asrjt_Float64__init_1 = ($this, $bits) => {
31817
- $this.$bits1 = $bits;
31818
- };
31819
- var asrjt_Float64__init_ = (var_0) => {
31820
- let var_1 = new asrjt_Float64();
31821
- asrjt_Float64__init_1(var_1, var_0);
31822
- return var_1;
31823
- };
31824
- var asrjt_Float64__init_2 = ($this, $sign, $exponent, $significand) => {
31825
- asrjt_Float64__init_1($this, Long_or(Long_or(!$sign ? Long_ZERO : Long_create(0, 2147483648), Long_shl(Long_and(Long_fromInt($exponent + 1023 | 0), Long_fromInt(2047)), 52)), Long_and($significand, Long_create(4294967295, 1048575))));
31826
- };
31827
- var asrjt_Float64__init_0 = (var_0, var_1, var_2) => {
31828
- let var_3 = new asrjt_Float64();
31829
- asrjt_Float64__init_2(var_3, var_0, var_1, var_2);
31830
- return var_3;
31831
- };
31832
- var asrjt_Float64_exponent = ($this) => {
31833
- return (Long_lo(Long_shru($this.$bits1, 52)) & 2047) - 1023 | 0;
31834
- };
31835
- var asrjt_Float64_negate = ($this) => {
31836
- return asrjt_Float64__init_(Long_xor($this.$bits1, Long_create(0, 2147483648)));
31837
- };
31838
- var asrjt_Float64_isSignMinus = ($this) => {
31839
- return Long_ne(Long_shru($this.$bits1, 63), Long_fromInt(1)) ? 0 : 1;
31840
- };
31841
- var asrjt_Float64_isInfinite = ($this) => {
31842
- return asrjt_Float64_exponent($this) == 1024 && Long_eq(Long_and($this.$bits1, Long_create(4294967295, 1048575)), Long_ZERO) ? 1 : 0;
31843
- };
31844
- var asrjt_Float64_isNormal = ($this) => {
31845
- return asrjt_Float64_exponent($this) != -1023 && asrjt_Float64_exponent($this) != 1024 ? 1 : 0;
31846
- };
31847
- var asrjt_Float64_isSubnormal = ($this) => {
31848
- return asrjt_Float64_exponent($this) == -1023 && !asrjt_Float64_isZero($this) ? 1 : 0;
31849
- };
31850
- var asrjt_Float64_isNaN = ($this) => {
31851
- return asrjt_Float64_exponent($this) == 1024 && !asrjt_Float64_isInfinite($this) ? 1 : 0;
31852
- };
31853
- var asrjt_Float64_isSignalling = ($this) => {
31854
- if (!asrjt_Float64_isNaN($this))
31855
- return 0;
31856
- return Long_ne(Long_and($this.$bits1, Long_create(0, 524288)), Long_ZERO) ? 0 : 1;
31857
- };
31858
- var asrjt_Float64_isZero = ($this) => {
31859
- let var$1;
31860
- var$1 = $this.$bits1;
31861
- return Long_ne(var$1, Long_ZERO) && Long_ne(var$1, Long_create(0, 2147483648)) ? 0 : 1;
31862
- };
31863
- var asrjt_Float64_fromExactFloat0 = ($this, $ef, $env) => {
31864
- let $normalizedExponent, $mainBits, $roundedBits, $a, $bitsToRound, $upBits, $towardsZero, $awayZero;
31865
- if (asrji_ExactFloat_isZero($ef))
31866
- return !$ef.$sign ? asrjt_Float64_Zero : asrjt_Float64_NegativeZero;
31867
- $ef = asrji_ExactFloat_normalize($ef);
31868
- $normalizedExponent = $ef.$exponent0 + jm_BigInteger_bitLength($ef.$significand) | 0;
31869
- if ($normalizedExponent > -1022) {
31870
- if ($normalizedExponent > 1024) {
31871
- $mainBits = $env.$flags;
31872
- $roundedBits = asrj_Flags_overflow;
31873
- ju_GenericEnumSet_add($mainBits, $roundedBits);
31874
- $mainBits = $env.$flags;
31875
- $roundedBits = asrj_Flags_inexact;
31876
- ju_GenericEnumSet_add($mainBits, $roundedBits);
31877
- asrjt_Float64$1_$callClinit();
31878
- switch (asrjt_Float64$1_$SwitchMap$app$specy$rars$jsoftfloat$RoundingMode.data[jl_Enum_ordinal($env.$mode)]) {
31879
- case 1:
31880
- break;
31881
- case 2:
31882
- case 3:
31883
- $normalizedExponent = $ef.$sign;
31884
- if ($normalizedExponent == ($env.$mode !== asrj_RoundingMode_max ? 0 : 1))
31885
- return asrjt_Float64__init_0($normalizedExponent, 1023, Long_fromInt(-1));
31886
- return !$normalizedExponent ? asrjt_Float64_Infinity : asrjt_Float64_NegativeInfinity;
31887
- case 4:
31888
- case 5:
31889
- return !$ef.$sign ? asrjt_Float64_Infinity : asrjt_Float64_NegativeInfinity;
31890
- default:
31891
- if (!asrjt_Float64_$assertionsDisabled)
31892
- $rt_throw(jl_AssertionError__init_($rt_s(1629)));
31893
- return !$ef.$sign ? asrjt_Float64_Infinity : asrjt_Float64_NegativeInfinity;
31894
- }
31895
- return asrjt_Float64__init_0($ef.$sign, 1023, Long_fromInt(-1));
31896
- }
31897
- if (jm_BigInteger_bitLength($ef.$significand) <= 53) {
31898
- if (!asrjt_Float64_$assertionsDisabled && (($ef.$exponent0 + jm_BigInteger_bitLength($ef.$significand) | 0) - 1 | 0) <= -1023)
31899
- $rt_throw(jl_AssertionError__init_($rt_s(1630)));
31900
- $a = new asrjt_Float64();
31901
- $normalizedExponent = $ef.$sign;
31902
- $bitsToRound = ($ef.$exponent0 + jm_BigInteger_bitLength($ef.$significand) | 0) - 1 | 0;
31903
- $ef = $ef.$significand;
31904
- asrjt_Float64__init_2($a, $normalizedExponent, $bitsToRound, Long_and(jm_BigInteger_longValueExact(jm_BigInteger_shiftLeft($ef, 53 - jm_BigInteger_bitLength($ef) | 0)), Long_create(4294967295, 1048575)));
31905
- return $a;
31906
- }
31907
- $mainBits = $env.$flags;
31908
- $roundedBits = asrj_Flags_inexact;
31909
- ju_GenericEnumSet_add($mainBits, $roundedBits);
31910
- $bitsToRound = jm_BigInteger_bitLength($ef.$significand) - 53 | 0;
31911
- $mainBits = jm_BigInteger_shiftLeft(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound), $bitsToRound);
31912
- $roundedBits = jm_BigInteger_subtract($ef.$significand, $mainBits);
31913
- $upBits = jm_BigInteger_add(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound), jm_BigInteger_valueOf(Long_fromInt(1)));
31914
- $towardsZero = asrjt_Float64__init_0($ef.$sign, ($ef.$exponent0 + 52 | 0) + $bitsToRound | 0, Long_and(jm_BigInteger_longValueExact(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound)), Long_create(4294967295, 1048575)));
31915
- $awayZero = !jm_BigInteger_testBit($upBits, 0) && jm_BigInteger_bitLength($upBits) > 53 ? asrjt_Float64__init_0($ef.$sign, ($ef.$exponent0 + 53 | 0) + $bitsToRound | 0, Long_and(jm_BigInteger_longValueExact(jm_BigInteger_shiftRight($upBits, 1)), Long_create(4294967295, 1048575))) : asrjt_Float64__init_0($ef.$sign, ($ef.$exponent0 + 52 | 0) + $bitsToRound | 0, Long_and(jm_BigInteger_longValueExact($upBits), Long_create(4294967295, 1048575)));
31916
- } else {
31917
- if ($ef.$exponent0 > -1075) {
31918
- if (!asrjt_Float64_$assertionsDisabled && jm_BigInteger_bitLength($ef.$significand) > 52)
31919
- $rt_throw(jl_AssertionError__init_($rt_s(1631)));
31920
- return asrjt_Float64__init_0($ef.$sign, -1023, jm_BigInteger_longValueExact(jm_BigInteger_shiftLeft($ef.$significand, 1074 + $ef.$exponent0 | 0)));
31921
- }
31922
- $mainBits = $env.$flags;
31923
- $roundedBits = asrj_Flags_inexact;
31924
- ju_GenericEnumSet_add($mainBits, $roundedBits);
31925
- $mainBits = $env.$flags;
31926
- $roundedBits = asrj_Flags_underflow;
31927
- ju_GenericEnumSet_add($mainBits, $roundedBits);
31928
- $bitsToRound = -1074 - $ef.$exponent0 | 0;
31929
- $mainBits = jm_BigInteger_shiftLeft(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound), $bitsToRound);
31930
- $roundedBits = jm_BigInteger_subtract($ef.$significand, $mainBits);
31931
- $towardsZero = asrjt_Float64__init_0($ef.$sign, -1023, jm_BigInteger_longValueExact(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound)));
31932
- $upBits = jm_BigInteger_add(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound), jm_BigInteger_valueOf(Long_fromInt(1)));
31933
- if (!jm_BigInteger_testBit($upBits, 0) && jm_BigInteger_bitLength($upBits) > 52)
31934
- $awayZero = asrjt_Float64__init_0($ef.$sign, -1022, Long_and(jm_BigInteger_longValueExact($upBits), Long_create(4294967295, 1048575)));
31935
- else {
31936
- if (!asrjt_Float64_$assertionsDisabled && jm_BigInteger_bitLength($upBits) > 52)
31937
- $rt_throw(jl_AssertionError__init_1());
31938
- $awayZero = asrjt_Float64__init_0($ef.$sign, -1023, jm_BigInteger_longValueExact($upBits));
31939
- }
31940
- }
31941
- asrjt_Float64$1_$callClinit();
31942
- switch (asrjt_Float64$1_$SwitchMap$app$specy$rars$jsoftfloat$RoundingMode.data[jl_Enum_ordinal($env.$mode)]) {
31943
- case 1:
31944
- break;
31945
- case 2:
31946
- case 3:
31947
- if ($ef.$sign == ($env.$mode !== asrj_RoundingMode_max ? 0 : 1))
31948
- return $towardsZero;
31949
- return $awayZero;
31950
- default:
31951
- $ef = jm_BigInteger_ONE;
31952
- $normalizedExponent = $bitsToRound - 1 | 0;
31953
- if (!jm_BigInteger_equals($roundedBits, jm_BigInteger_shiftLeft($ef, $normalizedExponent))) {
31954
- if (jm_BigInteger_compareTo($roundedBits, jm_BigInteger_shiftLeft(jm_BigInteger_ONE, $normalizedExponent)) <= 0)
31955
- return $towardsZero;
31956
- return $awayZero;
31957
- }
31958
- if ($env.$mode !== asrj_RoundingMode_away && Long_ne(Long_and($awayZero.$bits1, Long_fromInt(1)), Long_ZERO))
31959
- return $towardsZero;
31960
- return $awayZero;
31961
- }
31962
- return $towardsZero;
31963
- };
31964
- var asrjt_Float64_toExactFloat = ($this) => {
31965
- let $sign, $exponent, $significand;
31966
- if (!asrjt_Float64_$assertionsDisabled && asrjt_Float64_isInfinite($this))
31967
- $rt_throw(jl_AssertionError__init_($rt_s(1632)));
31968
- if (!asrjt_Float64_$assertionsDisabled && asrjt_Float64_isNaN($this))
31969
- $rt_throw(jl_AssertionError__init_($rt_s(1633)));
31970
- if (!asrjt_Float64_$assertionsDisabled && asrjt_Float64_isZero($this))
31971
- $rt_throw(jl_AssertionError__init_($rt_s(1634)));
31972
- $sign = asrjt_Float64_isSignMinus($this);
31973
- if (asrjt_Float64_isZero($this)) {
31974
- $exponent = 0;
31975
- $significand = jm_BigInteger_ZERO;
31976
- } else if (asrjt_Float64_isNormal($this)) {
31977
- $exponent = asrjt_Float64_exponent($this) - 52 | 0;
31978
- $significand = jm_BigInteger_valueOf(Long_add(Long_and($this.$bits1, Long_create(4294967295, 1048575)), Long_create(0, 1048576)));
31979
- } else {
31980
- if (!asrjt_Float64_isSubnormal($this)) {
31981
- if (asrjt_Float64_$assertionsDisabled)
31982
- return null;
31983
- $rt_throw(jl_AssertionError__init_($rt_s(1635)));
31984
- }
31985
- $exponent = asrjt_Float64_exponent($this) - 51 | 0;
31986
- $significand = jm_BigInteger_valueOf(Long_and($this.$bits1, Long_create(4294967295, 1048575)));
31987
- }
31988
- return asrji_ExactFloat__init_($sign, $exponent, $significand);
31989
- };
31990
- var asrjt_Float64_maxPrecision = ($this) => {
31991
- return 60;
31992
- };
31993
- var asrjt_Float64_negate0 = ($this) => {
31994
- return asrjt_Float64_negate($this);
31995
- };
31996
- var asrjt_Float64_fromExactFloat = ($this, var$1, var$2) => {
31997
- return asrjt_Float64_fromExactFloat0($this, var$1, var$2);
31998
- };
31999
- var asrjt_Float64_NegativeInfinity0 = ($this) => {
32000
- return asrjt_Float64_NegativeInfinity;
32001
- };
32002
- var asrjt_Float64_Infinity0 = ($this) => {
32003
- return asrjt_Float64_Infinity;
32004
- };
32005
- var asrjt_Float64_NegativeZero0 = ($this) => {
32006
- return asrjt_Float64_NegativeZero;
32007
- };
32008
- var asrjt_Float64_Zero0 = ($this) => {
32009
- return asrjt_Float64_Zero;
32010
- };
32011
- var asrjt_Float64_NaN0 = ($this) => {
32012
- return asrjt_Float64_NaN;
32013
- };
32014
- var asrjt_Float64__clinit_ = () => {
32015
- asrjt_Float64_$assertionsDisabled = 0;
32016
- asrjt_Float64_Zero = asrjt_Float64__init_(Long_ZERO);
32017
- asrjt_Float64_NegativeZero = asrjt_Float64__init_(Long_create(0, 2147483648));
32018
- asrjt_Float64_NaN = asrjt_Float64__init_(Long_create(0, 2146959360));
32019
- asrjt_Float64_Infinity = asrjt_Float64__init_(Long_create(0, 2146435072));
32020
- asrjt_Float64_NegativeInfinity = asrjt_Float64__init_(Long_create(0, 4293918720));
32021
- };
32022
- var asrjo_Conversions = $rt_classWithoutFields();
32023
- var asrjo_Conversions_convertToIntegral = ($f, $max, $min, $env, $quiet) => {
32024
- let $copy, $rounded, var$8, var$9, var$10, var$11, var$12, var$13;
32025
- if ($f.$isNaN()) {
32026
- $f = $env.$flags;
32027
- $min = asrj_Flags_invalid;
32028
- ju_GenericEnumSet_add($f, $min);
32029
- return $max;
32030
- }
32031
- if ($f.$isInfinite()) {
32032
- $env = $env.$flags;
32033
- $copy = asrj_Flags_invalid;
32034
- ju_GenericEnumSet_add($env, $copy);
32035
- if ($f.$isSignMinus())
32036
- $max = $min;
32037
- return $max;
32038
- }
32039
- $copy = asrj_Environment__init_();
32040
- $copy.$mode = $env.$mode;
32041
- if ($f.$isZero())
32042
- $rounded = jm_BigInteger_ZERO;
32043
- else {
32044
- $f = $f.$toExactFloat();
32045
- if (asrji_ExactFloat_isZero($f))
32046
- $rounded = jm_BigInteger_ZERO;
32047
- else {
32048
- if (asrji_ExactFloat_isZero($f))
32049
- $rounded = $f;
32050
- else {
32051
- $rounded = asrji_ExactFloat_normalize($f);
32052
- var$8 = $rounded.$exponent0;
32053
- if (var$8 < 0) {
32054
- var$8 = -var$8 | 0;
32055
- var$9 = jm_BigInteger_shiftLeft(jm_BigInteger_shiftRight($rounded.$significand, var$8), var$8);
32056
- var$10 = jm_BigInteger_subtract($rounded.$significand, var$9);
32057
- var$9 = asrji_ExactFloat_normalize(asrji_ExactFloat__init_($rounded.$sign, $rounded.$exponent0, var$9));
32058
- var$11 = asrji_ExactFloat_add(var$9, asrji_ExactFloat__init_($rounded.$sign, 0, jm_BigInteger_valueOf(Long_fromInt(1))));
32059
- var$12 = $env.$mode;
32060
- if (var$12 === asrj_RoundingMode_zero)
32061
- $rounded = var$9;
32062
- else {
32063
- var$13 = asrj_RoundingMode_max;
32064
- if (var$12 !== var$13 && var$12 !== asrj_RoundingMode_min) {
32065
- $rounded = jm_BigInteger_ONE;
32066
- var$8 = var$8 - 1 | 0;
32067
- $rounded = !jm_BigInteger_equals(var$10, jm_BigInteger_shiftLeft($rounded, var$8)) ? jm_BigInteger_compareTo(var$10, jm_BigInteger_shiftLeft(jm_BigInteger_ONE, var$8)) <= 0 ? var$9 : var$11 : $env.$mode !== asrj_RoundingMode_away && !jm_BigInteger_testBit(var$9.$significand, 0) ? var$9 : var$11;
32068
- } else
32069
- $rounded = (var$12 !== var$13 ? 0 : 1) != $rounded.$sign ? var$11 : var$9;
32070
- }
32071
- }
32072
- }
32073
- $rounded = asrji_ExactFloat_normalize($rounded);
32074
- if (asrji_ExactFloat_compareTo($rounded, $f)) {
32075
- var$9 = $env.$flags;
32076
- var$10 = asrj_Flags_inexact;
32077
- ju_GenericEnumSet_add(var$9, var$10);
32078
- }
32079
- if (!asrji_ExactFloat_$assertionsDisabled && $rounded.$exponent0 < 0)
32080
- $rt_throw(jl_AssertionError__init_($rt_s(1636)));
32081
- $rounded = jm_BigInteger_multiply(jm_BigInteger_shiftLeft($rounded.$significand, $rounded.$exponent0), jm_BigInteger_valueOf(!$f.$sign ? Long_fromInt(1) : Long_fromInt(-1)));
32082
- }
32083
- }
32084
- if (!(jm_BigInteger_compareTo($rounded, $max) <= 0 && jm_BigInteger_compareTo($rounded, $min) >= 0)) {
32085
- $f = $env.$flags;
32086
- $env = asrj_Flags_invalid;
32087
- ju_GenericEnumSet_add($f, $env);
32088
- } else if (!$quiet) {
32089
- $f = $copy.$flags;
32090
- $copy = asrj_Flags_inexact;
32091
- if (ju_GenericEnumSet_contains($f, $copy)) {
32092
- $f = $env.$flags;
32093
- $env = asrj_Flags_inexact;
32094
- ju_GenericEnumSet_add($f, $env);
32095
- }
32096
- }
32097
- if (jm_BigInteger_compareTo($rounded, $max) == -1)
32098
- $max = $rounded;
32099
- if (jm_BigInteger_compareTo($max, $min) == 1)
32100
- $min = $max;
32101
- return $min;
32102
- };
32103
- var asrjo_Conversions_convertToInt = ($f, $env, $quiet) => {
32104
- return jm_BigInteger_intValueExact(asrjo_Conversions_convertToIntegral($f, jm_BigInteger_valueOf(Long_fromInt(2147483647)), jm_BigInteger_valueOf(Long_fromInt(-2147483648)), $env, $quiet));
32105
- };
32106
- var asrjo_Conversions_convertToUnsignedInt = ($f, $env, $quiet) => {
32107
- return Long_lo(Long_and(jm_BigInteger_longValueExact(asrjo_Conversions_convertToIntegral($f, jm_BigInteger_valueOf(Long_create(4294967295, 0)), jm_BigInteger_ZERO, $env, $quiet)), Long_create(4294967295, 0)));
32108
- };
32109
- var asrjo_Conversions_convertToLong = ($f, $env, $quiet) => {
32110
- return jm_BigInteger_longValueExact(asrjo_Conversions_convertToIntegral($f, jm_BigInteger_valueOf(Long_create(4294967295, 2147483647)), jm_BigInteger_valueOf(Long_create(0, 2147483648)), $env, $quiet));
32111
- };
32112
- var asrjo_Conversions_convertToUnsignedLong = ($f, $env, $quiet) => {
32113
- return jm_BigInteger_longValue(asrjo_Conversions_convertToIntegral($f, jm_BigInteger_add(jm_BigInteger_valueOf(Long_fromInt(-1)), jm_BigInteger_shiftLeft(jm_BigInteger_ONE, 64)), jm_BigInteger_ZERO, $env, $quiet));
32114
- };
32115
- var asrjo_Conversions_convertFromInt = ($i, $env, $helper) => {
32116
- let var$4;
32117
- if (jm_BigInteger_equals($i, jm_BigInteger_ZERO))
32118
- return $helper.$Zero();
32119
- var$4 = new asrji_ExactFloat();
32120
- if (jm_BigInteger_compareTo($i, jm_BigInteger_ZERO) >= 0)
32121
- var$4.$sign = 0;
32122
- else {
32123
- var$4.$sign = 1;
32124
- $i = jm_BigInteger_negate($i);
32125
- }
32126
- var$4.$exponent0 = 0;
32127
- var$4.$significand = $i;
32128
- return $helper.$fromExactFloat(var$4, $env);
32129
- };
32130
31862
  function asrjt_Float32() {
32131
31863
  asrjt_Floating.call(this);
32132
31864
  this.$bits0 = 0;
@@ -32343,6 +32075,330 @@ var asrjt_Float32__clinit_ = () => {
32343
32075
  asrjt_Float32_Infinity = asrjt_Float32__init_(2139095040);
32344
32076
  asrjt_Float32_NegativeInfinity = asrjt_Float32__init_(-8388608);
32345
32077
  };
32078
+ function asrjt_Float64() {
32079
+ asrjt_Floating.call(this);
32080
+ this.$bits1 = Long_ZERO;
32081
+ }
32082
+ var asrjt_Float64_Zero = null;
32083
+ var asrjt_Float64_NegativeZero = null;
32084
+ var asrjt_Float64_NaN = null;
32085
+ var asrjt_Float64_Infinity = null;
32086
+ var asrjt_Float64_NegativeInfinity = null;
32087
+ var asrjt_Float64_$assertionsDisabled = 0;
32088
+ var asrjt_Float64__init_1 = ($this, $bits) => {
32089
+ $this.$bits1 = $bits;
32090
+ };
32091
+ var asrjt_Float64__init_ = (var_0) => {
32092
+ let var_1 = new asrjt_Float64();
32093
+ asrjt_Float64__init_1(var_1, var_0);
32094
+ return var_1;
32095
+ };
32096
+ var asrjt_Float64__init_2 = ($this, $sign, $exponent, $significand) => {
32097
+ asrjt_Float64__init_1($this, Long_or(Long_or(!$sign ? Long_ZERO : Long_create(0, 2147483648), Long_shl(Long_and(Long_fromInt($exponent + 1023 | 0), Long_fromInt(2047)), 52)), Long_and($significand, Long_create(4294967295, 1048575))));
32098
+ };
32099
+ var asrjt_Float64__init_0 = (var_0, var_1, var_2) => {
32100
+ let var_3 = new asrjt_Float64();
32101
+ asrjt_Float64__init_2(var_3, var_0, var_1, var_2);
32102
+ return var_3;
32103
+ };
32104
+ var asrjt_Float64_exponent = ($this) => {
32105
+ return (Long_lo(Long_shru($this.$bits1, 52)) & 2047) - 1023 | 0;
32106
+ };
32107
+ var asrjt_Float64_negate = ($this) => {
32108
+ return asrjt_Float64__init_(Long_xor($this.$bits1, Long_create(0, 2147483648)));
32109
+ };
32110
+ var asrjt_Float64_isSignMinus = ($this) => {
32111
+ return Long_ne(Long_shru($this.$bits1, 63), Long_fromInt(1)) ? 0 : 1;
32112
+ };
32113
+ var asrjt_Float64_isInfinite = ($this) => {
32114
+ return asrjt_Float64_exponent($this) == 1024 && Long_eq(Long_and($this.$bits1, Long_create(4294967295, 1048575)), Long_ZERO) ? 1 : 0;
32115
+ };
32116
+ var asrjt_Float64_isNormal = ($this) => {
32117
+ return asrjt_Float64_exponent($this) != -1023 && asrjt_Float64_exponent($this) != 1024 ? 1 : 0;
32118
+ };
32119
+ var asrjt_Float64_isSubnormal = ($this) => {
32120
+ return asrjt_Float64_exponent($this) == -1023 && !asrjt_Float64_isZero($this) ? 1 : 0;
32121
+ };
32122
+ var asrjt_Float64_isNaN = ($this) => {
32123
+ return asrjt_Float64_exponent($this) == 1024 && !asrjt_Float64_isInfinite($this) ? 1 : 0;
32124
+ };
32125
+ var asrjt_Float64_isSignalling = ($this) => {
32126
+ if (!asrjt_Float64_isNaN($this))
32127
+ return 0;
32128
+ return Long_ne(Long_and($this.$bits1, Long_create(0, 524288)), Long_ZERO) ? 0 : 1;
32129
+ };
32130
+ var asrjt_Float64_isZero = ($this) => {
32131
+ let var$1;
32132
+ var$1 = $this.$bits1;
32133
+ return Long_ne(var$1, Long_ZERO) && Long_ne(var$1, Long_create(0, 2147483648)) ? 0 : 1;
32134
+ };
32135
+ var asrjt_Float64_fromExactFloat0 = ($this, $ef, $env) => {
32136
+ let $normalizedExponent, $mainBits, $roundedBits, $a, $bitsToRound, $upBits, $towardsZero, $awayZero;
32137
+ if (asrji_ExactFloat_isZero($ef))
32138
+ return !$ef.$sign ? asrjt_Float64_Zero : asrjt_Float64_NegativeZero;
32139
+ $ef = asrji_ExactFloat_normalize($ef);
32140
+ $normalizedExponent = $ef.$exponent0 + jm_BigInteger_bitLength($ef.$significand) | 0;
32141
+ if ($normalizedExponent > -1022) {
32142
+ if ($normalizedExponent > 1024) {
32143
+ $mainBits = $env.$flags;
32144
+ $roundedBits = asrj_Flags_overflow;
32145
+ ju_GenericEnumSet_add($mainBits, $roundedBits);
32146
+ $mainBits = $env.$flags;
32147
+ $roundedBits = asrj_Flags_inexact;
32148
+ ju_GenericEnumSet_add($mainBits, $roundedBits);
32149
+ asrjt_Float64$1_$callClinit();
32150
+ switch (asrjt_Float64$1_$SwitchMap$app$specy$rars$jsoftfloat$RoundingMode.data[jl_Enum_ordinal($env.$mode)]) {
32151
+ case 1:
32152
+ break;
32153
+ case 2:
32154
+ case 3:
32155
+ $normalizedExponent = $ef.$sign;
32156
+ if ($normalizedExponent == ($env.$mode !== asrj_RoundingMode_max ? 0 : 1))
32157
+ return asrjt_Float64__init_0($normalizedExponent, 1023, Long_fromInt(-1));
32158
+ return !$normalizedExponent ? asrjt_Float64_Infinity : asrjt_Float64_NegativeInfinity;
32159
+ case 4:
32160
+ case 5:
32161
+ return !$ef.$sign ? asrjt_Float64_Infinity : asrjt_Float64_NegativeInfinity;
32162
+ default:
32163
+ if (!asrjt_Float64_$assertionsDisabled)
32164
+ $rt_throw(jl_AssertionError__init_($rt_s(1629)));
32165
+ return !$ef.$sign ? asrjt_Float64_Infinity : asrjt_Float64_NegativeInfinity;
32166
+ }
32167
+ return asrjt_Float64__init_0($ef.$sign, 1023, Long_fromInt(-1));
32168
+ }
32169
+ if (jm_BigInteger_bitLength($ef.$significand) <= 53) {
32170
+ if (!asrjt_Float64_$assertionsDisabled && (($ef.$exponent0 + jm_BigInteger_bitLength($ef.$significand) | 0) - 1 | 0) <= -1023)
32171
+ $rt_throw(jl_AssertionError__init_($rt_s(1630)));
32172
+ $a = new asrjt_Float64();
32173
+ $normalizedExponent = $ef.$sign;
32174
+ $bitsToRound = ($ef.$exponent0 + jm_BigInteger_bitLength($ef.$significand) | 0) - 1 | 0;
32175
+ $ef = $ef.$significand;
32176
+ asrjt_Float64__init_2($a, $normalizedExponent, $bitsToRound, Long_and(jm_BigInteger_longValueExact(jm_BigInteger_shiftLeft($ef, 53 - jm_BigInteger_bitLength($ef) | 0)), Long_create(4294967295, 1048575)));
32177
+ return $a;
32178
+ }
32179
+ $mainBits = $env.$flags;
32180
+ $roundedBits = asrj_Flags_inexact;
32181
+ ju_GenericEnumSet_add($mainBits, $roundedBits);
32182
+ $bitsToRound = jm_BigInteger_bitLength($ef.$significand) - 53 | 0;
32183
+ $mainBits = jm_BigInteger_shiftLeft(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound), $bitsToRound);
32184
+ $roundedBits = jm_BigInteger_subtract($ef.$significand, $mainBits);
32185
+ $upBits = jm_BigInteger_add(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound), jm_BigInteger_valueOf(Long_fromInt(1)));
32186
+ $towardsZero = asrjt_Float64__init_0($ef.$sign, ($ef.$exponent0 + 52 | 0) + $bitsToRound | 0, Long_and(jm_BigInteger_longValueExact(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound)), Long_create(4294967295, 1048575)));
32187
+ $awayZero = !jm_BigInteger_testBit($upBits, 0) && jm_BigInteger_bitLength($upBits) > 53 ? asrjt_Float64__init_0($ef.$sign, ($ef.$exponent0 + 53 | 0) + $bitsToRound | 0, Long_and(jm_BigInteger_longValueExact(jm_BigInteger_shiftRight($upBits, 1)), Long_create(4294967295, 1048575))) : asrjt_Float64__init_0($ef.$sign, ($ef.$exponent0 + 52 | 0) + $bitsToRound | 0, Long_and(jm_BigInteger_longValueExact($upBits), Long_create(4294967295, 1048575)));
32188
+ } else {
32189
+ if ($ef.$exponent0 > -1075) {
32190
+ if (!asrjt_Float64_$assertionsDisabled && jm_BigInteger_bitLength($ef.$significand) > 52)
32191
+ $rt_throw(jl_AssertionError__init_($rt_s(1631)));
32192
+ return asrjt_Float64__init_0($ef.$sign, -1023, jm_BigInteger_longValueExact(jm_BigInteger_shiftLeft($ef.$significand, 1074 + $ef.$exponent0 | 0)));
32193
+ }
32194
+ $mainBits = $env.$flags;
32195
+ $roundedBits = asrj_Flags_inexact;
32196
+ ju_GenericEnumSet_add($mainBits, $roundedBits);
32197
+ $mainBits = $env.$flags;
32198
+ $roundedBits = asrj_Flags_underflow;
32199
+ ju_GenericEnumSet_add($mainBits, $roundedBits);
32200
+ $bitsToRound = -1074 - $ef.$exponent0 | 0;
32201
+ $mainBits = jm_BigInteger_shiftLeft(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound), $bitsToRound);
32202
+ $roundedBits = jm_BigInteger_subtract($ef.$significand, $mainBits);
32203
+ $towardsZero = asrjt_Float64__init_0($ef.$sign, -1023, jm_BigInteger_longValueExact(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound)));
32204
+ $upBits = jm_BigInteger_add(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound), jm_BigInteger_valueOf(Long_fromInt(1)));
32205
+ if (!jm_BigInteger_testBit($upBits, 0) && jm_BigInteger_bitLength($upBits) > 52)
32206
+ $awayZero = asrjt_Float64__init_0($ef.$sign, -1022, Long_and(jm_BigInteger_longValueExact($upBits), Long_create(4294967295, 1048575)));
32207
+ else {
32208
+ if (!asrjt_Float64_$assertionsDisabled && jm_BigInteger_bitLength($upBits) > 52)
32209
+ $rt_throw(jl_AssertionError__init_1());
32210
+ $awayZero = asrjt_Float64__init_0($ef.$sign, -1023, jm_BigInteger_longValueExact($upBits));
32211
+ }
32212
+ }
32213
+ asrjt_Float64$1_$callClinit();
32214
+ switch (asrjt_Float64$1_$SwitchMap$app$specy$rars$jsoftfloat$RoundingMode.data[jl_Enum_ordinal($env.$mode)]) {
32215
+ case 1:
32216
+ break;
32217
+ case 2:
32218
+ case 3:
32219
+ if ($ef.$sign == ($env.$mode !== asrj_RoundingMode_max ? 0 : 1))
32220
+ return $towardsZero;
32221
+ return $awayZero;
32222
+ default:
32223
+ $ef = jm_BigInteger_ONE;
32224
+ $normalizedExponent = $bitsToRound - 1 | 0;
32225
+ if (!jm_BigInteger_equals($roundedBits, jm_BigInteger_shiftLeft($ef, $normalizedExponent))) {
32226
+ if (jm_BigInteger_compareTo($roundedBits, jm_BigInteger_shiftLeft(jm_BigInteger_ONE, $normalizedExponent)) <= 0)
32227
+ return $towardsZero;
32228
+ return $awayZero;
32229
+ }
32230
+ if ($env.$mode !== asrj_RoundingMode_away && Long_ne(Long_and($awayZero.$bits1, Long_fromInt(1)), Long_ZERO))
32231
+ return $towardsZero;
32232
+ return $awayZero;
32233
+ }
32234
+ return $towardsZero;
32235
+ };
32236
+ var asrjt_Float64_toExactFloat = ($this) => {
32237
+ let $sign, $exponent, $significand;
32238
+ if (!asrjt_Float64_$assertionsDisabled && asrjt_Float64_isInfinite($this))
32239
+ $rt_throw(jl_AssertionError__init_($rt_s(1632)));
32240
+ if (!asrjt_Float64_$assertionsDisabled && asrjt_Float64_isNaN($this))
32241
+ $rt_throw(jl_AssertionError__init_($rt_s(1633)));
32242
+ if (!asrjt_Float64_$assertionsDisabled && asrjt_Float64_isZero($this))
32243
+ $rt_throw(jl_AssertionError__init_($rt_s(1634)));
32244
+ $sign = asrjt_Float64_isSignMinus($this);
32245
+ if (asrjt_Float64_isZero($this)) {
32246
+ $exponent = 0;
32247
+ $significand = jm_BigInteger_ZERO;
32248
+ } else if (asrjt_Float64_isNormal($this)) {
32249
+ $exponent = asrjt_Float64_exponent($this) - 52 | 0;
32250
+ $significand = jm_BigInteger_valueOf(Long_add(Long_and($this.$bits1, Long_create(4294967295, 1048575)), Long_create(0, 1048576)));
32251
+ } else {
32252
+ if (!asrjt_Float64_isSubnormal($this)) {
32253
+ if (asrjt_Float64_$assertionsDisabled)
32254
+ return null;
32255
+ $rt_throw(jl_AssertionError__init_($rt_s(1635)));
32256
+ }
32257
+ $exponent = asrjt_Float64_exponent($this) - 51 | 0;
32258
+ $significand = jm_BigInteger_valueOf(Long_and($this.$bits1, Long_create(4294967295, 1048575)));
32259
+ }
32260
+ return asrji_ExactFloat__init_($sign, $exponent, $significand);
32261
+ };
32262
+ var asrjt_Float64_maxPrecision = ($this) => {
32263
+ return 60;
32264
+ };
32265
+ var asrjt_Float64_negate0 = ($this) => {
32266
+ return asrjt_Float64_negate($this);
32267
+ };
32268
+ var asrjt_Float64_fromExactFloat = ($this, var$1, var$2) => {
32269
+ return asrjt_Float64_fromExactFloat0($this, var$1, var$2);
32270
+ };
32271
+ var asrjt_Float64_NegativeInfinity0 = ($this) => {
32272
+ return asrjt_Float64_NegativeInfinity;
32273
+ };
32274
+ var asrjt_Float64_Infinity0 = ($this) => {
32275
+ return asrjt_Float64_Infinity;
32276
+ };
32277
+ var asrjt_Float64_NegativeZero0 = ($this) => {
32278
+ return asrjt_Float64_NegativeZero;
32279
+ };
32280
+ var asrjt_Float64_Zero0 = ($this) => {
32281
+ return asrjt_Float64_Zero;
32282
+ };
32283
+ var asrjt_Float64_NaN0 = ($this) => {
32284
+ return asrjt_Float64_NaN;
32285
+ };
32286
+ var asrjt_Float64__clinit_ = () => {
32287
+ asrjt_Float64_$assertionsDisabled = 0;
32288
+ asrjt_Float64_Zero = asrjt_Float64__init_(Long_ZERO);
32289
+ asrjt_Float64_NegativeZero = asrjt_Float64__init_(Long_create(0, 2147483648));
32290
+ asrjt_Float64_NaN = asrjt_Float64__init_(Long_create(0, 2146959360));
32291
+ asrjt_Float64_Infinity = asrjt_Float64__init_(Long_create(0, 2146435072));
32292
+ asrjt_Float64_NegativeInfinity = asrjt_Float64__init_(Long_create(0, 4293918720));
32293
+ };
32294
+ var asrjo_Conversions = $rt_classWithoutFields();
32295
+ var asrjo_Conversions_convertToIntegral = ($f, $max, $min, $env, $quiet) => {
32296
+ let $copy, $rounded, var$8, var$9, var$10, var$11, var$12, var$13;
32297
+ if ($f.$isNaN()) {
32298
+ $f = $env.$flags;
32299
+ $min = asrj_Flags_invalid;
32300
+ ju_GenericEnumSet_add($f, $min);
32301
+ return $max;
32302
+ }
32303
+ if ($f.$isInfinite()) {
32304
+ $env = $env.$flags;
32305
+ $copy = asrj_Flags_invalid;
32306
+ ju_GenericEnumSet_add($env, $copy);
32307
+ if ($f.$isSignMinus())
32308
+ $max = $min;
32309
+ return $max;
32310
+ }
32311
+ $copy = asrj_Environment__init_();
32312
+ $copy.$mode = $env.$mode;
32313
+ if ($f.$isZero())
32314
+ $rounded = jm_BigInteger_ZERO;
32315
+ else {
32316
+ $f = $f.$toExactFloat();
32317
+ if (asrji_ExactFloat_isZero($f))
32318
+ $rounded = jm_BigInteger_ZERO;
32319
+ else {
32320
+ if (asrji_ExactFloat_isZero($f))
32321
+ $rounded = $f;
32322
+ else {
32323
+ $rounded = asrji_ExactFloat_normalize($f);
32324
+ var$8 = $rounded.$exponent0;
32325
+ if (var$8 < 0) {
32326
+ var$8 = -var$8 | 0;
32327
+ var$9 = jm_BigInteger_shiftLeft(jm_BigInteger_shiftRight($rounded.$significand, var$8), var$8);
32328
+ var$10 = jm_BigInteger_subtract($rounded.$significand, var$9);
32329
+ var$9 = asrji_ExactFloat_normalize(asrji_ExactFloat__init_($rounded.$sign, $rounded.$exponent0, var$9));
32330
+ var$11 = asrji_ExactFloat_add(var$9, asrji_ExactFloat__init_($rounded.$sign, 0, jm_BigInteger_valueOf(Long_fromInt(1))));
32331
+ var$12 = $env.$mode;
32332
+ if (var$12 === asrj_RoundingMode_zero)
32333
+ $rounded = var$9;
32334
+ else {
32335
+ var$13 = asrj_RoundingMode_max;
32336
+ if (var$12 !== var$13 && var$12 !== asrj_RoundingMode_min) {
32337
+ $rounded = jm_BigInteger_ONE;
32338
+ var$8 = var$8 - 1 | 0;
32339
+ $rounded = !jm_BigInteger_equals(var$10, jm_BigInteger_shiftLeft($rounded, var$8)) ? jm_BigInteger_compareTo(var$10, jm_BigInteger_shiftLeft(jm_BigInteger_ONE, var$8)) <= 0 ? var$9 : var$11 : $env.$mode !== asrj_RoundingMode_away && !jm_BigInteger_testBit(var$9.$significand, 0) ? var$9 : var$11;
32340
+ } else
32341
+ $rounded = (var$12 !== var$13 ? 0 : 1) != $rounded.$sign ? var$11 : var$9;
32342
+ }
32343
+ }
32344
+ }
32345
+ $rounded = asrji_ExactFloat_normalize($rounded);
32346
+ if (asrji_ExactFloat_compareTo($rounded, $f)) {
32347
+ var$9 = $env.$flags;
32348
+ var$10 = asrj_Flags_inexact;
32349
+ ju_GenericEnumSet_add(var$9, var$10);
32350
+ }
32351
+ if (!asrji_ExactFloat_$assertionsDisabled && $rounded.$exponent0 < 0)
32352
+ $rt_throw(jl_AssertionError__init_($rt_s(1636)));
32353
+ $rounded = jm_BigInteger_multiply(jm_BigInteger_shiftLeft($rounded.$significand, $rounded.$exponent0), jm_BigInteger_valueOf(!$f.$sign ? Long_fromInt(1) : Long_fromInt(-1)));
32354
+ }
32355
+ }
32356
+ if (!(jm_BigInteger_compareTo($rounded, $max) <= 0 && jm_BigInteger_compareTo($rounded, $min) >= 0)) {
32357
+ $f = $env.$flags;
32358
+ $env = asrj_Flags_invalid;
32359
+ ju_GenericEnumSet_add($f, $env);
32360
+ } else if (!$quiet) {
32361
+ $f = $copy.$flags;
32362
+ $copy = asrj_Flags_inexact;
32363
+ if (ju_GenericEnumSet_contains($f, $copy)) {
32364
+ $f = $env.$flags;
32365
+ $env = asrj_Flags_inexact;
32366
+ ju_GenericEnumSet_add($f, $env);
32367
+ }
32368
+ }
32369
+ if (jm_BigInteger_compareTo($rounded, $max) == -1)
32370
+ $max = $rounded;
32371
+ if (jm_BigInteger_compareTo($max, $min) == 1)
32372
+ $min = $max;
32373
+ return $min;
32374
+ };
32375
+ var asrjo_Conversions_convertToInt = ($f, $env, $quiet) => {
32376
+ return jm_BigInteger_intValueExact(asrjo_Conversions_convertToIntegral($f, jm_BigInteger_valueOf(Long_fromInt(2147483647)), jm_BigInteger_valueOf(Long_fromInt(-2147483648)), $env, $quiet));
32377
+ };
32378
+ var asrjo_Conversions_convertToUnsignedInt = ($f, $env, $quiet) => {
32379
+ return Long_lo(Long_and(jm_BigInteger_longValueExact(asrjo_Conversions_convertToIntegral($f, jm_BigInteger_valueOf(Long_create(4294967295, 0)), jm_BigInteger_ZERO, $env, $quiet)), Long_create(4294967295, 0)));
32380
+ };
32381
+ var asrjo_Conversions_convertToLong = ($f, $env, $quiet) => {
32382
+ return jm_BigInteger_longValueExact(asrjo_Conversions_convertToIntegral($f, jm_BigInteger_valueOf(Long_create(4294967295, 2147483647)), jm_BigInteger_valueOf(Long_create(0, 2147483648)), $env, $quiet));
32383
+ };
32384
+ var asrjo_Conversions_convertToUnsignedLong = ($f, $env, $quiet) => {
32385
+ return jm_BigInteger_longValue(asrjo_Conversions_convertToIntegral($f, jm_BigInteger_add(jm_BigInteger_valueOf(Long_fromInt(-1)), jm_BigInteger_shiftLeft(jm_BigInteger_ONE, 64)), jm_BigInteger_ZERO, $env, $quiet));
32386
+ };
32387
+ var asrjo_Conversions_convertFromInt = ($i, $env, $helper) => {
32388
+ let var$4;
32389
+ if (jm_BigInteger_equals($i, jm_BigInteger_ZERO))
32390
+ return $helper.$Zero();
32391
+ var$4 = new asrji_ExactFloat();
32392
+ if (jm_BigInteger_compareTo($i, jm_BigInteger_ZERO) >= 0)
32393
+ var$4.$sign = 0;
32394
+ else {
32395
+ var$4.$sign = 1;
32396
+ $i = jm_BigInteger_negate($i);
32397
+ }
32398
+ var$4.$exponent0 = 0;
32399
+ var$4.$significand = $i;
32400
+ return $helper.$fromExactFloat(var$4, $env);
32401
+ };
32346
32402
  var asrjo_Comparisons = $rt_classWithoutFields();
32347
32403
  var asrjo_Comparisons_compareNoNAN = ($a, $b) => {
32348
32404
  if ($a.$isZero()) {
@@ -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;
@@ -35216,8 +35272,9 @@ $rt_metadata([
35216
35272
  0,
35217
35273
  0,
35218
35274
  0,
35219
- ju_Arrays,
35220
- 0,
35275
+ asr_JsProgramStatement,
35276
+ "JsProgramStatement",
35277
+ 10,
35221
35278
  jl_Object,
35222
35279
  [],
35223
35280
  0,
@@ -35225,28 +35282,19 @@ $rt_metadata([
35225
35282
  0,
35226
35283
  0,
35227
35284
  0,
35228
- asr_JsRiscV$getUndoStack$lambda$_26_0,
35229
- 0,
35285
+ asr_JsCompilationResult,
35286
+ "JsCompilationResult",
35287
+ 10,
35230
35288
  jl_Object,
35231
- [juf_Function],
35289
+ [],
35232
35290
  0,
35233
35291
  3,
35234
35292
  0,
35235
35293
  0,
35236
- ["$apply0", $rt_wrapFunction1(asr_JsRiscV$getUndoStack$lambda$_26_0_apply)],
35237
- asr_JsRiscV$getUndoStack$lambda$_26_1,
35238
- 0,
35239
- jl_Object,
35240
- [juf_IntFunction],
35241
- 0,
35242
- 3,
35243
35294
  0,
35295
+ asr_AssemblyException,
35244
35296
  0,
35245
- ["$apply", $rt_wrapFunction1(asr_JsRiscV$getUndoStack$lambda$_26_1_apply)],
35246
- asr_JsBackStep,
35247
- "JsBackStep",
35248
- 10,
35249
- jl_Object,
35297
+ jl_Exception,
35250
35298
  [],
35251
35299
  0,
35252
35300
  3,
@@ -35262,19 +35310,8 @@ $rt_metadata([
35262
35310
  0,
35263
35311
  asrrh_RegisterFile_$callClinit,
35264
35312
  0,
35265
- jm_BigInteger,
35266
- "BigInteger",
35267
- 14,
35268
- jl_Number,
35269
- [jl_Comparable, ji_Serializable],
35270
- 0,
35271
- 3,
35272
- 0,
35313
+ ju_Arrays,
35273
35314
  0,
35274
- ["$equals", $rt_wrapFunction1(jm_BigInteger_equals), "$toString", $rt_wrapFunction0(jm_BigInteger_toString)],
35275
- asr_JsStackFrame,
35276
- "JsStackFrame",
35277
- 10,
35278
35315
  jl_Object,
35279
35316
  [],
35280
35317
  0,
@@ -35282,44 +35319,63 @@ $rt_metadata([
35282
35319
  0,
35283
35320
  0,
35284
35321
  0,
35285
- asr_JsCompilationResult,
35286
- "JsCompilationResult",
35287
- 10,
35322
+ juf_ToIntFunction,
35323
+ 0,
35288
35324
  jl_Object,
35289
35325
  [],
35290
- 0,
35326
+ 3,
35291
35327
  3,
35292
35328
  0,
35293
35329
  0,
35294
35330
  0,
35295
- asr_AssemblyException,
35331
+ asr_JsRiscV$getRegistersValues$lambda$_25_0,
35296
35332
  0,
35297
- jl_Exception,
35298
- [],
35333
+ jl_Object,
35334
+ [juf_ToIntFunction],
35299
35335
  0,
35300
35336
  3,
35301
35337
  0,
35302
35338
  0,
35303
35339
  0,
35304
- juf_ToIntFunction,
35340
+ jm_BigInteger,
35341
+ "BigInteger",
35342
+ 14,
35343
+ jl_Number,
35344
+ [jl_Comparable, ji_Serializable],
35305
35345
  0,
35306
- jl_Object,
35307
- [],
35308
35346
  3,
35347
+ 0,
35348
+ 0,
35349
+ ["$equals", $rt_wrapFunction1(jm_BigInteger_equals), "$toString", $rt_wrapFunction0(jm_BigInteger_toString)],
35350
+ asr_JsRiscV$getTokenizedLines$lambda$_5_0,
35351
+ 0,
35352
+ jl_Object,
35353
+ [juf_Function],
35354
+ 0,
35309
35355
  3,
35310
35356
  0,
35311
35357
  0,
35358
+ ["$apply0", $rt_wrapFunction1(asr_JsRiscV$getTokenizedLines$lambda$_5_0_apply)],
35359
+ asr_JsRiscV$getTokenizedLines$lambda$_5_1,
35360
+ 0,
35361
+ jl_Object,
35362
+ [juf_IntFunction],
35363
+ 0,
35364
+ 3,
35312
35365
  0,
35313
- asr_JsRiscV$getRegistersValues$lambda$_25_0,
35314
35366
  0,
35367
+ ["$apply", $rt_wrapFunction1(asr_JsRiscV$getTokenizedLines$lambda$_5_1_apply)],
35368
+ asr_JsRiscVTokenizedLine,
35369
+ "JsRiscVTokenizedLine",
35370
+ 10,
35315
35371
  jl_Object,
35316
- [juf_ToIntFunction],
35372
+ [],
35317
35373
  0,
35318
35374
  3,
35319
35375
  0,
35320
35376
  0,
35321
35377
  0,
35322
- asr_JsRiscV$getTokenizedLines$lambda$_5_0,
35378
+ asr_JsRiscV$getUndoStack$lambda$_26_0,
35323
35379
  0,
35324
35380
  jl_Object,
35325
35381
  [juf_Function],
@@ -35327,8 +35383,8 @@ $rt_metadata([
35327
35383
  3,
35328
35384
  0,
35329
35385
  0,
35330
- ["$apply0", $rt_wrapFunction1(asr_JsRiscV$getTokenizedLines$lambda$_5_0_apply)],
35331
- asr_JsRiscV$getTokenizedLines$lambda$_5_1,
35386
+ ["$apply0", $rt_wrapFunction1(asr_JsRiscV$getUndoStack$lambda$_26_0_apply)],
35387
+ asr_JsRiscV$getUndoStack$lambda$_26_1,
35332
35388
  0,
35333
35389
  jl_Object,
35334
35390
  [juf_IntFunction],
@@ -35336,9 +35392,9 @@ $rt_metadata([
35336
35392
  3,
35337
35393
  0,
35338
35394
  0,
35339
- ["$apply", $rt_wrapFunction1(asr_JsRiscV$getTokenizedLines$lambda$_5_1_apply)],
35340
- asr_JsRiscVTokenizedLine,
35341
- "JsRiscVTokenizedLine",
35395
+ ["$apply", $rt_wrapFunction1(asr_JsRiscV$getUndoStack$lambda$_26_1_apply)],
35396
+ asr_JsBackStep,
35397
+ "JsBackStep",
35342
35398
  10,
35343
35399
  jl_Object,
35344
35400
  [],
@@ -35347,8 +35403,8 @@ $rt_metadata([
35347
35403
  0,
35348
35404
  0,
35349
35405
  0,
35350
- asr_JsProgramStatement,
35351
- "JsProgramStatement",
35406
+ asr_JsStackFrame,
35407
+ "JsStackFrame",
35352
35408
  10,
35353
35409
  jl_Object,
35354
35410
  [],
@@ -35450,130 +35506,130 @@ $rt_metadata([
35450
35506
  0,
35451
35507
  0,
35452
35508
  0,
35453
- asrs_BackStepper,
35509
+ asr_JsCompilationResult$_init_$lambda$_0_0,
35454
35510
  0,
35455
35511
  jl_Object,
35456
- [],
35512
+ [juf_Function],
35457
35513
  0,
35458
35514
  3,
35459
35515
  0,
35460
35516
  0,
35461
- 0,
35462
- asrs_BackStepper$BackstepStack,
35517
+ ["$apply0", $rt_wrapFunction1(asr_JsCompilationResult$_init_$lambda$_0_0_apply)],
35518
+ juf_Supplier,
35463
35519
  0,
35464
35520
  jl_Object,
35465
35521
  [],
35466
- 0,
35522
+ 3,
35467
35523
  3,
35468
35524
  0,
35469
35525
  0,
35470
35526
  0,
35471
- jl_AutoCloseable,
35527
+ asr_JsCompilationResult$_init_$lambda$_0_1,
35472
35528
  0,
35473
35529
  jl_Object,
35474
- [],
35475
- 3,
35530
+ [juf_Supplier],
35531
+ 0,
35476
35532
  3,
35477
35533
  0,
35478
35534
  0,
35479
35535
  0
35480
35536
  ]);
35481
35537
  $rt_metadata([
35482
- jus_BaseStream,
35538
+ juf_BiConsumer,
35483
35539
  0,
35484
35540
  jl_Object,
35485
- [jl_AutoCloseable],
35541
+ [],
35486
35542
  3,
35487
35543
  3,
35488
35544
  0,
35489
35545
  0,
35490
35546
  0,
35491
- jus_Stream,
35547
+ asr_JsCompilationResult$_init_$lambda$_0_2,
35492
35548
  0,
35493
35549
  jl_Object,
35494
- [jus_BaseStream],
35495
- 3,
35550
+ [juf_BiConsumer],
35551
+ 0,
35496
35552
  3,
35497
35553
  0,
35498
35554
  0,
35499
35555
  0,
35500
- jusi_SimpleStreamImpl,
35556
+ asr_JsCompilationResult$_init_$lambda$_0_3,
35501
35557
  0,
35502
35558
  jl_Object,
35503
- [jus_Stream],
35504
- 1,
35559
+ [juf_BiConsumer],
35560
+ 0,
35505
35561
  3,
35506
35562
  0,
35507
35563
  0,
35508
35564
  0,
35509
- jusi_ArrayStreamImpl,
35565
+ asrs_BackStepper,
35510
35566
  0,
35511
- jusi_SimpleStreamImpl,
35567
+ jl_Object,
35512
35568
  [],
35513
35569
  0,
35514
35570
  3,
35515
35571
  0,
35516
35572
  0,
35517
- ["$next1", $rt_wrapFunction1(jusi_ArrayStreamImpl_next), "$estimateSize", $rt_wrapFunction0(jusi_ArrayStreamImpl_estimateSize)],
35518
- asrrh_Register,
35519
- "Register",
35520
- 7,
35521
- ju_Observable,
35522
- [],
35523
- 0,
35524
- 3,
35525
- 0,
35526
35573
  0,
35527
- ["$getValue", $rt_wrapFunction0(asrrh_Register_getValue), "$getValueNoNotify", $rt_wrapFunction0(asrrh_Register_getValueNoNotify), "$setValue", $rt_wrapFunction1(asrrh_Register_setValue), "$resetValue", $rt_wrapFunction0(asrrh_Register_resetValue)],
35528
- asr_JsCompilationResult$_init_$lambda$_0_0,
35574
+ jl_AutoCloseable,
35529
35575
  0,
35530
35576
  jl_Object,
35531
- [juf_Function],
35532
- 0,
35577
+ [],
35578
+ 3,
35533
35579
  3,
35534
35580
  0,
35535
35581
  0,
35536
- ["$apply0", $rt_wrapFunction1(asr_JsCompilationResult$_init_$lambda$_0_0_apply)],
35537
- juf_Supplier,
35582
+ 0,
35583
+ jus_BaseStream,
35538
35584
  0,
35539
35585
  jl_Object,
35540
- [],
35586
+ [jl_AutoCloseable],
35541
35587
  3,
35542
35588
  3,
35543
35589
  0,
35544
35590
  0,
35545
35591
  0,
35546
- asr_JsCompilationResult$_init_$lambda$_0_1,
35592
+ jus_Stream,
35547
35593
  0,
35548
35594
  jl_Object,
35549
- [juf_Supplier],
35550
- 0,
35595
+ [jus_BaseStream],
35596
+ 3,
35551
35597
  3,
35552
35598
  0,
35553
35599
  0,
35554
35600
  0,
35555
- juf_BiConsumer,
35601
+ jusi_SimpleStreamImpl,
35556
35602
  0,
35557
35603
  jl_Object,
35558
- [],
35559
- 3,
35604
+ [jus_Stream],
35605
+ 1,
35560
35606
  3,
35561
35607
  0,
35562
35608
  0,
35563
35609
  0,
35564
- asr_JsCompilationResult$_init_$lambda$_0_2,
35610
+ jusi_ArrayStreamImpl,
35565
35611
  0,
35566
- jl_Object,
35567
- [juf_BiConsumer],
35612
+ jusi_SimpleStreamImpl,
35613
+ [],
35568
35614
  0,
35569
35615
  3,
35570
35616
  0,
35571
35617
  0,
35618
+ ["$next1", $rt_wrapFunction1(jusi_ArrayStreamImpl_next), "$estimateSize", $rt_wrapFunction0(jusi_ArrayStreamImpl_estimateSize)],
35619
+ asrrh_Register,
35620
+ "Register",
35621
+ 7,
35622
+ ju_Observable,
35623
+ [],
35624
+ 0,
35625
+ 3,
35572
35626
  0,
35573
- asr_JsCompilationResult$_init_$lambda$_0_3,
35627
+ 0,
35628
+ ["$getValue", $rt_wrapFunction0(asrrh_Register_getValue), "$getValueNoNotify", $rt_wrapFunction0(asrrh_Register_getValueNoNotify), "$setValue", $rt_wrapFunction1(asrrh_Register_setValue), "$resetValue", $rt_wrapFunction0(asrrh_Register_resetValue)],
35629
+ asrs_BackStepper$BackstepStack,
35574
35630
  0,
35575
35631
  jl_Object,
35576
- [juf_BiConsumer],
35632
+ [],
35577
35633
  0,
35578
35634
  3,
35579
35635
  0,
@@ -37120,7 +37176,7 @@ $rt_metadata([
37120
37176
  0,
37121
37177
  0,
37122
37178
  0,
37123
- asrrh_RegisterBlock,
37179
+ asr_ErrorList,
37124
37180
  0,
37125
37181
  jl_Object,
37126
37182
  [],
@@ -37129,9 +37185,8 @@ $rt_metadata([
37129
37185
  0,
37130
37186
  0,
37131
37187
  0,
37132
- asrrh_StackFrame,
37133
- "StackFrame",
37134
- 7,
37188
+ asrrh_RegisterBlock,
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,
@@ -37783,24 +37839,6 @@ $rt_metadata([
37783
37839
  0,
37784
37840
  0,
37785
37841
  ["$next1", $rt_wrapFunction1(jusi_StreamOverSpliterator_next), "$estimateSize", $rt_wrapFunction0(jusi_StreamOverSpliterator_estimateSize)],
37786
- jusi_WrappingStreamImpl,
37787
- 0,
37788
- jusi_SimpleStreamImpl,
37789
- [],
37790
- 1,
37791
- 3,
37792
- 0,
37793
- 0,
37794
- 0,
37795
- jusi_MappingStreamImpl,
37796
- 0,
37797
- jusi_WrappingStreamImpl,
37798
- [],
37799
- 0,
37800
- 3,
37801
- 0,
37802
- 0,
37803
- ["$wrap3", $rt_wrapFunction1(jusi_MappingStreamImpl_wrap)],
37804
37842
  jus_IntStream,
37805
37843
  0,
37806
37844
  jl_Object,
@@ -37828,6 +37866,24 @@ $rt_metadata([
37828
37866
  0,
37829
37867
  0,
37830
37868
  0,
37869
+ jusi_WrappingStreamImpl,
37870
+ 0,
37871
+ jusi_SimpleStreamImpl,
37872
+ [],
37873
+ 1,
37874
+ 3,
37875
+ 0,
37876
+ 0,
37877
+ 0,
37878
+ jusi_MappingStreamImpl,
37879
+ 0,
37880
+ jusi_WrappingStreamImpl,
37881
+ [],
37882
+ 0,
37883
+ 3,
37884
+ 0,
37885
+ 0,
37886
+ ["$wrap3", $rt_wrapFunction1(jusi_MappingStreamImpl_wrap)],
37831
37887
  jm_Conversion,
37832
37888
  0,
37833
37889
  jl_Object,
@@ -37855,26 +37911,25 @@ $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,
37914
+ asrrh_FloatingPointRegisterFile,
37915
+ 0,
37916
+ jl_Object,
37862
37917
  [],
37863
- 12,
37918
+ 0,
37864
37919
  3,
37865
37920
  0,
37866
37921
  0,
37867
37922
  0,
37868
- jlr_Array,
37923
+ asrrh_ControlAndStatusRegisterFile,
37869
37924
  0,
37870
37925
  jl_Object,
37871
37926
  [],
37872
- 4,
37927
+ 0,
37873
37928
  3,
37874
37929
  0,
37875
37930
  0,
37876
37931
  0,
37877
- asrrh_Stack,
37932
+ asrrh_InterruptController,
37878
37933
  0,
37879
37934
  jl_Object,
37880
37935
  [],
@@ -37883,7 +37938,7 @@ $rt_metadata([
37883
37938
  0,
37884
37939
  0,
37885
37940
  0,
37886
- asrrh_FloatingPointRegisterFile,
37941
+ asrrh_Stack,
37887
37942
  0,
37888
37943
  jl_Object,
37889
37944
  [],
@@ -37892,20 +37947,21 @@ $rt_metadata([
37892
37947
  0,
37893
37948
  0,
37894
37949
  0,
37895
- asrrh_ControlAndStatusRegisterFile,
37950
+ jlr_Array,
37896
37951
  0,
37897
37952
  jl_Object,
37898
37953
  [],
37899
- 0,
37954
+ 4,
37900
37955
  3,
37901
37956
  0,
37902
37957
  0,
37903
37958
  0,
37904
- asrrh_InterruptController,
37905
- 0,
37906
- jl_Object,
37959
+ asrs_Simulator$Reason,
37960
+ "Simulator$Reason",
37961
+ 3,
37962
+ jl_Enum,
37907
37963
  [],
37908
- 0,
37964
+ 12,
37909
37965
  3,
37910
37966
  0,
37911
37967
  0,
@@ -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,6 +40969,48 @@ $rt_metadata([
40913
40969
  0,
40914
40970
  0,
40915
40971
  0,
40972
+ asrjt_Float32,
40973
+ 0,
40974
+ asrjt_Floating,
40975
+ [],
40976
+ 0,
40977
+ 3,
40978
+ 0,
40979
+ 0,
40980
+ [
40981
+ "$isSignMinus",
40982
+ $rt_wrapFunction0(asrjt_Float32_isSignMinus),
40983
+ "$isInfinite",
40984
+ $rt_wrapFunction0(asrjt_Float32_isInfinite),
40985
+ "$isNormal",
40986
+ $rt_wrapFunction0(asrjt_Float32_isNormal),
40987
+ "$isSubnormal",
40988
+ $rt_wrapFunction0(asrjt_Float32_isSubnormal),
40989
+ "$isNaN",
40990
+ $rt_wrapFunction0(asrjt_Float32_isNaN),
40991
+ "$isSignalling",
40992
+ $rt_wrapFunction0(asrjt_Float32_isSignalling),
40993
+ "$isZero",
40994
+ $rt_wrapFunction0(asrjt_Float32_isZero),
40995
+ "$toExactFloat",
40996
+ $rt_wrapFunction0(asrjt_Float32_toExactFloat),
40997
+ "$maxPrecision",
40998
+ $rt_wrapFunction0(asrjt_Float32_maxPrecision),
40999
+ "$negate2",
41000
+ $rt_wrapFunction0(asrjt_Float32_negate0),
41001
+ "$fromExactFloat",
41002
+ $rt_wrapFunction2(asrjt_Float32_fromExactFloat),
41003
+ "$NegativeInfinity",
41004
+ $rt_wrapFunction0(asrjt_Float32_NegativeInfinity0),
41005
+ "$Infinity",
41006
+ $rt_wrapFunction0(asrjt_Float32_Infinity0),
41007
+ "$NegativeZero",
41008
+ $rt_wrapFunction0(asrjt_Float32_NegativeZero0),
41009
+ "$Zero",
41010
+ $rt_wrapFunction0(asrjt_Float32_Zero0),
41011
+ "$NaN",
41012
+ $rt_wrapFunction0(asrjt_Float32_NaN0)
41013
+ ],
40916
41014
  asrjt_Float64,
40917
41015
  0,
40918
41016
  asrjt_Floating,
@@ -40964,48 +41062,6 @@ $rt_metadata([
40964
41062
  0,
40965
41063
  0,
40966
41064
  0,
40967
- asrjt_Float32,
40968
- 0,
40969
- asrjt_Floating,
40970
- [],
40971
- 0,
40972
- 3,
40973
- 0,
40974
- 0,
40975
- [
40976
- "$isSignMinus",
40977
- $rt_wrapFunction0(asrjt_Float32_isSignMinus),
40978
- "$isInfinite",
40979
- $rt_wrapFunction0(asrjt_Float32_isInfinite),
40980
- "$isNormal",
40981
- $rt_wrapFunction0(asrjt_Float32_isNormal),
40982
- "$isSubnormal",
40983
- $rt_wrapFunction0(asrjt_Float32_isSubnormal),
40984
- "$isNaN",
40985
- $rt_wrapFunction0(asrjt_Float32_isNaN),
40986
- "$isSignalling",
40987
- $rt_wrapFunction0(asrjt_Float32_isSignalling),
40988
- "$isZero",
40989
- $rt_wrapFunction0(asrjt_Float32_isZero),
40990
- "$toExactFloat",
40991
- $rt_wrapFunction0(asrjt_Float32_toExactFloat),
40992
- "$maxPrecision",
40993
- $rt_wrapFunction0(asrjt_Float32_maxPrecision),
40994
- "$negate2",
40995
- $rt_wrapFunction0(asrjt_Float32_negate0),
40996
- "$fromExactFloat",
40997
- $rt_wrapFunction2(asrjt_Float32_fromExactFloat),
40998
- "$NegativeInfinity",
40999
- $rt_wrapFunction0(asrjt_Float32_NegativeInfinity0),
41000
- "$Infinity",
41001
- $rt_wrapFunction0(asrjt_Float32_Infinity0),
41002
- "$NegativeZero",
41003
- $rt_wrapFunction0(asrjt_Float32_NegativeZero0),
41004
- "$Zero",
41005
- $rt_wrapFunction0(asrjt_Float32_Zero0),
41006
- "$NaN",
41007
- $rt_wrapFunction0(asrjt_Float32_NaN0)
41008
- ],
41009
41065
  asrjo_Comparisons,
41010
41066
  0,
41011
41067
  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 ",
@@ -43075,46 +43131,37 @@ var $rt_jso_marker = Symbol("jsoClass");
43075
43131
  get: $rt_callWithReceiver(asr_JsRiscV_terminated$exported$11)
43076
43132
  });
43077
43133
  c = asr_JsInstruction.prototype;
43134
+ c.getIsRv64Only = $rt_callWithReceiver(asr_JsInstruction_getIsRv64Only$exported$1);
43078
43135
  Object.defineProperty(c, "name", {
43079
43136
  get: $rt_callWithReceiver(asr_JsInstruction_getName$exported$0)
43080
43137
  });
43081
43138
  Object.defineProperty(c, "description", {
43082
- get: $rt_callWithReceiver(asr_JsInstruction_getDescription$exported$2)
43139
+ get: $rt_callWithReceiver(asr_JsInstruction_getDescription$exported$3)
43083
43140
  });
43084
43141
  Object.defineProperty(c, "tokens", {
43085
- get: $rt_callWithReceiver(asr_JsInstruction_getTokens$exported$1)
43142
+ get: $rt_callWithReceiver(asr_JsInstruction_getTokens$exported$2)
43086
43143
  });
43087
43144
  Object.defineProperty(c, "example", {
43088
- get: $rt_callWithReceiver(asr_JsInstruction_getExample$exported$3)
43089
- });
43090
- c = asr_JsBackStep.prototype;
43091
- Object.defineProperty(c, "pc", {
43092
- get: $rt_callWithReceiver(asr_JsBackStep_getPc$exported$0)
43093
- });
43094
- Object.defineProperty(c, "action", {
43095
- get: $rt_callWithReceiver(asr_JsBackStep_getAction$exported$2)
43145
+ get: $rt_callWithReceiver(asr_JsInstruction_getExample$exported$4)
43096
43146
  });
43097
- Object.defineProperty(c, "param1", {
43098
- get: $rt_callWithReceiver(asr_JsBackStep_getParam1$exported$3)
43099
- });
43100
- Object.defineProperty(c, "param2", {
43101
- get: $rt_callWithReceiver(asr_JsBackStep_getParam2$exported$1)
43147
+ c = asr_JsProgramStatement.prototype;
43148
+ Object.defineProperty(c, "assemblyStatement", {
43149
+ get: $rt_callWithReceiver(asr_JsProgramStatement_getAssemblyStatement$exported$1)
43102
43150
  });
43103
- c = asr_JsStackFrame.prototype;
43104
- Object.defineProperty(c, "pc", {
43105
- get: $rt_callWithReceiver(asr_JsStackFrame_getPc$exported$0)
43151
+ Object.defineProperty(c, "sourceLine", {
43152
+ get: $rt_callWithReceiver(asr_JsProgramStatement_getSourceLine$exported$0)
43106
43153
  });
43107
- Object.defineProperty(c, "registers", {
43108
- get: $rt_callWithReceiver(asr_JsStackFrame_getRegisters$exported$2)
43154
+ Object.defineProperty(c, "address", {
43155
+ get: $rt_callWithReceiver(asr_JsProgramStatement_getAddress$exported$3)
43109
43156
  });
43110
- Object.defineProperty(c, "fp", {
43111
- get: $rt_callWithReceiver(asr_JsStackFrame_getFp$exported$4)
43157
+ Object.defineProperty(c, "binaryStatement", {
43158
+ get: $rt_callWithReceiver(asr_JsProgramStatement_getBinaryStatement$exported$4)
43112
43159
  });
43113
- Object.defineProperty(c, "sp", {
43114
- get: $rt_callWithReceiver(asr_JsStackFrame_getSp$exported$3)
43160
+ Object.defineProperty(c, "machineStatement", {
43161
+ get: $rt_callWithReceiver(asr_JsProgramStatement_getMachineStatement$exported$5)
43115
43162
  });
43116
- Object.defineProperty(c, "toAddress", {
43117
- get: $rt_callWithReceiver(asr_JsStackFrame_getToAddress$exported$1)
43163
+ Object.defineProperty(c, "source", {
43164
+ get: $rt_callWithReceiver(asr_JsProgramStatement_getSource$exported$2)
43118
43165
  });
43119
43166
  c = asr_JsCompilationResult.prototype;
43120
43167
  Object.defineProperty(c, "hasErrors", {
@@ -43133,24 +43180,34 @@ var $rt_jso_marker = Symbol("jsoClass");
43133
43180
  Object.defineProperty(c, "tokens", {
43134
43181
  get: $rt_callWithReceiver(asr_JsRiscVTokenizedLine_getTokens$exported$1)
43135
43182
  });
43136
- c = asr_JsProgramStatement.prototype;
43137
- Object.defineProperty(c, "assemblyStatement", {
43138
- get: $rt_callWithReceiver(asr_JsProgramStatement_getAssemblyStatement$exported$1)
43183
+ c = asr_JsBackStep.prototype;
43184
+ Object.defineProperty(c, "pc", {
43185
+ get: $rt_callWithReceiver(asr_JsBackStep_getPc$exported$0)
43139
43186
  });
43140
- Object.defineProperty(c, "sourceLine", {
43141
- get: $rt_callWithReceiver(asr_JsProgramStatement_getSourceLine$exported$0)
43187
+ Object.defineProperty(c, "action", {
43188
+ get: $rt_callWithReceiver(asr_JsBackStep_getAction$exported$2)
43142
43189
  });
43143
- Object.defineProperty(c, "address", {
43144
- get: $rt_callWithReceiver(asr_JsProgramStatement_getAddress$exported$3)
43190
+ Object.defineProperty(c, "param1", {
43191
+ get: $rt_callWithReceiver(asr_JsBackStep_getParam1$exported$3)
43145
43192
  });
43146
- Object.defineProperty(c, "binaryStatement", {
43147
- get: $rt_callWithReceiver(asr_JsProgramStatement_getBinaryStatement$exported$4)
43193
+ Object.defineProperty(c, "param2", {
43194
+ get: $rt_callWithReceiver(asr_JsBackStep_getParam2$exported$1)
43148
43195
  });
43149
- Object.defineProperty(c, "machineStatement", {
43150
- get: $rt_callWithReceiver(asr_JsProgramStatement_getMachineStatement$exported$5)
43196
+ c = asr_JsStackFrame.prototype;
43197
+ Object.defineProperty(c, "pc", {
43198
+ get: $rt_callWithReceiver(asr_JsStackFrame_getPc$exported$0)
43151
43199
  });
43152
- Object.defineProperty(c, "source", {
43153
- get: $rt_callWithReceiver(asr_JsProgramStatement_getSource$exported$2)
43200
+ Object.defineProperty(c, "registers", {
43201
+ get: $rt_callWithReceiver(asr_JsStackFrame_getRegisters$exported$2)
43202
+ });
43203
+ Object.defineProperty(c, "fp", {
43204
+ get: $rt_callWithReceiver(asr_JsStackFrame_getFp$exported$4)
43205
+ });
43206
+ Object.defineProperty(c, "sp", {
43207
+ get: $rt_callWithReceiver(asr_JsStackFrame_getSp$exported$3)
43208
+ });
43209
+ Object.defineProperty(c, "toAddress", {
43210
+ get: $rt_callWithReceiver(asr_JsStackFrame_getToAddress$exported$1)
43154
43211
  });
43155
43212
  c = asr_JsCompilationResult$JsCompilationError.prototype;
43156
43213
  Object.defineProperty(c, "macroExpansionHistory", {
@@ -43198,26 +43255,26 @@ function $rt_export_class_JsInstruction_33() {
43198
43255
  throw new Error("Can't instantiate this class directly");
43199
43256
  }
43200
43257
  $rt_export_class_JsInstruction_33.prototype = asr_JsInstruction.prototype;
43201
- function $rt_export_class_JsBackStep_74() {
43258
+ function $rt_export_class_JsProgramStatement_71() {
43202
43259
  throw new Error("Can't instantiate this class directly");
43203
43260
  }
43204
- $rt_export_class_JsBackStep_74.prototype = asr_JsBackStep.prototype;
43205
- function $rt_export_class_JsStackFrame_77() {
43261
+ $rt_export_class_JsProgramStatement_71.prototype = asr_JsProgramStatement.prototype;
43262
+ function $rt_export_class_JsCompilationResult_72() {
43206
43263
  throw new Error("Can't instantiate this class directly");
43207
43264
  }
43208
- $rt_export_class_JsStackFrame_77.prototype = asr_JsStackFrame.prototype;
43209
- function $rt_export_class_JsCompilationResult_78() {
43265
+ $rt_export_class_JsCompilationResult_72.prototype = asr_JsCompilationResult.prototype;
43266
+ function $rt_export_class_JsRiscVTokenizedLine_81() {
43210
43267
  throw new Error("Can't instantiate this class directly");
43211
43268
  }
43212
- $rt_export_class_JsCompilationResult_78.prototype = asr_JsCompilationResult.prototype;
43213
- function $rt_export_class_JsRiscVTokenizedLine_84() {
43269
+ $rt_export_class_JsRiscVTokenizedLine_81.prototype = asr_JsRiscVTokenizedLine.prototype;
43270
+ function $rt_export_class_JsBackStep_84() {
43214
43271
  throw new Error("Can't instantiate this class directly");
43215
43272
  }
43216
- $rt_export_class_JsRiscVTokenizedLine_84.prototype = asr_JsRiscVTokenizedLine.prototype;
43217
- function $rt_export_class_JsProgramStatement_85() {
43273
+ $rt_export_class_JsBackStep_84.prototype = asr_JsBackStep.prototype;
43274
+ function $rt_export_class_JsStackFrame_85() {
43218
43275
  throw new Error("Can't instantiate this class directly");
43219
43276
  }
43220
- $rt_export_class_JsProgramStatement_85.prototype = asr_JsProgramStatement.prototype;
43277
+ $rt_export_class_JsStackFrame_85.prototype = asr_JsStackFrame.prototype;
43221
43278
  function $rt_export_class_JsCompilationError_352() {
43222
43279
  throw new Error("Can't instantiate this class directly");
43223
43280
  }
@@ -43336,6 +43393,7 @@ function makeRiscVfromSource(source) {
43336
43393
  function initializeRISCV() {
43337
43394
  asr_JsRiscV_initializeRISCV$exported$0();
43338
43395
  }
43396
+ console.log(RISCV.getInstructionSet()[0].getIsRv64Only);
43339
43397
  export {
43340
43398
  BackStepAction,
43341
43399
  ConfirmResult,