version 1.185, 2007/07/01 11:56:03
|
version 1.186, 2007/07/01 15:42:17
|
Line 239 Label *xts; /* same content as vm_prims,
|
Line 239 Label *xts; /* same content as vm_prims,
|
#endif |
#endif |
|
|
#ifndef NO_DYNAMIC |
#ifndef NO_DYNAMIC |
#if defined(__alpha) |
#ifndef CODE_ALIGNMENT |
#define CODE_ALIGNMENT 16 |
|
#else |
|
#define CODE_ALIGNMENT 0 |
#define CODE_ALIGNMENT 0 |
#endif |
#endif |
|
|
Line 1088 static void align_code(void)
|
Line 1086 static void align_code(void)
|
/* align code_here on some platforms */ |
/* align code_here on some platforms */ |
{ |
{ |
#ifndef NO_DYNAMIC |
#ifndef NO_DYNAMIC |
#if defined(__alpha) |
#if defined(CODE_PADDING) |
Cell alignment = CODE_ALIGNMENT; |
Cell alignment = CODE_ALIGNMENT; |
int nops[] = {0x47ff041f,0x2ffe0000,0x47ff041f,0x2ffe0000}; |
static char nops[] = CODE_PADDING; |
|
UCell maxpadding=MAX_PADDING; |
UCell offset = ((UCell)code_here)&(alignment-1); |
UCell offset = ((UCell)code_here)&(alignment-1); |
UCell length = alignment-offset; |
UCell length = alignment-offset; |
if (offset != 0) { |
if (length <= maxpadding) { |
memcpy(code_here,((Address)nops)+offset,length); |
memcpy(code_here,nops+offset,length); |
code_here += length; |
code_here += length; |
} |
} |
#endif /* defined(__alpha) */ |
#endif /* defined(CODE_PADDING) */ |
#endif /* defined(NO_DYNAMIC */ |
#endif /* defined(NO_DYNAMIC */ |
} |
} |
|
|