@@ -54,7 +54,7 @@ impl<'a, 'b> FunctionCompiler<'a, 'b> {
5454 let params = compiler. builder . func . dfg . block_params ( entry_block) . to_vec ( ) ;
5555 for ( i, ( ty, val) ) in arg_types. iter ( ) . zip ( params) . enumerate ( ) {
5656 compiler
57- . store_variable ( i, JitValue :: new ( val, ty. clone ( ) ) )
57+ . store_variable ( i as u32 , JitValue :: new ( val, ty. clone ( ) ) )
5858 . unwrap ( ) ;
5959 }
6060 compiler
@@ -66,8 +66,8 @@ impl<'a, 'b> FunctionCompiler<'a, 'b> {
6666 val : JitValue ,
6767 ) -> Result < ( ) , JitCompileError > {
6868 let builder = & mut self . builder ;
69- let local = self . variables [ idx] . get_or_insert_with ( || {
70- let var = Variable :: new ( idx) ;
69+ let local = self . variables [ idx as usize ] . get_or_insert_with ( || {
70+ let var = Variable :: new ( idx as usize ) ;
7171 let local = Local {
7272 var,
7373 ty : val. ty . clone ( ) ,
@@ -119,7 +119,7 @@ impl<'a, 'b> FunctionCompiler<'a, 'b> {
119119 let label_targets = bytecode. label_targets ( ) ;
120120
121121 for ( offset, instruction) in bytecode. instructions . iter ( ) . enumerate ( ) {
122- let label = Label ( offset) ;
122+ let label = Label ( offset as u32 ) ;
123123 if label_targets. contains ( & label) {
124124 let block = self . get_or_create_block ( label) ;
125125
@@ -219,7 +219,7 @@ impl<'a, 'b> FunctionCompiler<'a, 'b> {
219219 Ok ( ( ) )
220220 }
221221 Instruction :: LoadFast ( idx) => {
222- let local = self . variables [ * idx]
222+ let local = self . variables [ * idx as usize ]
223223 . as_ref ( )
224224 . ok_or ( JitCompileError :: BadBytecode ) ?;
225225 self . stack . push ( JitValue {
@@ -232,7 +232,9 @@ impl<'a, 'b> FunctionCompiler<'a, 'b> {
232232 let val = self . stack . pop ( ) . ok_or ( JitCompileError :: BadBytecode ) ?;
233233 self . store_variable ( * idx, val)
234234 }
235- Instruction :: LoadConst { idx } => self . load_const ( constants[ * idx] . borrow_constant ( ) ) ,
235+ Instruction :: LoadConst { idx } => {
236+ self . load_const ( constants[ * idx as usize ] . borrow_constant ( ) )
237+ }
236238 Instruction :: ReturnValue => {
237239 let val = self . stack . pop ( ) . ok_or ( JitCompileError :: BadBytecode ) ?;
238240 if let Some ( ref ty) = self . sig . ret {
0 commit comments