|
1 | 1 | use std::collections::HashMap;
|
2 | 2 |
|
| 3 | +use crate::SpecializeSelf; |
3 | 4 | use crate::cannon::asm::BaselineAssembler;
|
| 5 | +use crate::compiler::CompilationMode; |
4 | 6 | use crate::compiler::codegen::{
|
5 |
| - ensure_runtime_entry_trampoline, AllocationSize, AnyReg, CompilationData, |
| 7 | + AllocationSize, AnyReg, CompilationData, ensure_runtime_entry_trampoline, |
6 | 8 | };
|
7 | 9 | use crate::compiler::runtime_entry_trampoline::{NativeFct, NativeFctKind};
|
8 |
| -use crate::compiler::CompilationMode; |
9 | 10 | use crate::cpu::{
|
10 |
| - has_lzcnt, has_popcnt, has_tzcnt, Reg, CALLEE_SAVED_REGS, FREG_PARAMS, FREG_RESULT, FREG_TMP1, |
11 |
| - REG_PARAMS, REG_RESULT, REG_SP, REG_TMP1, REG_TMP2, STACK_FRAME_ALIGNMENT, |
| 11 | + CALLEE_SAVED_REGS, FREG_PARAMS, FREG_RESULT, FREG_TMP1, REG_PARAMS, REG_RESULT, REG_SP, |
| 12 | + REG_TMP1, REG_TMP2, Reg, STACK_FRAME_ALIGNMENT, has_lzcnt, has_popcnt, has_tzcnt, |
12 | 13 | };
|
13 | 14 | use crate::gc::Address;
|
14 | 15 | use crate::masm::{CondCode, Label, Mem};
|
15 | 16 | use crate::mem::{self, align_i32};
|
16 | 17 | use crate::mirror::Header;
|
17 | 18 | use crate::mode::MachineMode;
|
18 | 19 | use crate::vm::{
|
| 20 | + CodeDescriptor, EnumLayout, GcPoint, INITIALIZED, Intrinsic, LazyCompilationSite, Trap, VM, |
19 | 21 | compute_vtable_index, create_enum_instance, create_struct_instance, find_trait_impl,
|
20 | 22 | find_trait_ty_impl, get_concrete_tuple_bty, get_concrete_tuple_bty_array, specialize_ty,
|
21 |
| - specialize_ty_array, CodeDescriptor, EnumLayout, GcPoint, Intrinsic, LazyCompilationSite, Trap, |
22 |
| - INITIALIZED, VM, |
| 23 | + specialize_ty_array, |
23 | 24 | };
|
24 |
| -use crate::SpecializeSelf; |
25 | 25 | use dora_bytecode::{
|
26 |
| - display_fct, display_ty, read, BytecodeFunction, BytecodeOffset, BytecodeTraitType, |
27 |
| - BytecodeType, BytecodeTypeArray, BytecodeVisitor, ConstPoolEntry, ConstPoolIdx, FunctionId, |
28 |
| - FunctionKind, GlobalId, Location, Register, |
| 26 | + BytecodeFunction, BytecodeOffset, BytecodeTraitType, BytecodeType, BytecodeTypeArray, |
| 27 | + BytecodeVisitor, ConstPoolEntry, ConstPoolIdx, FunctionId, FunctionKind, GlobalId, Location, |
| 28 | + Register, display_fct, display_ty, read, |
29 | 29 | };
|
30 | 30 |
|
31 | 31 | macro_rules! comment {
|
@@ -1946,7 +1946,7 @@ impl<'a> CannonCodeGen<'a> {
|
1946 | 1946 |
|
1947 | 1947 | fn emit_new_tuple(&mut self, dest: Register, idx: ConstPoolIdx) {
|
1948 | 1948 | let source_type_array = match self.bytecode.const_pool(idx) {
|
1949 |
| - ConstPoolEntry::Tuple(ref source_type_array) => source_type_array, |
| 1949 | + ConstPoolEntry::Tuple(source_type_array) => source_type_array, |
1950 | 1950 | _ => unreachable!(),
|
1951 | 1951 | };
|
1952 | 1952 | let subtypes = self.specialize_ty_array(source_type_array);
|
@@ -4606,7 +4606,7 @@ impl<'a> BytecodeVisitor for CannonCodeGen<'a> {
|
4606 | 4606 | fn visit_new_tuple(&mut self, dest: Register, idx: ConstPoolIdx) {
|
4607 | 4607 | comment!(self, {
|
4608 | 4608 | let subtypes = match self.bytecode.const_pool(idx) {
|
4609 |
| - ConstPoolEntry::Tuple(ref subtypes) => subtypes, |
| 4609 | + ConstPoolEntry::Tuple(subtypes) => subtypes, |
4610 | 4610 | _ => unreachable!(),
|
4611 | 4611 | };
|
4612 | 4612 | let tuple_name = display_ty(&self.vm.program, &BytecodeType::Tuple(subtypes.clone()));
|
|
0 commit comments