Skip to content
This repository has been archived by the owner on Nov 6, 2022. It is now read-only.

Commit

Permalink
Merge pull request #692 from OffchainLabs/final-upgrade
Browse files Browse the repository at this point in the history
Final Upgrade
  • Loading branch information
rachel-bousfield authored Aug 24, 2022
2 parents 289d5fd + 03001f9 commit 234cf67
Show file tree
Hide file tree
Showing 18 changed files with 41 additions and 18 deletions.
2 changes: 1 addition & 1 deletion arb_os/arbos-upgrade.mexe

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion arb_os/arbos.mexe

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion arb_os/arbos_before.mexe

Large diffs are not rendered by default.

3 changes: 2 additions & 1 deletion arb_os/constants.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"arbos_version": 57,
"arbos_version": 58,
"integer": {
"AVMSendType_batch": 0,
"AVM_add": 1,
Expand Down Expand Up @@ -155,6 +155,7 @@
"L1MessageType_rollupProtocolEvent": 8,
"L1MessageType_setChainParameters_v36_and_below": 4,
"L1MessageType_setChainParameters": 11,
"L1MessageType_shutdownForNitro": 128,
"L1MessageType_stateCorrection": 255,
"L1MessageType_submitRetryableTx": 9,
"L2MessageType_batch": 3,
Expand Down
17 changes: 17 additions & 0 deletions arb_os/inbox.mini
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ use chainParameters::chainParams_gotParamsMessage;
use chainParameters::chainParams_chainId;
use chainParameters::chainParams_getOrDie;

use gasAccounting::allowedSenders_allowNone;
use gasAccounting::allowedSenders_contains;
use gasAccounting::gasAccounting_prepareTx;
use gasAccounting::updateL1GasPriceEstimate;
Expand All @@ -43,6 +44,7 @@ use messages::processL2Request;
use messageBatch::messageBatch_tryNew;
use messageBatch::messageBatch_get;

use output::outbox_send;
use output::outputStats_endOfBlock;
use output::emitTxReceipt;

Expand Down Expand Up @@ -458,6 +460,21 @@ view write throw func handleUnpackedMessage(msg: IncomingRequest) {
handleArrivingTx(txRequest);
}
// submission failed, or no immediate tx included; either way, ignore the messge
} else if msg.kind == const::L1MessageType_shutdownForNitro {
// get ready to relinquish control to Nitro
allowedSenders_allowNone();
outbox_send();

// end the block
outputStats_endOfBlock(globalInbox.arbBlockNum, globalInbox.ethBlockNum, globalInbox.timestamp);
blockhash_submitHash(msg.ethBlockNumber, globalInbox.inboxHashAccumulator);
set globalInbox.arbBlockNum = globalInbox.arbBlockNum + 1;
set globalInbox.ethBlockNum = msg.ethBlockNumber;
set globalInbox.timestamp = msg.timestamp;
set globalInbox.atStartOfBlock = true;

// emit a special sideload signaling to the node that the shutdown for Nitro has begun
let _ = asm(1 << 128) any { sideload };
} else {
// invalid message type -- ignore it
}
Expand Down
9 changes: 7 additions & 2 deletions arb_os/output.mini
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ use std::merkletree::MerkleTreeBuilder;
use std::merkletree::merkleTreeBuilder_new;
use std::merkletree::merkleTreeBuilder_add;
use std::merkletree::merkleTreeBuilder_finish;
use std::merkletree::merkleTreeBuilder_isEmpty;

use std::queue::queue_isEmpty;
use std::queue::queue_new;
Expand Down Expand Up @@ -129,7 +130,7 @@ public view write throw func outputStats_endOfBlock(arbBlockNum: uint, ethBlockN
gasAccounting_summaryToPublish(),
globalBlockReceiptData.lastArbBlockNum,
ethBlockNum,
)) { log };
)) { log };

set globalBlockReceiptData.lastArbBlockNum = arbBlockNum;

Expand Down Expand Up @@ -300,7 +301,11 @@ public view write throw func outbox_append(item: ByteArray) {
outputStats_addNonTxLog();
}

view write throw func outbox_send() { // emit a send to summarize the current batch, then get ready for the next batch
public view write throw func outbox_send() { // emit a send to summarize the current batch, then get ready for the next batch
if (merkleTreeBuilder_isEmpty(globalOutbox.batch)) {
return;
}

let (tree, rootHash) = merkleTreeBuilder_finish(globalOutbox.batch);

// queue a log that includes the whole batch
Expand Down
2 changes: 1 addition & 1 deletion arb_os/upgrade.json

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion looptest/bridge2.mini
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ public view func remapGlobalsForUpgrade(input_globals: GlobalsBeforeUpgrade) ->
newGlobal2: newGlobal2,
newGlobal3: newGlobal3,
_jump_table: _jump_table,
}, 57);
}, 58);
}


Expand Down
2 changes: 1 addition & 1 deletion looptest/upgrade2_base.mexe

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion looptest/upgrade2_new.mexe

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion looptest/upgrade2_old.mexe

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion replayTests/evm_test_arbsys.aoslog

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion replayTests/evm_test_arbsys_direct.aoslog

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion src/evm/preinstalled_contracts.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1658,7 +1658,7 @@ fn test_upgrade_arbos_to_different_version() -> Result<(), ethabi::Error> {
let arbsys_orig_binding = ArbSys::new(&wallet, false);
assert_eq!(
arbsys_orig_binding.arbos_version(&mut machine)?,
Uint256::from_u64(56),
Uint256::from_u64(57),
);

arbowner._add_chain_owner(&mut machine, my_addr.clone(), true, false)?;
Expand Down
2 changes: 1 addition & 1 deletion upgradetests/regcopy_new.mexe
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"arbos_version":57,"code":[{"opcode":59,"immediate":{"Tuple":[]},"debug_info":{"location":null,"attributes":{"breakpoint":false}}},{"opcode":51,"immediate":{"Tuple":[]},"debug_info":{"location":null,"attributes":{"breakpoint":false}}},{"opcode":56,"immediate":null,"debug_info":{"location":{"line":6,"column":11,"absolute":108,"file_id":5167093027911251668},"attributes":{"breakpoint":false}}},{"opcode":56,"immediate":{"Tuple":[]},"debug_info":{"location":{"line":6,"column":11,"absolute":108,"file_id":5167093027911251668},"attributes":{"breakpoint":false}}},{"opcode":64,"immediate":null,"debug_info":{"location":null,"attributes":{"breakpoint":false}}},{"opcode":144,"immediate":null,"debug_info":{"location":null,"attributes":{"breakpoint":false}}},{"opcode":64,"immediate":null,"debug_info":{"location":null,"attributes":{"breakpoint":false}}},{"opcode":82,"immediate":null,"debug_info":{"location":null,"attributes":{"breakpoint":false}}},{"opcode":144,"immediate":null,"debug_info":{"location":null,"attributes":{"breakpoint":false}}},{"opcode":82,"immediate":null,"debug_info":{"location":null,"attributes":{"breakpoint":false}}},{"opcode":20,"immediate":{"Int":"3"},"debug_info":{"location":null,"attributes":{"breakpoint":false}}},{"opcode":53,"immediate":{"CodePoint":{"Internal":17}},"debug_info":{"location":{"line":9,"column":4,"absolute":222,"file_id":5167093027911251668},"attributes":{"breakpoint":false}}},{"opcode":57,"immediate":{"Int":"0"},"debug_info":{"location":{"line":10,"column":8,"absolute":265,"file_id":5167093027911251668},"attributes":{"breakpoint":false}}},{"opcode":48,"immediate":null,"debug_info":{"location":{"line":10,"column":8,"absolute":265,"file_id":5167093027911251668},"attributes":{"breakpoint":false}}},{"opcode":57,"immediate":null,"debug_info":{"location":{"line":10,"column":8,"absolute":265,"file_id":5167093027911251668},"attributes":{"breakpoint":false}}},{"opcode":52,"immediate":null,"debug_info":{"location":{"line":10,"column":8,"absolute":265,"file_id":5167093027911251668},"attributes":{"breakpoint":false}}},{"opcode":52,"immediate":{"CodePoint":{"Internal":17}},"debug_info":{"location":{"line":9,"column":4,"absolute":222,"file_id":5167093027911251668},"attributes":{"breakpoint":false}}},{"opcode":57,"immediate":{"Int":"1"},"debug_info":{"location":{"line":12,"column":4,"absolute":289,"file_id":5167093027911251668},"attributes":{"breakpoint":false}}},{"opcode":48,"immediate":null,"debug_info":{"location":{"line":12,"column":4,"absolute":289,"file_id":5167093027911251668},"attributes":{"breakpoint":false}}},{"opcode":57,"immediate":null,"debug_info":{"location":{"line":12,"column":4,"absolute":289,"file_id":5167093027911251668},"attributes":{"breakpoint":false}}},{"opcode":52,"immediate":null,"debug_info":{"location":{"line":12,"column":4,"absolute":289,"file_id":5167093027911251668},"attributes":{"breakpoint":false}}}],"static_val":{"Tuple":[]},"globals":[{"id":18446744073709551615,"name":"_jump_table","tipe":"Any","offset":null,"debug_info":{"location":null,"attributes":{"breakpoint":false}}}],"file_info_chart":{"5167093027911251668":"regcopy_new","9360984261226144135":"core::kvs","11013747379006575874":"core::array"},"type_tree":{"inner":{"core, array, 0":[{"FixedArray":["Any",8]},"block"],"core, array, 1":[{"Struct":[{"name":"size","tipe":"Uint"},{"name":"topstep","tipe":"Uint"},{"name":"contents","tipe":{"Nominal":[["core","array"],0,[]]}}]},"array"],"core, array, 31":[{"Struct":[{"name":"bloc","tipe":{"Nominal":[["core","array"],0,[]]}},{"name":"val","tipe":"Any"}]},"arraySwapSubResult"],"core, array, 33":[{"Struct":[{"name":"f","tipe":{"Func":[{"view":false,"write":false,"throw":false,"safe":false,"sensitive":false,"closure":false,"public":false,"returns":true,"nargs":2,"nouts":1},["Any","Any"],{"Tuple":["Any","Any"]}]}},{"name":"val","tipe":"Any"}]},"opClosure"],"core, kvs, 0":[{"Struct":[{"name":"tree","tipe":{"Nominal":[["core","kvs"],2,[]]}},{"name":"size","tipe":"Uint"}]},"Kvs"],"core, kvs, 14":[{"Struct":[{"name":"kvs","tipe":{"FixedArray":["Any",8]}},{"name":"index","tipe":"Uint"},{"name":"next","tipe":{"Option":{"Nominal":[["core","kvs"],14,[]]}}}]},"Unwinder"],"core, kvs, 2":[{"FixedArray":["Any",8]},"KvsNode"],"core, kvs, 4":[{"Struct":[{"name":"key","tipe":"Any"},{"name":"value","tipe":{"Option":"Any"}}]},"KvsCell"],"regcopy_new, 0":[{"Struct":[{"name":"global1","tipe":"Uint"},{"name":"global2","tipe":{"Option":"Int"}},{"name":"jump_table","tipe":"Any"}]},"OldGlobals"]}}}
{"arbos_version":58,"code":[{"opcode":59,"immediate":{"Tuple":[]},"debug_info":{"location":null,"attributes":{"breakpoint":false}}},{"opcode":51,"immediate":{"Tuple":[]},"debug_info":{"location":null,"attributes":{"breakpoint":false}}},{"opcode":56,"immediate":null,"debug_info":{"location":{"line":6,"column":11,"absolute":108,"file_id":5167093027911251668},"attributes":{"breakpoint":false}}},{"opcode":56,"immediate":{"Tuple":[]},"debug_info":{"location":{"line":6,"column":11,"absolute":108,"file_id":5167093027911251668},"attributes":{"breakpoint":false}}},{"opcode":64,"immediate":null,"debug_info":{"location":null,"attributes":{"breakpoint":false}}},{"opcode":144,"immediate":null,"debug_info":{"location":null,"attributes":{"breakpoint":false}}},{"opcode":64,"immediate":null,"debug_info":{"location":null,"attributes":{"breakpoint":false}}},{"opcode":82,"immediate":null,"debug_info":{"location":null,"attributes":{"breakpoint":false}}},{"opcode":144,"immediate":null,"debug_info":{"location":null,"attributes":{"breakpoint":false}}},{"opcode":82,"immediate":null,"debug_info":{"location":null,"attributes":{"breakpoint":false}}},{"opcode":20,"immediate":{"Int":"3"},"debug_info":{"location":null,"attributes":{"breakpoint":false}}},{"opcode":53,"immediate":{"CodePoint":{"Internal":17}},"debug_info":{"location":{"line":9,"column":4,"absolute":222,"file_id":5167093027911251668},"attributes":{"breakpoint":false}}},{"opcode":57,"immediate":{"Int":"0"},"debug_info":{"location":{"line":10,"column":8,"absolute":265,"file_id":5167093027911251668},"attributes":{"breakpoint":false}}},{"opcode":48,"immediate":null,"debug_info":{"location":{"line":10,"column":8,"absolute":265,"file_id":5167093027911251668},"attributes":{"breakpoint":false}}},{"opcode":57,"immediate":null,"debug_info":{"location":{"line":10,"column":8,"absolute":265,"file_id":5167093027911251668},"attributes":{"breakpoint":false}}},{"opcode":52,"immediate":null,"debug_info":{"location":{"line":10,"column":8,"absolute":265,"file_id":5167093027911251668},"attributes":{"breakpoint":false}}},{"opcode":52,"immediate":{"CodePoint":{"Internal":17}},"debug_info":{"location":{"line":9,"column":4,"absolute":222,"file_id":5167093027911251668},"attributes":{"breakpoint":false}}},{"opcode":57,"immediate":{"Int":"1"},"debug_info":{"location":{"line":12,"column":4,"absolute":289,"file_id":5167093027911251668},"attributes":{"breakpoint":false}}},{"opcode":48,"immediate":null,"debug_info":{"location":{"line":12,"column":4,"absolute":289,"file_id":5167093027911251668},"attributes":{"breakpoint":false}}},{"opcode":57,"immediate":null,"debug_info":{"location":{"line":12,"column":4,"absolute":289,"file_id":5167093027911251668},"attributes":{"breakpoint":false}}},{"opcode":52,"immediate":null,"debug_info":{"location":{"line":12,"column":4,"absolute":289,"file_id":5167093027911251668},"attributes":{"breakpoint":false}}}],"static_val":{"Tuple":[]},"globals":[{"id":18446744073709551615,"name":"_jump_table","tipe":"Any","offset":null,"debug_info":{"location":null,"attributes":{"breakpoint":false}}}],"file_info_chart":{"5167093027911251668":"regcopy_new","9360984261226144135":"core::kvs","11013747379006575874":"core::array"},"type_tree":{"inner":{"core, array, 0":[{"FixedArray":["Any",8]},"block"],"core, array, 1":[{"Struct":[{"name":"size","tipe":"Uint"},{"name":"topstep","tipe":"Uint"},{"name":"contents","tipe":{"Nominal":[["core","array"],0,[]]}}]},"array"],"core, array, 31":[{"Struct":[{"name":"bloc","tipe":{"Nominal":[["core","array"],0,[]]}},{"name":"val","tipe":"Any"}]},"arraySwapSubResult"],"core, array, 33":[{"Struct":[{"name":"f","tipe":{"Func":[{"view":false,"write":false,"throw":false,"safe":false,"sensitive":false,"closure":false,"public":false,"returns":true,"nargs":2,"nouts":1},["Any","Any"],{"Tuple":["Any","Any"]}]}},{"name":"val","tipe":"Any"}]},"opClosure"],"core, kvs, 0":[{"Struct":[{"name":"tree","tipe":{"Nominal":[["core","kvs"],2,[]]}},{"name":"size","tipe":"Uint"}]},"Kvs"],"core, kvs, 14":[{"Struct":[{"name":"kvs","tipe":{"FixedArray":["Any",8]}},{"name":"index","tipe":"Uint"},{"name":"next","tipe":{"Option":{"Nominal":[["core","kvs"],14,[]]}}}]},"Unwinder"],"core, kvs, 2":[{"FixedArray":["Any",8]},"KvsNode"],"core, kvs, 4":[{"Struct":[{"name":"key","tipe":"Any"},{"name":"value","tipe":{"Option":"Any"}}]},"KvsCell"],"regcopy_new, 0":[{"Struct":[{"name":"global1","tipe":"Uint"},{"name":"global2","tipe":{"Option":"Int"}},{"name":"jump_table","tipe":"Any"}]},"OldGlobals"]}}}
2 changes: 1 addition & 1 deletion upgradetests/regcopy_old.mexe
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"arbos_version":57,"code":[{"opcode":59,"immediate":{"Tuple":[]},"debug_info":{"location":null,"attributes":{"breakpoint":false}}},{"opcode":51,"immediate":{"Tuple":[{"Int":"0"},{"Tuple":[{"Int":"0"}]},{"Tuple":[]}]},"debug_info":{"location":null,"attributes":{"breakpoint":false}}},{"opcode":56,"immediate":null,"debug_info":{"location":{"line":3,"column":11,"absolute":57,"file_id":4324297106567844897},"attributes":{"breakpoint":false}}},{"opcode":56,"immediate":{"Tuple":[]},"debug_info":{"location":{"line":3,"column":11,"absolute":57,"file_id":4324297106567844897},"attributes":{"breakpoint":false}}},{"opcode":50,"immediate":{"Int":"5"},"debug_info":{"location":null,"attributes":{"breakpoint":false}}},{"opcode":81,"immediate":{"Int":"0"},"debug_info":{"location":null,"attributes":{"breakpoint":false}}},{"opcode":51,"immediate":null,"debug_info":{"location":null,"attributes":{"breakpoint":false}}},{"opcode":50,"immediate":{"Tuple":[{"Int":"1"},{"Int":"fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd"}]},"debug_info":{"location":null,"attributes":{"breakpoint":false}}},{"opcode":81,"immediate":{"Int":"1"},"debug_info":{"location":null,"attributes":{"breakpoint":false}}},{"opcode":51,"immediate":null,"debug_info":{"location":null,"attributes":{"breakpoint":false}}},{"opcode":57,"immediate":null,"debug_info":{"location":{"line":3,"column":11,"absolute":57,"file_id":4324297106567844897},"attributes":{"breakpoint":false}}},{"opcode":48,"immediate":null,"debug_info":{"location":{"line":3,"column":11,"absolute":57,"file_id":4324297106567844897},"attributes":{"breakpoint":false}}},{"opcode":57,"immediate":null,"debug_info":{"location":{"line":3,"column":11,"absolute":57,"file_id":4324297106567844897},"attributes":{"breakpoint":false}}},{"opcode":52,"immediate":null,"debug_info":{"location":{"line":3,"column":11,"absolute":57,"file_id":4324297106567844897},"attributes":{"breakpoint":false}}}],"static_val":{"Tuple":[]},"globals":[{"id":0,"name":"global1","tipe":"Uint","offset":0,"debug_info":{"location":{"line":0,"column":4,"absolute":4,"file_id":4324297106567844897},"attributes":{"breakpoint":false}}},{"id":1,"name":"global2","tipe":{"Option":"Int"},"offset":1,"debug_info":{"location":{"line":1,"column":4,"absolute":23,"file_id":4324297106567844897},"attributes":{"breakpoint":false}}},{"id":18446744073709551615,"name":"_jump_table","tipe":"Any","offset":null,"debug_info":{"location":null,"attributes":{"breakpoint":false}}}],"file_info_chart":{"4324297106567844897":"regcopy_old","9360984261226144135":"core::kvs","11013747379006575874":"core::array"},"type_tree":{"inner":{"core, array, 0":[{"FixedArray":["Any",8]},"block"],"core, array, 1":[{"Struct":[{"name":"size","tipe":"Uint"},{"name":"topstep","tipe":"Uint"},{"name":"contents","tipe":{"Nominal":[["core","array"],0,[]]}}]},"array"],"core, array, 31":[{"Struct":[{"name":"bloc","tipe":{"Nominal":[["core","array"],0,[]]}},{"name":"val","tipe":"Any"}]},"arraySwapSubResult"],"core, array, 33":[{"Struct":[{"name":"f","tipe":{"Func":[{"view":false,"write":false,"throw":false,"safe":false,"sensitive":false,"closure":false,"public":false,"returns":true,"nargs":2,"nouts":1},["Any","Any"],{"Tuple":["Any","Any"]}]}},{"name":"val","tipe":"Any"}]},"opClosure"],"core, kvs, 0":[{"Struct":[{"name":"tree","tipe":{"Nominal":[["core","kvs"],2,[]]}},{"name":"size","tipe":"Uint"}]},"Kvs"],"core, kvs, 14":[{"Struct":[{"name":"kvs","tipe":{"FixedArray":["Any",8]}},{"name":"index","tipe":"Uint"},{"name":"next","tipe":{"Option":{"Nominal":[["core","kvs"],14,[]]}}}]},"Unwinder"],"core, kvs, 2":[{"FixedArray":["Any",8]},"KvsNode"],"core, kvs, 4":[{"Struct":[{"name":"key","tipe":"Any"},{"name":"value","tipe":{"Option":"Any"}}]},"KvsCell"]}}}
{"arbos_version":58,"code":[{"opcode":59,"immediate":{"Tuple":[]},"debug_info":{"location":null,"attributes":{"breakpoint":false}}},{"opcode":51,"immediate":{"Tuple":[{"Int":"0"},{"Tuple":[{"Int":"0"}]},{"Tuple":[]}]},"debug_info":{"location":null,"attributes":{"breakpoint":false}}},{"opcode":56,"immediate":null,"debug_info":{"location":{"line":3,"column":11,"absolute":57,"file_id":4324297106567844897},"attributes":{"breakpoint":false}}},{"opcode":56,"immediate":{"Tuple":[]},"debug_info":{"location":{"line":3,"column":11,"absolute":57,"file_id":4324297106567844897},"attributes":{"breakpoint":false}}},{"opcode":50,"immediate":{"Int":"5"},"debug_info":{"location":null,"attributes":{"breakpoint":false}}},{"opcode":81,"immediate":{"Int":"0"},"debug_info":{"location":null,"attributes":{"breakpoint":false}}},{"opcode":51,"immediate":null,"debug_info":{"location":null,"attributes":{"breakpoint":false}}},{"opcode":50,"immediate":{"Tuple":[{"Int":"1"},{"Int":"fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd"}]},"debug_info":{"location":null,"attributes":{"breakpoint":false}}},{"opcode":81,"immediate":{"Int":"1"},"debug_info":{"location":null,"attributes":{"breakpoint":false}}},{"opcode":51,"immediate":null,"debug_info":{"location":null,"attributes":{"breakpoint":false}}},{"opcode":57,"immediate":null,"debug_info":{"location":{"line":3,"column":11,"absolute":57,"file_id":4324297106567844897},"attributes":{"breakpoint":false}}},{"opcode":48,"immediate":null,"debug_info":{"location":{"line":3,"column":11,"absolute":57,"file_id":4324297106567844897},"attributes":{"breakpoint":false}}},{"opcode":57,"immediate":null,"debug_info":{"location":{"line":3,"column":11,"absolute":57,"file_id":4324297106567844897},"attributes":{"breakpoint":false}}},{"opcode":52,"immediate":null,"debug_info":{"location":{"line":3,"column":11,"absolute":57,"file_id":4324297106567844897},"attributes":{"breakpoint":false}}}],"static_val":{"Tuple":[]},"globals":[{"id":0,"name":"global1","tipe":"Uint","offset":0,"debug_info":{"location":{"line":0,"column":4,"absolute":4,"file_id":4324297106567844897},"attributes":{"breakpoint":false}}},{"id":1,"name":"global2","tipe":{"Option":"Int"},"offset":1,"debug_info":{"location":{"line":1,"column":4,"absolute":23,"file_id":4324297106567844897},"attributes":{"breakpoint":false}}},{"id":18446744073709551615,"name":"_jump_table","tipe":"Any","offset":null,"debug_info":{"location":null,"attributes":{"breakpoint":false}}}],"file_info_chart":{"4324297106567844897":"regcopy_old","9360984261226144135":"core::kvs","11013747379006575874":"core::array"},"type_tree":{"inner":{"core, array, 0":[{"FixedArray":["Any",8]},"block"],"core, array, 1":[{"Struct":[{"name":"size","tipe":"Uint"},{"name":"topstep","tipe":"Uint"},{"name":"contents","tipe":{"Nominal":[["core","array"],0,[]]}}]},"array"],"core, array, 31":[{"Struct":[{"name":"bloc","tipe":{"Nominal":[["core","array"],0,[]]}},{"name":"val","tipe":"Any"}]},"arraySwapSubResult"],"core, array, 33":[{"Struct":[{"name":"f","tipe":{"Func":[{"view":false,"write":false,"throw":false,"safe":false,"sensitive":false,"closure":false,"public":false,"returns":true,"nargs":2,"nouts":1},["Any","Any"],{"Tuple":["Any","Any"]}]}},{"name":"val","tipe":"Any"}]},"opClosure"],"core, kvs, 0":[{"Struct":[{"name":"tree","tipe":{"Nominal":[["core","kvs"],2,[]]}},{"name":"size","tipe":"Uint"}]},"Kvs"],"core, kvs, 14":[{"Struct":[{"name":"kvs","tipe":{"FixedArray":["Any",8]}},{"name":"index","tipe":"Uint"},{"name":"next","tipe":{"Option":{"Nominal":[["core","kvs"],14,[]]}}}]},"Unwinder"],"core, kvs, 2":[{"FixedArray":["Any",8]},"KvsNode"],"core, kvs, 4":[{"Struct":[{"name":"key","tipe":"Any"},{"name":"value","tipe":{"Option":"Any"}}]},"KvsCell"]}}}
Loading

0 comments on commit 234cf67

Please sign in to comment.