Skip to content

Commit d1817ac

Browse files
committed
more intern_static_str adaption
1 parent b4706df commit d1817ac

File tree

6 files changed

+22
-14
lines changed

6 files changed

+22
-14
lines changed

vm/src/builtins/tuple.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -430,7 +430,7 @@ impl Representable for PyTuple {
430430
#[inline]
431431
fn repr(zelf: &Py<Self>, vm: &VirtualMachine) -> PyResult<PyStrRef> {
432432
let s = if zelf.is_empty() {
433-
vm.ctx.intern_str("()").to_owned()
433+
vm.ctx.intern_static_str("()").to_owned()
434434
} else if let Some(_guard) = ReprGuard::enter(vm, zelf.as_object()) {
435435
let s = if zelf.len() == 1 {
436436
format!("({},)", zelf.elements[0].repr(vm)?)
@@ -439,7 +439,7 @@ impl Representable for PyTuple {
439439
};
440440
vm.ctx.new_str(s)
441441
} else {
442-
vm.ctx.intern_str("(...)").to_owned()
442+
vm.ctx.intern_static_str("(...)").to_owned()
443443
};
444444
Ok(s)
445445
}

vm/src/builtins/type.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -323,12 +323,12 @@ impl PyType {
323323
// This is used for class initialisation where the vm is not yet available.
324324
pub fn set_str_attr<V: Into<PyObjectRef>>(
325325
&self,
326-
attr_name: &str,
326+
attr_name: &'static str,
327327
value: V,
328328
ctx: impl AsRef<Context>,
329329
) {
330330
let ctx = ctx.as_ref();
331-
let attr_name = ctx.intern_str(attr_name);
331+
let attr_name = ctx.intern_static_str(attr_name);
332332
self.set_attr(attr_name, value.into())
333333
}
334334

vm/src/stdlib/builtins.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -406,7 +406,7 @@ mod builtins {
406406
fn breakpoint(args: FuncArgs, vm: &VirtualMachine) -> PyResult {
407407
match vm
408408
.sys_module
409-
.get_attr(vm.ctx.intern_str("breakpointhook"), vm)
409+
.get_attr(vm.ctx.intern_static_str("breakpointhook"), vm)
410410
{
411411
Ok(hook) => hook.as_ref().call(args, vm),
412412
Err(_) => Err(vm.new_runtime_error("lost sys.breakpointhook".to_owned())),

vm/src/stdlib/errno.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ pub fn make_module(vm: &VirtualMachine) -> PyRef<PyModule> {
1212
"errorcode" => errorcode.clone(),
1313
});
1414
for (name, code) in ERROR_CODES {
15-
let name = vm.ctx.intern_str(*name);
15+
let name = vm.ctx.intern_static_str(name);
1616
let code = vm.new_pyobj(*code);
1717
errorcode
1818
.set_item(&*code, name.to_owned().into(), vm)

vm/src/stdlib/sys.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,7 @@ mod sys {
149149
fn byteorder(vm: &VirtualMachine) -> PyStrRef {
150150
// https://doc.rust-lang.org/reference/conditional-compilation.html#target_endian
151151
vm.ctx
152-
.intern_str(if cfg!(target_endian = "little") {
152+
.intern_static_str(if cfg!(target_endian = "little") {
153153
"little"
154154
} else if cfg!(target_endian = "big") {
155155
"big"

vm/src/vm/mod.rs

+15-7
Original file line numberDiff line numberDiff line change
@@ -206,12 +206,20 @@ impl VirtualMachine {
206206

207207
vm.builtins.init_dict(
208208
vm.ctx.intern_str("builtins"),
209-
Some(vm.ctx.intern_str(stdlib::builtins::DOC.unwrap()).to_owned()),
209+
Some(
210+
vm.ctx
211+
.intern_static_str(stdlib::builtins::DOC.unwrap())
212+
.to_owned(),
213+
),
210214
&vm,
211215
);
212216
vm.sys_module.init_dict(
213217
vm.ctx.intern_str("sys"),
214-
Some(vm.ctx.intern_str(stdlib::sys::DOC.unwrap()).to_owned()),
218+
Some(
219+
vm.ctx
220+
.intern_static_str(stdlib::sys::DOC.unwrap())
221+
.to_owned(),
222+
),
215223
&vm,
216224
);
217225
// let name = vm.sys_module.get_attr("__name__", &vm).unwrap();
@@ -300,7 +308,7 @@ impl VirtualMachine {
300308
#[cfg(any(not(target_arch = "wasm32"), target_os = "wasi"))]
301309
{
302310
let io = import::import_builtin(self, "_io")?;
303-
let set_stdio = |name, fd, write| {
311+
let set_stdio = |name, dunder_name, fd, write| {
304312
let buffered_stdio = self.state.settings.buffered_stdio;
305313
let unbuffered = write && !buffered_stdio;
306314
let buf = crate::stdlib::io::open(
@@ -332,7 +340,7 @@ impl VirtualMachine {
332340
let mode = if write { "w" } else { "r" };
333341
stdio.set_attr("mode", self.ctx.new_str(mode), self)?;
334342

335-
let dunder_name = self.ctx.intern_str(format!("__{name}__"));
343+
let dunder_name = self.ctx.intern_static_str(dunder_name);
336344
self.sys_module.set_attr(
337345
dunder_name, // e.g. __stdin__
338346
stdio.clone(),
@@ -341,9 +349,9 @@ impl VirtualMachine {
341349
self.sys_module.set_attr(name, stdio, self)?;
342350
Ok(())
343351
};
344-
set_stdio("stdin", 0, false)?;
345-
set_stdio("stdout", 1, true)?;
346-
set_stdio("stderr", 2, true)?;
352+
set_stdio("stdin", "__stdin__", 0, false)?;
353+
set_stdio("stdout", "__stdout__", 1, true)?;
354+
set_stdio("stderr", "__stderr__", 2, true)?;
347355

348356
let io_open = io.get_attr("open", self)?;
349357
self.builtins.set_attr("open", io_open, self)?;

0 commit comments

Comments
 (0)