Generate inlined vec __getitem__ call. We inline this, since it's simple but performance-critical.
(
builder: LowLevelIRBuilder, base: Value, index: Value, line: int, *, can_borrow: bool = False
)
| 312 | |
| 313 | |
| 314 | def vec_get_item( |
| 315 | builder: LowLevelIRBuilder, base: Value, index: Value, line: int, *, can_borrow: bool = False |
| 316 | ) -> Value: |
| 317 | """Generate inlined vec __getitem__ call. |
| 318 | |
| 319 | We inline this, since it's simple but performance-critical. |
| 320 | """ |
| 321 | # TODO: Support more item types |
| 322 | # TODO: Support more index types |
| 323 | len_val = vec_len(builder, base) |
| 324 | index = vec_check_and_adjust_index(builder, len_val, index, line) |
| 325 | return vec_get_item_unsafe(builder, base, index, line, can_borrow=can_borrow) |
| 326 | |
| 327 | |
| 328 | def vec_get_item_unsafe( |
no test coverage detected
searching dependent graphs…