@@ -3,7 +3,7 @@ use crate::memory::TestMemory;
33use motoko_rts:: continuation_table:: {
44 continuation_count, recall_continuation, remember_continuation,
55} ;
6- use motoko_rts:: types:: { SkewedPtr , Words } ;
6+ use motoko_rts:: types:: { Value , Words } ;
77
88pub unsafe fn test ( ) {
99 println ! ( "Testing continuation table ..." ) ;
@@ -18,25 +18,31 @@ pub unsafe fn test() {
1818
1919 let mut references: [ u32 ; N ] = [ 0 ; N ] ;
2020 for i in 0 ..N {
21- references[ i] = remember_continuation ( & mut heap, SkewedPtr ( ( i << 2 ) . wrapping_sub ( 1 ) ) ) ;
21+ references[ i] = remember_continuation (
22+ & mut heap,
23+ Value :: from_raw ( ( ( i as u32 ) << 2 ) . wrapping_sub ( 1 ) ) ,
24+ ) ;
2225 assert_eq ! ( continuation_count( ) , ( i + 1 ) as u32 ) ;
2326 }
2427
2528 for i in 0 ..N / 2 {
2629 let c = recall_continuation ( references[ i] ) ;
27- assert_eq ! ( c. 0 , ( i << 2 ) . wrapping_sub( 1 ) ) ;
30+ assert_eq ! ( c. get_raw ( ) , ( i << 2 ) . wrapping_sub( 1 ) as u32 ) ;
2831 assert_eq ! ( continuation_count( ) , ( N - i - 1 ) as u32 ) ;
2932 }
3033
3134 for i in 0 ..N / 2 {
32- references[ i] = remember_continuation ( & mut heap, SkewedPtr ( ( i << 2 ) . wrapping_sub ( 1 ) ) ) ;
35+ references[ i] = remember_continuation (
36+ & mut heap,
37+ Value :: from_raw ( ( ( i as u32 ) << 2 ) . wrapping_sub ( 1 ) ) ,
38+ ) ;
3339 assert_eq ! ( continuation_count( ) , ( N / 2 + i + 1 ) as u32 ) ;
3440 }
3541
3642 for i in ( 0 ..N ) . rev ( ) {
3743 assert_eq ! (
38- recall_continuation( references[ i] ) . 0 ,
39- ( i << 2 ) . wrapping_sub( 1 )
44+ recall_continuation( references[ i] ) . get_raw ( ) ,
45+ ( i << 2 ) . wrapping_sub( 1 ) as u32 ,
4046 ) ;
4147 assert_eq ! ( continuation_count( ) , i as u32 ) ;
4248 }
0 commit comments