@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.js CHANGED
@@ -3354,11 +3354,11 @@ var asr_JsRiscV__clinit_ = () => {
3354
3354
  ju_Comparator$NaturalOrder__clinit_();
3355
3355
  asrr_BasicInstructionFormat__clinit_();
3356
3356
  jl_Long__clinit_();
3357
- asrs_Simulator$Reason__clinit_();
3358
- asrrh_Stack__clinit_();
3359
3357
  asrrh_FloatingPointRegisterFile__clinit_();
3360
3358
  asrrh_ControlAndStatusRegisterFile__clinit_();
3361
3359
  asrrh_InterruptController__clinit_();
3360
+ asrrh_Stack__clinit_();
3361
+ asrs_Simulator$Reason__clinit_();
3362
3362
  asra_Tokenizer__clinit_();
3363
3363
  asrs_Simulator__clinit_();
3364
3364
  asra_Directives__clinit_();
@@ -3375,8 +3375,8 @@ var asr_JsRiscV__clinit_ = () => {
3375
3375
  jnc_CodingErrorAction__clinit_();
3376
3376
  jnc_CoderResult__clinit_();
3377
3377
  jn_ByteOrder__clinit_();
3378
- asrjt_Float64__clinit_();
3379
3378
  asrjt_Float32__clinit_();
3379
+ asrjt_Float64__clinit_();
3380
3380
  asrjo_Arithmetic__clinit_();
3381
3381
  asrj_RoundingMode__clinit_();
3382
3382
  asrj_Flags__clinit_();
@@ -4071,6 +4071,7 @@ var asr_JsRiscV$getInstructionSet$lambda$_39_0_apply = (var$0, var$1) => {
4071
4071
  var$2.$tokens.data[var$3] = asr_JsRiscVToken__init_(asra_TokenList_get(var$1.$tokenList, var$3));
4072
4072
  var$3 = var$3 + 1 | 0;
4073
4073
  }
4074
+ var$2.$isRv64Only = var$1.$isRv64;
4074
4075
  return var$2;
4075
4076
  };
4076
4077
  var juf_IntFunction = $rt_classWithoutFields(0);
@@ -4086,17 +4087,21 @@ function asr_JsInstruction() {
4086
4087
  a.$example = null;
4087
4088
  a.$description0 = null;
4088
4089
  a.$tokens = null;
4090
+ a.$isRv64Only = 0;
4089
4091
  }
4090
4092
  var asr_JsInstruction_getName$exported$0 = (var$1) => {
4091
4093
  return $rt_ustr(var$1.$name5);
4092
4094
  };
4093
- var asr_JsInstruction_getTokens$exported$1 = (var$1) => {
4095
+ var asr_JsInstruction_getIsRv64Only$exported$1 = (var$1) => {
4096
+ return !!var$1.$isRv64Only;
4097
+ };
4098
+ var asr_JsInstruction_getTokens$exported$2 = (var$1) => {
4094
4099
  return otji_JS_wrap(var$1.$tokens);
4095
4100
  };
4096
- var asr_JsInstruction_getDescription$exported$2 = (var$1) => {
4101
+ var asr_JsInstruction_getDescription$exported$3 = (var$1) => {
4097
4102
  return $rt_ustr(var$1.$description0);
4098
4103
  };
4099
- var asr_JsInstruction_getExample$exported$3 = (var$1) => {
4104
+ var asr_JsInstruction_getExample$exported$4 = (var$1) => {
4100
4105
  return $rt_ustr(var$1.$example);
4101
4106
  };
4102
4107
  var jl_IndexOutOfBoundsException = $rt_classWithoutFields(jl_RuntimeException);
@@ -4411,69 +4416,19 @@ var asrr_InstructionSet__init_ = () => {
4411
4416
  return var_0;
4412
4417
  };
4413
4418
  var asrr_InstructionSet_populate = ($this) => {
4414
- let $maskMap, $matchMaps, $mask, $inst, $basic, $match, $matchMap, var$8, var$9, var$10;
4419
+ let $matchMaps, $maskMap, var$3, $inst, $basic, $mask, $match, $matchMap, var$9, var$10;
4415
4420
  ju_ArrayList_clear($this.$instructionList);
4416
4421
  asrr_InstructionSet_addBasicInstructions($this);
4417
- $maskMap = ju_ArrayList__init_1(ju_List_of(asrr_PseudoOps_PSEUDO_OPS));
4418
- if (asrr_InstructionSet_rv64) {
4419
- $matchMaps = ju_List_of(asrr_PseudoOps_PSEUDO_OPS_64);
4420
- ju_AbstractCollection_addAll($maskMap, $matchMaps);
4421
- }
4422
- $mask = ju_AbstractList_iterator($maskMap);
4423
- while (ju_AbstractList$1_hasNext($mask)) {
4424
- $matchMaps = ju_AbstractList$1_next($mask);
4425
- if (!jl_String_startsWith($matchMaps, $rt_s(59)) && !jl_String_startsWith($matchMaps, $rt_s(38)) && $matchMaps.$nativeString.length > 0) {
4426
- $inst = $rt_s(3);
4427
- $basic = ju_StringTokenizer__init_($matchMaps, $rt_s(60));
4428
- $maskMap = ju_StringTokenizer_nextToken($basic);
4429
- $matchMaps = $rt_s(3);
4430
- a: {
4431
- while (ju_StringTokenizer_hasMoreTokens($basic)) {
4432
- $match = ju_StringTokenizer_nextToken($basic);
4433
- if (jl_String_startsWith($match, $rt_s(59))) {
4434
- $inst = jl_String_substring0($match, 1);
4435
- break a;
4436
- }
4437
- $matchMap = new jl_StringBuilder();
4438
- jl_AbstractStringBuilder__init_($matchMap);
4439
- jl_StringBuilder_append(jl_StringBuilder_append($matchMap, $matchMaps), $match);
4440
- $matchMaps = jl_AbstractStringBuilder_toString($matchMap);
4441
- if (!ju_StringTokenizer_hasMoreTokens($basic))
4442
- continue;
4443
- $match = new jl_StringBuilder();
4444
- jl_AbstractStringBuilder__init_($match);
4445
- jl_AbstractStringBuilder_append0(jl_StringBuilder_append($match, $matchMaps), 10);
4446
- $matchMaps = jl_AbstractStringBuilder_toString($match);
4447
- }
4448
- }
4449
- $basic = $this.$instructionList;
4450
- $match = new asrr_ExtendedInstruction();
4451
- $match.$exampleFormat = $maskMap;
4452
- $match.$description = $inst;
4453
- $inst = $match;
4454
- $match.$mnemonic = asrr_Instruction_extractOperator($inst, $maskMap);
4455
- asrr_Instruction_createExampleTokenList($inst);
4456
- if ($matchMaps !== null && $matchMaps.$nativeString.length) {
4457
- $maskMap = ju_ArrayList__init_();
4458
- $matchMap = ju_StringTokenizer__init_($matchMaps, $rt_s(43));
4459
- while (ju_StringTokenizer_hasMoreTokens($matchMap)) {
4460
- ju_ArrayList_add($maskMap, ju_StringTokenizer_nextToken($matchMap));
4461
- }
4462
- } else
4463
- $maskMap = null;
4464
- $match.$translationStrings = $maskMap;
4465
- ju_ArrayList_add($basic, $match);
4466
- }
4467
- }
4422
+ asrr_InstructionSet_addPseudoInstructions($this);
4468
4423
  $matchMaps = ju_AbstractList_iterator($this.$instructionList);
4469
4424
  while (ju_AbstractList$1_hasNext($matchMaps)) {
4470
4425
  asrr_Instruction_createExampleTokenList(ju_AbstractList$1_next($matchMaps));
4471
4426
  }
4472
4427
  $maskMap = ju_HashMap__init_();
4473
4428
  $matchMaps = ju_ArrayList__init_();
4474
- var$8 = ju_AbstractList_iterator($this.$instructionList);
4475
- while (ju_AbstractList$1_hasNext(var$8)) {
4476
- $inst = ju_AbstractList$1_next(var$8);
4429
+ var$3 = ju_AbstractList_iterator($this.$instructionList);
4430
+ while (ju_AbstractList$1_hasNext(var$3)) {
4431
+ $inst = ju_AbstractList$1_next(var$3);
4477
4432
  if ($inst instanceof asrr_BasicInstruction) {
4478
4433
  $basic = $inst;
4479
4434
  $mask = jl_Integer_valueOf($basic.$opcodeMask);
@@ -4500,6 +4455,88 @@ var asrr_InstructionSet_populate = ($this) => {
4500
4455
  ju_Collections_sort($matchMaps);
4501
4456
  $this.$opcodeMatchMaps = $matchMaps;
4502
4457
  };
4458
+ var asrr_InstructionSet_addPseudoInstructions = ($this) => {
4459
+ let $pseudoOps, var$2, var$3, var$4, var$5, $pseudoOp, $line, $description, $tokenizer, $pseudoOp_0, $template, $token, var$13;
4460
+ $pseudoOps = new ju_ArrayList();
4461
+ var$2 = asrr_PseudoOps_PSEUDO_OPS;
4462
+ var$3 = var$2.data;
4463
+ var$4 = var$3.length;
4464
+ var$5 = 0;
4465
+ while (var$5 < var$4) {
4466
+ ju_Objects_requireNonNull(var$3[var$5]);
4467
+ var$5 = var$5 + 1 | 0;
4468
+ }
4469
+ ju_ArrayList__init_1($pseudoOps, ju_TemplateCollections$ImmutableArrayList__init_(var$2.$clone0()));
4470
+ $pseudoOp = ju_AbstractList_iterator($pseudoOps);
4471
+ while (ju_AbstractList$1_hasNext($pseudoOp)) {
4472
+ $line = ju_AbstractList$1_next($pseudoOp);
4473
+ if (!jl_String_startsWith($line, $rt_s(59)) && !jl_String_startsWith($line, $rt_s(38)) && $line.$nativeString.length > 0) {
4474
+ $description = $rt_s(3);
4475
+ $tokenizer = ju_StringTokenizer__init_($line, $rt_s(60));
4476
+ $pseudoOp_0 = ju_StringTokenizer_nextToken($tokenizer);
4477
+ $template = $rt_s(3);
4478
+ a: {
4479
+ while (ju_StringTokenizer_hasMoreTokens($tokenizer)) {
4480
+ $token = ju_StringTokenizer_nextToken($tokenizer);
4481
+ if (jl_String_startsWith($token, $rt_s(59))) {
4482
+ $description = jl_String_substring0($token, 1);
4483
+ break a;
4484
+ }
4485
+ $pseudoOps = new jl_StringBuilder();
4486
+ jl_AbstractStringBuilder__init_($pseudoOps);
4487
+ jl_StringBuilder_append(jl_StringBuilder_append($pseudoOps, $template), $token);
4488
+ $template = jl_AbstractStringBuilder_toString($pseudoOps);
4489
+ if (!ju_StringTokenizer_hasMoreTokens($tokenizer))
4490
+ continue;
4491
+ $pseudoOps = new jl_StringBuilder();
4492
+ jl_AbstractStringBuilder__init_($pseudoOps);
4493
+ jl_AbstractStringBuilder_append0(jl_StringBuilder_append($pseudoOps, $template), 10);
4494
+ $template = jl_AbstractStringBuilder_toString($pseudoOps);
4495
+ }
4496
+ }
4497
+ ju_ArrayList_add($this.$instructionList, asrr_ExtendedInstruction__init_($pseudoOp_0, $template, $description, 0));
4498
+ }
4499
+ }
4500
+ b: {
4501
+ if (asrr_InstructionSet_rv64) {
4502
+ var$2 = asrr_PseudoOps_PSEUDO_OPS_64.data;
4503
+ var$5 = var$2.length;
4504
+ var$13 = 0;
4505
+ while (true) {
4506
+ if (var$13 >= var$5)
4507
+ break b;
4508
+ $line = var$2[var$13];
4509
+ if (!jl_String_startsWith($line, $rt_s(59)) && !jl_String_startsWith($line, $rt_s(38)) && $line.$nativeString.length > 0) {
4510
+ $description = $rt_s(3);
4511
+ $tokenizer = ju_StringTokenizer__init_($line, $rt_s(60));
4512
+ $pseudoOp = ju_StringTokenizer_nextToken($tokenizer);
4513
+ $template = $rt_s(3);
4514
+ c: {
4515
+ while (ju_StringTokenizer_hasMoreTokens($tokenizer)) {
4516
+ $token = ju_StringTokenizer_nextToken($tokenizer);
4517
+ if (jl_String_startsWith($token, $rt_s(59))) {
4518
+ $description = jl_String_substring0($token, 1);
4519
+ break c;
4520
+ }
4521
+ $pseudoOps = new jl_StringBuilder();
4522
+ jl_AbstractStringBuilder__init_($pseudoOps);
4523
+ jl_StringBuilder_append(jl_StringBuilder_append($pseudoOps, $template), $token);
4524
+ $template = jl_AbstractStringBuilder_toString($pseudoOps);
4525
+ if (!ju_StringTokenizer_hasMoreTokens($tokenizer))
4526
+ continue;
4527
+ $pseudoOps = new jl_StringBuilder();
4528
+ jl_AbstractStringBuilder__init_($pseudoOps);
4529
+ jl_AbstractStringBuilder_append0(jl_StringBuilder_append($pseudoOps, $template), 10);
4530
+ $template = jl_AbstractStringBuilder_toString($pseudoOps);
4531
+ }
4532
+ }
4533
+ ju_ArrayList_add($this.$instructionList, asrr_ExtendedInstruction__init_($pseudoOp, $template, $description, 1));
4534
+ }
4535
+ var$13 = var$13 + 1 | 0;
4536
+ }
4537
+ }
4538
+ }
4539
+ };
4503
4540
  var asrr_InstructionSet_matchOperator = ($this, $name) => {
4504
4541
  let $matchingInstructions, var$3, $inst;
4505
4542
  $matchingInstructions = null;
@@ -5830,7 +5867,7 @@ var asr_RISCVprogram_readSource = ($this, $file, $source) => {
5830
5867
  ju_Objects_requireNonNull(var$4);
5831
5868
  $file = new ju_Arrays$ArrayAsList();
5832
5869
  $file.$array3 = var$4;
5833
- ju_ArrayList__init_2(var$3, $file);
5870
+ ju_ArrayList__init_1(var$3, $file);
5834
5871
  $this.$sourceList = var$3;
5835
5872
  };
5836
5873
  var asr_RISCVprogram_simulate0 = ($this, $maxSteps) => {
@@ -6116,17 +6153,6 @@ var ju_AbstractCollection_addAll = ($this, $c) => {
6116
6153
  };
6117
6154
  var ju_SequencedCollection = $rt_classWithoutFields(0);
6118
6155
  var ju_List = $rt_classWithoutFields(0);
6119
- var ju_List_of = ($elements) => {
6120
- let var$2, var$3, var$4;
6121
- var$2 = $elements.data;
6122
- var$3 = var$2.length;
6123
- var$4 = 0;
6124
- while (var$4 < var$3) {
6125
- ju_Objects_requireNonNull(var$2[var$4]);
6126
- var$4 = var$4 + 1 | 0;
6127
- }
6128
- return ju_TemplateCollections$ImmutableArrayList__init_($elements.$clone0());
6129
- };
6130
6156
  function ju_AbstractList() {
6131
6157
  ju_AbstractCollection.call(this);
6132
6158
  this.$modCount = 0;
@@ -6165,12 +6191,12 @@ var ju_ArrayList__init_0 = ($this, $initialCapacity) => {
6165
6191
  jl_Throwable__init_(var$2);
6166
6192
  $rt_throw(var$2);
6167
6193
  };
6168
- var ju_ArrayList__init_3 = (var_0) => {
6194
+ var ju_ArrayList__init_2 = (var_0) => {
6169
6195
  let var_1 = new ju_ArrayList();
6170
6196
  ju_ArrayList__init_0(var_1, var_0);
6171
6197
  return var_1;
6172
6198
  };
6173
- var ju_ArrayList__init_2 = ($this, $c) => {
6199
+ var ju_ArrayList__init_1 = ($this, $c) => {
6174
6200
  let $iter, $i, var$4, var$5;
6175
6201
  ju_ArrayList__init_0($this, $c.$size());
6176
6202
  $iter = ju_AbstractList_iterator($c);
@@ -6186,9 +6212,9 @@ var ju_ArrayList__init_2 = ($this, $c) => {
6186
6212
  }
6187
6213
  $this.$size0 = var$5;
6188
6214
  };
6189
- var ju_ArrayList__init_1 = (var_0) => {
6215
+ var ju_ArrayList__init_3 = (var_0) => {
6190
6216
  let var_1 = new ju_ArrayList();
6191
- ju_ArrayList__init_2(var_1, var_0);
6217
+ ju_ArrayList__init_1(var_1, var_0);
6192
6218
  return var_1;
6193
6219
  };
6194
6220
  var ju_ArrayList_ensureCapacity = ($this, $minCapacity) => {
@@ -7081,19 +7107,292 @@ var jl_System_currentTimeMillis = () => {
7081
7107
  return Long_fromNumber((/* @__PURE__ */ new Date()).getTime());
7082
7108
  };
7083
7109
  var jl_CloneNotSupportedException = $rt_classWithoutFields(jl_Exception);
7110
+ function asr_JsProgramStatement() {
7111
+ let a = this;
7112
+ jl_Object.call(a);
7113
+ a.$sourceLine1 = 0;
7114
+ a.$address2 = 0;
7115
+ a.$binaryStatement0 = 0;
7116
+ a.$source3 = null;
7117
+ a.$assemblyStatement = null;
7118
+ a.$machineStatement0 = null;
7119
+ }
7120
+ var asr_JsProgramStatement__init_0 = ($this, var$1) => {
7121
+ let var$2, var$3, var$4, var$5, var$6;
7122
+ $this.$sourceLine1 = var$1.$sourceLine0;
7123
+ $this.$address2 = var$1.$textAddress0;
7124
+ $this.$binaryStatement0 = var$1.$binaryStatement;
7125
+ $this.$source3 = var$1.$source;
7126
+ var$2 = var$1.$basicStatementList;
7127
+ var$3 = !asr_Settings_getBooleanSetting(asr_Globals_getSettings(), asr_Settings$Bool_DISPLAY_ADDRESSES_IN_HEX) ? 10 : 16;
7128
+ var$4 = !asr_Settings_getBooleanSetting(asr_Globals_getSettings(), asr_Settings$Bool_DISPLAY_ADDRESSES_IN_HEX) ? 10 : 16;
7129
+ var$5 = new jl_StringBuffer();
7130
+ jl_AbstractStringBuilder__init_(var$5);
7131
+ var$6 = ju_AbstractList_iterator(var$2.$list);
7132
+ while (ju_AbstractList$1_hasNext(var$6)) {
7133
+ a: {
7134
+ var$2 = ju_AbstractList$1_next(var$6);
7135
+ switch (var$2.$type3) {
7136
+ case 0:
7137
+ break;
7138
+ case 1:
7139
+ if (var$3 == 10) {
7140
+ jl_AbstractStringBuilder_append(var$5, var$2.$iValue);
7141
+ break a;
7142
+ }
7143
+ jl_AbstractStringBuilder_append1(var$5, asru_Binary_intToHexString(var$2.$iValue));
7144
+ break a;
7145
+ case 2:
7146
+ if (var$4 == 10) {
7147
+ jl_AbstractStringBuilder_append(var$5, var$2.$iValue);
7148
+ break a;
7149
+ }
7150
+ jl_AbstractStringBuilder_append1(var$5, asru_Binary_intToHexString(var$2.$iValue));
7151
+ break a;
7152
+ case 3:
7153
+ jl_AbstractStringBuilder_append(var$5, var$2.$iValue);
7154
+ break a;
7155
+ default:
7156
+ break a;
7157
+ }
7158
+ jl_AbstractStringBuilder_append1(var$5, var$2.$sValue);
7159
+ }
7160
+ }
7161
+ $this.$assemblyStatement = jl_AbstractStringBuilder_toString(var$5);
7162
+ $this.$machineStatement0 = var$1.$machineStatement;
7163
+ };
7164
+ var asr_JsProgramStatement__init_ = (var_0) => {
7165
+ let var_1 = new asr_JsProgramStatement();
7166
+ asr_JsProgramStatement__init_0(var_1, var_0);
7167
+ return var_1;
7168
+ };
7169
+ var asr_JsProgramStatement_getSourceLine$exported$0 = (var$1) => {
7170
+ return var$1.$sourceLine1;
7171
+ };
7172
+ var asr_JsProgramStatement_getAssemblyStatement$exported$1 = (var$1) => {
7173
+ return $rt_ustr(var$1.$assemblyStatement);
7174
+ };
7175
+ var asr_JsProgramStatement_getSource$exported$2 = (var$1) => {
7176
+ return $rt_ustr(var$1.$source3);
7177
+ };
7178
+ var asr_JsProgramStatement_getAddress$exported$3 = (var$1) => {
7179
+ return var$1.$address2;
7180
+ };
7181
+ var asr_JsProgramStatement_getBinaryStatement$exported$4 = (var$1) => {
7182
+ return var$1.$binaryStatement0;
7183
+ };
7184
+ var asr_JsProgramStatement_getMachineStatement$exported$5 = (var$1) => {
7185
+ return $rt_ustr(var$1.$machineStatement0);
7186
+ };
7187
+ function asr_JsCompilationResult() {
7188
+ let a = this;
7189
+ jl_Object.call(a);
7190
+ a.$report = null;
7191
+ a.$errors1 = null;
7192
+ }
7193
+ var asr_JsCompilationResult__init_0 = ($this, $errorReport) => {
7194
+ let var$2, var$3, var$4;
7195
+ $this.$report = asr_ErrorList_generateErrorAndWarningReport($errorReport);
7196
+ $errorReport = ju_Collection_stream($errorReport.$messages);
7197
+ var$2 = new asr_JsCompilationResult$_init_$lambda$_0_0();
7198
+ var$2.$_06 = $this;
7199
+ $errorReport = jusi_SimpleStreamImpl_map($errorReport, var$2);
7200
+ var$2 = new asr_JsCompilationResult$_init_$lambda$_0_2();
7201
+ $errorReport = $errorReport;
7202
+ var$3 = ju_ArrayList__init_();
7203
+ var$4 = $errorReport;
7204
+ while (true) {
7205
+ $errorReport = new jusi_SimpleStreamImpl$collect$lambda$_25_0();
7206
+ $errorReport.$_08 = var$2;
7207
+ $errorReport.$_12 = var$3;
7208
+ if (!jusi_WrappingStreamImpl_next(var$4, $errorReport))
7209
+ break;
7210
+ }
7211
+ $this.$errors1 = var$3;
7212
+ };
7213
+ var asr_JsCompilationResult__init_ = (var_0) => {
7214
+ let var_1 = new asr_JsCompilationResult();
7215
+ asr_JsCompilationResult__init_0(var_1, var_0);
7216
+ return var_1;
7217
+ };
7218
+ var asr_JsCompilationResult_getErrors$exported$0 = (var$1) => {
7219
+ let var$2;
7220
+ var$1 = var$1.$errors1;
7221
+ var$2 = $rt_createArray(asr_JsCompilationResult$JsCompilationError, 0);
7222
+ return otji_JS_wrap(ju_AbstractCollection_toArray(var$1, var$2));
7223
+ };
7224
+ var asr_JsCompilationResult_hasErrors$exported$1 = (var$1) => {
7225
+ var$1 = var$1;
7226
+ return !!(ju_AbstractCollection_isEmpty(var$1.$errors1) ? 0 : 1);
7227
+ };
7228
+ var asr_JsCompilationResult_getReport$exported$2 = (var$1) => {
7229
+ return $rt_ustr(var$1.$report);
7230
+ };
7231
+ function asr_AssemblyException() {
7232
+ jl_Exception.call(this);
7233
+ this.$errs = null;
7234
+ }
7235
+ var asr_AssemblyException__init_0 = ($this, $errs) => {
7236
+ jl_Throwable__init_0($this, asr_ErrorList_generateErrorAndWarningReport($errs));
7237
+ $this.$errs = $errs;
7238
+ };
7239
+ var asr_AssemblyException__init_ = (var_0) => {
7240
+ let var_1 = new asr_AssemblyException();
7241
+ asr_AssemblyException__init_0(var_1, var_0);
7242
+ return var_1;
7243
+ };
7244
+ var asrrh_RegisterFile = $rt_classWithoutFields();
7245
+ var asrrh_RegisterFile_instance = null;
7246
+ var asrrh_RegisterFile_programCounter = null;
7247
+ var asrrh_RegisterFile_$callClinit = () => {
7248
+ asrrh_RegisterFile_$callClinit = $rt_eraseClinit(asrrh_RegisterFile);
7249
+ asrrh_RegisterFile__clinit_();
7250
+ };
7251
+ var asrrh_RegisterFile_updateRegister = ($num, $val) => {
7252
+ let var$3;
7253
+ asrrh_RegisterFile_$callClinit();
7254
+ if ($num) {
7255
+ if (!asr_Settings_getBackSteppingEnabled(asr_Globals_getSettings()))
7256
+ asrrh_RegisterBlock_updateRegister(asrrh_RegisterFile_instance, $num, $val);
7257
+ else {
7258
+ var$3 = asr_Globals_program.$backStepper;
7259
+ $val = asrrh_RegisterBlock_updateRegister(asrrh_RegisterFile_instance, $num, $val);
7260
+ asrs_BackStepper$BackstepStack_push(var$3.$backSteps, asrs_BackStepper$Action_REGISTER_RESTORE, asrs_BackStepper_pc(var$3), $num, $val);
7261
+ }
7262
+ }
7263
+ };
7264
+ var asrrh_RegisterFile_updateRegister0 = ($name, $val) => {
7265
+ asrrh_RegisterFile_$callClinit();
7266
+ asrrh_RegisterFile_updateRegister(asrrh_RegisterBlock_getRegister(asrrh_RegisterFile_instance, $name).$number, $val);
7267
+ };
7268
+ var asrrh_RegisterFile_getValue0 = ($num) => {
7269
+ asrrh_RegisterFile_$callClinit();
7270
+ return Long_lo(asrrh_RegisterBlock_getValue(asrrh_RegisterFile_instance, $num));
7271
+ };
7272
+ var asrrh_RegisterFile_getValueLong = ($num) => {
7273
+ asrrh_RegisterFile_$callClinit();
7274
+ return asrrh_RegisterBlock_getValue(asrrh_RegisterFile_instance, $num);
7275
+ };
7276
+ var asrrh_RegisterFile_getValue = ($name) => {
7277
+ asrrh_RegisterFile_$callClinit();
7278
+ return Long_lo(asrrh_RegisterBlock_getValue0(asrrh_RegisterFile_instance, $name));
7279
+ };
7280
+ var asrrh_RegisterFile_getRegisters = () => {
7281
+ asrrh_RegisterFile_$callClinit();
7282
+ return asrrh_RegisterFile_instance.$regFile;
7283
+ };
7284
+ var asrrh_RegisterFile_getRegister = ($name) => {
7285
+ asrrh_RegisterFile_$callClinit();
7286
+ if (!jl_String_equals($name, $rt_s(212)))
7287
+ return asrrh_RegisterBlock_getRegister(asrrh_RegisterFile_instance, $name);
7288
+ return asrrh_RegisterBlock_getRegister(asrrh_RegisterFile_instance, $rt_s(213));
7289
+ };
7290
+ var asrrh_RegisterFile_initializeProgramCounter = ($value) => {
7291
+ asrrh_RegisterFile_$callClinit();
7292
+ asrrh_Register_setValue(asrrh_RegisterFile_programCounter, Long_fromInt($value));
7293
+ };
7294
+ var asrrh_RegisterFile_initializeProgramCounter0 = ($startAtMain) => {
7295
+ let $mainAddr;
7296
+ asrrh_RegisterFile_$callClinit();
7297
+ asr_Globals_$callClinit();
7298
+ $mainAddr = asra_SymbolTable_getAddress(asr_Globals_symbolTable, asra_SymbolTable_startLabel);
7299
+ if ($startAtMain && $mainAddr != -1 && asrrh_Memory_inTextSegment($mainAddr))
7300
+ asrrh_RegisterFile_initializeProgramCounter($mainAddr);
7301
+ else
7302
+ asrrh_RegisterFile_initializeProgramCounter(Long_lo(asrrh_RegisterFile_programCounter.$resetValue0));
7303
+ };
7304
+ var asrrh_RegisterFile_getStackPointerRegister = () => {
7305
+ asrrh_RegisterFile_$callClinit();
7306
+ return asrrh_RegisterBlock_getRegister(asrrh_RegisterFile_instance, $rt_s(165));
7307
+ };
7308
+ var asrrh_RegisterFile_setProgramCounter = ($value) => {
7309
+ let $old, var$3;
7310
+ asrrh_RegisterFile_$callClinit();
7311
+ $old = Long_lo(asrrh_Register_getValue(asrrh_RegisterFile_programCounter));
7312
+ asrrh_Register_setValue(asrrh_RegisterFile_programCounter, Long_fromInt($value));
7313
+ if (asr_Settings_getBackSteppingEnabled(asr_Globals_getSettings())) {
7314
+ var$3 = asr_Globals_program.$backStepper;
7315
+ $value = $old + -4 | 0;
7316
+ asrs_BackStepper$BackstepStack_push0(var$3.$backSteps, asrs_BackStepper$Action_PC_RESTORE, $value, $value);
7317
+ }
7318
+ return $old;
7319
+ };
7320
+ var asrrh_RegisterFile_getProgramCounter = () => {
7321
+ asrrh_RegisterFile_$callClinit();
7322
+ return Long_lo(asrrh_Register_getValue(asrrh_RegisterFile_programCounter));
7323
+ };
7324
+ var asrrh_RegisterFile_getProgramCounterRegister = () => {
7325
+ asrrh_RegisterFile_$callClinit();
7326
+ return asrrh_RegisterFile_programCounter;
7327
+ };
7328
+ var asrrh_RegisterFile_resetRegisters = () => {
7329
+ asrrh_RegisterFile_$callClinit();
7330
+ asrrh_RegisterBlock_resetRegisters(asrrh_RegisterFile_instance);
7331
+ asrrh_RegisterFile_initializeProgramCounter0(asr_Settings_getBooleanSetting(asr_Globals_getSettings(), asr_Settings$Bool_START_AT_MAIN));
7332
+ };
7333
+ var asrrh_RegisterFile_incrementPC = () => {
7334
+ let var$1;
7335
+ asrrh_RegisterFile_$callClinit();
7336
+ var$1 = asrrh_RegisterFile_programCounter;
7337
+ asrrh_Register_setValue(var$1, Long_add(asrrh_Register_getValue(var$1), Long_fromInt(4)));
7338
+ };
7339
+ var asrrh_RegisterFile__clinit_ = () => {
7340
+ let var$1, var$2, var$3, var$4;
7341
+ var$1 = new asrrh_RegisterBlock();
7342
+ var$2 = $rt_createArray(asrrh_Register, 32);
7343
+ var$3 = var$2.data;
7344
+ var$3[0] = asrrh_Register__init_($rt_s(214), 0, Long_ZERO);
7345
+ var$3[1] = asrrh_Register__init_($rt_s(215), 1, Long_ZERO);
7346
+ var$4 = new asrrh_Register();
7347
+ asrrh_Memory_$callClinit();
7348
+ asrrh_Register__init_0(var$4, $rt_s(165), 2, Long_fromInt(asrrh_Memory_stackPointer));
7349
+ var$3[2] = var$4;
7350
+ var$3[3] = asrrh_Register__init_($rt_s(164), 3, Long_fromInt(asrrh_Memory_globalPointer));
7351
+ var$3[4] = asrrh_Register__init_($rt_s(216), 4, Long_ZERO);
7352
+ var$3[5] = asrrh_Register__init_($rt_s(217), 5, Long_ZERO);
7353
+ var$3[6] = asrrh_Register__init_($rt_s(218), 6, Long_ZERO);
7354
+ var$3[7] = asrrh_Register__init_($rt_s(219), 7, Long_ZERO);
7355
+ var$3[8] = asrrh_Register__init_($rt_s(213), 8, Long_ZERO);
7356
+ var$3[9] = asrrh_Register__init_($rt_s(220), 9, Long_ZERO);
7357
+ var$3[10] = asrrh_Register__init_($rt_s(221), 10, Long_ZERO);
7358
+ var$3[11] = asrrh_Register__init_($rt_s(222), 11, Long_ZERO);
7359
+ var$3[12] = asrrh_Register__init_($rt_s(223), 12, Long_ZERO);
7360
+ var$3[13] = asrrh_Register__init_($rt_s(224), 13, Long_ZERO);
7361
+ var$3[14] = asrrh_Register__init_($rt_s(225), 14, Long_ZERO);
7362
+ var$3[15] = asrrh_Register__init_($rt_s(226), 15, Long_ZERO);
7363
+ var$3[16] = asrrh_Register__init_($rt_s(227), 16, Long_ZERO);
7364
+ var$3[17] = asrrh_Register__init_($rt_s(228), 17, Long_ZERO);
7365
+ var$3[18] = asrrh_Register__init_($rt_s(229), 18, Long_ZERO);
7366
+ var$3[19] = asrrh_Register__init_($rt_s(230), 19, Long_ZERO);
7367
+ var$3[20] = asrrh_Register__init_($rt_s(231), 20, Long_ZERO);
7368
+ var$3[21] = asrrh_Register__init_($rt_s(232), 21, Long_ZERO);
7369
+ var$3[22] = asrrh_Register__init_($rt_s(233), 22, Long_ZERO);
7370
+ var$3[23] = asrrh_Register__init_($rt_s(234), 23, Long_ZERO);
7371
+ var$3[24] = asrrh_Register__init_($rt_s(235), 24, Long_ZERO);
7372
+ var$3[25] = asrrh_Register__init_($rt_s(236), 25, Long_ZERO);
7373
+ var$3[26] = asrrh_Register__init_($rt_s(237), 26, Long_ZERO);
7374
+ var$3[27] = asrrh_Register__init_($rt_s(238), 27, Long_ZERO);
7375
+ var$3[28] = asrrh_Register__init_($rt_s(239), 28, Long_ZERO);
7376
+ var$3[29] = asrrh_Register__init_($rt_s(240), 29, Long_ZERO);
7377
+ var$3[30] = asrrh_Register__init_($rt_s(241), 30, Long_ZERO);
7378
+ var$3[31] = asrrh_Register__init_($rt_s(242), 31, Long_ZERO);
7379
+ asrrh_RegisterBlock__init_(var$1, 120, var$2);
7380
+ asrrh_RegisterFile_instance = var$1;
7381
+ asrrh_RegisterFile_programCounter = asrrh_Register__init_($rt_s(243), -1, Long_fromInt(asrrh_Memory_textBaseAddress));
7382
+ };
7084
7383
  var ju_Arrays = $rt_classWithoutFields();
7085
- var ju_Arrays_copyOf1 = (var$1, var$2) => {
7086
- let var$3, var$4, var$5, $i;
7087
- var$1 = var$1.data;
7088
- var$3 = $rt_createCharArray(var$2);
7089
- var$4 = var$3.data;
7090
- var$5 = jl_Math_min(var$2, var$1.length);
7384
+ var ju_Arrays_copyOf1 = ($array, $length) => {
7385
+ let $result, var$4, $sz, $i;
7386
+ $array = $array.data;
7387
+ $result = $rt_createCharArray($length);
7388
+ var$4 = $result.data;
7389
+ $sz = jl_Math_min($length, $array.length);
7091
7390
  $i = 0;
7092
- while ($i < var$5) {
7093
- var$4[$i] = var$1[$i];
7391
+ while ($i < $sz) {
7392
+ var$4[$i] = $array[$i];
7094
7393
  $i = $i + 1 | 0;
7095
7394
  }
7096
- return var$3;
7395
+ return $result;
7097
7396
  };
7098
7397
  var ju_Arrays_copyOf0 = ($array, $length) => {
7099
7398
  let $result, var$4, $sz, $i;
@@ -7272,182 +7571,8 @@ var ju_Arrays_stream = ($array) => {
7272
7571
  var$3.$size2 = var$4 - 0 | 0;
7273
7572
  return var$3;
7274
7573
  };
7275
- var asr_JsRiscV$getUndoStack$lambda$_26_0 = $rt_classWithoutFields();
7276
- var asr_JsRiscV$getUndoStack$lambda$_26_0_apply = (var$0, var$1) => {
7277
- let var$2, var$3;
7278
- var$1 = var$1;
7279
- var$2 = new asr_JsBackStep();
7280
- var$3 = var$1.$action;
7281
- var$2.$action0 = var$3 === null ? -1 : var$3.$ordinal0;
7282
- var$2.$pc2 = var$1.$pc1;
7283
- var$2.$param10 = var$1.$param1;
7284
- var$2.$param20 = Long_lo(var$1.$param2);
7285
- return var$2;
7286
- };
7287
- var asr_JsRiscV$getUndoStack$lambda$_26_1 = $rt_classWithoutFields();
7288
- var asr_JsRiscV$getUndoStack$lambda$_26_1_apply = (var$0, var$1) => {
7289
- asr_JsRiscV_$callClinit();
7290
- return $rt_createArray(asr_JsBackStep, var$1);
7291
- };
7292
- function asr_JsBackStep() {
7293
- let a = this;
7294
- jl_Object.call(a);
7295
- a.$action0 = 0;
7296
- a.$pc2 = 0;
7297
- a.$param10 = 0;
7298
- a.$param20 = 0;
7299
- }
7300
- var asr_JsBackStep_getPc$exported$0 = (var$1) => {
7301
- return var$1.$pc2;
7302
- };
7303
- var asr_JsBackStep_getParam2$exported$1 = (var$1) => {
7304
- return var$1.$param20;
7305
- };
7306
- var asr_JsBackStep_getAction$exported$2 = (var$1) => {
7307
- return var$1.$action0;
7308
- };
7309
- var asr_JsBackStep_getParam1$exported$3 = (var$1) => {
7310
- return var$1.$param10;
7311
- };
7312
- var asrrh_RegisterFile = $rt_classWithoutFields();
7313
- var asrrh_RegisterFile_instance = null;
7314
- var asrrh_RegisterFile_programCounter = null;
7315
- var asrrh_RegisterFile_$callClinit = () => {
7316
- asrrh_RegisterFile_$callClinit = $rt_eraseClinit(asrrh_RegisterFile);
7317
- asrrh_RegisterFile__clinit_();
7318
- };
7319
- var asrrh_RegisterFile_updateRegister = ($num, $val) => {
7320
- let var$3;
7321
- asrrh_RegisterFile_$callClinit();
7322
- if ($num) {
7323
- if (!asr_Settings_getBackSteppingEnabled(asr_Globals_getSettings()))
7324
- asrrh_RegisterBlock_updateRegister(asrrh_RegisterFile_instance, $num, $val);
7325
- else {
7326
- var$3 = asr_Globals_program.$backStepper;
7327
- $val = asrrh_RegisterBlock_updateRegister(asrrh_RegisterFile_instance, $num, $val);
7328
- asrs_BackStepper$BackstepStack_push(var$3.$backSteps, asrs_BackStepper$Action_REGISTER_RESTORE, asrs_BackStepper_pc(var$3), $num, $val);
7329
- }
7330
- }
7331
- };
7332
- var asrrh_RegisterFile_updateRegister0 = ($name, $val) => {
7333
- asrrh_RegisterFile_$callClinit();
7334
- asrrh_RegisterFile_updateRegister(asrrh_RegisterBlock_getRegister(asrrh_RegisterFile_instance, $name).$number, $val);
7335
- };
7336
- var asrrh_RegisterFile_getValue0 = ($num) => {
7337
- asrrh_RegisterFile_$callClinit();
7338
- return Long_lo(asrrh_RegisterBlock_getValue(asrrh_RegisterFile_instance, $num));
7339
- };
7340
- var asrrh_RegisterFile_getValueLong = ($num) => {
7341
- asrrh_RegisterFile_$callClinit();
7342
- return asrrh_RegisterBlock_getValue(asrrh_RegisterFile_instance, $num);
7343
- };
7344
- var asrrh_RegisterFile_getValue = ($name) => {
7345
- asrrh_RegisterFile_$callClinit();
7346
- return Long_lo(asrrh_RegisterBlock_getValue0(asrrh_RegisterFile_instance, $name));
7347
- };
7348
- var asrrh_RegisterFile_getRegisters = () => {
7349
- asrrh_RegisterFile_$callClinit();
7350
- return asrrh_RegisterFile_instance.$regFile;
7351
- };
7352
- var asrrh_RegisterFile_getRegister = ($name) => {
7353
- asrrh_RegisterFile_$callClinit();
7354
- if (!jl_String_equals($name, $rt_s(212)))
7355
- return asrrh_RegisterBlock_getRegister(asrrh_RegisterFile_instance, $name);
7356
- return asrrh_RegisterBlock_getRegister(asrrh_RegisterFile_instance, $rt_s(213));
7357
- };
7358
- var asrrh_RegisterFile_initializeProgramCounter = ($value) => {
7359
- asrrh_RegisterFile_$callClinit();
7360
- asrrh_Register_setValue(asrrh_RegisterFile_programCounter, Long_fromInt($value));
7361
- };
7362
- var asrrh_RegisterFile_initializeProgramCounter0 = ($startAtMain) => {
7363
- let $mainAddr;
7364
- asrrh_RegisterFile_$callClinit();
7365
- asr_Globals_$callClinit();
7366
- $mainAddr = asra_SymbolTable_getAddress(asr_Globals_symbolTable, asra_SymbolTable_startLabel);
7367
- if ($startAtMain && $mainAddr != -1 && asrrh_Memory_inTextSegment($mainAddr))
7368
- asrrh_RegisterFile_initializeProgramCounter($mainAddr);
7369
- else
7370
- asrrh_RegisterFile_initializeProgramCounter(Long_lo(asrrh_RegisterFile_programCounter.$resetValue0));
7371
- };
7372
- var asrrh_RegisterFile_getStackPointerRegister = () => {
7373
- asrrh_RegisterFile_$callClinit();
7374
- return asrrh_RegisterBlock_getRegister(asrrh_RegisterFile_instance, $rt_s(165));
7375
- };
7376
- var asrrh_RegisterFile_setProgramCounter = ($value) => {
7377
- let $old, var$3;
7378
- asrrh_RegisterFile_$callClinit();
7379
- $old = Long_lo(asrrh_Register_getValue(asrrh_RegisterFile_programCounter));
7380
- asrrh_Register_setValue(asrrh_RegisterFile_programCounter, Long_fromInt($value));
7381
- if (asr_Settings_getBackSteppingEnabled(asr_Globals_getSettings())) {
7382
- var$3 = asr_Globals_program.$backStepper;
7383
- $value = $old + -4 | 0;
7384
- asrs_BackStepper$BackstepStack_push0(var$3.$backSteps, asrs_BackStepper$Action_PC_RESTORE, $value, $value);
7385
- }
7386
- return $old;
7387
- };
7388
- var asrrh_RegisterFile_getProgramCounter = () => {
7389
- asrrh_RegisterFile_$callClinit();
7390
- return Long_lo(asrrh_Register_getValue(asrrh_RegisterFile_programCounter));
7391
- };
7392
- var asrrh_RegisterFile_getProgramCounterRegister = () => {
7393
- asrrh_RegisterFile_$callClinit();
7394
- return asrrh_RegisterFile_programCounter;
7395
- };
7396
- var asrrh_RegisterFile_resetRegisters = () => {
7397
- asrrh_RegisterFile_$callClinit();
7398
- asrrh_RegisterBlock_resetRegisters(asrrh_RegisterFile_instance);
7399
- asrrh_RegisterFile_initializeProgramCounter0(asr_Settings_getBooleanSetting(asr_Globals_getSettings(), asr_Settings$Bool_START_AT_MAIN));
7400
- };
7401
- var asrrh_RegisterFile_incrementPC = () => {
7402
- let var$1;
7403
- asrrh_RegisterFile_$callClinit();
7404
- var$1 = asrrh_RegisterFile_programCounter;
7405
- asrrh_Register_setValue(var$1, Long_add(asrrh_Register_getValue(var$1), Long_fromInt(4)));
7406
- };
7407
- var asrrh_RegisterFile__clinit_ = () => {
7408
- let var$1, var$2, var$3, var$4;
7409
- var$1 = new asrrh_RegisterBlock();
7410
- var$2 = $rt_createArray(asrrh_Register, 32);
7411
- var$3 = var$2.data;
7412
- var$3[0] = asrrh_Register__init_($rt_s(214), 0, Long_ZERO);
7413
- var$3[1] = asrrh_Register__init_($rt_s(215), 1, Long_ZERO);
7414
- var$4 = new asrrh_Register();
7415
- asrrh_Memory_$callClinit();
7416
- asrrh_Register__init_0(var$4, $rt_s(165), 2, Long_fromInt(asrrh_Memory_stackPointer));
7417
- var$3[2] = var$4;
7418
- var$3[3] = asrrh_Register__init_($rt_s(164), 3, Long_fromInt(asrrh_Memory_globalPointer));
7419
- var$3[4] = asrrh_Register__init_($rt_s(216), 4, Long_ZERO);
7420
- var$3[5] = asrrh_Register__init_($rt_s(217), 5, Long_ZERO);
7421
- var$3[6] = asrrh_Register__init_($rt_s(218), 6, Long_ZERO);
7422
- var$3[7] = asrrh_Register__init_($rt_s(219), 7, Long_ZERO);
7423
- var$3[8] = asrrh_Register__init_($rt_s(213), 8, Long_ZERO);
7424
- var$3[9] = asrrh_Register__init_($rt_s(220), 9, Long_ZERO);
7425
- var$3[10] = asrrh_Register__init_($rt_s(221), 10, Long_ZERO);
7426
- var$3[11] = asrrh_Register__init_($rt_s(222), 11, Long_ZERO);
7427
- var$3[12] = asrrh_Register__init_($rt_s(223), 12, Long_ZERO);
7428
- var$3[13] = asrrh_Register__init_($rt_s(224), 13, Long_ZERO);
7429
- var$3[14] = asrrh_Register__init_($rt_s(225), 14, Long_ZERO);
7430
- var$3[15] = asrrh_Register__init_($rt_s(226), 15, Long_ZERO);
7431
- var$3[16] = asrrh_Register__init_($rt_s(227), 16, Long_ZERO);
7432
- var$3[17] = asrrh_Register__init_($rt_s(228), 17, Long_ZERO);
7433
- var$3[18] = asrrh_Register__init_($rt_s(229), 18, Long_ZERO);
7434
- var$3[19] = asrrh_Register__init_($rt_s(230), 19, Long_ZERO);
7435
- var$3[20] = asrrh_Register__init_($rt_s(231), 20, Long_ZERO);
7436
- var$3[21] = asrrh_Register__init_($rt_s(232), 21, Long_ZERO);
7437
- var$3[22] = asrrh_Register__init_($rt_s(233), 22, Long_ZERO);
7438
- var$3[23] = asrrh_Register__init_($rt_s(234), 23, Long_ZERO);
7439
- var$3[24] = asrrh_Register__init_($rt_s(235), 24, Long_ZERO);
7440
- var$3[25] = asrrh_Register__init_($rt_s(236), 25, Long_ZERO);
7441
- var$3[26] = asrrh_Register__init_($rt_s(237), 26, Long_ZERO);
7442
- var$3[27] = asrrh_Register__init_($rt_s(238), 27, Long_ZERO);
7443
- var$3[28] = asrrh_Register__init_($rt_s(239), 28, Long_ZERO);
7444
- var$3[29] = asrrh_Register__init_($rt_s(240), 29, Long_ZERO);
7445
- var$3[30] = asrrh_Register__init_($rt_s(241), 30, Long_ZERO);
7446
- var$3[31] = asrrh_Register__init_($rt_s(242), 31, Long_ZERO);
7447
- asrrh_RegisterBlock__init_(var$1, 120, var$2);
7448
- asrrh_RegisterFile_instance = var$1;
7449
- asrrh_RegisterFile_programCounter = asrrh_Register__init_($rt_s(243), -1, Long_fromInt(asrrh_Memory_textBaseAddress));
7450
- };
7574
+ var juf_ToIntFunction = $rt_classWithoutFields(0);
7575
+ var asr_JsRiscV$getRegistersValues$lambda$_25_0 = $rt_classWithoutFields();
7451
7576
  function jm_BigInteger() {
7452
7577
  let a = this;
7453
7578
  jl_Number.call(a);
@@ -7820,89 +7945,6 @@ var jm_BigInteger__clinit_ = () => {
7820
7945
  $i = $i + 1 | 0;
7821
7946
  }
7822
7947
  };
7823
- function asr_JsStackFrame() {
7824
- let a = this;
7825
- jl_Object.call(a);
7826
- a.$pc3 = 0;
7827
- a.$toAddress0 = 0;
7828
- a.$sp = 0;
7829
- a.$fp = 0;
7830
- a.$registers = null;
7831
- }
7832
- var asr_JsStackFrame_getPc$exported$0 = (var$1) => {
7833
- return var$1.$pc3;
7834
- };
7835
- var asr_JsStackFrame_getToAddress$exported$1 = (var$1) => {
7836
- return var$1.$toAddress0;
7837
- };
7838
- var asr_JsStackFrame_getRegisters$exported$2 = (var$1) => {
7839
- return otji_JS_wrap0(var$1.$registers);
7840
- };
7841
- var asr_JsStackFrame_getSp$exported$3 = (var$1) => {
7842
- return var$1.$sp;
7843
- };
7844
- var asr_JsStackFrame_getFp$exported$4 = (var$1) => {
7845
- return var$1.$fp;
7846
- };
7847
- function asr_JsCompilationResult() {
7848
- let a = this;
7849
- jl_Object.call(a);
7850
- a.$report = null;
7851
- a.$errors1 = null;
7852
- }
7853
- var asr_JsCompilationResult__init_0 = ($this, $errorReport) => {
7854
- let var$2, var$3, var$4;
7855
- $this.$report = asr_ErrorList_generateErrorAndWarningReport($errorReport);
7856
- $errorReport = ju_Collection_stream($errorReport.$messages);
7857
- var$2 = new asr_JsCompilationResult$_init_$lambda$_0_0();
7858
- var$2.$_06 = $this;
7859
- $errorReport = jusi_SimpleStreamImpl_map($errorReport, var$2);
7860
- var$2 = new asr_JsCompilationResult$_init_$lambda$_0_2();
7861
- $errorReport = $errorReport;
7862
- var$3 = ju_ArrayList__init_();
7863
- var$4 = $errorReport;
7864
- while (true) {
7865
- $errorReport = new jusi_SimpleStreamImpl$collect$lambda$_25_0();
7866
- $errorReport.$_08 = var$2;
7867
- $errorReport.$_12 = var$3;
7868
- if (!jusi_WrappingStreamImpl_next(var$4, $errorReport))
7869
- break;
7870
- }
7871
- $this.$errors1 = var$3;
7872
- };
7873
- var asr_JsCompilationResult__init_ = (var_0) => {
7874
- let var_1 = new asr_JsCompilationResult();
7875
- asr_JsCompilationResult__init_0(var_1, var_0);
7876
- return var_1;
7877
- };
7878
- var asr_JsCompilationResult_getErrors$exported$0 = (var$1) => {
7879
- let var$2;
7880
- var$1 = var$1.$errors1;
7881
- var$2 = $rt_createArray(asr_JsCompilationResult$JsCompilationError, 0);
7882
- return otji_JS_wrap(ju_AbstractCollection_toArray(var$1, var$2));
7883
- };
7884
- var asr_JsCompilationResult_hasErrors$exported$1 = (var$1) => {
7885
- var$1 = var$1;
7886
- return !!(ju_AbstractCollection_isEmpty(var$1.$errors1) ? 0 : 1);
7887
- };
7888
- var asr_JsCompilationResult_getReport$exported$2 = (var$1) => {
7889
- return $rt_ustr(var$1.$report);
7890
- };
7891
- function asr_AssemblyException() {
7892
- jl_Exception.call(this);
7893
- this.$errs = null;
7894
- }
7895
- var asr_AssemblyException__init_0 = ($this, $errs) => {
7896
- jl_Throwable__init_0($this, asr_ErrorList_generateErrorAndWarningReport($errs));
7897
- $this.$errs = $errs;
7898
- };
7899
- var asr_AssemblyException__init_ = (var_0) => {
7900
- let var_1 = new asr_AssemblyException();
7901
- asr_AssemblyException__init_0(var_1, var_0);
7902
- return var_1;
7903
- };
7904
- var juf_ToIntFunction = $rt_classWithoutFields(0);
7905
- var asr_JsRiscV$getRegistersValues$lambda$_25_0 = $rt_classWithoutFields();
7906
7948
  var asr_JsRiscV$getTokenizedLines$lambda$_5_0 = $rt_classWithoutFields();
7907
7949
  var asr_JsRiscV$getTokenizedLines$lambda$_5_0_apply = (var$0, var$1) => {
7908
7950
  let var$2, var$3, var$4, var$5;
@@ -7937,82 +7979,66 @@ var asr_JsRiscVTokenizedLine_getLine$exported$0 = (var$1) => {
7937
7979
  var asr_JsRiscVTokenizedLine_getTokens$exported$1 = (var$1) => {
7938
7980
  return otji_JS_wrap(var$1.$tokens0);
7939
7981
  };
7940
- function asr_JsProgramStatement() {
7982
+ var asr_JsRiscV$getUndoStack$lambda$_26_0 = $rt_classWithoutFields();
7983
+ var asr_JsRiscV$getUndoStack$lambda$_26_0_apply = (var$0, var$1) => {
7984
+ let var$2, var$3;
7985
+ var$1 = var$1;
7986
+ var$2 = new asr_JsBackStep();
7987
+ var$3 = var$1.$action;
7988
+ var$2.$action0 = var$3 === null ? -1 : var$3.$ordinal0;
7989
+ var$2.$pc2 = var$1.$pc1;
7990
+ var$2.$param10 = var$1.$param1;
7991
+ var$2.$param20 = Long_lo(var$1.$param2);
7992
+ return var$2;
7993
+ };
7994
+ var asr_JsRiscV$getUndoStack$lambda$_26_1 = $rt_classWithoutFields();
7995
+ var asr_JsRiscV$getUndoStack$lambda$_26_1_apply = (var$0, var$1) => {
7996
+ asr_JsRiscV_$callClinit();
7997
+ return $rt_createArray(asr_JsBackStep, var$1);
7998
+ };
7999
+ function asr_JsBackStep() {
7941
8000
  let a = this;
7942
8001
  jl_Object.call(a);
7943
- a.$sourceLine1 = 0;
7944
- a.$address2 = 0;
7945
- a.$binaryStatement0 = 0;
7946
- a.$source3 = null;
7947
- a.$assemblyStatement = null;
7948
- a.$machineStatement0 = null;
8002
+ a.$action0 = 0;
8003
+ a.$pc2 = 0;
8004
+ a.$param10 = 0;
8005
+ a.$param20 = 0;
7949
8006
  }
7950
- var asr_JsProgramStatement__init_0 = ($this, $programStatement) => {
7951
- let var$2, var$3, var$4, var$5, var$6;
7952
- $this.$sourceLine1 = $programStatement.$sourceLine0;
7953
- $this.$address2 = $programStatement.$textAddress0;
7954
- $this.$binaryStatement0 = $programStatement.$binaryStatement;
7955
- $this.$source3 = $programStatement.$source;
7956
- var$2 = $programStatement.$basicStatementList;
7957
- var$3 = !asr_Settings_getBooleanSetting(asr_Globals_getSettings(), asr_Settings$Bool_DISPLAY_ADDRESSES_IN_HEX) ? 10 : 16;
7958
- var$4 = !asr_Settings_getBooleanSetting(asr_Globals_getSettings(), asr_Settings$Bool_DISPLAY_ADDRESSES_IN_HEX) ? 10 : 16;
7959
- var$5 = new jl_StringBuffer();
7960
- jl_AbstractStringBuilder__init_(var$5);
7961
- var$6 = ju_AbstractList_iterator(var$2.$list);
7962
- while (ju_AbstractList$1_hasNext(var$6)) {
7963
- a: {
7964
- var$2 = ju_AbstractList$1_next(var$6);
7965
- switch (var$2.$type3) {
7966
- case 0:
7967
- break;
7968
- case 1:
7969
- if (var$3 == 10) {
7970
- jl_AbstractStringBuilder_append(var$5, var$2.$iValue);
7971
- break a;
7972
- }
7973
- jl_AbstractStringBuilder_append1(var$5, asru_Binary_intToHexString(var$2.$iValue));
7974
- break a;
7975
- case 2:
7976
- if (var$4 == 10) {
7977
- jl_AbstractStringBuilder_append(var$5, var$2.$iValue);
7978
- break a;
7979
- }
7980
- jl_AbstractStringBuilder_append1(var$5, asru_Binary_intToHexString(var$2.$iValue));
7981
- break a;
7982
- case 3:
7983
- jl_AbstractStringBuilder_append(var$5, var$2.$iValue);
7984
- break a;
7985
- default:
7986
- break a;
7987
- }
7988
- jl_AbstractStringBuilder_append1(var$5, var$2.$sValue);
7989
- }
7990
- }
7991
- $this.$assemblyStatement = jl_AbstractStringBuilder_toString(var$5);
7992
- $this.$machineStatement0 = $programStatement.$machineStatement;
8007
+ var asr_JsBackStep_getPc$exported$0 = (var$1) => {
8008
+ return var$1.$pc2;
7993
8009
  };
7994
- var asr_JsProgramStatement__init_ = (var_0) => {
7995
- let var_1 = new asr_JsProgramStatement();
7996
- asr_JsProgramStatement__init_0(var_1, var_0);
7997
- return var_1;
8010
+ var asr_JsBackStep_getParam2$exported$1 = (var$1) => {
8011
+ return var$1.$param20;
7998
8012
  };
7999
- var asr_JsProgramStatement_getSourceLine$exported$0 = (var$1) => {
8000
- return var$1.$sourceLine1;
8013
+ var asr_JsBackStep_getAction$exported$2 = (var$1) => {
8014
+ return var$1.$action0;
8001
8015
  };
8002
- var asr_JsProgramStatement_getAssemblyStatement$exported$1 = (var$1) => {
8003
- return $rt_ustr(var$1.$assemblyStatement);
8016
+ var asr_JsBackStep_getParam1$exported$3 = (var$1) => {
8017
+ return var$1.$param10;
8004
8018
  };
8005
- var asr_JsProgramStatement_getSource$exported$2 = (var$1) => {
8006
- return $rt_ustr(var$1.$source3);
8019
+ function asr_JsStackFrame() {
8020
+ let a = this;
8021
+ jl_Object.call(a);
8022
+ a.$pc3 = 0;
8023
+ a.$toAddress0 = 0;
8024
+ a.$sp = 0;
8025
+ a.$fp = 0;
8026
+ a.$registers = null;
8027
+ }
8028
+ var asr_JsStackFrame_getPc$exported$0 = (var$1) => {
8029
+ return var$1.$pc3;
8007
8030
  };
8008
- var asr_JsProgramStatement_getAddress$exported$3 = (var$1) => {
8009
- return var$1.$address2;
8031
+ var asr_JsStackFrame_getToAddress$exported$1 = (var$1) => {
8032
+ return var$1.$toAddress0;
8010
8033
  };
8011
- var asr_JsProgramStatement_getBinaryStatement$exported$4 = (var$1) => {
8012
- return var$1.$binaryStatement0;
8034
+ var asr_JsStackFrame_getRegisters$exported$2 = (var$1) => {
8035
+ return otji_JS_wrap0(var$1.$registers);
8013
8036
  };
8014
- var asr_JsProgramStatement_getMachineStatement$exported$5 = (var$1) => {
8015
- return $rt_ustr(var$1.$machineStatement0);
8037
+ var asr_JsStackFrame_getSp$exported$3 = (var$1) => {
8038
+ return var$1.$sp;
8039
+ };
8040
+ var asr_JsStackFrame_getFp$exported$4 = (var$1) => {
8041
+ return var$1.$fp;
8016
8042
  };
8017
8043
  var ju_Map$Entry = $rt_classWithoutFields(0);
8018
8044
  function ju_MapEntry() {
@@ -8064,8 +8090,12 @@ function asrr_Instruction() {
8064
8090
  a.$exampleFormat = null;
8065
8091
  a.$description = null;
8066
8092
  a.$tokenList = null;
8093
+ a.$isRv64 = 0;
8067
8094
  }
8068
8095
  var asrr_Instruction_operandMask = null;
8096
+ var asrr_Instruction__init_ = ($this) => {
8097
+ $this.$isRv64 = 0;
8098
+ };
8069
8099
  var asrr_Instruction_getInstructionLength = ($this) => {
8070
8100
  return 4;
8071
8101
  };
@@ -8215,6 +8245,7 @@ function asrr_BasicInstruction() {
8215
8245
  a.$opcodeMatch = 0;
8216
8246
  }
8217
8247
  var asrr_BasicInstruction__init_ = ($this, $example, $description, $instrFormat, $operMask) => {
8248
+ asrr_Instruction__init_($this);
8218
8249
  $this.$exampleFormat = $example;
8219
8250
  $this.$mnemonic = asrr_Instruction_extractOperator($this, $example);
8220
8251
  $this.$description = $description;
@@ -8234,6 +8265,7 @@ var asrr_BasicInstruction__init_ = ($this, $example, $description, $instrFormat,
8234
8265
  };
8235
8266
  var asrr_BasicInstruction__init_0 = ($this, $example, $description, $instrFormat, $operMask, $onlyinrv64) => {
8236
8267
  asrr_BasicInstruction__init_($this, $example, $description, $instrFormat, $operMask);
8268
+ $this.$isRv64 = $onlyinrv64;
8237
8269
  if (!asrr_InstructionSet_rv64 && $onlyinrv64) {
8238
8270
  $description = new jl_NullPointerException();
8239
8271
  $instrFormat = new jl_StringBuilder();
@@ -8557,6 +8589,29 @@ var asr_RISCVFile_getName = ($this) => {
8557
8589
  return $this.$name2;
8558
8590
  };
8559
8591
  var jl_StringIndexOutOfBoundsException = $rt_classWithoutFields(jl_IndexOutOfBoundsException);
8592
+ function asr_JsCompilationResult$_init_$lambda$_0_0() {
8593
+ jl_Object.call(this);
8594
+ this.$_06 = null;
8595
+ }
8596
+ var asr_JsCompilationResult$_init_$lambda$_0_0_apply = (var$0, var$1) => {
8597
+ let var$2, var$3;
8598
+ var$1 = var$1;
8599
+ var$2 = var$0.$_06;
8600
+ var$3 = new asr_JsCompilationResult$JsCompilationError();
8601
+ var$3.$this$016 = var$2;
8602
+ var$3.$isWarning0 = var$1.$isWarning;
8603
+ var$3.$message2 = var$1.$message0;
8604
+ var$3.$macroExpansionHistory0 = asr_ErrorMessage_getMacroExpansionHistory(var$1);
8605
+ var$3.$filename2 = var$1.$filename0;
8606
+ var$3.$lineNumber0 = var$1.$line;
8607
+ var$3.$columnNumber = var$1.$position2;
8608
+ return var$3;
8609
+ };
8610
+ var juf_Supplier = $rt_classWithoutFields(0);
8611
+ var asr_JsCompilationResult$_init_$lambda$_0_1 = $rt_classWithoutFields();
8612
+ var juf_BiConsumer = $rt_classWithoutFields(0);
8613
+ var asr_JsCompilationResult$_init_$lambda$_0_2 = $rt_classWithoutFields();
8614
+ var asr_JsCompilationResult$_init_$lambda$_0_3 = $rt_classWithoutFields();
8560
8615
  function asrs_BackStepper() {
8561
8616
  let a = this;
8562
8617
  jl_Object.call(a);
@@ -8574,108 +8629,6 @@ var asrs_BackStepper_addDoNothing = ($this, $pc) => {
8574
8629
  if (!(!asrs_BackStepper$BackstepStack_empty($this.$backSteps) && asrs_BackStepper$BackstepStack_peek($this.$backSteps).$pc1 == $pc))
8575
8630
  asrs_BackStepper$BackstepStack_push1($this.$backSteps, asrs_BackStepper$Action_DO_NOTHING, $pc);
8576
8631
  };
8577
- function asrs_BackStepper$BackstepStack() {
8578
- let a = this;
8579
- jl_Object.call(a);
8580
- a.$capacity = 0;
8581
- a.$size1 = 0;
8582
- a.$top = 0;
8583
- a.$stack = null;
8584
- a.$this$015 = null;
8585
- }
8586
- var asrs_BackStepper$BackstepStack_empty = ($this) => {
8587
- jl_Object_monitorEnterSync($this);
8588
- try {
8589
- return $this.$size1 ? 0 : 1;
8590
- } finally {
8591
- jl_Object_monitorExitSync($this);
8592
- }
8593
- };
8594
- var asrs_BackStepper$BackstepStack_push = ($this, $act, $programCounter, $parm1, $parm2) => {
8595
- let var$5, var$6, var$7, $$je;
8596
- jl_Object_monitorEnterSync($this);
8597
- try {
8598
- var$5 = $this.$size1;
8599
- if (!var$5) {
8600
- $this.$top = 0;
8601
- $this.$size1 = var$5 + 1 | 0;
8602
- } else {
8603
- var$6 = $this.$capacity;
8604
- if (var$5 >= var$6)
8605
- $this.$top = ($this.$top + 1 | 0) % var$6 | 0;
8606
- else {
8607
- $this.$top = ($this.$top + 1 | 0) % var$6 | 0;
8608
- $this.$size1 = var$5 + 1 | 0;
8609
- }
8610
- }
8611
- var$7 = $this.$stack.data[$this.$top];
8612
- var$7.$action = $act;
8613
- var$7.$pc1 = $programCounter;
8614
- a: {
8615
- try {
8616
- asr_Globals_$callClinit();
8617
- var$7.$ps = asrrh_Memory_getStatementNoNotify(asr_Globals_memory, $programCounter);
8618
- break a;
8619
- } catch ($$e) {
8620
- $$je = $rt_wrapException($$e);
8621
- if ($$je instanceof jl_Exception) {
8622
- } else {
8623
- throw $$e;
8624
- }
8625
- }
8626
- var$7.$ps = null;
8627
- var$7.$pc1 = -1;
8628
- }
8629
- var$7.$param1 = $parm1;
8630
- var$7.$param2 = $parm2;
8631
- } finally {
8632
- jl_Object_monitorExitSync($this);
8633
- }
8634
- };
8635
- var asrs_BackStepper$BackstepStack_push0 = ($this, $act, $programCounter, $parm1) => {
8636
- jl_Object_monitorEnterSync($this);
8637
- try {
8638
- asrs_BackStepper$BackstepStack_push($this, $act, $programCounter, $parm1, Long_ZERO);
8639
- } finally {
8640
- jl_Object_monitorExitSync($this);
8641
- }
8642
- };
8643
- var asrs_BackStepper$BackstepStack_push1 = ($this, $act, $programCounter) => {
8644
- jl_Object_monitorEnterSync($this);
8645
- try {
8646
- asrs_BackStepper$BackstepStack_push($this, $act, $programCounter, 0, Long_ZERO);
8647
- } finally {
8648
- jl_Object_monitorExitSync($this);
8649
- }
8650
- };
8651
- var asrs_BackStepper$BackstepStack_pop = ($this) => {
8652
- let var$1, var$2, $bs, var$4, var$5;
8653
- jl_Object_monitorEnterSync($this);
8654
- try {
8655
- var$1 = $this.$stack.data;
8656
- var$2 = $this.$top;
8657
- $bs = var$1[var$2];
8658
- var$4 = $this.$size1;
8659
- if (var$4 == 1)
8660
- $this.$top = -1;
8661
- else {
8662
- var$5 = $this.$capacity;
8663
- $this.$top = ((var$2 + var$5 | 0) - 1 | 0) % var$5 | 0;
8664
- }
8665
- $this.$size1 = var$4 - 1 | 0;
8666
- return $bs;
8667
- } finally {
8668
- jl_Object_monitorExitSync($this);
8669
- }
8670
- };
8671
- var asrs_BackStepper$BackstepStack_peek = ($this) => {
8672
- jl_Object_monitorEnterSync($this);
8673
- try {
8674
- return $this.$stack.data[$this.$top];
8675
- } finally {
8676
- jl_Object_monitorExitSync($this);
8677
- }
8678
- };
8679
8632
  var jl_AutoCloseable = $rt_classWithoutFields(0);
8680
8633
  var jus_BaseStream = $rt_classWithoutFields(0);
8681
8634
  var jus_Stream = $rt_classWithoutFields(0);
@@ -8868,29 +8821,108 @@ var asrrh_Register_notifyAnyObservers = ($this, $type) => {
8868
8821
  ju_Observable_notifyObservers(var$2, var$3);
8869
8822
  }
8870
8823
  };
8871
- function asr_JsCompilationResult$_init_$lambda$_0_0() {
8872
- jl_Object.call(this);
8873
- this.$_06 = null;
8824
+ function asrs_BackStepper$BackstepStack() {
8825
+ let a = this;
8826
+ jl_Object.call(a);
8827
+ a.$capacity = 0;
8828
+ a.$size1 = 0;
8829
+ a.$top = 0;
8830
+ a.$stack = null;
8831
+ a.$this$015 = null;
8874
8832
  }
8875
- var asr_JsCompilationResult$_init_$lambda$_0_0_apply = (var$0, var$1) => {
8876
- let var$2, var$3;
8877
- var$1 = var$1;
8878
- var$2 = var$0.$_06;
8879
- var$3 = new asr_JsCompilationResult$JsCompilationError();
8880
- var$3.$this$016 = var$2;
8881
- var$3.$isWarning0 = var$1.$isWarning;
8882
- var$3.$message2 = var$1.$message0;
8883
- var$3.$macroExpansionHistory0 = asr_ErrorMessage_getMacroExpansionHistory(var$1);
8884
- var$3.$filename2 = var$1.$filename0;
8885
- var$3.$lineNumber0 = var$1.$line;
8886
- var$3.$columnNumber = var$1.$position2;
8887
- return var$3;
8833
+ var asrs_BackStepper$BackstepStack_empty = ($this) => {
8834
+ jl_Object_monitorEnterSync($this);
8835
+ try {
8836
+ return $this.$size1 ? 0 : 1;
8837
+ } finally {
8838
+ jl_Object_monitorExitSync($this);
8839
+ }
8840
+ };
8841
+ var asrs_BackStepper$BackstepStack_push = ($this, $act, $programCounter, $parm1, $parm2) => {
8842
+ let var$5, var$6, var$7, $$je;
8843
+ jl_Object_monitorEnterSync($this);
8844
+ try {
8845
+ var$5 = $this.$size1;
8846
+ if (!var$5) {
8847
+ $this.$top = 0;
8848
+ $this.$size1 = var$5 + 1 | 0;
8849
+ } else {
8850
+ var$6 = $this.$capacity;
8851
+ if (var$5 >= var$6)
8852
+ $this.$top = ($this.$top + 1 | 0) % var$6 | 0;
8853
+ else {
8854
+ $this.$top = ($this.$top + 1 | 0) % var$6 | 0;
8855
+ $this.$size1 = var$5 + 1 | 0;
8856
+ }
8857
+ }
8858
+ var$7 = $this.$stack.data[$this.$top];
8859
+ var$7.$action = $act;
8860
+ var$7.$pc1 = $programCounter;
8861
+ a: {
8862
+ try {
8863
+ asr_Globals_$callClinit();
8864
+ var$7.$ps = asrrh_Memory_getStatementNoNotify(asr_Globals_memory, $programCounter);
8865
+ break a;
8866
+ } catch ($$e) {
8867
+ $$je = $rt_wrapException($$e);
8868
+ if ($$je instanceof jl_Exception) {
8869
+ } else {
8870
+ throw $$e;
8871
+ }
8872
+ }
8873
+ var$7.$ps = null;
8874
+ var$7.$pc1 = -1;
8875
+ }
8876
+ var$7.$param1 = $parm1;
8877
+ var$7.$param2 = $parm2;
8878
+ } finally {
8879
+ jl_Object_monitorExitSync($this);
8880
+ }
8881
+ };
8882
+ var asrs_BackStepper$BackstepStack_push0 = ($this, $act, $programCounter, $parm1) => {
8883
+ jl_Object_monitorEnterSync($this);
8884
+ try {
8885
+ asrs_BackStepper$BackstepStack_push($this, $act, $programCounter, $parm1, Long_ZERO);
8886
+ } finally {
8887
+ jl_Object_monitorExitSync($this);
8888
+ }
8889
+ };
8890
+ var asrs_BackStepper$BackstepStack_push1 = ($this, $act, $programCounter) => {
8891
+ jl_Object_monitorEnterSync($this);
8892
+ try {
8893
+ asrs_BackStepper$BackstepStack_push($this, $act, $programCounter, 0, Long_ZERO);
8894
+ } finally {
8895
+ jl_Object_monitorExitSync($this);
8896
+ }
8897
+ };
8898
+ var asrs_BackStepper$BackstepStack_pop = ($this) => {
8899
+ let var$1, var$2, $bs, var$4, var$5;
8900
+ jl_Object_monitorEnterSync($this);
8901
+ try {
8902
+ var$1 = $this.$stack.data;
8903
+ var$2 = $this.$top;
8904
+ $bs = var$1[var$2];
8905
+ var$4 = $this.$size1;
8906
+ if (var$4 == 1)
8907
+ $this.$top = -1;
8908
+ else {
8909
+ var$5 = $this.$capacity;
8910
+ $this.$top = ((var$2 + var$5 | 0) - 1 | 0) % var$5 | 0;
8911
+ }
8912
+ $this.$size1 = var$4 - 1 | 0;
8913
+ return $bs;
8914
+ } finally {
8915
+ jl_Object_monitorExitSync($this);
8916
+ }
8917
+ };
8918
+ var asrs_BackStepper$BackstepStack_peek = ($this) => {
8919
+ jl_Object_monitorEnterSync($this);
8920
+ try {
8921
+ return $this.$stack.data[$this.$top];
8922
+ } finally {
8923
+ jl_Object_monitorExitSync($this);
8924
+ }
8888
8925
  };
8889
- var juf_Supplier = $rt_classWithoutFields(0);
8890
- var asr_JsCompilationResult$_init_$lambda$_0_1 = $rt_classWithoutFields();
8891
- var juf_BiConsumer = $rt_classWithoutFields(0);
8892
- var asr_JsCompilationResult$_init_$lambda$_0_2 = $rt_classWithoutFields();
8893
- var asr_JsCompilationResult$_init_$lambda$_0_3 = $rt_classWithoutFields();
8894
8926
  var jl_Math = $rt_classWithoutFields();
8895
8927
  var jl_Math_pow = ($x, $y) => {
8896
8928
  return jl_Math_powImpl($x, $y);
@@ -11939,6 +11971,30 @@ function asrr_ExtendedInstruction() {
11939
11971
  asrr_Instruction.call(this);
11940
11972
  this.$translationStrings = null;
11941
11973
  }
11974
+ var asrr_ExtendedInstruction__init_0 = ($this, $example, $translation, $description, $isRv64Only) => {
11975
+ let var$5;
11976
+ asrr_Instruction__init_($this);
11977
+ $this.$exampleFormat = $example;
11978
+ $this.$description = $description;
11979
+ $description = $this;
11980
+ $this.$mnemonic = asrr_Instruction_extractOperator($description, $example);
11981
+ asrr_Instruction_createExampleTokenList($description);
11982
+ if ($translation !== null && $translation.$nativeString.length) {
11983
+ $description = ju_ArrayList__init_();
11984
+ var$5 = ju_StringTokenizer__init_($translation, $rt_s(43));
11985
+ while (ju_StringTokenizer_hasMoreTokens(var$5)) {
11986
+ ju_ArrayList_add($description, ju_StringTokenizer_nextToken(var$5));
11987
+ }
11988
+ } else
11989
+ $description = null;
11990
+ $this.$translationStrings = $description;
11991
+ $this.$isRv64 = $isRv64Only;
11992
+ };
11993
+ var asrr_ExtendedInstruction__init_ = (var_0, var_1, var_2, var_3) => {
11994
+ let var_4 = new asrr_ExtendedInstruction();
11995
+ asrr_ExtendedInstruction__init_0(var_4, var_0, var_1, var_2, var_3);
11996
+ return var_4;
11997
+ };
11942
11998
  var asrr_ExtendedInstruction_getInstructionLength = ($this) => {
11943
11999
  let var$1, var$2, var$3;
11944
12000
  a: {
@@ -12141,6 +12197,91 @@ var ju_Comparator$NaturalOrder_compare = ($this, $o1, $o2) => {
12141
12197
  var ju_Comparator$NaturalOrder__clinit_ = () => {
12142
12198
  ju_Comparator$NaturalOrder_INSTANCE = new ju_Comparator$NaturalOrder();
12143
12199
  };
12200
+ function asr_ErrorList() {
12201
+ let a = this;
12202
+ jl_Object.call(a);
12203
+ a.$messages = null;
12204
+ a.$errorCount = 0;
12205
+ a.$warningCount = 0;
12206
+ }
12207
+ var asr_ErrorList__init_0 = ($this) => {
12208
+ $this.$messages = ju_ArrayList__init_();
12209
+ $this.$errorCount = 0;
12210
+ $this.$warningCount = 0;
12211
+ };
12212
+ var asr_ErrorList__init_ = () => {
12213
+ let var_0 = new asr_ErrorList();
12214
+ asr_ErrorList__init_0(var_0);
12215
+ return var_0;
12216
+ };
12217
+ var asr_ErrorList_errorsOccurred = ($this) => {
12218
+ return !$this.$errorCount ? 0 : 1;
12219
+ };
12220
+ var asr_ErrorList_warningsOccurred = ($this) => {
12221
+ return !$this.$warningCount ? 0 : 1;
12222
+ };
12223
+ var asr_ErrorList_add = ($this, $mess) => {
12224
+ let var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9;
12225
+ var$2 = $this.$messages.$size0;
12226
+ if ($this.$errorCount <= asr_ErrorList_getErrorLimit($this)) {
12227
+ if ($this.$errorCount != asr_ErrorList_getErrorLimit($this)) {
12228
+ ju_ArrayList_add0($this.$messages, var$2, $mess);
12229
+ if (!$mess.$isWarning)
12230
+ $this.$errorCount = $this.$errorCount + 1 | 0;
12231
+ else
12232
+ $this.$warningCount = $this.$warningCount + 1 | 0;
12233
+ } else {
12234
+ var$3 = $this.$messages;
12235
+ var$4 = new asr_ErrorMessage();
12236
+ var$5 = null;
12237
+ var$2 = $mess.$line;
12238
+ var$6 = $mess.$position2;
12239
+ var$7 = asr_ErrorList_getErrorLimit($this);
12240
+ var$8 = new jl_StringBuilder();
12241
+ jl_AbstractStringBuilder__init_(var$8);
12242
+ var$9 = jl_StringBuilder_append(var$8, $rt_s(1025));
12243
+ jl_AbstractStringBuilder_append(var$9, var$7);
12244
+ jl_StringBuilder_append(var$9, $rt_s(1026));
12245
+ asr_ErrorMessage__init_(var$4, var$5, var$2, var$6, jl_AbstractStringBuilder_toString(var$8));
12246
+ ju_ArrayList_add(var$3, var$4);
12247
+ $this.$errorCount = $this.$errorCount + 1 | 0;
12248
+ }
12249
+ }
12250
+ };
12251
+ var asr_ErrorList_errorLimitExceeded = ($this) => {
12252
+ return $this.$errorCount <= asr_ErrorList_getErrorLimit($this) ? 0 : 1;
12253
+ };
12254
+ var asr_ErrorList_getErrorLimit = ($this) => {
12255
+ asr_Globals_$callClinit();
12256
+ return asr_Globals_maximumErrorMessages;
12257
+ };
12258
+ var asr_ErrorList_generateErrorAndWarningReport = ($this) => {
12259
+ let var$1, var$2, var$3;
12260
+ var$1 = asr_ErrorList_generateReport($this, 1);
12261
+ var$2 = asr_ErrorList_generateReport($this, 0);
12262
+ var$3 = new jl_StringBuilder();
12263
+ jl_AbstractStringBuilder__init_(var$3);
12264
+ jl_StringBuilder_append(jl_StringBuilder_append(var$3, var$1), var$2);
12265
+ return jl_AbstractStringBuilder_toString(var$3);
12266
+ };
12267
+ var asr_ErrorList_generateReport = ($this, $isWarning) => {
12268
+ let $report, var$3, $m;
12269
+ $report = jl_StringBuilder__init_0($rt_s(3));
12270
+ var$3 = ju_AbstractList_iterator($this.$messages);
12271
+ while (ju_AbstractList$1_hasNext(var$3)) {
12272
+ a: {
12273
+ $m = ju_AbstractList$1_next(var$3);
12274
+ if (!($isWarning && $m.$isWarning)) {
12275
+ if ($isWarning)
12276
+ break a;
12277
+ if ($m.$isWarning)
12278
+ break a;
12279
+ }
12280
+ jl_AbstractStringBuilder_append1($report, asr_ErrorMessage_generateReport($m));
12281
+ }
12282
+ }
12283
+ return jl_AbstractStringBuilder_toString($report);
12284
+ };
12144
12285
  function asrrh_RegisterBlock() {
12145
12286
  let a = this;
12146
12287
  jl_Object.call(a);
@@ -12229,91 +12370,6 @@ function asrrh_StackFrame() {
12229
12370
  a.$fp0 = 0;
12230
12371
  a.$registers0 = null;
12231
12372
  }
12232
- function asr_ErrorList() {
12233
- let a = this;
12234
- jl_Object.call(a);
12235
- a.$messages = null;
12236
- a.$errorCount = 0;
12237
- a.$warningCount = 0;
12238
- }
12239
- var asr_ErrorList__init_0 = ($this) => {
12240
- $this.$messages = ju_ArrayList__init_();
12241
- $this.$errorCount = 0;
12242
- $this.$warningCount = 0;
12243
- };
12244
- var asr_ErrorList__init_ = () => {
12245
- let var_0 = new asr_ErrorList();
12246
- asr_ErrorList__init_0(var_0);
12247
- return var_0;
12248
- };
12249
- var asr_ErrorList_errorsOccurred = ($this) => {
12250
- return !$this.$errorCount ? 0 : 1;
12251
- };
12252
- var asr_ErrorList_warningsOccurred = ($this) => {
12253
- return !$this.$warningCount ? 0 : 1;
12254
- };
12255
- var asr_ErrorList_add = ($this, $mess) => {
12256
- let var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9;
12257
- var$2 = $this.$messages.$size0;
12258
- if ($this.$errorCount <= asr_ErrorList_getErrorLimit($this)) {
12259
- if ($this.$errorCount != asr_ErrorList_getErrorLimit($this)) {
12260
- ju_ArrayList_add0($this.$messages, var$2, $mess);
12261
- if (!$mess.$isWarning)
12262
- $this.$errorCount = $this.$errorCount + 1 | 0;
12263
- else
12264
- $this.$warningCount = $this.$warningCount + 1 | 0;
12265
- } else {
12266
- var$3 = $this.$messages;
12267
- var$4 = new asr_ErrorMessage();
12268
- var$5 = null;
12269
- var$2 = $mess.$line;
12270
- var$6 = $mess.$position2;
12271
- var$7 = asr_ErrorList_getErrorLimit($this);
12272
- var$8 = new jl_StringBuilder();
12273
- jl_AbstractStringBuilder__init_(var$8);
12274
- var$9 = jl_StringBuilder_append(var$8, $rt_s(1025));
12275
- jl_AbstractStringBuilder_append(var$9, var$7);
12276
- jl_StringBuilder_append(var$9, $rt_s(1026));
12277
- asr_ErrorMessage__init_(var$4, var$5, var$2, var$6, jl_AbstractStringBuilder_toString(var$8));
12278
- ju_ArrayList_add(var$3, var$4);
12279
- $this.$errorCount = $this.$errorCount + 1 | 0;
12280
- }
12281
- }
12282
- };
12283
- var asr_ErrorList_errorLimitExceeded = ($this) => {
12284
- return $this.$errorCount <= asr_ErrorList_getErrorLimit($this) ? 0 : 1;
12285
- };
12286
- var asr_ErrorList_getErrorLimit = ($this) => {
12287
- asr_Globals_$callClinit();
12288
- return asr_Globals_maximumErrorMessages;
12289
- };
12290
- var asr_ErrorList_generateErrorAndWarningReport = ($this) => {
12291
- let var$1, var$2, var$3;
12292
- var$1 = asr_ErrorList_generateReport($this, 1);
12293
- var$2 = asr_ErrorList_generateReport($this, 0);
12294
- var$3 = new jl_StringBuilder();
12295
- jl_AbstractStringBuilder__init_(var$3);
12296
- jl_StringBuilder_append(jl_StringBuilder_append(var$3, var$1), var$2);
12297
- return jl_AbstractStringBuilder_toString(var$3);
12298
- };
12299
- var asr_ErrorList_generateReport = ($this, $isWarning) => {
12300
- let $report, var$3, $m;
12301
- $report = jl_StringBuilder__init_0($rt_s(3));
12302
- var$3 = ju_AbstractList_iterator($this.$messages);
12303
- while (ju_AbstractList$1_hasNext(var$3)) {
12304
- a: {
12305
- $m = ju_AbstractList$1_next(var$3);
12306
- if (!($isWarning && $m.$isWarning)) {
12307
- if ($isWarning)
12308
- break a;
12309
- if ($m.$isWarning)
12310
- break a;
12311
- }
12312
- jl_AbstractStringBuilder_append1($report, asr_ErrorMessage_generateReport($m));
12313
- }
12314
- }
12315
- return jl_AbstractStringBuilder_toString($report);
12316
- };
12317
12373
  function asrrh_MemoryConfiguration() {
12318
12374
  let a = this;
12319
12375
  jl_Object.call(a);
@@ -13907,6 +13963,22 @@ var jusi_StreamOverSpliterator_next = ($this, $consumer) => {
13907
13963
  var jusi_StreamOverSpliterator_estimateSize = ($this) => {
13908
13964
  return Long_lo(Long_fromInt($this.$spliterator0.$collection.$size()));
13909
13965
  };
13966
+ var jus_IntStream = $rt_classWithoutFields(0);
13967
+ var jusi_SimpleIntStreamImpl = $rt_classWithoutFields();
13968
+ function jusi_MappingToIntStreamImpl() {
13969
+ let a = this;
13970
+ jusi_SimpleIntStreamImpl.call(a);
13971
+ a.$source1 = null;
13972
+ a.$mapper0 = null;
13973
+ }
13974
+ var jusi_MappingToIntStreamImpl_next = ($this, $consumer) => {
13975
+ let var$2, var$3;
13976
+ var$2 = $this.$source1;
13977
+ var$3 = new jusi_MappingToIntStreamImpl$next$lambda$_1_0();
13978
+ var$3.$_09 = $this;
13979
+ var$3.$_13 = $consumer;
13980
+ return jusi_ArrayStreamImpl_next(var$2, var$3);
13981
+ };
13910
13982
  function jusi_WrappingStreamImpl() {
13911
13983
  jusi_SimpleStreamImpl.call(this);
13912
13984
  this.$sourceStream = null;
@@ -13928,22 +14000,6 @@ var jusi_MappingStreamImpl_wrap = ($this, $consumer) => {
13928
14000
  var$2.$_10 = $consumer;
13929
14001
  return var$2;
13930
14002
  };
13931
- var jus_IntStream = $rt_classWithoutFields(0);
13932
- var jusi_SimpleIntStreamImpl = $rt_classWithoutFields();
13933
- function jusi_MappingToIntStreamImpl() {
13934
- let a = this;
13935
- jusi_SimpleIntStreamImpl.call(a);
13936
- a.$source1 = null;
13937
- a.$mapper0 = null;
13938
- }
13939
- var jusi_MappingToIntStreamImpl_next = ($this, $consumer) => {
13940
- let var$2, var$3;
13941
- var$2 = $this.$source1;
13942
- var$3 = new jusi_MappingToIntStreamImpl$next$lambda$_1_0();
13943
- var$3.$_09 = $this;
13944
- var$3.$_13 = $consumer;
13945
- return jusi_ArrayStreamImpl_next(var$2, var$3);
13946
- };
13947
14003
  var jm_Conversion = $rt_classWithoutFields();
13948
14004
  var jm_Conversion_digitFitInInt = null;
13949
14005
  var jm_Conversion_bigRadices = null;
@@ -14390,89 +14446,6 @@ var ju_AbstractList$1_next = ($this) => {
14390
14446
  $this.$index4 = var$3 + 1 | 0;
14391
14447
  return var$2.$get0(var$3);
14392
14448
  };
14393
- var asrs_Simulator$Reason = $rt_classWithoutFields(jl_Enum);
14394
- var asrs_Simulator$Reason_BREAKPOINT = null;
14395
- var asrs_Simulator$Reason_EXCEPTION = null;
14396
- var asrs_Simulator$Reason_MAX_STEPS = null;
14397
- var asrs_Simulator$Reason_NORMAL_TERMINATION = null;
14398
- var asrs_Simulator$Reason_CLIFF_TERMINATION = null;
14399
- var asrs_Simulator$Reason_PAUSE = null;
14400
- var asrs_Simulator$Reason_STOP = null;
14401
- var asrs_Simulator$Reason_$VALUES = null;
14402
- var asrs_Simulator$Reason_values = () => {
14403
- return asrs_Simulator$Reason_$VALUES.$clone0();
14404
- };
14405
- var asrs_Simulator$Reason__clinit_ = () => {
14406
- let var$1, var$2, var$3;
14407
- var$1 = new asrs_Simulator$Reason();
14408
- jl_Enum__init_(var$1, $rt_s(1091), 0);
14409
- asrs_Simulator$Reason_BREAKPOINT = var$1;
14410
- var$1 = new asrs_Simulator$Reason();
14411
- jl_Enum__init_(var$1, $rt_s(1092), 1);
14412
- asrs_Simulator$Reason_EXCEPTION = var$1;
14413
- var$1 = new asrs_Simulator$Reason();
14414
- jl_Enum__init_(var$1, $rt_s(1093), 2);
14415
- asrs_Simulator$Reason_MAX_STEPS = var$1;
14416
- var$1 = new asrs_Simulator$Reason();
14417
- jl_Enum__init_(var$1, $rt_s(1094), 3);
14418
- asrs_Simulator$Reason_NORMAL_TERMINATION = var$1;
14419
- var$1 = new asrs_Simulator$Reason();
14420
- jl_Enum__init_(var$1, $rt_s(1095), 4);
14421
- asrs_Simulator$Reason_CLIFF_TERMINATION = var$1;
14422
- var$1 = new asrs_Simulator$Reason();
14423
- jl_Enum__init_(var$1, $rt_s(1096), 5);
14424
- asrs_Simulator$Reason_PAUSE = var$1;
14425
- var$1 = new asrs_Simulator$Reason();
14426
- jl_Enum__init_(var$1, $rt_s(1097), 6);
14427
- asrs_Simulator$Reason_STOP = var$1;
14428
- var$2 = $rt_createArray(asrs_Simulator$Reason, 7);
14429
- var$3 = var$2.data;
14430
- var$3[0] = asrs_Simulator$Reason_BREAKPOINT;
14431
- var$3[1] = asrs_Simulator$Reason_EXCEPTION;
14432
- var$3[2] = asrs_Simulator$Reason_MAX_STEPS;
14433
- var$3[3] = asrs_Simulator$Reason_NORMAL_TERMINATION;
14434
- var$3[4] = asrs_Simulator$Reason_CLIFF_TERMINATION;
14435
- var$3[5] = asrs_Simulator$Reason_PAUSE;
14436
- var$3[6] = var$1;
14437
- asrs_Simulator$Reason_$VALUES = var$2;
14438
- };
14439
- var jlr_Array = $rt_classWithoutFields();
14440
- var jlr_Array_getLength = (var$1) => {
14441
- if (var$1 === null || var$1.constructor.$meta.item === "undefined") {
14442
- $rt_throw(jl_IllegalArgumentException__init_());
14443
- }
14444
- return var$1.data.length;
14445
- };
14446
- var jlr_Array_newInstance = (var$1, $length) => {
14447
- if (var$1 === null) {
14448
- var$1 = new jl_NullPointerException();
14449
- jl_Throwable__init_(var$1);
14450
- $rt_throw(var$1);
14451
- }
14452
- if (var$1 === $rt_cls($rt_voidcls)) {
14453
- var$1 = new jl_IllegalArgumentException();
14454
- jl_Throwable__init_(var$1);
14455
- $rt_throw(var$1);
14456
- }
14457
- if ($length >= 0)
14458
- return jlr_Array_newInstanceImpl(var$1.$platformClass, $length);
14459
- var$1 = new jl_NegativeArraySizeException();
14460
- jl_Throwable__init_(var$1);
14461
- $rt_throw(var$1);
14462
- };
14463
- var jlr_Array_newInstanceImpl = (var$1, var$2) => {
14464
- if (var$1.$meta.primitive) {
14465
- switch (var$1) {
14466
- }
14467
- ;
14468
- }
14469
- return $rt_createArray(var$1, var$2);
14470
- };
14471
- var asrrh_Stack = $rt_classWithoutFields();
14472
- var asrrh_Stack_callStack = null;
14473
- var asrrh_Stack__clinit_ = () => {
14474
- asrrh_Stack_callStack = ju_ArrayList__init_();
14475
- };
14476
14449
  var asrrh_FloatingPointRegisterFile = $rt_classWithoutFields();
14477
14450
  var asrrh_FloatingPointRegisterFile_instance = null;
14478
14451
  var asrrh_FloatingPointRegisterFile_setRegisterToFloat = ($reg, $val) => {
@@ -14517,38 +14490,38 @@ var asrrh_FloatingPointRegisterFile__clinit_ = () => {
14517
14490
  var$1 = new asrrh_RegisterBlock();
14518
14491
  var$2 = $rt_createArray(asrrh_Register, 32);
14519
14492
  var$3 = var$2.data;
14520
- var$3[0] = asrrh_Register__init_($rt_s(1098), 0, Long_ZERO);
14521
- var$3[1] = asrrh_Register__init_($rt_s(1099), 1, Long_ZERO);
14522
- var$3[2] = asrrh_Register__init_($rt_s(1100), 2, Long_ZERO);
14523
- var$3[3] = asrrh_Register__init_($rt_s(1101), 3, Long_ZERO);
14524
- var$3[4] = asrrh_Register__init_($rt_s(1102), 4, Long_ZERO);
14525
- var$3[5] = asrrh_Register__init_($rt_s(1103), 5, Long_ZERO);
14526
- var$3[6] = asrrh_Register__init_($rt_s(1104), 6, Long_ZERO);
14527
- var$3[7] = asrrh_Register__init_($rt_s(1105), 7, Long_ZERO);
14528
- var$3[8] = asrrh_Register__init_($rt_s(1106), 8, Long_ZERO);
14529
- var$3[9] = asrrh_Register__init_($rt_s(1107), 9, Long_ZERO);
14493
+ var$3[0] = asrrh_Register__init_($rt_s(1091), 0, Long_ZERO);
14494
+ var$3[1] = asrrh_Register__init_($rt_s(1092), 1, Long_ZERO);
14495
+ var$3[2] = asrrh_Register__init_($rt_s(1093), 2, Long_ZERO);
14496
+ var$3[3] = asrrh_Register__init_($rt_s(1094), 3, Long_ZERO);
14497
+ var$3[4] = asrrh_Register__init_($rt_s(1095), 4, Long_ZERO);
14498
+ var$3[5] = asrrh_Register__init_($rt_s(1096), 5, Long_ZERO);
14499
+ var$3[6] = asrrh_Register__init_($rt_s(1097), 6, Long_ZERO);
14500
+ var$3[7] = asrrh_Register__init_($rt_s(1098), 7, Long_ZERO);
14501
+ var$3[8] = asrrh_Register__init_($rt_s(1099), 8, Long_ZERO);
14502
+ var$3[9] = asrrh_Register__init_($rt_s(1100), 9, Long_ZERO);
14530
14503
  var$3[10] = asrrh_Register__init_($rt_s(1042), 10, Long_ZERO);
14531
14504
  var$3[11] = asrrh_Register__init_($rt_s(1036), 11, Long_ZERO);
14532
- var$3[12] = asrrh_Register__init_($rt_s(1108), 12, Long_ZERO);
14533
- var$3[13] = asrrh_Register__init_($rt_s(1109), 13, Long_ZERO);
14534
- var$3[14] = asrrh_Register__init_($rt_s(1110), 14, Long_ZERO);
14535
- var$3[15] = asrrh_Register__init_($rt_s(1111), 15, Long_ZERO);
14536
- var$3[16] = asrrh_Register__init_($rt_s(1112), 16, Long_ZERO);
14537
- var$3[17] = asrrh_Register__init_($rt_s(1113), 17, Long_ZERO);
14538
- var$3[18] = asrrh_Register__init_($rt_s(1114), 18, Long_ZERO);
14539
- var$3[19] = asrrh_Register__init_($rt_s(1115), 19, Long_ZERO);
14540
- var$3[20] = asrrh_Register__init_($rt_s(1116), 20, Long_ZERO);
14541
- var$3[21] = asrrh_Register__init_($rt_s(1117), 21, Long_ZERO);
14542
- var$3[22] = asrrh_Register__init_($rt_s(1118), 22, Long_ZERO);
14543
- var$3[23] = asrrh_Register__init_($rt_s(1119), 23, Long_ZERO);
14544
- var$3[24] = asrrh_Register__init_($rt_s(1120), 24, Long_ZERO);
14545
- var$3[25] = asrrh_Register__init_($rt_s(1121), 25, Long_ZERO);
14546
- var$3[26] = asrrh_Register__init_($rt_s(1122), 26, Long_ZERO);
14547
- var$3[27] = asrrh_Register__init_($rt_s(1123), 27, Long_ZERO);
14548
- var$3[28] = asrrh_Register__init_($rt_s(1124), 28, Long_ZERO);
14549
- var$3[29] = asrrh_Register__init_($rt_s(1125), 29, Long_ZERO);
14550
- var$3[30] = asrrh_Register__init_($rt_s(1126), 30, Long_ZERO);
14551
- var$3[31] = asrrh_Register__init_($rt_s(1127), 31, Long_ZERO);
14505
+ var$3[12] = asrrh_Register__init_($rt_s(1101), 12, Long_ZERO);
14506
+ var$3[13] = asrrh_Register__init_($rt_s(1102), 13, Long_ZERO);
14507
+ var$3[14] = asrrh_Register__init_($rt_s(1103), 14, Long_ZERO);
14508
+ var$3[15] = asrrh_Register__init_($rt_s(1104), 15, Long_ZERO);
14509
+ var$3[16] = asrrh_Register__init_($rt_s(1105), 16, Long_ZERO);
14510
+ var$3[17] = asrrh_Register__init_($rt_s(1106), 17, Long_ZERO);
14511
+ var$3[18] = asrrh_Register__init_($rt_s(1107), 18, Long_ZERO);
14512
+ var$3[19] = asrrh_Register__init_($rt_s(1108), 19, Long_ZERO);
14513
+ var$3[20] = asrrh_Register__init_($rt_s(1109), 20, Long_ZERO);
14514
+ var$3[21] = asrrh_Register__init_($rt_s(1110), 21, Long_ZERO);
14515
+ var$3[22] = asrrh_Register__init_($rt_s(1111), 22, Long_ZERO);
14516
+ var$3[23] = asrrh_Register__init_($rt_s(1112), 23, Long_ZERO);
14517
+ var$3[24] = asrrh_Register__init_($rt_s(1113), 24, Long_ZERO);
14518
+ var$3[25] = asrrh_Register__init_($rt_s(1114), 25, Long_ZERO);
14519
+ var$3[26] = asrrh_Register__init_($rt_s(1115), 26, Long_ZERO);
14520
+ var$3[27] = asrrh_Register__init_($rt_s(1116), 27, Long_ZERO);
14521
+ var$3[28] = asrrh_Register__init_($rt_s(1117), 28, Long_ZERO);
14522
+ var$3[29] = asrrh_Register__init_($rt_s(1118), 29, Long_ZERO);
14523
+ var$3[30] = asrrh_Register__init_($rt_s(1119), 30, Long_ZERO);
14524
+ var$3[31] = asrrh_Register__init_($rt_s(1120), 31, Long_ZERO);
14552
14525
  asrrh_RegisterBlock__init_(var$1, 102, var$2);
14553
14526
  asrrh_FloatingPointRegisterFile_instance = var$1;
14554
14527
  };
@@ -14616,25 +14589,25 @@ var asrrh_ControlAndStatusRegisterFile__clinit_ = () => {
14616
14589
  var$2[0] = asrrh_MaskedRegister__init_($rt_s(679), 0, Long_ZERO, Long_fromInt(-18));
14617
14590
  var$2[1] = null;
14618
14591
  var$2[2] = null;
14619
- var$2[3] = asrrh_MaskedRegister__init_($rt_s(1128), 3, Long_ZERO, Long_fromInt(-256));
14620
- var$2[4] = asrrh_Register__init_($rt_s(1129), 4, Long_ZERO);
14621
- var$2[5] = asrrh_Register__init_($rt_s(1130), 5, Long_ZERO);
14622
- var$2[6] = asrrh_Register__init_($rt_s(1131), 64, Long_ZERO);
14592
+ var$2[3] = asrrh_MaskedRegister__init_($rt_s(1121), 3, Long_ZERO, Long_fromInt(-256));
14593
+ var$2[4] = asrrh_Register__init_($rt_s(1122), 4, Long_ZERO);
14594
+ var$2[5] = asrrh_Register__init_($rt_s(1123), 5, Long_ZERO);
14595
+ var$2[6] = asrrh_Register__init_($rt_s(1124), 64, Long_ZERO);
14623
14596
  var$2[7] = asrrh_Register__init_($rt_s(680), 65, Long_ZERO);
14624
- var$2[8] = asrrh_Register__init_($rt_s(1132), 66, Long_ZERO);
14625
- var$2[9] = asrrh_Register__init_($rt_s(1133), 67, Long_ZERO);
14626
- var$2[10] = asrrh_Register__init_($rt_s(1134), 68, Long_ZERO);
14627
- var$2[11] = asrrh_ReadOnlyRegister__init_($rt_s(1135), 3072, 0);
14628
- var$2[12] = asrrh_ReadOnlyRegister__init_($rt_s(1136), 3073, 0);
14629
- var$2[13] = asrrh_ReadOnlyRegister__init_($rt_s(1137), 3074, 0);
14597
+ var$2[8] = asrrh_Register__init_($rt_s(1125), 66, Long_ZERO);
14598
+ var$2[9] = asrrh_Register__init_($rt_s(1126), 67, Long_ZERO);
14599
+ var$2[10] = asrrh_Register__init_($rt_s(1127), 68, Long_ZERO);
14600
+ var$2[11] = asrrh_ReadOnlyRegister__init_($rt_s(1128), 3072, 0);
14601
+ var$2[12] = asrrh_ReadOnlyRegister__init_($rt_s(1129), 3073, 0);
14602
+ var$2[13] = asrrh_ReadOnlyRegister__init_($rt_s(1130), 3074, 0);
14630
14603
  var$2[14] = null;
14631
14604
  var$2[15] = null;
14632
14605
  var$2[16] = null;
14633
14606
  var$2[1] = asrrh_LinkedRegister__init_($rt_s(446), 1, var$2[3], Long_fromInt(31));
14634
14607
  var$2[2] = asrrh_LinkedRegister__init_($rt_s(447), 2, var$2[3], Long_fromInt(224));
14635
- var$2[14] = asrrh_LinkedRegister__init_($rt_s(1138), 3200, var$2[11], Long_create(0, 4294967295));
14636
- var$2[15] = asrrh_LinkedRegister__init_($rt_s(1139), 3201, var$2[12], Long_create(0, 4294967295));
14637
- var$2[16] = asrrh_LinkedRegister__init_($rt_s(1140), 3202, var$2[13], Long_create(0, 4294967295));
14608
+ var$2[14] = asrrh_LinkedRegister__init_($rt_s(1131), 3200, var$2[11], Long_create(0, 4294967295));
14609
+ var$2[15] = asrrh_LinkedRegister__init_($rt_s(1132), 3201, var$2[12], Long_create(0, 4294967295));
14610
+ var$2[16] = asrrh_LinkedRegister__init_($rt_s(1133), 3202, var$2[13], Long_create(0, 4294967295));
14638
14611
  asrrh_ControlAndStatusRegisterFile_instance = asrrh_RegisterBlock__init_0(95, $tmp_0);
14639
14612
  };
14640
14613
  var asrrh_InterruptController = $rt_classWithoutFields();
@@ -14740,7 +14713,7 @@ var asrrh_InterruptController_claimExternal = () => {
14740
14713
  a: {
14741
14714
  try {
14742
14715
  if (!asrrh_InterruptController_$assertionsDisabled && !asrrh_InterruptController_externalPending)
14743
- $rt_throw(jl_AssertionError__init_($rt_s(1141)));
14716
+ $rt_throw(jl_AssertionError__init_($rt_s(1134)));
14744
14717
  asrrh_InterruptController_externalPending = 0;
14745
14718
  var$2 = asrrh_InterruptController_externalValue;
14746
14719
  jl_Object_monitorExitSync(var$1);
@@ -14761,7 +14734,7 @@ var asrrh_InterruptController_claimTimer = () => {
14761
14734
  a: {
14762
14735
  try {
14763
14736
  if (!asrrh_InterruptController_$assertionsDisabled && !asrrh_InterruptController_timerPending)
14764
- $rt_throw(jl_AssertionError__init_($rt_s(1142)));
14737
+ $rt_throw(jl_AssertionError__init_($rt_s(1135)));
14765
14738
  asrrh_InterruptController_timerPending = 0;
14766
14739
  var$2 = asrrh_InterruptController_timerValue;
14767
14740
  jl_Object_monitorExitSync(var$1);
@@ -14783,9 +14756,9 @@ var asrrh_InterruptController_claimTrap = () => {
14783
14756
  try {
14784
14757
  var$2 = asrrh_InterruptController_$assertionsDisabled;
14785
14758
  if (!var$2 && !asrrh_InterruptController_trapPending)
14786
- $rt_throw(jl_AssertionError__init_($rt_s(1143)));
14759
+ $rt_throw(jl_AssertionError__init_($rt_s(1136)));
14787
14760
  if (!var$2 && asrrh_InterruptController_trapPC != (asrrh_RegisterFile_getProgramCounter() - 4 | 0))
14788
- $rt_throw(jl_AssertionError__init_($rt_s(1144)));
14761
+ $rt_throw(jl_AssertionError__init_($rt_s(1137)));
14789
14762
  asrrh_InterruptController_trapPending = 0;
14790
14763
  var$3 = asrrh_InterruptController_trapSE;
14791
14764
  jl_Object_monitorExitSync(var$1);
@@ -14806,6 +14779,89 @@ var asrrh_InterruptController__clinit_ = () => {
14806
14779
  asrrh_InterruptController_timerPending = 0;
14807
14780
  asrrh_InterruptController_trapPending = 0;
14808
14781
  };
14782
+ var asrrh_Stack = $rt_classWithoutFields();
14783
+ var asrrh_Stack_callStack = null;
14784
+ var asrrh_Stack__clinit_ = () => {
14785
+ asrrh_Stack_callStack = ju_ArrayList__init_();
14786
+ };
14787
+ var jlr_Array = $rt_classWithoutFields();
14788
+ var jlr_Array_getLength = (var$1) => {
14789
+ if (var$1 === null || var$1.constructor.$meta.item === "undefined") {
14790
+ $rt_throw(jl_IllegalArgumentException__init_());
14791
+ }
14792
+ return var$1.data.length;
14793
+ };
14794
+ var jlr_Array_newInstance = (var$1, $length) => {
14795
+ if (var$1 === null) {
14796
+ var$1 = new jl_NullPointerException();
14797
+ jl_Throwable__init_(var$1);
14798
+ $rt_throw(var$1);
14799
+ }
14800
+ if (var$1 === $rt_cls($rt_voidcls)) {
14801
+ var$1 = new jl_IllegalArgumentException();
14802
+ jl_Throwable__init_(var$1);
14803
+ $rt_throw(var$1);
14804
+ }
14805
+ if ($length >= 0)
14806
+ return jlr_Array_newInstanceImpl(var$1.$platformClass, $length);
14807
+ var$1 = new jl_NegativeArraySizeException();
14808
+ jl_Throwable__init_(var$1);
14809
+ $rt_throw(var$1);
14810
+ };
14811
+ var jlr_Array_newInstanceImpl = (var$1, var$2) => {
14812
+ if (var$1.$meta.primitive) {
14813
+ switch (var$1) {
14814
+ }
14815
+ ;
14816
+ }
14817
+ return $rt_createArray(var$1, var$2);
14818
+ };
14819
+ var asrs_Simulator$Reason = $rt_classWithoutFields(jl_Enum);
14820
+ var asrs_Simulator$Reason_BREAKPOINT = null;
14821
+ var asrs_Simulator$Reason_EXCEPTION = null;
14822
+ var asrs_Simulator$Reason_MAX_STEPS = null;
14823
+ var asrs_Simulator$Reason_NORMAL_TERMINATION = null;
14824
+ var asrs_Simulator$Reason_CLIFF_TERMINATION = null;
14825
+ var asrs_Simulator$Reason_PAUSE = null;
14826
+ var asrs_Simulator$Reason_STOP = null;
14827
+ var asrs_Simulator$Reason_$VALUES = null;
14828
+ var asrs_Simulator$Reason_values = () => {
14829
+ return asrs_Simulator$Reason_$VALUES.$clone0();
14830
+ };
14831
+ var asrs_Simulator$Reason__clinit_ = () => {
14832
+ let var$1, var$2, var$3;
14833
+ var$1 = new asrs_Simulator$Reason();
14834
+ jl_Enum__init_(var$1, $rt_s(1138), 0);
14835
+ asrs_Simulator$Reason_BREAKPOINT = var$1;
14836
+ var$1 = new asrs_Simulator$Reason();
14837
+ jl_Enum__init_(var$1, $rt_s(1139), 1);
14838
+ asrs_Simulator$Reason_EXCEPTION = var$1;
14839
+ var$1 = new asrs_Simulator$Reason();
14840
+ jl_Enum__init_(var$1, $rt_s(1140), 2);
14841
+ asrs_Simulator$Reason_MAX_STEPS = var$1;
14842
+ var$1 = new asrs_Simulator$Reason();
14843
+ jl_Enum__init_(var$1, $rt_s(1141), 3);
14844
+ asrs_Simulator$Reason_NORMAL_TERMINATION = var$1;
14845
+ var$1 = new asrs_Simulator$Reason();
14846
+ jl_Enum__init_(var$1, $rt_s(1142), 4);
14847
+ asrs_Simulator$Reason_CLIFF_TERMINATION = var$1;
14848
+ var$1 = new asrs_Simulator$Reason();
14849
+ jl_Enum__init_(var$1, $rt_s(1143), 5);
14850
+ asrs_Simulator$Reason_PAUSE = var$1;
14851
+ var$1 = new asrs_Simulator$Reason();
14852
+ jl_Enum__init_(var$1, $rt_s(1144), 6);
14853
+ asrs_Simulator$Reason_STOP = var$1;
14854
+ var$2 = $rt_createArray(asrs_Simulator$Reason, 7);
14855
+ var$3 = var$2.data;
14856
+ var$3[0] = asrs_Simulator$Reason_BREAKPOINT;
14857
+ var$3[1] = asrs_Simulator$Reason_EXCEPTION;
14858
+ var$3[2] = asrs_Simulator$Reason_MAX_STEPS;
14859
+ var$3[3] = asrs_Simulator$Reason_NORMAL_TERMINATION;
14860
+ var$3[4] = asrs_Simulator$Reason_CLIFF_TERMINATION;
14861
+ var$3[5] = asrs_Simulator$Reason_PAUSE;
14862
+ var$3[6] = var$1;
14863
+ asrs_Simulator$Reason_$VALUES = var$2;
14864
+ };
14809
14865
  function jur_Pattern() {
14810
14866
  let a = this;
14811
14867
  jl_Object.call(a);
@@ -15767,7 +15823,7 @@ var asra_Tokenizer__init_ = () => {
15767
15823
  var asra_Tokenizer_processIncludes = ($this, $program, $inclFiles, $files) => {
15768
15824
  let $source, $result, $i, $t, var$8, var$9, $line, $tl, $hasInclude, $ii, var$14, var$15, $filename, var$17, $allLines, $incl, $file, var$21, $$je;
15769
15825
  $source = $program.$sourceList;
15770
- $result = ju_ArrayList__init_3($source.$size0);
15826
+ $result = ju_ArrayList__init_2($source.$size0);
15771
15827
  $i = 0;
15772
15828
  $t = $inclFiles;
15773
15829
  var$8 = $files;
@@ -16539,7 +16595,6 @@ var jl_Thread__clinit_ = () => {
16539
16595
  };
16540
16596
  var jl_IllegalStateException = $rt_classWithoutFields(jl_RuntimeException);
16541
16597
  var jl_IllegalMonitorStateException = $rt_classWithoutFields(jl_RuntimeException);
16542
- var jl_NegativeArraySizeException = $rt_classWithoutFields(jl_RuntimeException);
16543
16598
  var otjc_JSObjects = $rt_classWithoutFields();
16544
16599
  var otji_JSWrapper$Helper = $rt_classWithoutFields();
16545
16600
  var otji_JSWrapper$Helper_hashCodes = null;
@@ -16575,6 +16630,7 @@ var otji_JSWrapper$Helper__clinit_ = () => {
16575
16630
  otji_JSWrapper$Helper_numberFinalizationRegistry = var$1;
16576
16631
  };
16577
16632
  var otjc_JSUndefined = $rt_classWithoutFields();
16633
+ var jl_NegativeArraySizeException = $rt_classWithoutFields(jl_RuntimeException);
16578
16634
  function ju_Arrays$ArrayAsList() {
16579
16635
  ju_AbstractList.call(this);
16580
16636
  this.$array3 = null;
@@ -23290,7 +23346,7 @@ var asrs_Simulator_getInstance = () => {
23290
23346
  if (asrs_Simulator_simulator === null) {
23291
23347
  var$1 = new asrs_Simulator();
23292
23348
  ju_Observable__init_(var$1);
23293
- var$1.$stopListeners = ju_ArrayList__init_3(1);
23349
+ var$1.$stopListeners = ju_ArrayList__init_2(1);
23294
23350
  var$1.$simulatorThread = null;
23295
23351
  asrs_Simulator_simulator = var$1;
23296
23352
  }
@@ -24338,7 +24394,7 @@ var asra_TokenList_clone = ($this) => {
24338
24394
  a: {
24339
24395
  try {
24340
24396
  $t = jl_Object_clone($this);
24341
- $t.$tokenList0 = ju_ArrayList__init_1($this.$tokenList0);
24397
+ $t.$tokenList0 = ju_ArrayList__init_3($this.$tokenList0);
24342
24398
  } catch ($$e) {
24343
24399
  $$je = $rt_wrapException($$e);
24344
24400
  if ($$je instanceof jl_CloneNotSupportedException) {
@@ -24617,10 +24673,10 @@ var asrs_Simulator$SimThread_handleTrap = ($this, $se, $pc) => {
24617
24673
  if (!$utvec && $se.$cause < 0)
24618
24674
  $rt_throw(jl_AssertionError__init_($rt_s(1514)));
24619
24675
  a: {
24620
- asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(1132), Long_fromInt($se.$cause));
24676
+ asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(1125), Long_fromInt($se.$cause));
24621
24677
  asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(680), Long_fromInt($pc));
24622
- asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(1133), Long_fromInt($se.$value5));
24623
- $base = asrrh_ControlAndStatusRegisterFile_getValue($rt_s(1130)) & -4;
24678
+ asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(1126), Long_fromInt($se.$value5));
24679
+ $base = asrrh_ControlAndStatusRegisterFile_getValue($rt_s(1123)) & -4;
24624
24680
  $exceptionHandler = null;
24625
24681
  if (!(asrrh_ControlAndStatusRegisterFile_getValue($rt_s(679)) & 1))
24626
24682
  var$6 = $exceptionHandler;
@@ -24656,12 +24712,12 @@ var asrs_Simulator$SimThread_handleInterrupt = ($this, $value, $cause, $pc) => {
24656
24712
  if (!$mode && !($cause & -2147483648))
24657
24713
  $rt_throw(jl_AssertionError__init_($rt_s(1515)));
24658
24714
  $code = $cause & 2147483647;
24659
- if (!$mode && !(asrrh_ControlAndStatusRegisterFile_getValue($rt_s(679)) & 1 && asrrh_ControlAndStatusRegisterFile_getValue($rt_s(1129)) & 1 << $code))
24715
+ if (!$mode && !(asrrh_ControlAndStatusRegisterFile_getValue($rt_s(679)) & 1 && asrrh_ControlAndStatusRegisterFile_getValue($rt_s(1122)) & 1 << $code))
24660
24716
  $rt_throw(jl_AssertionError__init_($rt_s(1516)));
24661
- asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(1132), Long_fromInt($cause));
24717
+ asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(1125), Long_fromInt($cause));
24662
24718
  asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(680), Long_fromInt($pc));
24663
- asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(1133), Long_fromInt($value));
24664
- $utvec = asrrh_ControlAndStatusRegisterFile_getValue($rt_s(1130));
24719
+ asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(1126), Long_fromInt($value));
24720
+ $utvec = asrrh_ControlAndStatusRegisterFile_getValue($rt_s(1123));
24665
24721
  $base = $utvec & -4;
24666
24722
  if (($utvec & 3) == 2)
24667
24723
  $base = $base + (4 * $code | 0) | 0;
@@ -24741,8 +24797,8 @@ var asrs_Simulator$SimThread_run = ($this) => {
24741
24797
  asrs_Simulator$SimThread_stopExecution($this, 0, $this.$constructReturnReason);
24742
24798
  return;
24743
24799
  }
24744
- $uip = asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1134));
24745
- $uie = asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1129));
24800
+ $uip = asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1127));
24801
+ $uie = asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1122));
24746
24802
  $IE = Long_eq(Long_and(asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(679)), Long_fromInt(1)), Long_ZERO) ? 0 : 1;
24747
24803
  $this.$pc0 = asrrh_RegisterFile_getProgramCounter();
24748
24804
  $se = asrrh_InterruptController_lock;
@@ -24933,8 +24989,8 @@ var asrs_Simulator$SimThread_run = ($this) => {
24933
24989
  jl_Object_monitorExit($se);
24934
24990
  $rt_throw($instruction);
24935
24991
  }
24936
- if (Long_ne($cycle, asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1134))))
24937
- asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(1134), $cycle);
24992
+ if (Long_ne($cycle, asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1127))))
24993
+ asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(1127), $cycle);
24938
24994
  var$14 = $this.$maxSteps;
24939
24995
  if (var$14 > 0) {
24940
24996
  $steps = $steps + 1 | 0;
@@ -25055,12 +25111,12 @@ var asrs_Simulator$SimThread_run = ($this) => {
25055
25111
  $waiting = 1;
25056
25112
  }
25057
25113
  v: {
25058
- $cycle = asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1135));
25059
- $instret = asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1137));
25114
+ $cycle = asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1128));
25115
+ $instret = asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1130));
25060
25116
  $time = jl_System_currentTimeMillis();
25061
- asrrh_ControlAndStatusRegisterFile_updateRegisterBackdoor($rt_s(1135), Long_add($cycle, Long_fromInt(1)));
25062
- asrrh_ControlAndStatusRegisterFile_updateRegisterBackdoor($rt_s(1137), Long_add($instret, Long_fromInt(1)));
25063
- asrrh_ControlAndStatusRegisterFile_updateRegisterBackdoor($rt_s(1136), $time);
25117
+ asrrh_ControlAndStatusRegisterFile_updateRegisterBackdoor($rt_s(1128), Long_add($cycle, Long_fromInt(1)));
25118
+ asrrh_ControlAndStatusRegisterFile_updateRegisterBackdoor($rt_s(1130), Long_add($instret, Long_fromInt(1)));
25119
+ asrrh_ControlAndStatusRegisterFile_updateRegisterBackdoor($rt_s(1129), $time);
25064
25120
  if (!$ebreak) {
25065
25121
  var$1 = $this.$breakPoints;
25066
25122
  if (var$1 === null)
@@ -25083,8 +25139,8 @@ var asrs_Simulator$SimThread_run = ($this) => {
25083
25139
  asrs_Simulator$SimThread_stopExecution($this, 0, $this.$constructReturnReason);
25084
25140
  return;
25085
25141
  }
25086
- $uip = asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1134));
25087
- $uie = asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1129));
25142
+ $uip = asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1127));
25143
+ $uie = asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1122));
25088
25144
  $IE = Long_eq(Long_and(asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(679)), Long_fromInt(1)), Long_ZERO) ? 0 : 1;
25089
25145
  $this.$pc0 = asrrh_RegisterFile_getProgramCounter();
25090
25146
  $se = asrrh_InterruptController_lock;
@@ -25120,8 +25176,8 @@ var asrs_Simulator$SimThread_run = ($this) => {
25120
25176
  asrs_Simulator$SimThread_stopExecution($this, 0, $this.$constructReturnReason);
25121
25177
  return;
25122
25178
  }
25123
- $uip = asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1134));
25124
- $uie = asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1129));
25179
+ $uip = asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1127));
25180
+ $uie = asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1122));
25125
25181
  $IE = Long_eq(Long_and(asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(679)), Long_fromInt(1)), Long_ZERO) ? 0 : 1;
25126
25182
  $this.$pc0 = asrrh_RegisterFile_getProgramCounter();
25127
25183
  $se = asrrh_InterruptController_lock;
@@ -25159,8 +25215,8 @@ var asrs_Simulator$SimThread_run = ($this) => {
25159
25215
  asrs_Simulator$SimThread_stopExecution($this, 0, $this.$constructReturnReason);
25160
25216
  return;
25161
25217
  }
25162
- $uip = asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1134));
25163
- $uie = asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1129));
25218
+ $uip = asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1127));
25219
+ $uie = asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(1122));
25164
25220
  $IE = Long_eq(Long_and(asrrh_ControlAndStatusRegisterFile_getValueNoNotify($rt_s(679)), Long_fromInt(1)), Long_ZERO) ? 0 : 1;
25165
25221
  $this.$pc0 = asrrh_RegisterFile_getProgramCounter();
25166
25222
  $se = asrrh_InterruptController_lock;
@@ -27004,7 +27060,7 @@ var asra_Macro_getSubstitutedLine = ($this, $line, $args, $counter, $errors) =>
27004
27060
  $substitute = $token.$value;
27005
27061
  var$5 = $this.$labels;
27006
27062
  var$12 = ju_Comparator$NaturalOrder_INSTANCE;
27007
- var$13 = $rt_isInstance(var$5, ju_RandomAccess) ? var$5 : ju_ArrayList__init_1(var$5);
27063
+ var$13 = $rt_isInstance(var$5, ju_RandomAccess) ? var$5 : ju_ArrayList__init_3(var$5);
27008
27064
  if (var$12 === null)
27009
27065
  var$12 = ju_Comparator$NaturalOrder_INSTANCE;
27010
27066
  c: {
@@ -31837,330 +31893,6 @@ var asrjt_Floating = $rt_classWithoutFields();
31837
31893
  var asrjt_Floating_isFinite = ($this) => {
31838
31894
  return !$this.$isZero() && !$this.$isNormal() && !$this.$isSubnormal() ? 0 : 1;
31839
31895
  };
31840
- function asrjt_Float64() {
31841
- asrjt_Floating.call(this);
31842
- this.$bits1 = Long_ZERO;
31843
- }
31844
- var asrjt_Float64_Zero = null;
31845
- var asrjt_Float64_NegativeZero = null;
31846
- var asrjt_Float64_NaN = null;
31847
- var asrjt_Float64_Infinity = null;
31848
- var asrjt_Float64_NegativeInfinity = null;
31849
- var asrjt_Float64_$assertionsDisabled = 0;
31850
- var asrjt_Float64__init_1 = ($this, $bits) => {
31851
- $this.$bits1 = $bits;
31852
- };
31853
- var asrjt_Float64__init_ = (var_0) => {
31854
- let var_1 = new asrjt_Float64();
31855
- asrjt_Float64__init_1(var_1, var_0);
31856
- return var_1;
31857
- };
31858
- var asrjt_Float64__init_2 = ($this, $sign, $exponent, $significand) => {
31859
- 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))));
31860
- };
31861
- var asrjt_Float64__init_0 = (var_0, var_1, var_2) => {
31862
- let var_3 = new asrjt_Float64();
31863
- asrjt_Float64__init_2(var_3, var_0, var_1, var_2);
31864
- return var_3;
31865
- };
31866
- var asrjt_Float64_exponent = ($this) => {
31867
- return (Long_lo(Long_shru($this.$bits1, 52)) & 2047) - 1023 | 0;
31868
- };
31869
- var asrjt_Float64_negate = ($this) => {
31870
- return asrjt_Float64__init_(Long_xor($this.$bits1, Long_create(0, 2147483648)));
31871
- };
31872
- var asrjt_Float64_isSignMinus = ($this) => {
31873
- return Long_ne(Long_shru($this.$bits1, 63), Long_fromInt(1)) ? 0 : 1;
31874
- };
31875
- var asrjt_Float64_isInfinite = ($this) => {
31876
- return asrjt_Float64_exponent($this) == 1024 && Long_eq(Long_and($this.$bits1, Long_create(4294967295, 1048575)), Long_ZERO) ? 1 : 0;
31877
- };
31878
- var asrjt_Float64_isNormal = ($this) => {
31879
- return asrjt_Float64_exponent($this) != -1023 && asrjt_Float64_exponent($this) != 1024 ? 1 : 0;
31880
- };
31881
- var asrjt_Float64_isSubnormal = ($this) => {
31882
- return asrjt_Float64_exponent($this) == -1023 && !asrjt_Float64_isZero($this) ? 1 : 0;
31883
- };
31884
- var asrjt_Float64_isNaN = ($this) => {
31885
- return asrjt_Float64_exponent($this) == 1024 && !asrjt_Float64_isInfinite($this) ? 1 : 0;
31886
- };
31887
- var asrjt_Float64_isSignalling = ($this) => {
31888
- if (!asrjt_Float64_isNaN($this))
31889
- return 0;
31890
- return Long_ne(Long_and($this.$bits1, Long_create(0, 524288)), Long_ZERO) ? 0 : 1;
31891
- };
31892
- var asrjt_Float64_isZero = ($this) => {
31893
- let var$1;
31894
- var$1 = $this.$bits1;
31895
- return Long_ne(var$1, Long_ZERO) && Long_ne(var$1, Long_create(0, 2147483648)) ? 0 : 1;
31896
- };
31897
- var asrjt_Float64_fromExactFloat0 = ($this, $ef, $env) => {
31898
- let $normalizedExponent, $mainBits, $roundedBits, $a, $bitsToRound, $upBits, $towardsZero, $awayZero;
31899
- if (asrji_ExactFloat_isZero($ef))
31900
- return !$ef.$sign ? asrjt_Float64_Zero : asrjt_Float64_NegativeZero;
31901
- $ef = asrji_ExactFloat_normalize($ef);
31902
- $normalizedExponent = $ef.$exponent0 + jm_BigInteger_bitLength($ef.$significand) | 0;
31903
- if ($normalizedExponent > -1022) {
31904
- if ($normalizedExponent > 1024) {
31905
- $mainBits = $env.$flags;
31906
- $roundedBits = asrj_Flags_overflow;
31907
- ju_GenericEnumSet_add($mainBits, $roundedBits);
31908
- $mainBits = $env.$flags;
31909
- $roundedBits = asrj_Flags_inexact;
31910
- ju_GenericEnumSet_add($mainBits, $roundedBits);
31911
- asrjt_Float64$1_$callClinit();
31912
- switch (asrjt_Float64$1_$SwitchMap$app$specy$rars$jsoftfloat$RoundingMode.data[jl_Enum_ordinal($env.$mode)]) {
31913
- case 1:
31914
- break;
31915
- case 2:
31916
- case 3:
31917
- $normalizedExponent = $ef.$sign;
31918
- if ($normalizedExponent == ($env.$mode !== asrj_RoundingMode_max ? 0 : 1))
31919
- return asrjt_Float64__init_0($normalizedExponent, 1023, Long_fromInt(-1));
31920
- return !$normalizedExponent ? asrjt_Float64_Infinity : asrjt_Float64_NegativeInfinity;
31921
- case 4:
31922
- case 5:
31923
- return !$ef.$sign ? asrjt_Float64_Infinity : asrjt_Float64_NegativeInfinity;
31924
- default:
31925
- if (!asrjt_Float64_$assertionsDisabled)
31926
- $rt_throw(jl_AssertionError__init_($rt_s(1629)));
31927
- return !$ef.$sign ? asrjt_Float64_Infinity : asrjt_Float64_NegativeInfinity;
31928
- }
31929
- return asrjt_Float64__init_0($ef.$sign, 1023, Long_fromInt(-1));
31930
- }
31931
- if (jm_BigInteger_bitLength($ef.$significand) <= 53) {
31932
- if (!asrjt_Float64_$assertionsDisabled && (($ef.$exponent0 + jm_BigInteger_bitLength($ef.$significand) | 0) - 1 | 0) <= -1023)
31933
- $rt_throw(jl_AssertionError__init_($rt_s(1630)));
31934
- $a = new asrjt_Float64();
31935
- $normalizedExponent = $ef.$sign;
31936
- $bitsToRound = ($ef.$exponent0 + jm_BigInteger_bitLength($ef.$significand) | 0) - 1 | 0;
31937
- $ef = $ef.$significand;
31938
- 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)));
31939
- return $a;
31940
- }
31941
- $mainBits = $env.$flags;
31942
- $roundedBits = asrj_Flags_inexact;
31943
- ju_GenericEnumSet_add($mainBits, $roundedBits);
31944
- $bitsToRound = jm_BigInteger_bitLength($ef.$significand) - 53 | 0;
31945
- $mainBits = jm_BigInteger_shiftLeft(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound), $bitsToRound);
31946
- $roundedBits = jm_BigInteger_subtract($ef.$significand, $mainBits);
31947
- $upBits = jm_BigInteger_add(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound), jm_BigInteger_valueOf(Long_fromInt(1)));
31948
- $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)));
31949
- $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)));
31950
- } else {
31951
- if ($ef.$exponent0 > -1075) {
31952
- if (!asrjt_Float64_$assertionsDisabled && jm_BigInteger_bitLength($ef.$significand) > 52)
31953
- $rt_throw(jl_AssertionError__init_($rt_s(1631)));
31954
- return asrjt_Float64__init_0($ef.$sign, -1023, jm_BigInteger_longValueExact(jm_BigInteger_shiftLeft($ef.$significand, 1074 + $ef.$exponent0 | 0)));
31955
- }
31956
- $mainBits = $env.$flags;
31957
- $roundedBits = asrj_Flags_inexact;
31958
- ju_GenericEnumSet_add($mainBits, $roundedBits);
31959
- $mainBits = $env.$flags;
31960
- $roundedBits = asrj_Flags_underflow;
31961
- ju_GenericEnumSet_add($mainBits, $roundedBits);
31962
- $bitsToRound = -1074 - $ef.$exponent0 | 0;
31963
- $mainBits = jm_BigInteger_shiftLeft(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound), $bitsToRound);
31964
- $roundedBits = jm_BigInteger_subtract($ef.$significand, $mainBits);
31965
- $towardsZero = asrjt_Float64__init_0($ef.$sign, -1023, jm_BigInteger_longValueExact(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound)));
31966
- $upBits = jm_BigInteger_add(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound), jm_BigInteger_valueOf(Long_fromInt(1)));
31967
- if (!jm_BigInteger_testBit($upBits, 0) && jm_BigInteger_bitLength($upBits) > 52)
31968
- $awayZero = asrjt_Float64__init_0($ef.$sign, -1022, Long_and(jm_BigInteger_longValueExact($upBits), Long_create(4294967295, 1048575)));
31969
- else {
31970
- if (!asrjt_Float64_$assertionsDisabled && jm_BigInteger_bitLength($upBits) > 52)
31971
- $rt_throw(jl_AssertionError__init_1());
31972
- $awayZero = asrjt_Float64__init_0($ef.$sign, -1023, jm_BigInteger_longValueExact($upBits));
31973
- }
31974
- }
31975
- asrjt_Float64$1_$callClinit();
31976
- switch (asrjt_Float64$1_$SwitchMap$app$specy$rars$jsoftfloat$RoundingMode.data[jl_Enum_ordinal($env.$mode)]) {
31977
- case 1:
31978
- break;
31979
- case 2:
31980
- case 3:
31981
- if ($ef.$sign == ($env.$mode !== asrj_RoundingMode_max ? 0 : 1))
31982
- return $towardsZero;
31983
- return $awayZero;
31984
- default:
31985
- $ef = jm_BigInteger_ONE;
31986
- $normalizedExponent = $bitsToRound - 1 | 0;
31987
- if (!jm_BigInteger_equals($roundedBits, jm_BigInteger_shiftLeft($ef, $normalizedExponent))) {
31988
- if (jm_BigInteger_compareTo($roundedBits, jm_BigInteger_shiftLeft(jm_BigInteger_ONE, $normalizedExponent)) <= 0)
31989
- return $towardsZero;
31990
- return $awayZero;
31991
- }
31992
- if ($env.$mode !== asrj_RoundingMode_away && Long_ne(Long_and($awayZero.$bits1, Long_fromInt(1)), Long_ZERO))
31993
- return $towardsZero;
31994
- return $awayZero;
31995
- }
31996
- return $towardsZero;
31997
- };
31998
- var asrjt_Float64_toExactFloat = ($this) => {
31999
- let $sign, $exponent, $significand;
32000
- if (!asrjt_Float64_$assertionsDisabled && asrjt_Float64_isInfinite($this))
32001
- $rt_throw(jl_AssertionError__init_($rt_s(1632)));
32002
- if (!asrjt_Float64_$assertionsDisabled && asrjt_Float64_isNaN($this))
32003
- $rt_throw(jl_AssertionError__init_($rt_s(1633)));
32004
- if (!asrjt_Float64_$assertionsDisabled && asrjt_Float64_isZero($this))
32005
- $rt_throw(jl_AssertionError__init_($rt_s(1634)));
32006
- $sign = asrjt_Float64_isSignMinus($this);
32007
- if (asrjt_Float64_isZero($this)) {
32008
- $exponent = 0;
32009
- $significand = jm_BigInteger_ZERO;
32010
- } else if (asrjt_Float64_isNormal($this)) {
32011
- $exponent = asrjt_Float64_exponent($this) - 52 | 0;
32012
- $significand = jm_BigInteger_valueOf(Long_add(Long_and($this.$bits1, Long_create(4294967295, 1048575)), Long_create(0, 1048576)));
32013
- } else {
32014
- if (!asrjt_Float64_isSubnormal($this)) {
32015
- if (asrjt_Float64_$assertionsDisabled)
32016
- return null;
32017
- $rt_throw(jl_AssertionError__init_($rt_s(1635)));
32018
- }
32019
- $exponent = asrjt_Float64_exponent($this) - 51 | 0;
32020
- $significand = jm_BigInteger_valueOf(Long_and($this.$bits1, Long_create(4294967295, 1048575)));
32021
- }
32022
- return asrji_ExactFloat__init_($sign, $exponent, $significand);
32023
- };
32024
- var asrjt_Float64_maxPrecision = ($this) => {
32025
- return 60;
32026
- };
32027
- var asrjt_Float64_negate0 = ($this) => {
32028
- return asrjt_Float64_negate($this);
32029
- };
32030
- var asrjt_Float64_fromExactFloat = ($this, var$1, var$2) => {
32031
- return asrjt_Float64_fromExactFloat0($this, var$1, var$2);
32032
- };
32033
- var asrjt_Float64_NegativeInfinity0 = ($this) => {
32034
- return asrjt_Float64_NegativeInfinity;
32035
- };
32036
- var asrjt_Float64_Infinity0 = ($this) => {
32037
- return asrjt_Float64_Infinity;
32038
- };
32039
- var asrjt_Float64_NegativeZero0 = ($this) => {
32040
- return asrjt_Float64_NegativeZero;
32041
- };
32042
- var asrjt_Float64_Zero0 = ($this) => {
32043
- return asrjt_Float64_Zero;
32044
- };
32045
- var asrjt_Float64_NaN0 = ($this) => {
32046
- return asrjt_Float64_NaN;
32047
- };
32048
- var asrjt_Float64__clinit_ = () => {
32049
- asrjt_Float64_$assertionsDisabled = 0;
32050
- asrjt_Float64_Zero = asrjt_Float64__init_(Long_ZERO);
32051
- asrjt_Float64_NegativeZero = asrjt_Float64__init_(Long_create(0, 2147483648));
32052
- asrjt_Float64_NaN = asrjt_Float64__init_(Long_create(0, 2146959360));
32053
- asrjt_Float64_Infinity = asrjt_Float64__init_(Long_create(0, 2146435072));
32054
- asrjt_Float64_NegativeInfinity = asrjt_Float64__init_(Long_create(0, 4293918720));
32055
- };
32056
- var asrjo_Conversions = $rt_classWithoutFields();
32057
- var asrjo_Conversions_convertToIntegral = ($f, $max, $min, $env, $quiet) => {
32058
- let $copy, $rounded, var$8, var$9, var$10, var$11, var$12, var$13;
32059
- if ($f.$isNaN()) {
32060
- $f = $env.$flags;
32061
- $min = asrj_Flags_invalid;
32062
- ju_GenericEnumSet_add($f, $min);
32063
- return $max;
32064
- }
32065
- if ($f.$isInfinite()) {
32066
- $env = $env.$flags;
32067
- $copy = asrj_Flags_invalid;
32068
- ju_GenericEnumSet_add($env, $copy);
32069
- if ($f.$isSignMinus())
32070
- $max = $min;
32071
- return $max;
32072
- }
32073
- $copy = asrj_Environment__init_();
32074
- $copy.$mode = $env.$mode;
32075
- if ($f.$isZero())
32076
- $rounded = jm_BigInteger_ZERO;
32077
- else {
32078
- $f = $f.$toExactFloat();
32079
- if (asrji_ExactFloat_isZero($f))
32080
- $rounded = jm_BigInteger_ZERO;
32081
- else {
32082
- if (asrji_ExactFloat_isZero($f))
32083
- $rounded = $f;
32084
- else {
32085
- $rounded = asrji_ExactFloat_normalize($f);
32086
- var$8 = $rounded.$exponent0;
32087
- if (var$8 < 0) {
32088
- var$8 = -var$8 | 0;
32089
- var$9 = jm_BigInteger_shiftLeft(jm_BigInteger_shiftRight($rounded.$significand, var$8), var$8);
32090
- var$10 = jm_BigInteger_subtract($rounded.$significand, var$9);
32091
- var$9 = asrji_ExactFloat_normalize(asrji_ExactFloat__init_($rounded.$sign, $rounded.$exponent0, var$9));
32092
- var$11 = asrji_ExactFloat_add(var$9, asrji_ExactFloat__init_($rounded.$sign, 0, jm_BigInteger_valueOf(Long_fromInt(1))));
32093
- var$12 = $env.$mode;
32094
- if (var$12 === asrj_RoundingMode_zero)
32095
- $rounded = var$9;
32096
- else {
32097
- var$13 = asrj_RoundingMode_max;
32098
- if (var$12 !== var$13 && var$12 !== asrj_RoundingMode_min) {
32099
- $rounded = jm_BigInteger_ONE;
32100
- var$8 = var$8 - 1 | 0;
32101
- $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;
32102
- } else
32103
- $rounded = (var$12 !== var$13 ? 0 : 1) != $rounded.$sign ? var$11 : var$9;
32104
- }
32105
- }
32106
- }
32107
- $rounded = asrji_ExactFloat_normalize($rounded);
32108
- if (asrji_ExactFloat_compareTo($rounded, $f)) {
32109
- var$9 = $env.$flags;
32110
- var$10 = asrj_Flags_inexact;
32111
- ju_GenericEnumSet_add(var$9, var$10);
32112
- }
32113
- if (!asrji_ExactFloat_$assertionsDisabled && $rounded.$exponent0 < 0)
32114
- $rt_throw(jl_AssertionError__init_($rt_s(1636)));
32115
- $rounded = jm_BigInteger_multiply(jm_BigInteger_shiftLeft($rounded.$significand, $rounded.$exponent0), jm_BigInteger_valueOf(!$f.$sign ? Long_fromInt(1) : Long_fromInt(-1)));
32116
- }
32117
- }
32118
- if (!(jm_BigInteger_compareTo($rounded, $max) <= 0 && jm_BigInteger_compareTo($rounded, $min) >= 0)) {
32119
- $f = $env.$flags;
32120
- $env = asrj_Flags_invalid;
32121
- ju_GenericEnumSet_add($f, $env);
32122
- } else if (!$quiet) {
32123
- $f = $copy.$flags;
32124
- $copy = asrj_Flags_inexact;
32125
- if (ju_GenericEnumSet_contains($f, $copy)) {
32126
- $f = $env.$flags;
32127
- $env = asrj_Flags_inexact;
32128
- ju_GenericEnumSet_add($f, $env);
32129
- }
32130
- }
32131
- if (jm_BigInteger_compareTo($rounded, $max) == -1)
32132
- $max = $rounded;
32133
- if (jm_BigInteger_compareTo($max, $min) == 1)
32134
- $min = $max;
32135
- return $min;
32136
- };
32137
- var asrjo_Conversions_convertToInt = ($f, $env, $quiet) => {
32138
- return jm_BigInteger_intValueExact(asrjo_Conversions_convertToIntegral($f, jm_BigInteger_valueOf(Long_fromInt(2147483647)), jm_BigInteger_valueOf(Long_fromInt(-2147483648)), $env, $quiet));
32139
- };
32140
- var asrjo_Conversions_convertToUnsignedInt = ($f, $env, $quiet) => {
32141
- 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)));
32142
- };
32143
- var asrjo_Conversions_convertToLong = ($f, $env, $quiet) => {
32144
- return jm_BigInteger_longValueExact(asrjo_Conversions_convertToIntegral($f, jm_BigInteger_valueOf(Long_create(4294967295, 2147483647)), jm_BigInteger_valueOf(Long_create(0, 2147483648)), $env, $quiet));
32145
- };
32146
- var asrjo_Conversions_convertToUnsignedLong = ($f, $env, $quiet) => {
32147
- 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));
32148
- };
32149
- var asrjo_Conversions_convertFromInt = ($i, $env, $helper) => {
32150
- let var$4;
32151
- if (jm_BigInteger_equals($i, jm_BigInteger_ZERO))
32152
- return $helper.$Zero();
32153
- var$4 = new asrji_ExactFloat();
32154
- if (jm_BigInteger_compareTo($i, jm_BigInteger_ZERO) >= 0)
32155
- var$4.$sign = 0;
32156
- else {
32157
- var$4.$sign = 1;
32158
- $i = jm_BigInteger_negate($i);
32159
- }
32160
- var$4.$exponent0 = 0;
32161
- var$4.$significand = $i;
32162
- return $helper.$fromExactFloat(var$4, $env);
32163
- };
32164
31896
  function asrjt_Float32() {
32165
31897
  asrjt_Floating.call(this);
32166
31898
  this.$bits0 = 0;
@@ -32377,6 +32109,330 @@ var asrjt_Float32__clinit_ = () => {
32377
32109
  asrjt_Float32_Infinity = asrjt_Float32__init_(2139095040);
32378
32110
  asrjt_Float32_NegativeInfinity = asrjt_Float32__init_(-8388608);
32379
32111
  };
32112
+ function asrjt_Float64() {
32113
+ asrjt_Floating.call(this);
32114
+ this.$bits1 = Long_ZERO;
32115
+ }
32116
+ var asrjt_Float64_Zero = null;
32117
+ var asrjt_Float64_NegativeZero = null;
32118
+ var asrjt_Float64_NaN = null;
32119
+ var asrjt_Float64_Infinity = null;
32120
+ var asrjt_Float64_NegativeInfinity = null;
32121
+ var asrjt_Float64_$assertionsDisabled = 0;
32122
+ var asrjt_Float64__init_1 = ($this, $bits) => {
32123
+ $this.$bits1 = $bits;
32124
+ };
32125
+ var asrjt_Float64__init_ = (var_0) => {
32126
+ let var_1 = new asrjt_Float64();
32127
+ asrjt_Float64__init_1(var_1, var_0);
32128
+ return var_1;
32129
+ };
32130
+ var asrjt_Float64__init_2 = ($this, $sign, $exponent, $significand) => {
32131
+ 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))));
32132
+ };
32133
+ var asrjt_Float64__init_0 = (var_0, var_1, var_2) => {
32134
+ let var_3 = new asrjt_Float64();
32135
+ asrjt_Float64__init_2(var_3, var_0, var_1, var_2);
32136
+ return var_3;
32137
+ };
32138
+ var asrjt_Float64_exponent = ($this) => {
32139
+ return (Long_lo(Long_shru($this.$bits1, 52)) & 2047) - 1023 | 0;
32140
+ };
32141
+ var asrjt_Float64_negate = ($this) => {
32142
+ return asrjt_Float64__init_(Long_xor($this.$bits1, Long_create(0, 2147483648)));
32143
+ };
32144
+ var asrjt_Float64_isSignMinus = ($this) => {
32145
+ return Long_ne(Long_shru($this.$bits1, 63), Long_fromInt(1)) ? 0 : 1;
32146
+ };
32147
+ var asrjt_Float64_isInfinite = ($this) => {
32148
+ return asrjt_Float64_exponent($this) == 1024 && Long_eq(Long_and($this.$bits1, Long_create(4294967295, 1048575)), Long_ZERO) ? 1 : 0;
32149
+ };
32150
+ var asrjt_Float64_isNormal = ($this) => {
32151
+ return asrjt_Float64_exponent($this) != -1023 && asrjt_Float64_exponent($this) != 1024 ? 1 : 0;
32152
+ };
32153
+ var asrjt_Float64_isSubnormal = ($this) => {
32154
+ return asrjt_Float64_exponent($this) == -1023 && !asrjt_Float64_isZero($this) ? 1 : 0;
32155
+ };
32156
+ var asrjt_Float64_isNaN = ($this) => {
32157
+ return asrjt_Float64_exponent($this) == 1024 && !asrjt_Float64_isInfinite($this) ? 1 : 0;
32158
+ };
32159
+ var asrjt_Float64_isSignalling = ($this) => {
32160
+ if (!asrjt_Float64_isNaN($this))
32161
+ return 0;
32162
+ return Long_ne(Long_and($this.$bits1, Long_create(0, 524288)), Long_ZERO) ? 0 : 1;
32163
+ };
32164
+ var asrjt_Float64_isZero = ($this) => {
32165
+ let var$1;
32166
+ var$1 = $this.$bits1;
32167
+ return Long_ne(var$1, Long_ZERO) && Long_ne(var$1, Long_create(0, 2147483648)) ? 0 : 1;
32168
+ };
32169
+ var asrjt_Float64_fromExactFloat0 = ($this, $ef, $env) => {
32170
+ let $normalizedExponent, $mainBits, $roundedBits, $a, $bitsToRound, $upBits, $towardsZero, $awayZero;
32171
+ if (asrji_ExactFloat_isZero($ef))
32172
+ return !$ef.$sign ? asrjt_Float64_Zero : asrjt_Float64_NegativeZero;
32173
+ $ef = asrji_ExactFloat_normalize($ef);
32174
+ $normalizedExponent = $ef.$exponent0 + jm_BigInteger_bitLength($ef.$significand) | 0;
32175
+ if ($normalizedExponent > -1022) {
32176
+ if ($normalizedExponent > 1024) {
32177
+ $mainBits = $env.$flags;
32178
+ $roundedBits = asrj_Flags_overflow;
32179
+ ju_GenericEnumSet_add($mainBits, $roundedBits);
32180
+ $mainBits = $env.$flags;
32181
+ $roundedBits = asrj_Flags_inexact;
32182
+ ju_GenericEnumSet_add($mainBits, $roundedBits);
32183
+ asrjt_Float64$1_$callClinit();
32184
+ switch (asrjt_Float64$1_$SwitchMap$app$specy$rars$jsoftfloat$RoundingMode.data[jl_Enum_ordinal($env.$mode)]) {
32185
+ case 1:
32186
+ break;
32187
+ case 2:
32188
+ case 3:
32189
+ $normalizedExponent = $ef.$sign;
32190
+ if ($normalizedExponent == ($env.$mode !== asrj_RoundingMode_max ? 0 : 1))
32191
+ return asrjt_Float64__init_0($normalizedExponent, 1023, Long_fromInt(-1));
32192
+ return !$normalizedExponent ? asrjt_Float64_Infinity : asrjt_Float64_NegativeInfinity;
32193
+ case 4:
32194
+ case 5:
32195
+ return !$ef.$sign ? asrjt_Float64_Infinity : asrjt_Float64_NegativeInfinity;
32196
+ default:
32197
+ if (!asrjt_Float64_$assertionsDisabled)
32198
+ $rt_throw(jl_AssertionError__init_($rt_s(1629)));
32199
+ return !$ef.$sign ? asrjt_Float64_Infinity : asrjt_Float64_NegativeInfinity;
32200
+ }
32201
+ return asrjt_Float64__init_0($ef.$sign, 1023, Long_fromInt(-1));
32202
+ }
32203
+ if (jm_BigInteger_bitLength($ef.$significand) <= 53) {
32204
+ if (!asrjt_Float64_$assertionsDisabled && (($ef.$exponent0 + jm_BigInteger_bitLength($ef.$significand) | 0) - 1 | 0) <= -1023)
32205
+ $rt_throw(jl_AssertionError__init_($rt_s(1630)));
32206
+ $a = new asrjt_Float64();
32207
+ $normalizedExponent = $ef.$sign;
32208
+ $bitsToRound = ($ef.$exponent0 + jm_BigInteger_bitLength($ef.$significand) | 0) - 1 | 0;
32209
+ $ef = $ef.$significand;
32210
+ 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)));
32211
+ return $a;
32212
+ }
32213
+ $mainBits = $env.$flags;
32214
+ $roundedBits = asrj_Flags_inexact;
32215
+ ju_GenericEnumSet_add($mainBits, $roundedBits);
32216
+ $bitsToRound = jm_BigInteger_bitLength($ef.$significand) - 53 | 0;
32217
+ $mainBits = jm_BigInteger_shiftLeft(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound), $bitsToRound);
32218
+ $roundedBits = jm_BigInteger_subtract($ef.$significand, $mainBits);
32219
+ $upBits = jm_BigInteger_add(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound), jm_BigInteger_valueOf(Long_fromInt(1)));
32220
+ $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)));
32221
+ $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)));
32222
+ } else {
32223
+ if ($ef.$exponent0 > -1075) {
32224
+ if (!asrjt_Float64_$assertionsDisabled && jm_BigInteger_bitLength($ef.$significand) > 52)
32225
+ $rt_throw(jl_AssertionError__init_($rt_s(1631)));
32226
+ return asrjt_Float64__init_0($ef.$sign, -1023, jm_BigInteger_longValueExact(jm_BigInteger_shiftLeft($ef.$significand, 1074 + $ef.$exponent0 | 0)));
32227
+ }
32228
+ $mainBits = $env.$flags;
32229
+ $roundedBits = asrj_Flags_inexact;
32230
+ ju_GenericEnumSet_add($mainBits, $roundedBits);
32231
+ $mainBits = $env.$flags;
32232
+ $roundedBits = asrj_Flags_underflow;
32233
+ ju_GenericEnumSet_add($mainBits, $roundedBits);
32234
+ $bitsToRound = -1074 - $ef.$exponent0 | 0;
32235
+ $mainBits = jm_BigInteger_shiftLeft(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound), $bitsToRound);
32236
+ $roundedBits = jm_BigInteger_subtract($ef.$significand, $mainBits);
32237
+ $towardsZero = asrjt_Float64__init_0($ef.$sign, -1023, jm_BigInteger_longValueExact(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound)));
32238
+ $upBits = jm_BigInteger_add(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound), jm_BigInteger_valueOf(Long_fromInt(1)));
32239
+ if (!jm_BigInteger_testBit($upBits, 0) && jm_BigInteger_bitLength($upBits) > 52)
32240
+ $awayZero = asrjt_Float64__init_0($ef.$sign, -1022, Long_and(jm_BigInteger_longValueExact($upBits), Long_create(4294967295, 1048575)));
32241
+ else {
32242
+ if (!asrjt_Float64_$assertionsDisabled && jm_BigInteger_bitLength($upBits) > 52)
32243
+ $rt_throw(jl_AssertionError__init_1());
32244
+ $awayZero = asrjt_Float64__init_0($ef.$sign, -1023, jm_BigInteger_longValueExact($upBits));
32245
+ }
32246
+ }
32247
+ asrjt_Float64$1_$callClinit();
32248
+ switch (asrjt_Float64$1_$SwitchMap$app$specy$rars$jsoftfloat$RoundingMode.data[jl_Enum_ordinal($env.$mode)]) {
32249
+ case 1:
32250
+ break;
32251
+ case 2:
32252
+ case 3:
32253
+ if ($ef.$sign == ($env.$mode !== asrj_RoundingMode_max ? 0 : 1))
32254
+ return $towardsZero;
32255
+ return $awayZero;
32256
+ default:
32257
+ $ef = jm_BigInteger_ONE;
32258
+ $normalizedExponent = $bitsToRound - 1 | 0;
32259
+ if (!jm_BigInteger_equals($roundedBits, jm_BigInteger_shiftLeft($ef, $normalizedExponent))) {
32260
+ if (jm_BigInteger_compareTo($roundedBits, jm_BigInteger_shiftLeft(jm_BigInteger_ONE, $normalizedExponent)) <= 0)
32261
+ return $towardsZero;
32262
+ return $awayZero;
32263
+ }
32264
+ if ($env.$mode !== asrj_RoundingMode_away && Long_ne(Long_and($awayZero.$bits1, Long_fromInt(1)), Long_ZERO))
32265
+ return $towardsZero;
32266
+ return $awayZero;
32267
+ }
32268
+ return $towardsZero;
32269
+ };
32270
+ var asrjt_Float64_toExactFloat = ($this) => {
32271
+ let $sign, $exponent, $significand;
32272
+ if (!asrjt_Float64_$assertionsDisabled && asrjt_Float64_isInfinite($this))
32273
+ $rt_throw(jl_AssertionError__init_($rt_s(1632)));
32274
+ if (!asrjt_Float64_$assertionsDisabled && asrjt_Float64_isNaN($this))
32275
+ $rt_throw(jl_AssertionError__init_($rt_s(1633)));
32276
+ if (!asrjt_Float64_$assertionsDisabled && asrjt_Float64_isZero($this))
32277
+ $rt_throw(jl_AssertionError__init_($rt_s(1634)));
32278
+ $sign = asrjt_Float64_isSignMinus($this);
32279
+ if (asrjt_Float64_isZero($this)) {
32280
+ $exponent = 0;
32281
+ $significand = jm_BigInteger_ZERO;
32282
+ } else if (asrjt_Float64_isNormal($this)) {
32283
+ $exponent = asrjt_Float64_exponent($this) - 52 | 0;
32284
+ $significand = jm_BigInteger_valueOf(Long_add(Long_and($this.$bits1, Long_create(4294967295, 1048575)), Long_create(0, 1048576)));
32285
+ } else {
32286
+ if (!asrjt_Float64_isSubnormal($this)) {
32287
+ if (asrjt_Float64_$assertionsDisabled)
32288
+ return null;
32289
+ $rt_throw(jl_AssertionError__init_($rt_s(1635)));
32290
+ }
32291
+ $exponent = asrjt_Float64_exponent($this) - 51 | 0;
32292
+ $significand = jm_BigInteger_valueOf(Long_and($this.$bits1, Long_create(4294967295, 1048575)));
32293
+ }
32294
+ return asrji_ExactFloat__init_($sign, $exponent, $significand);
32295
+ };
32296
+ var asrjt_Float64_maxPrecision = ($this) => {
32297
+ return 60;
32298
+ };
32299
+ var asrjt_Float64_negate0 = ($this) => {
32300
+ return asrjt_Float64_negate($this);
32301
+ };
32302
+ var asrjt_Float64_fromExactFloat = ($this, var$1, var$2) => {
32303
+ return asrjt_Float64_fromExactFloat0($this, var$1, var$2);
32304
+ };
32305
+ var asrjt_Float64_NegativeInfinity0 = ($this) => {
32306
+ return asrjt_Float64_NegativeInfinity;
32307
+ };
32308
+ var asrjt_Float64_Infinity0 = ($this) => {
32309
+ return asrjt_Float64_Infinity;
32310
+ };
32311
+ var asrjt_Float64_NegativeZero0 = ($this) => {
32312
+ return asrjt_Float64_NegativeZero;
32313
+ };
32314
+ var asrjt_Float64_Zero0 = ($this) => {
32315
+ return asrjt_Float64_Zero;
32316
+ };
32317
+ var asrjt_Float64_NaN0 = ($this) => {
32318
+ return asrjt_Float64_NaN;
32319
+ };
32320
+ var asrjt_Float64__clinit_ = () => {
32321
+ asrjt_Float64_$assertionsDisabled = 0;
32322
+ asrjt_Float64_Zero = asrjt_Float64__init_(Long_ZERO);
32323
+ asrjt_Float64_NegativeZero = asrjt_Float64__init_(Long_create(0, 2147483648));
32324
+ asrjt_Float64_NaN = asrjt_Float64__init_(Long_create(0, 2146959360));
32325
+ asrjt_Float64_Infinity = asrjt_Float64__init_(Long_create(0, 2146435072));
32326
+ asrjt_Float64_NegativeInfinity = asrjt_Float64__init_(Long_create(0, 4293918720));
32327
+ };
32328
+ var asrjo_Conversions = $rt_classWithoutFields();
32329
+ var asrjo_Conversions_convertToIntegral = ($f, $max, $min, $env, $quiet) => {
32330
+ let $copy, $rounded, var$8, var$9, var$10, var$11, var$12, var$13;
32331
+ if ($f.$isNaN()) {
32332
+ $f = $env.$flags;
32333
+ $min = asrj_Flags_invalid;
32334
+ ju_GenericEnumSet_add($f, $min);
32335
+ return $max;
32336
+ }
32337
+ if ($f.$isInfinite()) {
32338
+ $env = $env.$flags;
32339
+ $copy = asrj_Flags_invalid;
32340
+ ju_GenericEnumSet_add($env, $copy);
32341
+ if ($f.$isSignMinus())
32342
+ $max = $min;
32343
+ return $max;
32344
+ }
32345
+ $copy = asrj_Environment__init_();
32346
+ $copy.$mode = $env.$mode;
32347
+ if ($f.$isZero())
32348
+ $rounded = jm_BigInteger_ZERO;
32349
+ else {
32350
+ $f = $f.$toExactFloat();
32351
+ if (asrji_ExactFloat_isZero($f))
32352
+ $rounded = jm_BigInteger_ZERO;
32353
+ else {
32354
+ if (asrji_ExactFloat_isZero($f))
32355
+ $rounded = $f;
32356
+ else {
32357
+ $rounded = asrji_ExactFloat_normalize($f);
32358
+ var$8 = $rounded.$exponent0;
32359
+ if (var$8 < 0) {
32360
+ var$8 = -var$8 | 0;
32361
+ var$9 = jm_BigInteger_shiftLeft(jm_BigInteger_shiftRight($rounded.$significand, var$8), var$8);
32362
+ var$10 = jm_BigInteger_subtract($rounded.$significand, var$9);
32363
+ var$9 = asrji_ExactFloat_normalize(asrji_ExactFloat__init_($rounded.$sign, $rounded.$exponent0, var$9));
32364
+ var$11 = asrji_ExactFloat_add(var$9, asrji_ExactFloat__init_($rounded.$sign, 0, jm_BigInteger_valueOf(Long_fromInt(1))));
32365
+ var$12 = $env.$mode;
32366
+ if (var$12 === asrj_RoundingMode_zero)
32367
+ $rounded = var$9;
32368
+ else {
32369
+ var$13 = asrj_RoundingMode_max;
32370
+ if (var$12 !== var$13 && var$12 !== asrj_RoundingMode_min) {
32371
+ $rounded = jm_BigInteger_ONE;
32372
+ var$8 = var$8 - 1 | 0;
32373
+ $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;
32374
+ } else
32375
+ $rounded = (var$12 !== var$13 ? 0 : 1) != $rounded.$sign ? var$11 : var$9;
32376
+ }
32377
+ }
32378
+ }
32379
+ $rounded = asrji_ExactFloat_normalize($rounded);
32380
+ if (asrji_ExactFloat_compareTo($rounded, $f)) {
32381
+ var$9 = $env.$flags;
32382
+ var$10 = asrj_Flags_inexact;
32383
+ ju_GenericEnumSet_add(var$9, var$10);
32384
+ }
32385
+ if (!asrji_ExactFloat_$assertionsDisabled && $rounded.$exponent0 < 0)
32386
+ $rt_throw(jl_AssertionError__init_($rt_s(1636)));
32387
+ $rounded = jm_BigInteger_multiply(jm_BigInteger_shiftLeft($rounded.$significand, $rounded.$exponent0), jm_BigInteger_valueOf(!$f.$sign ? Long_fromInt(1) : Long_fromInt(-1)));
32388
+ }
32389
+ }
32390
+ if (!(jm_BigInteger_compareTo($rounded, $max) <= 0 && jm_BigInteger_compareTo($rounded, $min) >= 0)) {
32391
+ $f = $env.$flags;
32392
+ $env = asrj_Flags_invalid;
32393
+ ju_GenericEnumSet_add($f, $env);
32394
+ } else if (!$quiet) {
32395
+ $f = $copy.$flags;
32396
+ $copy = asrj_Flags_inexact;
32397
+ if (ju_GenericEnumSet_contains($f, $copy)) {
32398
+ $f = $env.$flags;
32399
+ $env = asrj_Flags_inexact;
32400
+ ju_GenericEnumSet_add($f, $env);
32401
+ }
32402
+ }
32403
+ if (jm_BigInteger_compareTo($rounded, $max) == -1)
32404
+ $max = $rounded;
32405
+ if (jm_BigInteger_compareTo($max, $min) == 1)
32406
+ $min = $max;
32407
+ return $min;
32408
+ };
32409
+ var asrjo_Conversions_convertToInt = ($f, $env, $quiet) => {
32410
+ return jm_BigInteger_intValueExact(asrjo_Conversions_convertToIntegral($f, jm_BigInteger_valueOf(Long_fromInt(2147483647)), jm_BigInteger_valueOf(Long_fromInt(-2147483648)), $env, $quiet));
32411
+ };
32412
+ var asrjo_Conversions_convertToUnsignedInt = ($f, $env, $quiet) => {
32413
+ 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)));
32414
+ };
32415
+ var asrjo_Conversions_convertToLong = ($f, $env, $quiet) => {
32416
+ return jm_BigInteger_longValueExact(asrjo_Conversions_convertToIntegral($f, jm_BigInteger_valueOf(Long_create(4294967295, 2147483647)), jm_BigInteger_valueOf(Long_create(0, 2147483648)), $env, $quiet));
32417
+ };
32418
+ var asrjo_Conversions_convertToUnsignedLong = ($f, $env, $quiet) => {
32419
+ 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));
32420
+ };
32421
+ var asrjo_Conversions_convertFromInt = ($i, $env, $helper) => {
32422
+ let var$4;
32423
+ if (jm_BigInteger_equals($i, jm_BigInteger_ZERO))
32424
+ return $helper.$Zero();
32425
+ var$4 = new asrji_ExactFloat();
32426
+ if (jm_BigInteger_compareTo($i, jm_BigInteger_ZERO) >= 0)
32427
+ var$4.$sign = 0;
32428
+ else {
32429
+ var$4.$sign = 1;
32430
+ $i = jm_BigInteger_negate($i);
32431
+ }
32432
+ var$4.$exponent0 = 0;
32433
+ var$4.$significand = $i;
32434
+ return $helper.$fromExactFloat(var$4, $env);
32435
+ };
32380
32436
  var asrjo_Comparisons = $rt_classWithoutFields();
32381
32437
  var asrjo_Comparisons_compareNoNAN = ($a, $b) => {
32382
32438
  if ($a.$isZero()) {
@@ -34073,34 +34129,34 @@ function ju_Hashtable$Entry() {
34073
34129
  var ju_Hashtable$Entry_equalsKey = ($this, $aKey, $hash) => {
34074
34130
  return $this.$hashcode == jl_String_hashCode($aKey) && $this.$key.$equals($aKey) ? 1 : 0;
34075
34131
  };
34076
- var asrjt_Float64$1 = $rt_classWithoutFields();
34077
- var asrjt_Float64$1_$SwitchMap$app$specy$rars$jsoftfloat$RoundingMode = null;
34078
- var asrjt_Float64$1_$callClinit = () => {
34079
- asrjt_Float64$1_$callClinit = $rt_eraseClinit(asrjt_Float64$1);
34080
- asrjt_Float64$1__clinit_();
34132
+ var asrjt_Float32$1 = $rt_classWithoutFields();
34133
+ var asrjt_Float32$1_$SwitchMap$app$specy$rars$jsoftfloat$RoundingMode = null;
34134
+ var asrjt_Float32$1_$callClinit = () => {
34135
+ asrjt_Float32$1_$callClinit = $rt_eraseClinit(asrjt_Float32$1);
34136
+ asrjt_Float32$1__clinit_();
34081
34137
  };
34082
- var asrjt_Float64$1__clinit_ = () => {
34138
+ var asrjt_Float32$1__clinit_ = () => {
34083
34139
  let var$1, var$2;
34084
34140
  var$1 = $rt_createIntArray(asrj_RoundingMode_values().data.length);
34085
34141
  var$2 = var$1.data;
34086
- asrjt_Float64$1_$SwitchMap$app$specy$rars$jsoftfloat$RoundingMode = var$1;
34142
+ asrjt_Float32$1_$SwitchMap$app$specy$rars$jsoftfloat$RoundingMode = var$1;
34087
34143
  var$2[asrj_RoundingMode_zero.$ordinal0] = 1;
34088
34144
  var$2[asrj_RoundingMode_min.$ordinal0] = 2;
34089
34145
  var$2[asrj_RoundingMode_max.$ordinal0] = 3;
34090
34146
  var$2[asrj_RoundingMode_away.$ordinal0] = 4;
34091
34147
  var$2[asrj_RoundingMode_even.$ordinal0] = 5;
34092
34148
  };
34093
- var asrjt_Float32$1 = $rt_classWithoutFields();
34094
- var asrjt_Float32$1_$SwitchMap$app$specy$rars$jsoftfloat$RoundingMode = null;
34095
- var asrjt_Float32$1_$callClinit = () => {
34096
- asrjt_Float32$1_$callClinit = $rt_eraseClinit(asrjt_Float32$1);
34097
- asrjt_Float32$1__clinit_();
34149
+ var asrjt_Float64$1 = $rt_classWithoutFields();
34150
+ var asrjt_Float64$1_$SwitchMap$app$specy$rars$jsoftfloat$RoundingMode = null;
34151
+ var asrjt_Float64$1_$callClinit = () => {
34152
+ asrjt_Float64$1_$callClinit = $rt_eraseClinit(asrjt_Float64$1);
34153
+ asrjt_Float64$1__clinit_();
34098
34154
  };
34099
- var asrjt_Float32$1__clinit_ = () => {
34155
+ var asrjt_Float64$1__clinit_ = () => {
34100
34156
  let var$1, var$2;
34101
34157
  var$1 = $rt_createIntArray(asrj_RoundingMode_values().data.length);
34102
34158
  var$2 = var$1.data;
34103
- asrjt_Float32$1_$SwitchMap$app$specy$rars$jsoftfloat$RoundingMode = var$1;
34159
+ asrjt_Float64$1_$SwitchMap$app$specy$rars$jsoftfloat$RoundingMode = var$1;
34104
34160
  var$2[asrj_RoundingMode_zero.$ordinal0] = 1;
34105
34161
  var$2[asrj_RoundingMode_min.$ordinal0] = 2;
34106
34162
  var$2[asrj_RoundingMode_max.$ordinal0] = 3;
@@ -35250,8 +35306,9 @@ $rt_metadata([
35250
35306
  0,
35251
35307
  0,
35252
35308
  0,
35253
- ju_Arrays,
35254
- 0,
35309
+ asr_JsProgramStatement,
35310
+ "JsProgramStatement",
35311
+ 10,
35255
35312
  jl_Object,
35256
35313
  [],
35257
35314
  0,
@@ -35259,28 +35316,19 @@ $rt_metadata([
35259
35316
  0,
35260
35317
  0,
35261
35318
  0,
35262
- asr_JsRiscV$getUndoStack$lambda$_26_0,
35263
- 0,
35319
+ asr_JsCompilationResult,
35320
+ "JsCompilationResult",
35321
+ 10,
35264
35322
  jl_Object,
35265
- [juf_Function],
35323
+ [],
35266
35324
  0,
35267
35325
  3,
35268
35326
  0,
35269
35327
  0,
35270
- ["$apply0", $rt_wrapFunction1(asr_JsRiscV$getUndoStack$lambda$_26_0_apply)],
35271
- asr_JsRiscV$getUndoStack$lambda$_26_1,
35272
- 0,
35273
- jl_Object,
35274
- [juf_IntFunction],
35275
- 0,
35276
- 3,
35277
35328
  0,
35329
+ asr_AssemblyException,
35278
35330
  0,
35279
- ["$apply", $rt_wrapFunction1(asr_JsRiscV$getUndoStack$lambda$_26_1_apply)],
35280
- asr_JsBackStep,
35281
- "JsBackStep",
35282
- 10,
35283
- jl_Object,
35331
+ jl_Exception,
35284
35332
  [],
35285
35333
  0,
35286
35334
  3,
@@ -35296,19 +35344,8 @@ $rt_metadata([
35296
35344
  0,
35297
35345
  asrrh_RegisterFile_$callClinit,
35298
35346
  0,
35299
- jm_BigInteger,
35300
- "BigInteger",
35301
- 14,
35302
- jl_Number,
35303
- [jl_Comparable, ji_Serializable],
35304
- 0,
35305
- 3,
35306
- 0,
35347
+ ju_Arrays,
35307
35348
  0,
35308
- ["$equals", $rt_wrapFunction1(jm_BigInteger_equals), "$toString", $rt_wrapFunction0(jm_BigInteger_toString)],
35309
- asr_JsStackFrame,
35310
- "JsStackFrame",
35311
- 10,
35312
35349
  jl_Object,
35313
35350
  [],
35314
35351
  0,
@@ -35316,44 +35353,63 @@ $rt_metadata([
35316
35353
  0,
35317
35354
  0,
35318
35355
  0,
35319
- asr_JsCompilationResult,
35320
- "JsCompilationResult",
35321
- 10,
35356
+ juf_ToIntFunction,
35357
+ 0,
35322
35358
  jl_Object,
35323
35359
  [],
35324
- 0,
35360
+ 3,
35325
35361
  3,
35326
35362
  0,
35327
35363
  0,
35328
35364
  0,
35329
- asr_AssemblyException,
35365
+ asr_JsRiscV$getRegistersValues$lambda$_25_0,
35330
35366
  0,
35331
- jl_Exception,
35332
- [],
35367
+ jl_Object,
35368
+ [juf_ToIntFunction],
35333
35369
  0,
35334
35370
  3,
35335
35371
  0,
35336
35372
  0,
35337
35373
  0,
35338
- juf_ToIntFunction,
35374
+ jm_BigInteger,
35375
+ "BigInteger",
35376
+ 14,
35377
+ jl_Number,
35378
+ [jl_Comparable, ji_Serializable],
35339
35379
  0,
35340
- jl_Object,
35341
- [],
35342
35380
  3,
35381
+ 0,
35382
+ 0,
35383
+ ["$equals", $rt_wrapFunction1(jm_BigInteger_equals), "$toString", $rt_wrapFunction0(jm_BigInteger_toString)],
35384
+ asr_JsRiscV$getTokenizedLines$lambda$_5_0,
35385
+ 0,
35386
+ jl_Object,
35387
+ [juf_Function],
35388
+ 0,
35343
35389
  3,
35344
35390
  0,
35345
35391
  0,
35392
+ ["$apply0", $rt_wrapFunction1(asr_JsRiscV$getTokenizedLines$lambda$_5_0_apply)],
35393
+ asr_JsRiscV$getTokenizedLines$lambda$_5_1,
35394
+ 0,
35395
+ jl_Object,
35396
+ [juf_IntFunction],
35397
+ 0,
35398
+ 3,
35346
35399
  0,
35347
- asr_JsRiscV$getRegistersValues$lambda$_25_0,
35348
35400
  0,
35401
+ ["$apply", $rt_wrapFunction1(asr_JsRiscV$getTokenizedLines$lambda$_5_1_apply)],
35402
+ asr_JsRiscVTokenizedLine,
35403
+ "JsRiscVTokenizedLine",
35404
+ 10,
35349
35405
  jl_Object,
35350
- [juf_ToIntFunction],
35406
+ [],
35351
35407
  0,
35352
35408
  3,
35353
35409
  0,
35354
35410
  0,
35355
35411
  0,
35356
- asr_JsRiscV$getTokenizedLines$lambda$_5_0,
35412
+ asr_JsRiscV$getUndoStack$lambda$_26_0,
35357
35413
  0,
35358
35414
  jl_Object,
35359
35415
  [juf_Function],
@@ -35361,8 +35417,8 @@ $rt_metadata([
35361
35417
  3,
35362
35418
  0,
35363
35419
  0,
35364
- ["$apply0", $rt_wrapFunction1(asr_JsRiscV$getTokenizedLines$lambda$_5_0_apply)],
35365
- asr_JsRiscV$getTokenizedLines$lambda$_5_1,
35420
+ ["$apply0", $rt_wrapFunction1(asr_JsRiscV$getUndoStack$lambda$_26_0_apply)],
35421
+ asr_JsRiscV$getUndoStack$lambda$_26_1,
35366
35422
  0,
35367
35423
  jl_Object,
35368
35424
  [juf_IntFunction],
@@ -35370,9 +35426,9 @@ $rt_metadata([
35370
35426
  3,
35371
35427
  0,
35372
35428
  0,
35373
- ["$apply", $rt_wrapFunction1(asr_JsRiscV$getTokenizedLines$lambda$_5_1_apply)],
35374
- asr_JsRiscVTokenizedLine,
35375
- "JsRiscVTokenizedLine",
35429
+ ["$apply", $rt_wrapFunction1(asr_JsRiscV$getUndoStack$lambda$_26_1_apply)],
35430
+ asr_JsBackStep,
35431
+ "JsBackStep",
35376
35432
  10,
35377
35433
  jl_Object,
35378
35434
  [],
@@ -35381,8 +35437,8 @@ $rt_metadata([
35381
35437
  0,
35382
35438
  0,
35383
35439
  0,
35384
- asr_JsProgramStatement,
35385
- "JsProgramStatement",
35440
+ asr_JsStackFrame,
35441
+ "JsStackFrame",
35386
35442
  10,
35387
35443
  jl_Object,
35388
35444
  [],
@@ -35484,130 +35540,130 @@ $rt_metadata([
35484
35540
  0,
35485
35541
  0,
35486
35542
  0,
35487
- asrs_BackStepper,
35543
+ asr_JsCompilationResult$_init_$lambda$_0_0,
35488
35544
  0,
35489
35545
  jl_Object,
35490
- [],
35546
+ [juf_Function],
35491
35547
  0,
35492
35548
  3,
35493
35549
  0,
35494
35550
  0,
35495
- 0,
35496
- asrs_BackStepper$BackstepStack,
35551
+ ["$apply0", $rt_wrapFunction1(asr_JsCompilationResult$_init_$lambda$_0_0_apply)],
35552
+ juf_Supplier,
35497
35553
  0,
35498
35554
  jl_Object,
35499
35555
  [],
35500
- 0,
35556
+ 3,
35501
35557
  3,
35502
35558
  0,
35503
35559
  0,
35504
35560
  0,
35505
- jl_AutoCloseable,
35561
+ asr_JsCompilationResult$_init_$lambda$_0_1,
35506
35562
  0,
35507
35563
  jl_Object,
35508
- [],
35509
- 3,
35564
+ [juf_Supplier],
35565
+ 0,
35510
35566
  3,
35511
35567
  0,
35512
35568
  0,
35513
35569
  0
35514
35570
  ]);
35515
35571
  $rt_metadata([
35516
- jus_BaseStream,
35572
+ juf_BiConsumer,
35517
35573
  0,
35518
35574
  jl_Object,
35519
- [jl_AutoCloseable],
35575
+ [],
35520
35576
  3,
35521
35577
  3,
35522
35578
  0,
35523
35579
  0,
35524
35580
  0,
35525
- jus_Stream,
35581
+ asr_JsCompilationResult$_init_$lambda$_0_2,
35526
35582
  0,
35527
35583
  jl_Object,
35528
- [jus_BaseStream],
35529
- 3,
35584
+ [juf_BiConsumer],
35585
+ 0,
35530
35586
  3,
35531
35587
  0,
35532
35588
  0,
35533
35589
  0,
35534
- jusi_SimpleStreamImpl,
35590
+ asr_JsCompilationResult$_init_$lambda$_0_3,
35535
35591
  0,
35536
35592
  jl_Object,
35537
- [jus_Stream],
35538
- 1,
35593
+ [juf_BiConsumer],
35594
+ 0,
35539
35595
  3,
35540
35596
  0,
35541
35597
  0,
35542
35598
  0,
35543
- jusi_ArrayStreamImpl,
35599
+ asrs_BackStepper,
35544
35600
  0,
35545
- jusi_SimpleStreamImpl,
35601
+ jl_Object,
35546
35602
  [],
35547
35603
  0,
35548
35604
  3,
35549
35605
  0,
35550
35606
  0,
35551
- ["$next1", $rt_wrapFunction1(jusi_ArrayStreamImpl_next), "$estimateSize", $rt_wrapFunction0(jusi_ArrayStreamImpl_estimateSize)],
35552
- asrrh_Register,
35553
- "Register",
35554
- 7,
35555
- ju_Observable,
35556
- [],
35557
- 0,
35558
- 3,
35559
- 0,
35560
35607
  0,
35561
- ["$getValue", $rt_wrapFunction0(asrrh_Register_getValue), "$getValueNoNotify", $rt_wrapFunction0(asrrh_Register_getValueNoNotify), "$setValue", $rt_wrapFunction1(asrrh_Register_setValue), "$resetValue", $rt_wrapFunction0(asrrh_Register_resetValue)],
35562
- asr_JsCompilationResult$_init_$lambda$_0_0,
35608
+ jl_AutoCloseable,
35563
35609
  0,
35564
35610
  jl_Object,
35565
- [juf_Function],
35566
- 0,
35611
+ [],
35612
+ 3,
35567
35613
  3,
35568
35614
  0,
35569
35615
  0,
35570
- ["$apply0", $rt_wrapFunction1(asr_JsCompilationResult$_init_$lambda$_0_0_apply)],
35571
- juf_Supplier,
35616
+ 0,
35617
+ jus_BaseStream,
35572
35618
  0,
35573
35619
  jl_Object,
35574
- [],
35620
+ [jl_AutoCloseable],
35575
35621
  3,
35576
35622
  3,
35577
35623
  0,
35578
35624
  0,
35579
35625
  0,
35580
- asr_JsCompilationResult$_init_$lambda$_0_1,
35626
+ jus_Stream,
35581
35627
  0,
35582
35628
  jl_Object,
35583
- [juf_Supplier],
35584
- 0,
35629
+ [jus_BaseStream],
35630
+ 3,
35585
35631
  3,
35586
35632
  0,
35587
35633
  0,
35588
35634
  0,
35589
- juf_BiConsumer,
35635
+ jusi_SimpleStreamImpl,
35590
35636
  0,
35591
35637
  jl_Object,
35592
- [],
35593
- 3,
35638
+ [jus_Stream],
35639
+ 1,
35594
35640
  3,
35595
35641
  0,
35596
35642
  0,
35597
35643
  0,
35598
- asr_JsCompilationResult$_init_$lambda$_0_2,
35644
+ jusi_ArrayStreamImpl,
35599
35645
  0,
35600
- jl_Object,
35601
- [juf_BiConsumer],
35646
+ jusi_SimpleStreamImpl,
35647
+ [],
35602
35648
  0,
35603
35649
  3,
35604
35650
  0,
35605
35651
  0,
35652
+ ["$next1", $rt_wrapFunction1(jusi_ArrayStreamImpl_next), "$estimateSize", $rt_wrapFunction0(jusi_ArrayStreamImpl_estimateSize)],
35653
+ asrrh_Register,
35654
+ "Register",
35655
+ 7,
35656
+ ju_Observable,
35657
+ [],
35658
+ 0,
35659
+ 3,
35606
35660
  0,
35607
- asr_JsCompilationResult$_init_$lambda$_0_3,
35661
+ 0,
35662
+ ["$getValue", $rt_wrapFunction0(asrrh_Register_getValue), "$getValueNoNotify", $rt_wrapFunction0(asrrh_Register_getValueNoNotify), "$setValue", $rt_wrapFunction1(asrrh_Register_setValue), "$resetValue", $rt_wrapFunction0(asrrh_Register_resetValue)],
35663
+ asrs_BackStepper$BackstepStack,
35608
35664
  0,
35609
35665
  jl_Object,
35610
- [juf_BiConsumer],
35666
+ [],
35611
35667
  0,
35612
35668
  3,
35613
35669
  0,
@@ -37154,7 +37210,7 @@ $rt_metadata([
37154
37210
  0,
37155
37211
  0,
37156
37212
  0,
37157
- asrrh_RegisterBlock,
37213
+ asr_ErrorList,
37158
37214
  0,
37159
37215
  jl_Object,
37160
37216
  [],
@@ -37163,9 +37219,8 @@ $rt_metadata([
37163
37219
  0,
37164
37220
  0,
37165
37221
  0,
37166
- asrrh_StackFrame,
37167
- "StackFrame",
37168
- 7,
37222
+ asrrh_RegisterBlock,
37223
+ 0,
37169
37224
  jl_Object,
37170
37225
  [],
37171
37226
  0,
@@ -37173,8 +37228,9 @@ $rt_metadata([
37173
37228
  0,
37174
37229
  0,
37175
37230
  0,
37176
- asr_ErrorList,
37177
- 0,
37231
+ asrrh_StackFrame,
37232
+ "StackFrame",
37233
+ 7,
37178
37234
  jl_Object,
37179
37235
  [],
37180
37236
  0,
@@ -37817,24 +37873,6 @@ $rt_metadata([
37817
37873
  0,
37818
37874
  0,
37819
37875
  ["$next1", $rt_wrapFunction1(jusi_StreamOverSpliterator_next), "$estimateSize", $rt_wrapFunction0(jusi_StreamOverSpliterator_estimateSize)],
37820
- jusi_WrappingStreamImpl,
37821
- 0,
37822
- jusi_SimpleStreamImpl,
37823
- [],
37824
- 1,
37825
- 3,
37826
- 0,
37827
- 0,
37828
- 0,
37829
- jusi_MappingStreamImpl,
37830
- 0,
37831
- jusi_WrappingStreamImpl,
37832
- [],
37833
- 0,
37834
- 3,
37835
- 0,
37836
- 0,
37837
- ["$wrap3", $rt_wrapFunction1(jusi_MappingStreamImpl_wrap)],
37838
37876
  jus_IntStream,
37839
37877
  0,
37840
37878
  jl_Object,
@@ -37862,6 +37900,24 @@ $rt_metadata([
37862
37900
  0,
37863
37901
  0,
37864
37902
  0,
37903
+ jusi_WrappingStreamImpl,
37904
+ 0,
37905
+ jusi_SimpleStreamImpl,
37906
+ [],
37907
+ 1,
37908
+ 3,
37909
+ 0,
37910
+ 0,
37911
+ 0,
37912
+ jusi_MappingStreamImpl,
37913
+ 0,
37914
+ jusi_WrappingStreamImpl,
37915
+ [],
37916
+ 0,
37917
+ 3,
37918
+ 0,
37919
+ 0,
37920
+ ["$wrap3", $rt_wrapFunction1(jusi_MappingStreamImpl_wrap)],
37865
37921
  jm_Conversion,
37866
37922
  0,
37867
37923
  jl_Object,
@@ -37889,26 +37945,25 @@ $rt_metadata([
37889
37945
  0,
37890
37946
  0,
37891
37947
  ["$hasNext", $rt_wrapFunction0(ju_AbstractList$1_hasNext), "$next", $rt_wrapFunction0(ju_AbstractList$1_next)],
37892
- asrs_Simulator$Reason,
37893
- "Simulator$Reason",
37894
- 3,
37895
- jl_Enum,
37948
+ asrrh_FloatingPointRegisterFile,
37949
+ 0,
37950
+ jl_Object,
37896
37951
  [],
37897
- 12,
37952
+ 0,
37898
37953
  3,
37899
37954
  0,
37900
37955
  0,
37901
37956
  0,
37902
- jlr_Array,
37957
+ asrrh_ControlAndStatusRegisterFile,
37903
37958
  0,
37904
37959
  jl_Object,
37905
37960
  [],
37906
- 4,
37961
+ 0,
37907
37962
  3,
37908
37963
  0,
37909
37964
  0,
37910
37965
  0,
37911
- asrrh_Stack,
37966
+ asrrh_InterruptController,
37912
37967
  0,
37913
37968
  jl_Object,
37914
37969
  [],
@@ -37917,7 +37972,7 @@ $rt_metadata([
37917
37972
  0,
37918
37973
  0,
37919
37974
  0,
37920
- asrrh_FloatingPointRegisterFile,
37975
+ asrrh_Stack,
37921
37976
  0,
37922
37977
  jl_Object,
37923
37978
  [],
@@ -37926,20 +37981,21 @@ $rt_metadata([
37926
37981
  0,
37927
37982
  0,
37928
37983
  0,
37929
- asrrh_ControlAndStatusRegisterFile,
37984
+ jlr_Array,
37930
37985
  0,
37931
37986
  jl_Object,
37932
37987
  [],
37933
- 0,
37988
+ 4,
37934
37989
  3,
37935
37990
  0,
37936
37991
  0,
37937
37992
  0,
37938
- asrrh_InterruptController,
37939
- 0,
37940
- jl_Object,
37993
+ asrs_Simulator$Reason,
37994
+ "Simulator$Reason",
37995
+ 3,
37996
+ jl_Enum,
37941
37997
  [],
37942
- 0,
37998
+ 12,
37943
37999
  3,
37944
38000
  0,
37945
38001
  0,
@@ -38083,15 +38139,6 @@ $rt_metadata([
38083
38139
  0,
38084
38140
  0,
38085
38141
  0,
38086
- jl_NegativeArraySizeException,
38087
- 0,
38088
- jl_RuntimeException,
38089
- [],
38090
- 0,
38091
- 3,
38092
- 0,
38093
- 0,
38094
- 0,
38095
38142
  otjc_JSObjects,
38096
38143
  0,
38097
38144
  jl_Object,
@@ -38119,6 +38166,15 @@ $rt_metadata([
38119
38166
  0,
38120
38167
  0,
38121
38168
  0,
38169
+ jl_NegativeArraySizeException,
38170
+ 0,
38171
+ jl_RuntimeException,
38172
+ [],
38173
+ 0,
38174
+ 3,
38175
+ 0,
38176
+ 0,
38177
+ 0,
38122
38178
  ju_Arrays$ArrayAsList,
38123
38179
  0,
38124
38180
  ju_AbstractList,
@@ -40947,6 +41003,48 @@ $rt_metadata([
40947
41003
  0,
40948
41004
  0,
40949
41005
  0,
41006
+ asrjt_Float32,
41007
+ 0,
41008
+ asrjt_Floating,
41009
+ [],
41010
+ 0,
41011
+ 3,
41012
+ 0,
41013
+ 0,
41014
+ [
41015
+ "$isSignMinus",
41016
+ $rt_wrapFunction0(asrjt_Float32_isSignMinus),
41017
+ "$isInfinite",
41018
+ $rt_wrapFunction0(asrjt_Float32_isInfinite),
41019
+ "$isNormal",
41020
+ $rt_wrapFunction0(asrjt_Float32_isNormal),
41021
+ "$isSubnormal",
41022
+ $rt_wrapFunction0(asrjt_Float32_isSubnormal),
41023
+ "$isNaN",
41024
+ $rt_wrapFunction0(asrjt_Float32_isNaN),
41025
+ "$isSignalling",
41026
+ $rt_wrapFunction0(asrjt_Float32_isSignalling),
41027
+ "$isZero",
41028
+ $rt_wrapFunction0(asrjt_Float32_isZero),
41029
+ "$toExactFloat",
41030
+ $rt_wrapFunction0(asrjt_Float32_toExactFloat),
41031
+ "$maxPrecision",
41032
+ $rt_wrapFunction0(asrjt_Float32_maxPrecision),
41033
+ "$negate2",
41034
+ $rt_wrapFunction0(asrjt_Float32_negate0),
41035
+ "$fromExactFloat",
41036
+ $rt_wrapFunction2(asrjt_Float32_fromExactFloat),
41037
+ "$NegativeInfinity",
41038
+ $rt_wrapFunction0(asrjt_Float32_NegativeInfinity0),
41039
+ "$Infinity",
41040
+ $rt_wrapFunction0(asrjt_Float32_Infinity0),
41041
+ "$NegativeZero",
41042
+ $rt_wrapFunction0(asrjt_Float32_NegativeZero0),
41043
+ "$Zero",
41044
+ $rt_wrapFunction0(asrjt_Float32_Zero0),
41045
+ "$NaN",
41046
+ $rt_wrapFunction0(asrjt_Float32_NaN0)
41047
+ ],
40950
41048
  asrjt_Float64,
40951
41049
  0,
40952
41050
  asrjt_Floating,
@@ -40998,48 +41096,6 @@ $rt_metadata([
40998
41096
  0,
40999
41097
  0,
41000
41098
  0,
41001
- asrjt_Float32,
41002
- 0,
41003
- asrjt_Floating,
41004
- [],
41005
- 0,
41006
- 3,
41007
- 0,
41008
- 0,
41009
- [
41010
- "$isSignMinus",
41011
- $rt_wrapFunction0(asrjt_Float32_isSignMinus),
41012
- "$isInfinite",
41013
- $rt_wrapFunction0(asrjt_Float32_isInfinite),
41014
- "$isNormal",
41015
- $rt_wrapFunction0(asrjt_Float32_isNormal),
41016
- "$isSubnormal",
41017
- $rt_wrapFunction0(asrjt_Float32_isSubnormal),
41018
- "$isNaN",
41019
- $rt_wrapFunction0(asrjt_Float32_isNaN),
41020
- "$isSignalling",
41021
- $rt_wrapFunction0(asrjt_Float32_isSignalling),
41022
- "$isZero",
41023
- $rt_wrapFunction0(asrjt_Float32_isZero),
41024
- "$toExactFloat",
41025
- $rt_wrapFunction0(asrjt_Float32_toExactFloat),
41026
- "$maxPrecision",
41027
- $rt_wrapFunction0(asrjt_Float32_maxPrecision),
41028
- "$negate2",
41029
- $rt_wrapFunction0(asrjt_Float32_negate0),
41030
- "$fromExactFloat",
41031
- $rt_wrapFunction2(asrjt_Float32_fromExactFloat),
41032
- "$NegativeInfinity",
41033
- $rt_wrapFunction0(asrjt_Float32_NegativeInfinity0),
41034
- "$Infinity",
41035
- $rt_wrapFunction0(asrjt_Float32_Infinity0),
41036
- "$NegativeZero",
41037
- $rt_wrapFunction0(asrjt_Float32_NegativeZero0),
41038
- "$Zero",
41039
- $rt_wrapFunction0(asrjt_Float32_Zero0),
41040
- "$NaN",
41041
- $rt_wrapFunction0(asrjt_Float32_NaN0)
41042
- ],
41043
41099
  asrjo_Comparisons,
41044
41100
  0,
41045
41101
  jl_Object,
@@ -41287,23 +41343,23 @@ $rt_metadata([
41287
41343
  0,
41288
41344
  0,
41289
41345
  0,
41290
- asrjt_Float64$1,
41346
+ asrjt_Float32$1,
41291
41347
  0,
41292
41348
  jl_Object,
41293
41349
  [],
41294
41350
  32,
41295
41351
  0,
41296
41352
  0,
41297
- asrjt_Float64$1_$callClinit,
41353
+ asrjt_Float32$1_$callClinit,
41298
41354
  0,
41299
- asrjt_Float32$1,
41355
+ asrjt_Float64$1,
41300
41356
  0,
41301
41357
  jl_Object,
41302
41358
  [],
41303
41359
  32,
41304
41360
  0,
41305
41361
  0,
41306
- asrjt_Float32$1_$callClinit,
41362
+ asrjt_Float64$1_$callClinit,
41307
41363
  0
41308
41364
  ]);
41309
41365
  $rt_metadata([
@@ -42486,13 +42542,6 @@ $rt_stringPool([
42486
42542
  "0.000000",
42487
42543
  "0E",
42488
42544
  "0E+",
42489
- "BREAKPOINT",
42490
- "EXCEPTION",
42491
- "MAX_STEPS",
42492
- "NORMAL_TERMINATION",
42493
- "CLIFF_TERMINATION",
42494
- "PAUSE",
42495
- "STOP",
42496
42545
  "ft0",
42497
42546
  "ft1",
42498
42547
  "ft2",
@@ -42540,6 +42589,13 @@ $rt_stringPool([
42540
42589
  "Cannot claim, no timer interrupt pending",
42541
42590
  "Cannot claim, no trap pending",
42542
42591
  "trapPC doesn't match current pc",
42592
+ "BREAKPOINT",
42593
+ "EXCEPTION",
42594
+ "MAX_STEPS",
42595
+ "NORMAL_TERMINATION",
42596
+ "CLIFF_TERMINATION",
42597
+ "PAUSE",
42598
+ "STOP",
42543
42599
  "Patter is null",
42544
42600
  "Recursive include of file ",
42545
42601
  "Error reading include file ",
@@ -43109,46 +43165,37 @@ var $rt_jso_marker = Symbol("jsoClass");
43109
43165
  get: $rt_callWithReceiver(asr_JsRiscV_terminated$exported$11)
43110
43166
  });
43111
43167
  c = asr_JsInstruction.prototype;
43168
+ c.getIsRv64Only = $rt_callWithReceiver(asr_JsInstruction_getIsRv64Only$exported$1);
43112
43169
  Object.defineProperty(c, "name", {
43113
43170
  get: $rt_callWithReceiver(asr_JsInstruction_getName$exported$0)
43114
43171
  });
43115
43172
  Object.defineProperty(c, "description", {
43116
- get: $rt_callWithReceiver(asr_JsInstruction_getDescription$exported$2)
43173
+ get: $rt_callWithReceiver(asr_JsInstruction_getDescription$exported$3)
43117
43174
  });
43118
43175
  Object.defineProperty(c, "tokens", {
43119
- get: $rt_callWithReceiver(asr_JsInstruction_getTokens$exported$1)
43176
+ get: $rt_callWithReceiver(asr_JsInstruction_getTokens$exported$2)
43120
43177
  });
43121
43178
  Object.defineProperty(c, "example", {
43122
- get: $rt_callWithReceiver(asr_JsInstruction_getExample$exported$3)
43123
- });
43124
- c = asr_JsBackStep.prototype;
43125
- Object.defineProperty(c, "pc", {
43126
- get: $rt_callWithReceiver(asr_JsBackStep_getPc$exported$0)
43127
- });
43128
- Object.defineProperty(c, "action", {
43129
- get: $rt_callWithReceiver(asr_JsBackStep_getAction$exported$2)
43179
+ get: $rt_callWithReceiver(asr_JsInstruction_getExample$exported$4)
43130
43180
  });
43131
- Object.defineProperty(c, "param1", {
43132
- get: $rt_callWithReceiver(asr_JsBackStep_getParam1$exported$3)
43133
- });
43134
- Object.defineProperty(c, "param2", {
43135
- get: $rt_callWithReceiver(asr_JsBackStep_getParam2$exported$1)
43181
+ c = asr_JsProgramStatement.prototype;
43182
+ Object.defineProperty(c, "assemblyStatement", {
43183
+ get: $rt_callWithReceiver(asr_JsProgramStatement_getAssemblyStatement$exported$1)
43136
43184
  });
43137
- c = asr_JsStackFrame.prototype;
43138
- Object.defineProperty(c, "pc", {
43139
- get: $rt_callWithReceiver(asr_JsStackFrame_getPc$exported$0)
43185
+ Object.defineProperty(c, "sourceLine", {
43186
+ get: $rt_callWithReceiver(asr_JsProgramStatement_getSourceLine$exported$0)
43140
43187
  });
43141
- Object.defineProperty(c, "registers", {
43142
- get: $rt_callWithReceiver(asr_JsStackFrame_getRegisters$exported$2)
43188
+ Object.defineProperty(c, "address", {
43189
+ get: $rt_callWithReceiver(asr_JsProgramStatement_getAddress$exported$3)
43143
43190
  });
43144
- Object.defineProperty(c, "fp", {
43145
- get: $rt_callWithReceiver(asr_JsStackFrame_getFp$exported$4)
43191
+ Object.defineProperty(c, "binaryStatement", {
43192
+ get: $rt_callWithReceiver(asr_JsProgramStatement_getBinaryStatement$exported$4)
43146
43193
  });
43147
- Object.defineProperty(c, "sp", {
43148
- get: $rt_callWithReceiver(asr_JsStackFrame_getSp$exported$3)
43194
+ Object.defineProperty(c, "machineStatement", {
43195
+ get: $rt_callWithReceiver(asr_JsProgramStatement_getMachineStatement$exported$5)
43149
43196
  });
43150
- Object.defineProperty(c, "toAddress", {
43151
- get: $rt_callWithReceiver(asr_JsStackFrame_getToAddress$exported$1)
43197
+ Object.defineProperty(c, "source", {
43198
+ get: $rt_callWithReceiver(asr_JsProgramStatement_getSource$exported$2)
43152
43199
  });
43153
43200
  c = asr_JsCompilationResult.prototype;
43154
43201
  Object.defineProperty(c, "hasErrors", {
@@ -43167,24 +43214,34 @@ var $rt_jso_marker = Symbol("jsoClass");
43167
43214
  Object.defineProperty(c, "tokens", {
43168
43215
  get: $rt_callWithReceiver(asr_JsRiscVTokenizedLine_getTokens$exported$1)
43169
43216
  });
43170
- c = asr_JsProgramStatement.prototype;
43171
- Object.defineProperty(c, "assemblyStatement", {
43172
- get: $rt_callWithReceiver(asr_JsProgramStatement_getAssemblyStatement$exported$1)
43217
+ c = asr_JsBackStep.prototype;
43218
+ Object.defineProperty(c, "pc", {
43219
+ get: $rt_callWithReceiver(asr_JsBackStep_getPc$exported$0)
43173
43220
  });
43174
- Object.defineProperty(c, "sourceLine", {
43175
- get: $rt_callWithReceiver(asr_JsProgramStatement_getSourceLine$exported$0)
43221
+ Object.defineProperty(c, "action", {
43222
+ get: $rt_callWithReceiver(asr_JsBackStep_getAction$exported$2)
43176
43223
  });
43177
- Object.defineProperty(c, "address", {
43178
- get: $rt_callWithReceiver(asr_JsProgramStatement_getAddress$exported$3)
43224
+ Object.defineProperty(c, "param1", {
43225
+ get: $rt_callWithReceiver(asr_JsBackStep_getParam1$exported$3)
43179
43226
  });
43180
- Object.defineProperty(c, "binaryStatement", {
43181
- get: $rt_callWithReceiver(asr_JsProgramStatement_getBinaryStatement$exported$4)
43227
+ Object.defineProperty(c, "param2", {
43228
+ get: $rt_callWithReceiver(asr_JsBackStep_getParam2$exported$1)
43182
43229
  });
43183
- Object.defineProperty(c, "machineStatement", {
43184
- get: $rt_callWithReceiver(asr_JsProgramStatement_getMachineStatement$exported$5)
43230
+ c = asr_JsStackFrame.prototype;
43231
+ Object.defineProperty(c, "pc", {
43232
+ get: $rt_callWithReceiver(asr_JsStackFrame_getPc$exported$0)
43185
43233
  });
43186
- Object.defineProperty(c, "source", {
43187
- get: $rt_callWithReceiver(asr_JsProgramStatement_getSource$exported$2)
43234
+ Object.defineProperty(c, "registers", {
43235
+ get: $rt_callWithReceiver(asr_JsStackFrame_getRegisters$exported$2)
43236
+ });
43237
+ Object.defineProperty(c, "fp", {
43238
+ get: $rt_callWithReceiver(asr_JsStackFrame_getFp$exported$4)
43239
+ });
43240
+ Object.defineProperty(c, "sp", {
43241
+ get: $rt_callWithReceiver(asr_JsStackFrame_getSp$exported$3)
43242
+ });
43243
+ Object.defineProperty(c, "toAddress", {
43244
+ get: $rt_callWithReceiver(asr_JsStackFrame_getToAddress$exported$1)
43188
43245
  });
43189
43246
  c = asr_JsCompilationResult$JsCompilationError.prototype;
43190
43247
  Object.defineProperty(c, "macroExpansionHistory", {
@@ -43232,26 +43289,26 @@ function $rt_export_class_JsInstruction_33() {
43232
43289
  throw new Error("Can't instantiate this class directly");
43233
43290
  }
43234
43291
  $rt_export_class_JsInstruction_33.prototype = asr_JsInstruction.prototype;
43235
- function $rt_export_class_JsBackStep_74() {
43292
+ function $rt_export_class_JsProgramStatement_71() {
43236
43293
  throw new Error("Can't instantiate this class directly");
43237
43294
  }
43238
- $rt_export_class_JsBackStep_74.prototype = asr_JsBackStep.prototype;
43239
- function $rt_export_class_JsStackFrame_77() {
43295
+ $rt_export_class_JsProgramStatement_71.prototype = asr_JsProgramStatement.prototype;
43296
+ function $rt_export_class_JsCompilationResult_72() {
43240
43297
  throw new Error("Can't instantiate this class directly");
43241
43298
  }
43242
- $rt_export_class_JsStackFrame_77.prototype = asr_JsStackFrame.prototype;
43243
- function $rt_export_class_JsCompilationResult_78() {
43299
+ $rt_export_class_JsCompilationResult_72.prototype = asr_JsCompilationResult.prototype;
43300
+ function $rt_export_class_JsRiscVTokenizedLine_81() {
43244
43301
  throw new Error("Can't instantiate this class directly");
43245
43302
  }
43246
- $rt_export_class_JsCompilationResult_78.prototype = asr_JsCompilationResult.prototype;
43247
- function $rt_export_class_JsRiscVTokenizedLine_84() {
43303
+ $rt_export_class_JsRiscVTokenizedLine_81.prototype = asr_JsRiscVTokenizedLine.prototype;
43304
+ function $rt_export_class_JsBackStep_84() {
43248
43305
  throw new Error("Can't instantiate this class directly");
43249
43306
  }
43250
- $rt_export_class_JsRiscVTokenizedLine_84.prototype = asr_JsRiscVTokenizedLine.prototype;
43251
- function $rt_export_class_JsProgramStatement_85() {
43307
+ $rt_export_class_JsBackStep_84.prototype = asr_JsBackStep.prototype;
43308
+ function $rt_export_class_JsStackFrame_85() {
43252
43309
  throw new Error("Can't instantiate this class directly");
43253
43310
  }
43254
- $rt_export_class_JsProgramStatement_85.prototype = asr_JsProgramStatement.prototype;
43311
+ $rt_export_class_JsStackFrame_85.prototype = asr_JsStackFrame.prototype;
43255
43312
  function $rt_export_class_JsCompilationError_352() {
43256
43313
  throw new Error("Can't instantiate this class directly");
43257
43314
  }
@@ -43370,6 +43427,7 @@ function makeRiscVfromSource(source) {
43370
43427
  function initializeRISCV() {
43371
43428
  asr_JsRiscV_initializeRISCV$exported$0();
43372
43429
  }
43430
+ console.log(RISCV.getInstructionSet()[0].getIsRv64Only);
43373
43431
  // Annotate the CommonJS export names for ESM import in node:
43374
43432
  0 && (module.exports = {
43375
43433
  BackStepAction,