Avoid .to_string() for symbol names where possible
This commit is contained in:
parent
a569cb4022
commit
e01de0f58d
4 changed files with 11 additions and 11 deletions
|
@ -63,9 +63,9 @@ pub(crate) fn import_function<'tcx>(
|
||||||
module: &mut dyn Module,
|
module: &mut dyn Module,
|
||||||
inst: Instance<'tcx>,
|
inst: Instance<'tcx>,
|
||||||
) -> FuncId {
|
) -> FuncId {
|
||||||
let name = tcx.symbol_name(inst).name.to_string();
|
let name = tcx.symbol_name(inst).name;
|
||||||
let sig = get_function_sig(tcx, module.isa().triple(), inst);
|
let sig = get_function_sig(tcx, module.isa().triple(), inst);
|
||||||
module.declare_function(&name, Linkage::Import, &sig).unwrap()
|
module.declare_function(name, Linkage::Import, &sig).unwrap()
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<'tcx> FunctionCx<'_, '_, 'tcx> {
|
impl<'tcx> FunctionCx<'_, '_, 'tcx> {
|
||||||
|
@ -89,7 +89,7 @@ impl<'tcx> FunctionCx<'_, '_, 'tcx> {
|
||||||
args: &[Value],
|
args: &[Value],
|
||||||
) -> &[Value] {
|
) -> &[Value] {
|
||||||
let sig = Signature { params, returns, call_conv: CallConv::triple_default(self.triple()) };
|
let sig = Signature { params, returns, call_conv: CallConv::triple_default(self.triple()) };
|
||||||
let func_id = self.module.declare_function(&name, Linkage::Import, &sig).unwrap();
|
let func_id = self.module.declare_function(name, Linkage::Import, &sig).unwrap();
|
||||||
let func_ref = self.module.declare_func_in_func(func_id, &mut self.bcx.func);
|
let func_ref = self.module.declare_func_in_func(func_id, &mut self.bcx.func);
|
||||||
let call_inst = self.bcx.ins().call(func_ref, args);
|
let call_inst = self.bcx.ins().call(func_ref, args);
|
||||||
if self.clif_comments.enabled() {
|
if self.clif_comments.enabled() {
|
||||||
|
|
|
@ -156,9 +156,9 @@ extern "C" fn __clif_jit_fn(instance_ptr: *const Instance<'static>) -> *const u8
|
||||||
let jit_module = &mut lazy_jit_state.jit_module;
|
let jit_module = &mut lazy_jit_state.jit_module;
|
||||||
let backend_config = lazy_jit_state.backend_config.clone();
|
let backend_config = lazy_jit_state.backend_config.clone();
|
||||||
|
|
||||||
let name = tcx.symbol_name(instance).name.to_string();
|
let name = tcx.symbol_name(instance).name;
|
||||||
let sig = crate::abi::get_function_sig(tcx, jit_module.isa().triple(), instance);
|
let sig = crate::abi::get_function_sig(tcx, jit_module.isa().triple(), instance);
|
||||||
let func_id = jit_module.declare_function(&name, Linkage::Export, &sig).unwrap();
|
let func_id = jit_module.declare_function(name, Linkage::Export, &sig).unwrap();
|
||||||
jit_module.prepare_for_function_redefine(func_id).unwrap();
|
jit_module.prepare_for_function_redefine(func_id).unwrap();
|
||||||
|
|
||||||
let mut cx = crate::CodegenCx::new(tcx, backend_config, jit_module.isa(), false);
|
let mut cx = crate::CodegenCx::new(tcx, backend_config, jit_module.isa(), false);
|
||||||
|
@ -241,9 +241,9 @@ fn codegen_shim<'tcx>(cx: &mut CodegenCx<'tcx>, module: &mut JITModule, inst: In
|
||||||
|
|
||||||
let pointer_type = module.target_config().pointer_type();
|
let pointer_type = module.target_config().pointer_type();
|
||||||
|
|
||||||
let name = tcx.symbol_name(inst).name.to_string();
|
let name = tcx.symbol_name(inst).name;
|
||||||
let sig = crate::abi::get_function_sig(tcx, module.isa().triple(), inst);
|
let sig = crate::abi::get_function_sig(tcx, module.isa().triple(), inst);
|
||||||
let func_id = module.declare_function(&name, Linkage::Export, &sig).unwrap();
|
let func_id = module.declare_function(name, Linkage::Export, &sig).unwrap();
|
||||||
|
|
||||||
let instance_ptr = Box::into_raw(Box::new(inst));
|
let instance_ptr = Box::into_raw(Box::new(inst));
|
||||||
|
|
||||||
|
|
|
@ -22,7 +22,7 @@ fn predefine_mono_items<'tcx>(
|
||||||
for &(mono_item, (linkage, visibility)) in mono_items {
|
for &(mono_item, (linkage, visibility)) in mono_items {
|
||||||
match mono_item {
|
match mono_item {
|
||||||
MonoItem::Fn(instance) => {
|
MonoItem::Fn(instance) => {
|
||||||
let name = tcx.symbol_name(instance).name.to_string();
|
let name = tcx.symbol_name(instance).name;
|
||||||
let _inst_guard = crate::PrintOnPanic(|| format!("{:?} {}", instance, name));
|
let _inst_guard = crate::PrintOnPanic(|| format!("{:?} {}", instance, name));
|
||||||
let sig = get_function_sig(tcx, module.isa().triple(), instance);
|
let sig = get_function_sig(tcx, module.isa().triple(), instance);
|
||||||
let linkage = crate::linkage::get_clif_linkage(
|
let linkage = crate::linkage::get_clif_linkage(
|
||||||
|
@ -31,7 +31,7 @@ fn predefine_mono_items<'tcx>(
|
||||||
visibility,
|
visibility,
|
||||||
is_compiler_builtins,
|
is_compiler_builtins,
|
||||||
);
|
);
|
||||||
module.declare_function(&name, linkage, &sig).unwrap();
|
module.declare_function(name, linkage, &sig).unwrap();
|
||||||
}
|
}
|
||||||
MonoItem::Static(_) | MonoItem::GlobalAsm(_) => {}
|
MonoItem::Static(_) | MonoItem::GlobalAsm(_) => {}
|
||||||
}
|
}
|
||||||
|
|
|
@ -62,9 +62,9 @@ pub(crate) fn maybe_create_entry_wrapper(
|
||||||
|
|
||||||
let instance = Instance::mono(tcx, rust_main_def_id).polymorphize(tcx);
|
let instance = Instance::mono(tcx, rust_main_def_id).polymorphize(tcx);
|
||||||
|
|
||||||
let main_name = tcx.symbol_name(instance).name.to_string();
|
let main_name = tcx.symbol_name(instance).name;
|
||||||
let main_sig = get_function_sig(tcx, m.isa().triple(), instance);
|
let main_sig = get_function_sig(tcx, m.isa().triple(), instance);
|
||||||
let main_func_id = m.declare_function(&main_name, Linkage::Import, &main_sig).unwrap();
|
let main_func_id = m.declare_function(main_name, Linkage::Import, &main_sig).unwrap();
|
||||||
|
|
||||||
let mut ctx = Context::new();
|
let mut ctx = Context::new();
|
||||||
ctx.func = Function::with_name_signature(ExternalName::user(0, 0), cmain_sig);
|
ctx.func = Function::with_name_signature(ExternalName::user(0, 0), cmain_sig);
|
||||||
|
|
Loading…
Reference in a new issue