Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Compiler-v2] porting more V1 unit tests to V2 #12085

Merged
merged 8 commits into from
Feb 22, 2024
Merged

Conversation

rahxephon89
Copy link
Contributor

@rahxephon89 rahxephon89 commented Feb 16, 2024

Description

This PR ports 34 tests from v1 to v2. To achieve this, remapping of v1-v2 test paths is updated as well. It also closes #12099 and closes #12116

Test Plan

Check updated tests in v2.

Copy link

trunk-io bot commented Feb 16, 2024

⏱️ 44h 27m total CI duration on this PR
Job Cumulative Duration Recent Runs
rust-unit-tests 14h 10m 🟩🟩🟩🟩 (+17 more)
rust-move-unit-coverage 8h 30m 🟩🟩🟩🟩 (+16 more)
windows-build 6h 44m 🟩🟩🟩🟩🟩 (+17 more)
rust-move-tests 5h 9m 🟩🟩🟩🟩🟩 (+16 more)
rust-lints 2h 20m 🟩🟩🟩🟩🟩 (+17 more)
run-tests-main-branch 2h 19m 🟥🟥🟥🟥🟥 (+17 more)
check 1h 28m 🟩🟩🟩🟩🟩 (+17 more)
general-lints 46m 🟩🟩🟩🟩🟩 (+17 more)
check-dynamic-deps 45m 🟩🟩🟩🟩🟩 (+17 more)
forge-e2e-test / forge 28m 🟥🟩
rust-smoke-tests 27m 🟩
rust-images / rust-all 21m 🟩
execution-performance / single-node-performance 18m 🟩
forge-compat-test / forge 14m 🟩
semgrep/ci 9m 🟩🟩🟩🟩🟩 (+17 more)
cli-e2e-tests / run-cli-tests 6m 🟩
file_change_determinator 4m 🟩🟩🟩🟩🟩 (+17 more)
file_change_determinator 4m 🟩🟩🟩🟩🟩 (+17 more)
permission-check 1m 🟩🟩🟩🟩🟩 (+17 more)
permission-check 1m 🟩🟩🟩🟩🟩 (+17 more)
permission-check 1m 🟩🟩🟩🟩🟩 (+17 more)
permission-check 57s 🟩🟩🟩🟩🟩 (+17 more)
node-api-compatibility-tests / node-api-compatibility-tests 50s 🟩
file_change_determinator 11s 🟩
execution-performance / file_change_determinator 10s 🟩
determine-docker-build-metadata 8s 🟩
permission-check 3s 🟩

🚨 1 job on the last run was significantly faster/slower than expected

Job Duration vs 7d avg Delta
rust-images / rust-all 21m 13m +58%

settingsfeedbackdocs ⋅ learn more about trunk.io

Copy link

codecov bot commented Feb 16, 2024

Codecov Report

Attention: 5 lines in your changes are missing coverage. Please review.

Comparison is base (e229929) 70.2% compared to head (43ed70e) 70.3%.
Report is 1 commits behind head on main.

Files Patch % Lines
third_party/move/move-model/src/ast.rs 83.3% 3 Missing ⚠️
...ty/move/move-compiler-v2/src/bytecode_generator.rs 87.5% 1 Missing ⚠️
...d_party/move/move-model/src/builder/exp_builder.rs 98.6% 1 Missing ⚠️
Additional details and impacted files
@@           Coverage Diff           @@
##             main   #12085   +/-   ##
=======================================
  Coverage    70.2%    70.3%           
=======================================
  Files         850      850           
  Lines      189074   189122   +48     
=======================================
+ Hits       132901   132975   +74     
+ Misses      56173    56147   -26     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@rahxephon89 rahxephon89 force-pushed the teng/unmatched-tests branch 2 times, most recently from ab2eb95 to cd36a41 Compare February 17, 2024 03:26
@rahxephon89 rahxephon89 changed the title [WIP] porting more V1 unit tests to V2 [Compiler-v2] porting more V1 unit tests to V2 Feb 17, 2024
@rahxephon89 rahxephon89 marked this pull request as ready for review February 17, 2024 04:03
@@ -0,0 +1,15 @@
module 0x8675309::A {
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This test is derived from pop_weird to reveal the complete error message from V1.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As the error message shows this is actually a bug, not an error message. Can we check to fix it?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sure, filed an issue for it: #12099

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A fix is added to this PR: aecf7ad

@@ -0,0 +1,7 @@
module 0x8675309::M {
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This test is derived from pack_reference to reveal the complete error message from V1.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is actually some kind of a bug. Only checks which happen on stackless bytecode we do not expect to see here. Could you check why this 2nd error is omitted?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

2nd error is omitted because each exp_translator has a boolean flag had_errors to check whether an error is already generated for it. If so, no further error is generated. The corresponding checking is here.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ideally, we would keep going and also produce errors for unrelated types/expressions. This seems nontrivial to do, at least for someone (me) with little experience with the type checker, but we should file a bug to fix it eventually, since it's definitely better user experience.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A bug is filed: #12117

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

After removing had_errors or putting it into finalize_types, duplicated errors are generated in some tests. I suggest we keep this bug open and visit it later.

@@ -0,0 +1,32 @@
module 0x42::Test {
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This test is derived from vector_with_non_base_type_inferred to reveal the complete error message from V1.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Again the same bug.

@@ -0,0 +1,22 @@
module 0x42::Test {
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This test is derived from vector_with_non_base_type to reveal the complete error message from V1.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This seems to be the same bug as above, this errors should be produced

Copy link
Contributor

@wrwg wrwg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great work. None of the cases where errors aren't reported by v2 seem to be related to later phases but actually are bugs. Can we take a closer look whats wrong?

@@ -0,0 +1,7 @@
module 0x8675309::M {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is actually some kind of a bug. Only checks which happen on stackless bytecode we do not expect to see here. Could you check why this 2nd error is omitted?

@@ -18,23 +18,23 @@ module 0x42::m {

Diagnostics:
error: Expected a struct type. Global storage operations are restricted to struct types declared in the current module. Found: '#0'
┌─ tests/bytecode-generator/global_invalid.move:4:17
┌─ tests/bytecode-generator/v1-typing/global_invalid.move:4:17
4 │ assert!(exists<T>(addr), 0);
│ ^^^^^^^^^^^^^^^
│ │
│ Invalid call to exists<#0>.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The #0 is a bug which we should fix. Lets open one?

Copy link
Contributor Author

@rahxephon89 rahxephon89 Feb 18, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it is because T is a generic type that is not instantiated with a concrete type here. Or you mean we should use "T" instead of "#0" in the error message?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, #0 is a bad message. Better to show T.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A bug is filed: #12116

Copy link
Contributor Author

@rahxephon89 rahxephon89 Feb 21, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed in A fix is added to this PR: 1be81cc

@@ -0,0 +1,15 @@
module 0x8675309::A {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As the error message shows this is actually a bug, not an error message. Can we check to fix it?

@@ -0,0 +1,22 @@
module 0x42::Test {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This seems to be the same bug as above, this errors should be produced

@@ -0,0 +1,32 @@
module 0x42::Test {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Again the same bug.

@rahxephon89 rahxephon89 force-pushed the teng/unmatched-tests branch 3 times, most recently from 15671c9 to aecf7ad Compare February 19, 2024 05:31
@rahxephon89 rahxephon89 requested a review from wrwg February 19, 2024 05:32
Copy link
Contributor

@brmataptos brmataptos left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mostly looks good. We need to file some related bugs for outstanding issues before submitting this.

@@ -0,0 +1,7 @@
module 0x8675309::M {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ideally, we would keep going and also produce errors for unrelated types/expressions. This seems nontrivial to do, at least for someone (me) with little experience with the type checker, but we should file a bug to fix it eventually, since it's definitely better user experience.

┌─ tests/checking/typing/v1-commands/assign_wrong_type.move:6:5
6 │ x = false
│ ^
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please file a bug (low priority) to add context to bugs like this to show why we expected u64. In this case the declaration is right above, but in other cases it may be far away. We should do better.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

filed a bug: #12118

6 │ y = 0;
│ ^

error: undeclared `<SELF>_0::y`
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please file a (low priority) bug to investigate why this message isn't consistent with the above.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

filed a bug: #12121

11 │ let T { i, x, b: flag } = t;
│ ^

error: undeclared `Test::i`
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We shouldn't be having these follow-on errors. In other cases we would have fewer errors; in this case, we have the following 3 errors that V1 doesn't have. File a bug to investigate.

It also appears in unpack_missing_binding.exp

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

filed a bug: #12122

error: invalid type instantiation `&u64`: only structs, vectors, and primitive types allowed
┌─ tests/checking/typing/vector_with_non_base_type_inferred.move:4:9
4 │ vector[&0];
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This test case, too.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same as #12117

@@ -1,3 +0,0 @@
// ---- Model Dump
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What happened to this file? I'm concerned about this. ***

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I just moved it so that it is in the same folder with the corresponding move file

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok, I now see that (in current main, so before your PR): move-compiler-v2/tests/folding/ has
constant_supported_exps.exp and constant_supported_exps.move.

while move-compiler-v2/tests/checking/typing/ has just
constant_supported_exps.exp (is missing the .move file)

So you are moving everything from /folding/ to /checking/typing/. At least nothing is gone.

@brmataptos brmataptos self-requested a review February 21, 2024 03:46
Copy link
Contributor

@brmataptos brmataptos left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good.

@@ -1,3 +0,0 @@
// ---- Model Dump
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok, I now see that (in current main, so before your PR): move-compiler-v2/tests/folding/ has
constant_supported_exps.exp and constant_supported_exps.move.

while move-compiler-v2/tests/checking/typing/ has just
constant_supported_exps.exp (is missing the .move file)

So you are moving everything from /folding/ to /checking/typing/. At least nothing is gone.

Copy link
Contributor

@vineethk vineethk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Have some comments to address (either in this PR, or file as issues to fix later). LGTM otherwise.

@@ -593,7 +593,7 @@ impl<'env> Generator<'env> {
let err_msg = format!(
"Expected a struct type. Global storage operations are restricted to struct types declared in the current module. \
Found: '{}'",
self.env().get_node_instantiation(id)[0].display(&self.env().get_type_display_ctx())
self.env().get_node_instantiation(id)[0].display(&self.func_env.get_type_display_ctx())
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please also check other calls to get_type_display_ctx() in this file?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

@@ -0,0 +1,13 @@

Diagnostics:
error: wrong number of type arguments
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I believe for non-vector generic structs, we additionally provide (expected, got). Ideally we should do the same here. Low priority bug? (it is a minor fix).

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed

move_to<R>(s, R { f: false }, a);
}
}
// check: POSITIVE_STACK_SIZE_AT_BLOCK_END
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just curious: were these comments used for anything automated in v1?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yeah, it seems to be related to bytecode verification but I could not find the code to parse and check it.

15 │ 0x2::X::foo();
│ ------------- called here

error: function `0x2::X::baz` cannot be called from a scriptbecause it is not public
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like we are missing a space in "scriptbecause".

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed

@@ -17,23 +17,23 @@ module 0x42::m {


Diagnostics:
error: Expected a struct type. Global storage operations are restricted to struct types declared in the current module. Found: '#0'
error: Expected a struct type. Global storage operations are restricted to struct types declared in the current module. Found: 'T'
┌─ tests/bytecode-generator/v1-typing/global_invalid.move:4:17
4 │ assert!(exists<T>(addr), 0);
│ ^^^^^^^^^^^^^^^
│ │
│ Invalid call to exists<#0>.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is still #0 used on line 26?

Copy link
Contributor Author

@rahxephon89 rahxephon89 Feb 21, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for catching this. Updated the fix in this commit: 17f8886

error: invalid type instantiation `&u64`: only structs, vectors, and primitive types allowed
┌─ tests/checking/typing/vector_with_non_base_type_inferred.move:4:9
4 │ vector[&0];
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same as #12117

@@ -0,0 +1,111 @@
============ initial bytecode ================
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you leave all this live-var tests out? This is refactored in the not yet reviewed (sigh) PRs and the tests have to go somewhere else. if we land yours there is a risk we forget.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

@rahxephon89 rahxephon89 force-pushed the teng/unmatched-tests branch 2 times, most recently from 5ba6f41 to 1f9d681 Compare February 21, 2024 17:34
@rahxephon89 rahxephon89 requested a review from wrwg February 21, 2024 17:35
@rahxephon89 rahxephon89 force-pushed the teng/unmatched-tests branch 2 times, most recently from 5442230 to fa97b8b Compare February 21, 2024 22:08
}
}
}

/// Finalize the the given type, producing an error if it is not complete, or if
/// invalid type instantiations are found.
fn finalize_type(&mut self, node_id: NodeId, ty: &Type) -> Type {
fn finalize_type(&mut self, node_id: NodeId, ty: &Type, vector_type: &mut Vec<Type>) -> Type {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

BTreeSet, also call it already_reported or something

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

Var(_) => {
self.error(
&loc,
&format!(
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You'd report ty multiple times now if you have more than one type var. Perhaps bring back the incomplete

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

ty.display(&self.type_display_context())
),
);
let loc = self.parent.parent.env.get_node_loc(node_id);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not seeing where you actually assign free type vars with error types to avoid followup errors.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I used another set to store all reported variable types

},
Struct(_, _, inst) => {
for i in inst {
self.check_valid_instantiation(&loc, i)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is not just vectors here too.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

@rahxephon89 rahxephon89 requested a review from wrwg February 22, 2024 00:41
@rahxephon89 rahxephon89 enabled auto-merge (squash) February 22, 2024 01:25

This comment has been minimized.

This comment has been minimized.

This comment has been minimized.

Copy link
Contributor

✅ Forge suite compat success on aptos-node-v1.9.5 ==> 43ed70ee26732da6ef1999f0035be55839047f21

Compatibility test results for aptos-node-v1.9.5 ==> 43ed70ee26732da6ef1999f0035be55839047f21 (PR)
1. Check liveness of validators at old version: aptos-node-v1.9.5
compatibility::simple-validator-upgrade::liveness-check : committed: 3629 txn/s, submitted: 3630 txn/s, latency: 5156 ms, (p50: 4800 ms, p90: 8700 ms, p99: 14500 ms), latency samples: 225040
2. Upgrading first Validator to new version: 43ed70ee26732da6ef1999f0035be55839047f21
compatibility::simple-validator-upgrade::single-validator-upgrade : committed: 622 txn/s, submitted: 664 txn/s, expired: 41 txn/s, latency: 35081 ms, (p50: 37500 ms, p90: 57800 ms, p99: 60000 ms), latency samples: 52941
3. Upgrading rest of first batch to new version: 43ed70ee26732da6ef1999f0035be55839047f21
compatibility::simple-validator-upgrade::half-validator-upgrade : committed: 86 txn/s, submitted: 371 txn/s, expired: 285 txn/s, latency: 33114 ms, (p50: 25900 ms, p90: 81100 ms, p99: 104800 ms), latency samples: 9306
4. upgrading second batch to new version: 43ed70ee26732da6ef1999f0035be55839047f21
compatibility::simple-validator-upgrade::rest-validator-upgrade : committed: 2666 txn/s, latency: 11067 ms, (p50: 12200 ms, p90: 17200 ms, p99: 17700 ms), latency samples: 119980
5. check swarm health
Compatibility test for aptos-node-v1.9.5 ==> 43ed70ee26732da6ef1999f0035be55839047f21 passed
Test Ok

This comment has been minimized.

Copy link
Contributor

✅ Forge suite realistic_env_max_load success on 43ed70ee26732da6ef1999f0035be55839047f21

two traffics test: inner traffic : committed: 7559 txn/s, latency: 5177 ms, (p50: 5000 ms, p90: 6300 ms, p99: 9900 ms), latency samples: 3273180
two traffics test : committed: 100 txn/s, latency: 2066 ms, (p50: 2000 ms, p90: 2300 ms, p99: 3000 ms), latency samples: 1760
Latency breakdown for phase 0: ["QsBatchToPos: max: 0.279, avg: 0.209", "QsPosToProposal: max: 0.456, avg: 0.413", "ConsensusProposalToOrdered: max: 0.592, avg: 0.549", "ConsensusOrderedToCommit: max: 0.417, avg: 0.391", "ConsensusProposalToCommit: max: 0.961, avg: 0.940"]
Max round gap was 1 [limit 4] at version 1500506. Max no progress secs was 4.232632 [limit 15] at version 1500506.
Test Ok

@rahxephon89 rahxephon89 merged commit b934829 into main Feb 22, 2024
80 of 83 checks passed
@rahxephon89 rahxephon89 deleted the teng/unmatched-tests branch February 22, 2024 02:34
zjma added a commit that referenced this pull request Feb 22, 2024
* Fix `iss`-related bug in Groth16 path & refactor (#12017)

Co-authored-by: Oliver <[email protected]>

* [aptosvm] Simplify VM flows (#11888)

* Duplicated logic for creating the gas meter for view functions has been removed.
* Duplicated logic for calculating gas used for view functions has been removed.
* There was unreachable code in failure transaction cleanup, where the discarded
status has been returned immediately, but then re-checked again. The first check
is shifted inside.
* No more default transaction metadata.
* Scripts are now validated consistently.
* Simplifies transaction execution function signature to avoid `Option<String>`.
* Removes duplicated features from `AptosVM` and keeps them in `MoveVMExt`.
* Fixes a bug when script hash was not computed for `RunOnAbort`.

Related tests are moved  to `move-e2e-tests`.

* [Compiler V2] Critical edge elimination (#11894)

Implement a pass to eliminate critical edges by splitting them with empty blocks

* [consensus configs] reduce sending block size from 2500 to 1900 (#12091)

### Description

The block output limit is no longer hit with p2p txns.

### Test Plan

Forge `realistic_env_max_load` TPS improves.

* [Indexer-grpc] Add profiling support. (#12034)

* Minor aggregator cleanup (#12013)

* Minor aggregator cleanup

* Addressing PR comments

* [move] rotate_authentication_key_call should not modify OriginatingAddress (#12108)

Co-authored-by: Alin Tomescu <[email protected]>

* [Data Streaming Service] Add dynamic prefetching support

* [Data Streaming Service] Add dynamic prefetching unit tests.

* [Data Streaming Service] Update existing integration tests.

* [State Sync] Add backpressure to fast sync receiver.

* Update perf baseline for gas charging coverage improvements (reducing throughput) (#12124)

* Reduce latency of cloning network sender using Arc pointers (#12103)

* Avoid cloning network sender using Arc pointers

* Removing a clone

* 100 node sweep test

* Removing a few clone operations

* reset forge test

* Removing some clones

* Removing clones

* adopt AIP-61 terminology for consistency (#12123)

adopt AIP-61 terminology for consistency

* [Consensus] Remove non-decoupled execution and refactor for cleaner interfaces (#12104)

* fix jwk key logging (#12090)

* remove spurious error lines (#12137)

* randomness #1: types update from randomnet (#12106)

* types update from randomnet

* update

* lint

* lint

* All validators broadcast commit vote messages (#12059)

* All validators broadcast commit messages

* Forge testing

* Increase timeout for forge

* test forge realistic_env_workload_sweep_test

* run realistic_env_workload_sweep_test

* run realistic_env_workload_sweep_test

* run sweep test

* increase forge runner duration

* forge testing

* Letting the proposer also broadcast commit decision for backward compatibility

* removing forge changes

* Added a TODO

* [vm] Resource access control: runtime engine (#10544)

* [vm] Resource access control: runtime engine

Implements the runtime engine for resource access control:

- a representation of access control specifiers in `loaded_data::runtime_access_specifiers`.
- a loader for access specifiers in `runtime::loader::access_specifier_loader`.
- a new stateful object representing the access control logic in `runtime::access_control`.
- finally the use of the `AccessControlState` in `runtime::interpreter`.

* Addressing reviewer comments.

* Addressing reviewer comments.

* typo: PTLA -> PTAL

* Rebasing: adjusting to upstream changes

* Rebasing

* ObjectCodeDeployment API cleanup update (#12133)

* ObjectCodeDeployment API cleanup update (#12141)

* [Compiler-v2] porting more V1 unit tests to V2 (#12085)

* update tests

* fix bug

* fix-12116

* fix missing space

* add expected got

* remove live-var tests

* fix had_erros

* fix

* Enable the max object nesting check (#12129)

* Resolved the warning for unused variable (#12157)

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* Squashed commit of the following:

commit a50ffec
Author: Zhoujun Ma <[email protected]>
Date:   Thu Feb 22 21:10:12 2024 +0000

    lint

commit 388350f
Author: zhoujun.ma <[email protected]>
Date:   Thu Feb 22 13:04:28 2024 -0800

    update

commit 76f7eca
Author: zhoujun.ma <[email protected]>
Date:   Thu Feb 22 12:56:04 2024 -0800

    update

commit a663542
Author: zhoujun.ma <[email protected]>
Date:   Thu Feb 22 12:54:18 2024 -0800

    update

commit b439449
Author: zhoujun.ma <[email protected]>
Date:   Thu Feb 22 12:34:14 2024 -0800

    update

commit 3378ceb
Author: zhoujun.ma <[email protected]>
Date:   Thu Feb 22 12:17:06 2024 -0800

    update

commit 6cd6685
Author: zhoujun.ma <[email protected]>
Date:   Thu Feb 22 12:15:05 2024 -0800

    update

commit 6d89f37
Author: zhoujun.ma <[email protected]>
Date:   Thu Feb 22 12:13:51 2024 -0800

    update

commit 980f257
Author: zhoujun.ma <[email protected]>
Date:   Thu Feb 22 12:12:04 2024 -0800

    update

commit 16e9349
Author: Zhoujun Ma <[email protected]>
Date:   Thu Feb 22 18:25:08 2024 +0000

    lint

---------

Co-authored-by: Alin Tomescu <[email protected]>
Co-authored-by: Oliver <[email protected]>
Co-authored-by: George Mitenkov <[email protected]>
Co-authored-by: Zekun Wang <[email protected]>
Co-authored-by: Brian (Sunghoon) Cho <[email protected]>
Co-authored-by: Guoteng Rao <[email protected]>
Co-authored-by: Satya Vusirikala <[email protected]>
Co-authored-by: David Wolinsky <[email protected]>
Co-authored-by: Josh Lind <[email protected]>
Co-authored-by: igor-aptos <[email protected]>
Co-authored-by: Sital Kedia <[email protected]>
Co-authored-by: Wolfgang Grieskamp <[email protected]>
Co-authored-by: Teng Zhang <[email protected]>
Co-authored-by: Junkil Park <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
4 participants