rv64: Initialize reserved buffers with empty slices

71910687c2b488f2fa37549af8f8ea410cb4859575579ecf4126988743370f75
Alexis Sellier committed ago 1 parent 01d930e3
lib/std/arch/rv64/emit.rad +10 -15
201 201
    if debug {
202 202
        set debugEntries = try alloc::allocSlice(
203 203
            arena, @sizeOf(types::DebugEntry), @alignOf(types::DebugEntry), MAX_DEBUG_ENTRIES
204 204
        ) as *mut [types::DebugEntry];
205 205
    }
206 -
    let mut pendingBranchesBuf = pendingBranches as *mut [PendingBranch];
207 -
    let mut pendingCallsBuf = pendingCalls as *mut [PendingCall];
208 -
    let mut pendingJumpsBuf = pendingJumps as *mut [PendingJump];
209 -
    let mut pendingAddrLoadsBuf = pendingAddrLoads as *mut [PendingAddrLoad];
210 -
    let mut funcsBuf = funcs as *mut [types::FuncAddr];
211 -
    set pendingBranchesBuf.len = 0;
212 -
    set pendingCallsBuf.len = 0;
213 -
    set pendingJumpsBuf.len = 0;
214 -
    set pendingAddrLoadsBuf.len = 0;
215 -
    set funcsBuf.len = 0;
206 +
    let pendingBranchesBuf = pendingBranches as *mut [PendingBranch];
207 +
    let pendingCallsBuf = pendingCalls as *mut [PendingCall];
208 +
    let pendingJumpsBuf = pendingJumps as *mut [PendingJump];
209 +
    let pendingAddrLoadsBuf = pendingAddrLoads as *mut [PendingAddrLoad];
210 +
    let funcsBuf = funcs as *mut [types::FuncAddr];
216 211
    return Emitter {
217 212
        error: nil,
218 213
        code: code as *mut [u32],
219 214
        codeLen: 0,
220 -
        pendingBranches: pendingBranchesBuf,
221 -
        pendingCalls: pendingCallsBuf,
222 -
        pendingJumps: pendingJumpsBuf,
223 -
        pendingAddrLoads: pendingAddrLoadsBuf,
215 +
        pendingBranches: &mut pendingBranchesBuf[..0],
216 +
        pendingCalls: &mut pendingCallsBuf[..0],
217 +
        pendingJumps: &mut pendingJumpsBuf[..0],
218 +
        pendingAddrLoads: &mut pendingAddrLoadsBuf[..0],
224 219
        labels: labels::init(blockOffsets as *mut [i32], funcEntries as *mut [dict::Entry]),
225 -
        funcs: funcsBuf,
220 +
        funcs: &mut funcsBuf[..0],
226 221
        debugEntries,
227 222
        debugEntriesLen: 0,
228 223
    };
229 224
}
230 225
seed/radiance.rv64 +0 -0

Binary file changed.

seed/radiance.rv64.git +1 -1
1 -
cbc895eb5c6c569c7648e51c5e4ff0579de8b925415ceb368100d07370b9fd7e
1 +
dee95968ebbc34ae4674a5b576baf5f0c7b8f055b2fa45b36c2aca09c2cfe41c