@@ -1136,7 +1136,6 @@ impl<T> OwnedVector<T> for ~[T] {
1136
1136
*
1137
1137
* * n - The number of elements to reserve space for
1138
1138
*/
1139
- #[ inline]
1140
1139
#[ cfg( stage0) ]
1141
1140
fn reserve( & mut self , n: uint) {
1142
1141
// Only make the (slow) call into the runtime if we have to
@@ -1170,7 +1169,6 @@ impl<T> OwnedVector<T> for ~[T] {
1170
1169
*
1171
1170
* * n - The number of elements to reserve space for
1172
1171
*/
1173
- #[ inline]
1174
1172
#[ cfg( not( stage0) ) ]
1175
1173
fn reserve( & mut self , n: uint) {
1176
1174
// Only make the (slow) call into the runtime if we have to
@@ -1228,21 +1226,12 @@ impl<T> OwnedVector<T> for ~[T] {
1228
1226
let repr: * * raw :: VecRepr = transmute ( & mut * self ) ;
1229
1227
let fill = ( * * repr) . unboxed . fill ;
1230
1228
if ( * * repr) . unboxed . alloc <= fill {
1231
- // need more space
1232
- reserve_no_inline ( self ) ;
1229
+ let new_len = self . len ( ) + 1 ;
1230
+ self . reserve_at_least ( new_len ) ;
1233
1231
}
1234
1232
1235
1233
self . push_fast ( t) ;
1236
1234
}
1237
-
1238
- // this peculiar function is because reserve_at_least is very
1239
- // large (because of reserve), and will be inlined, which
1240
- // makes push too large.
1241
- #[ inline( never) ]
1242
- fn reserve_no_inline < T > ( v : & mut ~[ T ] ) {
1243
- let new_len = v. len ( ) + 1 ;
1244
- v. reserve_at_least ( new_len) ;
1245
- }
1246
1235
}
1247
1236
1248
1237
// This doesn't bother to make sure we have space.
0 commit comments