Remove the 5 integer msg! form

This commit is contained in:
Michael Vines 2021-12-10 13:13:30 -08:00
parent eeb97fe7ce
commit c5c699a918
8 changed files with 25 additions and 44 deletions

View File

@ -2,7 +2,7 @@
#[macro_use] #[macro_use]
extern crate alloc; extern crate alloc;
use solana_program::{custom_panic_default, entrypoint::SUCCESS, msg}; use solana_program::{custom_panic_default, entrypoint::SUCCESS, log::sol_log_64, msg};
use std::{alloc::Layout, mem}; use std::{alloc::Layout, mem};
#[no_mangle] #[no_mangle]
@ -46,7 +46,7 @@ pub extern "C" fn entrypoint(_input: *mut u8) -> u64 {
for i in 0..ITERS { for i in 0..ITERS {
assert_eq!(*ptr.add(i as usize), i as u8); assert_eq!(*ptr.add(i as usize), i as u8);
} }
msg!(0x3, 0, 0, 0, u64::from(*ptr.add(42))); sol_log_64(0x3, 0, 0, 0, u64::from(*ptr.add(42)));
assert_eq!(*ptr.add(42), 42); assert_eq!(*ptr.add(42), 42);
alloc::alloc::dealloc(ptr, layout); alloc::alloc::dealloc(ptr, layout);
} }
@ -61,7 +61,7 @@ pub extern "C" fn entrypoint(_input: *mut u8) -> u64 {
for v in ones.iter() { for v in ones.iter() {
sum += ones[*v]; sum += ones[*v];
} }
msg!(0x0, 0, 0, 0, sum as u64); sol_log_64(0x0, 0, 0, 0, sum as u64);
assert_eq!(sum, ITERS); assert_eq!(sum, ITERS);
} }
@ -74,7 +74,7 @@ pub extern "C" fn entrypoint(_input: *mut u8) -> u64 {
for i in 0..ITERS { for i in 0..ITERS {
v.push(i); v.push(i);
} }
msg!(0x4, 0, 0, 0, v.len() as u64); sol_log_64(0x4, 0, 0, 0, v.len() as u64);
assert_eq!(v.len(), ITERS); assert_eq!(v.len(), ITERS);
} }

View File

@ -1,6 +1,6 @@
//! Example Rust-based BPF program that tests call depth and stack usage //! Example Rust-based BPF program that tests call depth and stack usage
use solana_program::{custom_panic_default, entrypoint::SUCCESS, msg}; use solana_program::{custom_panic_default, entrypoint::SUCCESS, log::sol_log_64, msg};
#[inline(never)] #[inline(never)]
pub fn recurse(data: &mut [u8]) { pub fn recurse(data: &mut [u8]) {
@ -8,7 +8,7 @@ pub fn recurse(data: &mut [u8]) {
return; return;
} }
recurse(&mut data[1..]); recurse(&mut data[1..]);
msg!(line!(), 0, 0, 0, data[0]); sol_log_64(line!() as u64, 0, 0, 0, data[0] as u64);
} }
/// # Safety /// # Safety
@ -17,7 +17,7 @@ pub fn recurse(data: &mut [u8]) {
pub unsafe extern "C" fn entrypoint(input: *mut u8) -> u64 { pub unsafe extern "C" fn entrypoint(input: *mut u8) -> u64 {
msg!("Call depth"); msg!("Call depth");
let depth = *(input.add(16) as *mut u8); let depth = *(input.add(16) as *mut u8);
msg!(line!(), 0, 0, 0, depth); sol_log_64(line!() as u64, 0, 0, 0, depth as u64);
let mut data = Vec::with_capacity(depth as usize); let mut data = Vec::with_capacity(depth as usize);
for i in 0_u8..depth { for i in 0_u8..depth {
data.push(i); data.push(i);

View File

@ -7,6 +7,7 @@ use solana_program::{
account_info::AccountInfo, account_info::AccountInfo,
bpf_loader, entrypoint, bpf_loader, entrypoint,
entrypoint::{ProgramResult, MAX_PERMITTED_DATA_INCREASE}, entrypoint::{ProgramResult, MAX_PERMITTED_DATA_INCREASE},
log::sol_log_64,
msg, msg,
program::{get_return_data, invoke, invoke_signed, set_return_data}, program::{get_return_data, invoke, invoke_signed, set_return_data},
program_error::ProgramError, program_error::ProgramError,
@ -105,7 +106,7 @@ fn process_instruction(
assert!(accounts[INVOKED_PROGRAM_DUP_INDEX] assert!(accounts[INVOKED_PROGRAM_DUP_INDEX]
.try_borrow_mut_data() .try_borrow_mut_data()
.is_err()); .is_err());
msg!(data[0], 0, 0, 0, 0); sol_log_64(data[0] as u64, 0, 0, 0, 0);
} }
} }
RETURN_OK => { RETURN_OK => {

View File

@ -1,7 +1,7 @@
//! Example Rust-based BPF program tests loop iteration //! Example Rust-based BPF program tests loop iteration
extern crate solana_program; extern crate solana_program;
use solana_program::{custom_panic_default, entrypoint::SUCCESS, msg}; use solana_program::{custom_panic_default, entrypoint::SUCCESS, log::sol_log_64};
#[no_mangle] #[no_mangle]
pub extern "C" fn entrypoint(_input: *mut u8) -> u64 { pub extern "C" fn entrypoint(_input: *mut u8) -> u64 {
@ -12,7 +12,7 @@ pub extern "C" fn entrypoint(_input: *mut u8) -> u64 {
for v in ones.iter() { for v in ones.iter() {
sum += *v; sum += *v;
} }
msg!(0xff, 0, 0, 0, sum); sol_log_64(0xff, 0, 0, 0, sum);
assert_eq!(sum, ITERS as u64); assert_eq!(sum, ITERS as u64);
SUCCESS SUCCESS

View File

@ -1,7 +1,7 @@
//! Solana Rust-based BPF program utility functions and types //! Solana Rust-based BPF program utility functions and types
extern crate solana_program; extern crate solana_program;
use solana_program::msg; use solana_program::{log::sol_log_64, msg};
pub fn many_args( pub fn many_args(
arg1: u64, arg1: u64,
@ -15,8 +15,8 @@ pub fn many_args(
arg9: u64, arg9: u64,
) -> u64 { ) -> u64 {
msg!("Another package - many_args"); msg!("Another package - many_args");
msg!(arg1, arg2, arg3, arg4, arg5); sol_log_64(arg1, arg2, arg3, arg4, arg5);
msg!(arg6, arg7, arg8, arg9, 0); sol_log_64(arg6, arg7, arg8, arg9, 0);
arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9
} }
@ -39,8 +39,8 @@ pub fn many_args_sret(
arg9: u64, arg9: u64,
) -> Ret { ) -> Ret {
msg!("Another package - many_args_sret"); msg!("Another package - many_args_sret");
msg!(arg1, arg2, arg3, arg4, arg5); sol_log_64(arg1, arg2, arg3, arg4, arg5);
msg!(arg6, arg7, arg8, arg9, 0); sol_log_64(arg6, arg7, arg8, arg9, 0);
Ret { Ret {
group1: u128::from(arg1) + u128::from(arg2) + u128::from(arg3), group1: u128::from(arg1) + u128::from(arg2) + u128::from(arg3),
group2: u128::from(arg4) + u128::from(arg5) + u128::from(arg6), group2: u128::from(arg4) + u128::from(arg5) + u128::from(arg6),

View File

@ -2,7 +2,7 @@
extern crate solana_program; extern crate solana_program;
use solana_bpf_rust_param_passing_dep::{Data, TestDep}; use solana_bpf_rust_param_passing_dep::{Data, TestDep};
use solana_program::{custom_panic_default, entrypoint::SUCCESS, msg}; use solana_program::{custom_panic_default, entrypoint::SUCCESS, log::sol_log_64};
#[no_mangle] #[no_mangle]
pub extern "C" fn entrypoint(_input: *mut u8) -> u64 { pub extern "C" fn entrypoint(_input: *mut u8) -> u64 {
@ -17,7 +17,7 @@ pub extern "C" fn entrypoint(_input: *mut u8) -> u64 {
}; };
let test_dep = TestDep::new(&data, 1, 2, 3, 4, 5); let test_dep = TestDep::new(&data, 1, 2, 3, 4, 5);
msg!(0, 0, 0, 0, test_dep.thirty); sol_log_64(0, 0, 0, 0, test_dep.thirty as u64);
assert!(test_dep.thirty == 30); assert!(test_dep.thirty == 30);
SUCCESS SUCCESS

View File

@ -21,12 +21,10 @@ macro_rules! info {
/// Print a message to the log /// Print a message to the log
/// ///
/// There are two fast forms: /// Fast form:
/// 1. Single string: `msg!("hi")` /// 1. Single string: `msg!("hi")`
/// 2. 5 integers: `msg!(1, 2, 3, 4, 5)`
/// ///
/// The third form is more generic and incurs a very large runtime overhead so it should be used /// The generic form incurs a very large runtime overhead so it should be used with care:
/// with care:
/// 3. Generalized format string: `msg!("Hello {}: 1, 2, {}", "World", 3)` /// 3. Generalized format string: `msg!("Hello {}: 1, 2, {}", "World", 3)`
/// ///
#[macro_export] #[macro_export]
@ -34,15 +32,6 @@ macro_rules! msg {
($msg:expr) => { ($msg:expr) => {
$crate::log::sol_log($msg) $crate::log::sol_log($msg)
}; };
($arg1:expr, $arg2:expr, $arg3:expr, $arg4:expr, $arg5:expr) => {
$crate::log::sol_log_64(
$arg1 as u64,
$arg2 as u64,
$arg3 as u64,
$arg4 as u64,
$arg5 as u64,
)
};
($($arg:tt)*) => ($crate::log::sol_log(&format!($($arg)*))); ($($arg:tt)*) => ($crate::log::sol_log(&format!($($arg)*)));
} }
@ -108,7 +97,7 @@ pub fn sol_log_data(data: &[&[u8]]) {
#[allow(dead_code)] #[allow(dead_code)]
pub fn sol_log_slice(slice: &[u8]) { pub fn sol_log_slice(slice: &[u8]) {
for (i, s) in slice.iter().enumerate() { for (i, s) in slice.iter().enumerate() {
msg!(0, 0, 0, i, *s); sol_log_64(0, 0, 0, i as u64, *s as u64);
} }
} }
@ -120,15 +109,15 @@ pub fn sol_log_slice(slice: &[u8]) {
pub fn sol_log_params(accounts: &[AccountInfo], data: &[u8]) { pub fn sol_log_params(accounts: &[AccountInfo], data: &[u8]) {
for (i, account) in accounts.iter().enumerate() { for (i, account) in accounts.iter().enumerate() {
msg!("AccountInfo"); msg!("AccountInfo");
msg!(0, 0, 0, 0, i); sol_log_64(0, 0, 0, 0, i as u64);
msg!("- Is signer"); msg!("- Is signer");
msg!(0, 0, 0, 0, account.is_signer); sol_log_64(0, 0, 0, 0, account.is_signer as u64);
msg!("- Key"); msg!("- Key");
account.key.log(); account.key.log();
msg!("- Lamports"); msg!("- Lamports");
msg!(0, 0, 0, 0, account.lamports()); sol_log_64(0, 0, 0, 0, account.lamports());
msg!("- Account data length"); msg!("- Account data length");
msg!(0, 0, 0, 0, account.data_len()); sol_log_64(0, 0, 0, 0, account.data_len() as u64);
msg!("- Owner"); msg!("- Owner");
account.owner.log(); account.owner.log();
} }

View File

@ -11,13 +11,4 @@ macro_rules! info {
($msg:expr) => { ($msg:expr) => {
$crate::log::sol_log($msg) $crate::log::sol_log($msg)
}; };
($arg1:expr, $arg2:expr, $arg3:expr, $arg4:expr, $arg5:expr) => {
$crate::log::sol_log_64(
$arg1 as u64,
$arg2 as u64,
$arg3 as u64,
$arg4 as u64,
$arg5 as u64,
)
};
} }