@@ -3,7 +3,7 @@ use core::mem;
33use alloc:: vec;
44use alloc:: { boxed:: Box , format, sync:: Arc , vec:: Vec } ;
55
6- use async_lock :: Mutex ;
6+ use parking_lot :: Mutex ;
77
88use java_class_proto:: { JavaFieldProto , JavaMethodProto } ;
99use jvm:: { ClassInstance , ClassInstanceRef , Jvm , Result } ;
@@ -82,7 +82,7 @@ impl Vector {
8282 tracing:: debug!( "java.util.Vector::add({:?}, {:?})" , & this, & element) ;
8383
8484 let rust_vector = Self :: get_rust_vector ( jvm, & this) . await ?;
85- rust_vector. lock ( ) . await . push ( element. into ( ) ) ;
85+ rust_vector. lock ( ) . push ( element. into ( ) ) ;
8686
8787 Ok ( true )
8888 }
@@ -92,7 +92,7 @@ impl Vector {
9292
9393 // do we need to call add() instead?
9494 let rust_vector = Self :: get_rust_vector ( jvm, & this) . await ?;
95- rust_vector. lock ( ) . await . push ( element. into ( ) ) ;
95+ rust_vector. lock ( ) . push ( element. into ( ) ) ;
9696
9797 Ok ( ( ) )
9898 }
@@ -107,7 +107,7 @@ impl Vector {
107107 tracing:: debug!( "java.util.Vector::insertElementAt({:?}, {:?}, {:?})" , & this, & element, index) ;
108108
109109 let rust_vector = Self :: get_rust_vector ( jvm, & this) . await ?;
110- rust_vector. lock ( ) . await . insert ( index as usize , element. into ( ) ) ;
110+ rust_vector. lock ( ) . insert ( index as usize , element. into ( ) ) ;
111111
112112 Ok ( ( ) )
113113 }
@@ -116,7 +116,7 @@ impl Vector {
116116 tracing:: debug!( "java.util.Vector::elementAt({:?}, {:?})" , & this, index) ;
117117
118118 let rust_vector = Self :: get_rust_vector ( jvm, & this) . await ?;
119- let element = rust_vector. lock ( ) . await . get ( index as usize ) . unwrap ( ) . clone ( ) ;
119+ let element = rust_vector. lock ( ) . get ( index as usize ) . unwrap ( ) . clone ( ) ;
120120
121121 Ok ( element. into ( ) )
122122 }
@@ -131,7 +131,7 @@ impl Vector {
131131 tracing:: debug!( "java.util.Vector::set({:?}, {:?}, {:?})" , & this, index, & element) ;
132132
133133 let rust_vector = Self :: get_rust_vector ( jvm, & this) . await ?;
134- let old_element = mem:: replace ( & mut rust_vector. lock ( ) . await [ index as usize ] , element. into ( ) ) ;
134+ let old_element = mem:: replace ( & mut rust_vector. lock ( ) [ index as usize ] , element. into ( ) ) ;
135135
136136 Ok ( old_element. into ( ) )
137137 }
@@ -140,7 +140,7 @@ impl Vector {
140140 tracing:: debug!( "java.util.Vector::size({:?})" , & this) ;
141141
142142 let rust_vector = Self :: get_rust_vector ( jvm, & this) . await ?;
143- let size = rust_vector. lock ( ) . await . len ( ) ;
143+ let size = rust_vector. lock ( ) . len ( ) ;
144144
145145 Ok ( size as _ )
146146 }
@@ -149,7 +149,7 @@ impl Vector {
149149 tracing:: debug!( "java.util.Vector::isEmpty({:?})" , & this) ;
150150
151151 let rust_vector = Self :: get_rust_vector ( jvm, & this) . await ?;
152- let is_empty = rust_vector. lock ( ) . await . is_empty ( ) ;
152+ let is_empty = rust_vector. lock ( ) . is_empty ( ) ;
153153
154154 Ok ( is_empty)
155155 }
@@ -158,7 +158,7 @@ impl Vector {
158158 tracing:: debug!( "java.util.Vector::remove({:?}, {:?})" , & this, index) ;
159159
160160 let rust_vector = Self :: get_rust_vector ( jvm, & this) . await ?;
161- let removed = rust_vector. lock ( ) . await . remove ( index as usize ) ;
161+ let removed = rust_vector. lock ( ) . remove ( index as usize ) ;
162162
163163 Ok ( removed. into ( ) )
164164 }
@@ -167,7 +167,7 @@ impl Vector {
167167 tracing:: debug!( "java.util.Vector::removeAllElements({:?})" , & this) ;
168168
169169 let rust_vector = Self :: get_rust_vector ( jvm, & this) . await ?;
170- rust_vector. lock ( ) . await . clear ( ) ;
170+ rust_vector. lock ( ) . clear ( ) ;
171171
172172 Ok ( ( ) )
173173 }
@@ -176,7 +176,7 @@ impl Vector {
176176 tracing:: debug!( "java.util.Vector::removeElementAt({:?}, {:?})" , & this, index) ;
177177
178178 let rust_vector = Self :: get_rust_vector ( jvm, & this) . await ?;
179- rust_vector. lock ( ) . await . remove ( index as usize ) ;
179+ rust_vector. lock ( ) . remove ( index as usize ) ;
180180
181181 Ok ( ( ) )
182182 }
@@ -185,7 +185,7 @@ impl Vector {
185185 tracing:: debug!( "java.util.Vector::lastIndexOf({:?}, {:?})" , & this, & element) ;
186186
187187 let rust_vector = Self :: get_rust_vector ( jvm, & this) . await ?;
188- let index = rust_vector. lock ( ) . await . len ( ) - 1 ;
188+ let index = rust_vector. lock ( ) . len ( ) - 1 ;
189189
190190 let index: i32 = jvm
191191 . invoke_virtual ( & this, "lastIndexOf" , "(Ljava/lang/Object;I)I" , ( element, index as i32 ) )
@@ -204,15 +204,16 @@ impl Vector {
204204 tracing:: debug!( "java.util.Vector::lastIndexOf({:?}, {:?}, {:?})" , & this, & element, index) ;
205205
206206 let rust_vector = Self :: get_rust_vector ( jvm, & this) . await ?;
207- let vector = rust_vector. lock ( ) . await ;
208- let size = vector. len ( ) ;
207+ let size = rust_vector. lock ( ) . len ( ) ;
209208
210209 if index as usize >= size {
211210 return Err ( jvm
212211 . exception ( "java/lang/IndexOutOfBoundsException" , & format ! ( "{} >= {}" , index, size) )
213212 . await ) ;
214213 }
215214
215+ let vector = rust_vector. lock ( ) ;
216+
216217 for ( i, item) in vector[ ..=index as usize ] . iter ( ) . enumerate ( ) . rev ( ) {
217218 if item. is_none ( ) {
218219 if element. is_null ( ) {
@@ -235,11 +236,11 @@ impl Vector {
235236
236237 let rust_vector = Self :: get_rust_vector ( jvm, & this) . await ?;
237238
238- if rust_vector. lock ( ) . await . len ( ) == 0 {
239+ if rust_vector. lock ( ) . len ( ) == 0 {
239240 return Ok ( None . into ( ) ) ;
240241 }
241242
242- let element = rust_vector. lock ( ) . await . first ( ) . cloned ( ) . unwrap ( ) ;
243+ let element = rust_vector. lock ( ) . first ( ) . cloned ( ) . unwrap ( ) ;
243244
244245 Ok ( element. into ( ) )
245246 }
0 commit comments