Optimize list removal lock usage (#8451)

Assisted-by: WarpForgeAgent:DeepSeek-v4-flash
This commit is contained in:
Kevin Turcios authored and GitHub committed 2026-08-05 02:12:22 +09:00
1 parent 184db1191b
commit 5febd2eedb
3 files changed
+9 -6

No files matched your search

+2 -2
View File
@@ -42,7 +42,7 @@ repos:
- id: generate-rs-opcode-metadata
name: generate rust opcode metadata
entry: python tools/opcode_metadata/generate_rs_opcode_metadata.py
entry: python3 tools/opcode_metadata/generate_rs_opcode_metadata.py
files: '^(crates/compiler-core/src/bytecode/instruction\.rs|tools/opcode_metadata/*)$'
pass_filenames: false
language: system
@@ -53,7 +53,7 @@ repos:
- id: generate-py-opcode-metadata
name: generate python opcode metadata
entry: python tools/opcode_metadata/generate_py_opcode_metadata.py
entry: python3 tools/opcode_metadata/generate_py_opcode_metadata.py
files: '^(crates/compiler-core/src/bytecode/instruction\.rs|tools/opcode_metadata/*)$'
pass_filenames: false
language: system
+6 -3
View File
@@ -372,12 +372,15 @@ impl PyList {
if let Some(index) = index.into() {
// defer delete out of borrow
let is_inside_range = index < self.borrow_vec().len();
Ok(is_inside_range.then(|| self.borrow_vec_mut().remove(index)))
let removed = {
let mut elements = self.borrow_vec_mut();
(index < elements.len()).then(|| elements.remove(index))
};
drop(removed);
Ok(())
} else {
Err(vm.new_value_error(format!("'{}' is not in list", needle.str(vm)?)))
}
.map(drop)
}
fn _delitem(&self, needle: &PyObject, vm: &VirtualMachine) -> PyResult<()> {
+1 -1
View File
@@ -1,4 +1,4 @@
#!/usr/bin/env python
#!/usr/bin/env python3
import argparse
import ast
import glob