mirror of
https://github.com/corda/corda.git
synced 2025-06-23 01:19:00 +00:00
Merge branch 'master' of oss.readytalk.com:/var/local/git/avian
This commit is contained in:
@ -501,11 +501,19 @@ void unsignedShiftRightR(Context* con, unsigned size, Reg* a, Reg* b, Reg* t)
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
moveRR(Context* c, unsigned srcSize, Assembler::Register* src,
|
||||
unsigned dstSize, Assembler::Register* dst);
|
||||
|
||||
void unsignedShiftRightC(Context* con, unsigned size, Const* a, Reg* b, Reg* t)
|
||||
{
|
||||
int sh = getVal(a);
|
||||
if (size == 8) {
|
||||
if (sh < 32) {
|
||||
if (sh == 32) {
|
||||
Assembler::Register high(b->high);
|
||||
moveRR(con, 4, &high, 4, t);
|
||||
issue(con, li(H(t),0));
|
||||
} else if (sh < 32) {
|
||||
issue(con, srwi(R(t), R(b), sh));
|
||||
issue(con, rlwimi(R(t),H(b),32-sh,0,sh-1));
|
||||
issue(con, rlwinm(H(t),H(b),32-sh,sh,31));
|
||||
@ -596,10 +604,6 @@ jumpR(Context* c, unsigned size UNUSED, Assembler::Register* target)
|
||||
issue(c, bctr());
|
||||
}
|
||||
|
||||
void
|
||||
moveRR(Context* c, unsigned srcSize, Assembler::Register* src,
|
||||
unsigned dstSize, Assembler::Register* dst);
|
||||
|
||||
void
|
||||
swapRR(Context* c, unsigned aSize, Assembler::Register* a,
|
||||
unsigned bSize, Assembler::Register* b)
|
||||
|
@ -203,14 +203,14 @@ namespace vm {
|
||||
void*
|
||||
resolveNativeMethod(Thread* t, object method)
|
||||
{
|
||||
void* p = ::resolveNativeMethod(t, method, "Java_", 5, -1);
|
||||
void* p = ::resolveNativeMethod(t, method, "Avian_", 6, 3);
|
||||
if (p) {
|
||||
methodVmFlags(t, method) |= FastNative;
|
||||
return p;
|
||||
}
|
||||
|
||||
p = ::resolveNativeMethod(t, method, "Avian_", 6, 3);
|
||||
p = ::resolveNativeMethod(t, method, "Java_", 5, -1);
|
||||
if (p) {
|
||||
methodVmFlags(t, method) |= FastNative;
|
||||
return p;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user