Mark some blocks, which contain no pointers (for instance bytecodes) as atomic

This commit is contained in:
jjgarcia 2005-06-27 08:15:52 +00:00
parent 7cc625e136
commit 317e0752ba
3 changed files with 3 additions and 3 deletions

View file

@ -155,7 +155,7 @@ asm_end(cl_index beginning) {
bytecodes = cl_alloc_object(t_bytecodes);
bytecodes->bytecodes.code_size = code_size;
bytecodes->bytecodes.data_size = data_size;
bytecodes->bytecodes.code = cl_alloc(code_size * sizeof(cl_opcode));
bytecodes->bytecodes.code = cl_alloc_atomic(code_size * sizeof(cl_opcode));
bytecodes->bytecodes.data = (cl_object*)cl_alloc(data_size * sizeof(cl_object));
bytecodes->bytecodes.lex = Cnil;
for (i = 0, code = (cl_opcode *)bytecodes->bytecodes.code; i < code_size; i++) {

View file

@ -744,7 +744,7 @@ sharp_Y_reader(cl_object in, cl_object c, cl_object d)
rv->bytecodes.definition = CAR(x); x = CDR(x);
rv->bytecodes.code_size = fixint(cl_list_length(CAR(x)));
rv->bytecodes.code = cl_alloc(rv->bytecodes.code_size * sizeof(uint16_t));
rv->bytecodes.code = cl_alloc_atomic(rv->bytecodes.code_size * sizeof(uint16_t));
for ( i=0, nth=CAR(x) ; !endp(nth) ; i++, nth=CDR(nth) )
((cl_opcode*)(rv->bytecodes.code))[i] = fixint(CAR(nth));
x = CDR(x);

View file

@ -701,7 +701,7 @@ ecl_string_push_extend(cl_object s, int c)
if (s->string.dim >= ADIMLIM/2)
FEerror("Can't extend the string.", 0);
new_length = (s->string.dim + 1) * 2;
p = (char *)cl_alloc(new_length+1); p[new_length] = 0;
p = (char *)cl_alloc_atomic(new_length+1); p[new_length] = 0;
memcpy(p, s->string.self, s->string.dim * sizeof(char));
s->string.dim = new_length;
adjust_displaced(s, p - (char *)s->string.self);