·_Cfunc_CString(String s, int8 *p)
{
p = runtime·cmalloc(s.len+1);
- runtime·mcpy((byte*)p, s.str, s.len);
+ runtime·memmove((byte*)p, s.str, s.len);
p[s.len] = 0;
FLUSH(&p);
}
q = p + n - siz;
if(siz > 0) {
- runtime·mcpy(q, (byte*)&arg0, siz);
+ runtime·memmove(q, (byte*)&arg0, siz);
// SUBL $siz, SP
*p++ = 0x81;
MOVL to+0(FP), DI
MOVL fr+4(FP), SI
MOVL n+8(FP), BX
- CMPL BX, $0
- JLT fault
-
/*
* check and set for backwards
*/
MOVL to+0(FP),AX
RET
-/*
- * if called with negative count,
- * treat as error rather than
- * rotating all of memory
- */
-fault:
- MOVL $0,SI
- MOVL 0(SI), AX
- RET
q = p + n - siz;
if(siz > 0) {
- runtime·mcpy(q, (byte*)&arg0, siz);
+ runtime·memmove(q, (byte*)&arg0, siz);
// SUBQ $siz, SP
*p++ = 0x48;
MOVQ to+0(FP), DI
MOVQ fr+8(FP), SI
MOVLQSX n+16(FP), BX
- CMPQ BX, $0
- JLT fault
/*
* check and set for backwards
MOVQ to+0(FP),AX
RET
-/*
- * if called with negative count,
- * treat as error rather than
- * rotating all of memory
- */
-fault:
- MOVQ $0,SI
- MOVQ 0(SI), AX
- RET
*pc++ = 0xe52de000 | (siz + 4);
if(siz > 0) {
- runtime·mcpy(q, (byte*)&arg0, siz);
+ runtime·memmove(q, (byte*)&arg0, siz);
// MOVW $vars(PC), R0
*pc = 0xe28f0000 | (int32)(q - (byte*)pc - 8);
#define malloc runtime·mal
#define memset(a,b,c) runtime·memclr((byte*)(a), (uint32)(c))
-#define memcpy(a,b,c) runtime·mcpy((byte*)(a),(byte*)(b),(uint32)(c))
+#define memcpy(a,b,c) runtime·memmove((byte*)(a),(byte*)(b),(uint32)(c))
#define assert(a) if(!(a)) runtime·throw("assert")
#define free(x) runtime·free(x)
#define memmove(a,b,c) runtime·memmove(a, b, c)
pid = pid/10;
}
p = buf;
- runtime·mcpy((void*)p, (void*)"/proc/", 6);
+ runtime·memmove((void*)p, (void*)"/proc/", 6);
p += 6;
for(q--; q >= tmp;)
*p++ = *q--;
- runtime·mcpy((void*)p, (void*)"/notepg", 7);
+ runtime·memmove((void*)p, (void*)"/notepg", 7);
/* post interrupt note */
fd = runtime·open(buf, OWRITE);
argsize = old.argsize;
if(argsize > 0) {
sp -= argsize;
- runtime·mcpy(top->argp, sp, argsize);
+ runtime·memmove(top->argp, sp, argsize);
}
goid = old.gobuf.g->goid; // fault if g is bad, before gogo
USED(goid);
sp = (byte*)top;
if(argsize > 0) {
sp -= argsize;
- runtime·mcpy(sp, m->moreargp, argsize);
+ runtime·memmove(sp, m->moreargp, argsize);
}
if(thechar == '5') {
// caller would have saved its LR below args.
sp = newg->stackbase;
sp -= siz;
- runtime·mcpy(sp, argp, narg);
+ runtime·memmove(sp, argp, narg);
if(thechar == '5') {
// caller's LR
sp -= sizeof(void*);
d->argp = (byte*)(&fn+2); // skip caller's saved link register
else
d->argp = (byte*)(&fn+1);
- runtime·mcpy(d->args, d->argp, d->siz);
+ runtime·memmove(d->args, d->argp, d->siz);
d->link = g->defer;
g->defer = d;
argp = (byte*)&arg0;
if(d->argp != argp)
return;
- runtime·mcpy(argp, d->args, d->siz);
+ runtime·memmove(argp, d->args, d->siz);
g->defer = d->link;
fn = d->fn;
runtime·free(d);
return;
arg[0] = runtime·malloc(k.len + 1);
- runtime·mcpy(arg[0], k.str, k.len);
+ runtime·memmove(arg[0], k.str, k.len);
arg[0][k.len] = 0;
arg[1] = runtime·malloc(v.len + 1);
- runtime·mcpy(arg[1], v.str, v.len);
+ runtime·memmove(arg[1], v.str, v.len);
arg[1][v.len] = 0;
runtime·asmcgocall(libcgo_setenv, arg);
runtime·panic(err);
}
-void
-runtime·mcpy(byte *t, byte *f, uint32 n)
-{
- while(n > 0) {
- *t = *f;
- t++;
- f++;
- n--;
- }
-}
-
int32
runtime·mcmp(byte *s1, byte *s2, uint32 n)
{
void runtime·prints(int8*);
void runtime·printf(int8*, ...);
byte* runtime·mchr(byte*, byte, byte*);
-void runtime·mcpy(byte*, byte*, uint32);
int32 runtime·mcmp(byte*, byte*, uint32);
void runtime·memmove(void*, void*, uint32);
void* runtime·mal(uintptr);
l = runtime·findnull(str);
s = runtime·gostringsize(l);
- runtime·mcpy(s.str, str, l);
+ runtime·memmove(s.str, str, l);
return s;
}
String s;
s = runtime·gostringsize(l);
- runtime·mcpy(s.str, str, l);
+ runtime·memmove(s.str, str, l);
return s;
}
return s1;
s3 = runtime·gostringsize(s1.len + s2.len);
- runtime·mcpy(s3.str, s1.str, s1.len);
- runtime·mcpy(s3.str+s1.len, s2.str, s2.len);
+ runtime·memmove(s3.str, s1.str, s1.len);
+ runtime·memmove(s3.str+s1.len, s2.str, s2.len);
return s3;
}
out = runtime·gostringsize(l);
l = 0;
for(i=0; i<n; i++) {
- runtime·mcpy(out.str+l, s[i].str, s[i].len);
+ runtime·memmove(out.str+l, s[i].str, s[i].len);
l += s[i].len;
}
return out;
func slicebytetostring(b Slice) (s String) {
s = runtime·gostringsize(b.len);
- runtime·mcpy(s.str, b.array, s.len);
+ runtime·memmove(s.str, b.array, s.len);
}
func stringtoslicebyte(s String) (b Slice) {
b.array = runtime·mallocgc(s.len, FlagNoPointers, 1, 1);
b.len = s.len;
b.cap = s.len;
- runtime·mcpy(b.array, s.str, s.len);
+ runtime·memmove(b.array, s.str, s.len);
}
func sliceinttostring(b Slice) (s String) {
break;
if(p > buf && p[-1] != '/')
*p++ = '/';
- runtime·mcpy(p, q, len+1);
+ runtime·memmove(p, q, len+1);
p += len;
}
}