mirror of
https://github.com/corda/corda.git
synced 2025-05-30 14:14:29 +00:00
reformat
This commit is contained in:
parent
1ad1fe9048
commit
31de9a48c9
@ -25,17 +25,19 @@ class TraceHandler {
|
||||
virtual void handleTrace(Promise* address, unsigned argumentIndex) = 0;
|
||||
};
|
||||
|
||||
template<size_t N>
|
||||
template <size_t N>
|
||||
class Args {
|
||||
public:
|
||||
ir::Value* values[N];
|
||||
|
||||
template<class... Ts>
|
||||
Args(Ts... ts) : values{ts...}
|
||||
template <class... Ts>
|
||||
Args(Ts... ts)
|
||||
: values{ts...}
|
||||
{
|
||||
}
|
||||
|
||||
operator util::Slice<ir::Value*> () {
|
||||
operator util::Slice<ir::Value*>()
|
||||
{
|
||||
return util::Slice<ir::Value*>(&values[0], N);
|
||||
}
|
||||
};
|
||||
@ -47,13 +49,14 @@ inline Args<0> args()
|
||||
|
||||
inline Args<1> args(ir::Value* first)
|
||||
{
|
||||
return Args<1> { first};
|
||||
return Args<1>{first};
|
||||
}
|
||||
|
||||
template<class... Ts>
|
||||
inline Args<1 + util::ArgumentCount<Ts...>::Result> args(ir::Value* first, Ts... rest)
|
||||
template <class... Ts>
|
||||
inline Args<1 + util::ArgumentCount<Ts...>::Result> args(ir::Value* first,
|
||||
Ts... rest)
|
||||
{
|
||||
return Args<1 + util::ArgumentCount<Ts...>::Result> { first, rest... };
|
||||
return Args<1 + util::ArgumentCount<Ts...>::Result>{first, rest...};
|
||||
}
|
||||
|
||||
class Compiler {
|
||||
|
@ -31,21 +31,17 @@ struct NonConst {
|
||||
typedef T Type;
|
||||
};
|
||||
|
||||
template<class... Ts>
|
||||
template <class... Ts>
|
||||
struct ArgumentCount;
|
||||
|
||||
template<class T, class... Ts>
|
||||
template <class T, class... Ts>
|
||||
struct ArgumentCount<T, Ts...> {
|
||||
enum {
|
||||
Result = 1 + ArgumentCount<Ts...>::Result
|
||||
};
|
||||
enum { Result = 1 + ArgumentCount<Ts...>::Result };
|
||||
};
|
||||
|
||||
template<>
|
||||
template <>
|
||||
struct ArgumentCount<> {
|
||||
enum {
|
||||
Result = 0
|
||||
};
|
||||
enum { Result = 0 };
|
||||
};
|
||||
|
||||
} // namespace util
|
||||
|
110
src/compile.cpp
110
src/compile.cpp
@ -3084,7 +3084,8 @@ bool useLongJump(MyThread* t, uintptr_t target)
|
||||
|
||||
void compileSafePoint(MyThread* t, Compiler* c, Frame* frame)
|
||||
{
|
||||
c->nativeCall(c->constant(getThunk(t, idleIfNecessaryThunk), ir::Type::iptr()),
|
||||
c->nativeCall(
|
||||
c->constant(getThunk(t, idleIfNecessaryThunk), ir::Type::iptr()),
|
||||
0,
|
||||
frame->trace(0, 0),
|
||||
ir::Type::void_(),
|
||||
@ -3655,7 +3656,8 @@ bool intrinsic(MyThread* t UNUSED, Frame* frame, GcMethod* target)
|
||||
frame->pop(ir::Type::object());
|
||||
ir::Type type = MATCH(target->name(), "getInt") ? ir::Type::i4()
|
||||
: ir::Type::f4();
|
||||
frame->push(type,
|
||||
frame->push(
|
||||
type,
|
||||
c->load(ir::ExtendMode::Signed, c->memory(address, type), type));
|
||||
return true;
|
||||
} else if ((MATCH(target->name(), "putInt")
|
||||
@ -3677,7 +3679,8 @@ bool intrinsic(MyThread* t UNUSED, Frame* frame, GcMethod* target)
|
||||
frame->pop(ir::Type::object());
|
||||
ir::Type type = MATCH(target->name(), "getLong") ? ir::Type::i8()
|
||||
: ir::Type::f8();
|
||||
frame->pushLarge(type,
|
||||
frame->pushLarge(
|
||||
type,
|
||||
c->load(ir::ExtendMode::Signed, c->memory(address, type), type));
|
||||
return true;
|
||||
} else if ((MATCH(target->name(), "putLong")
|
||||
@ -3916,7 +3919,8 @@ loop:
|
||||
|
||||
frame->pushObject();
|
||||
|
||||
c->nativeCall(c->constant(getThunk(t, gcIfNecessaryThunk), ir::Type::iptr()),
|
||||
c->nativeCall(
|
||||
c->constant(getThunk(t, gcIfNecessaryThunk), ir::Type::iptr()),
|
||||
0,
|
||||
frame->trace(0, 0),
|
||||
ir::Type::void_(),
|
||||
@ -4489,8 +4493,7 @@ loop:
|
||||
0,
|
||||
frame->trace(0, 0),
|
||||
ir::Type::void_(),
|
||||
args(c->threadRegister(),
|
||||
frame->append(field->class_())));
|
||||
args(c->threadRegister(), frame->append(field->class_())));
|
||||
}
|
||||
|
||||
table = frame->append(field->class_()->staticTable());
|
||||
@ -4591,8 +4594,7 @@ loop:
|
||||
0,
|
||||
frame->trace(0, 0),
|
||||
ir::Type::void_(),
|
||||
args(c->threadRegister(),
|
||||
frame->append(field)));
|
||||
args(c->threadRegister(), frame->append(field)));
|
||||
} else {
|
||||
c->nullaryOp(lir::LoadBarrier);
|
||||
}
|
||||
@ -4614,8 +4616,7 @@ loop:
|
||||
0,
|
||||
frame->trace(0, 0),
|
||||
rType,
|
||||
args(c->threadRegister(),
|
||||
frame->append(pair)));
|
||||
args(c->threadRegister(), frame->append(pair)));
|
||||
} else {
|
||||
ir::Value* instance = frame->pop(ir::Type::object());
|
||||
|
||||
@ -4625,9 +4626,7 @@ loop:
|
||||
0,
|
||||
frame->trace(0, 0),
|
||||
rType,
|
||||
args(c->threadRegister(),
|
||||
frame->append(pair),
|
||||
instance));
|
||||
args(c->threadRegister(), frame->append(pair), instance));
|
||||
}
|
||||
|
||||
frame->pushReturnValue(fieldCode, result);
|
||||
@ -4918,14 +4917,14 @@ loop:
|
||||
thunk = instanceOfFromReferenceThunk;
|
||||
}
|
||||
|
||||
frame->push(ir::Type::i4(),
|
||||
c->nativeCall(c->constant(getThunk(t, thunk), ir::Type::iptr()),
|
||||
frame->push(
|
||||
ir::Type::i4(),
|
||||
c->nativeCall(
|
||||
c->constant(getThunk(t, thunk), ir::Type::iptr()),
|
||||
0,
|
||||
frame->trace(0, 0),
|
||||
ir::Type::i4(),
|
||||
args(c->threadRegister(),
|
||||
frame->append(argument),
|
||||
instance)));
|
||||
args(c->threadRegister(), frame->append(argument), instance)));
|
||||
} break;
|
||||
|
||||
case invokeinterface: {
|
||||
@ -5122,7 +5121,8 @@ loop:
|
||||
args(c->threadRegister(),
|
||||
frame->append(pair),
|
||||
c->peek(1,
|
||||
methodReferenceParameterFootprint(t, ref, false) - 1))),
|
||||
methodReferenceParameterFootprint(t, ref, false)
|
||||
- 1))),
|
||||
ref,
|
||||
false,
|
||||
isReferenceTailCall(t, code, ip, context->method, ref));
|
||||
@ -5254,10 +5254,7 @@ loop:
|
||||
0,
|
||||
0,
|
||||
ir::Type::i4(),
|
||||
args(nullptr,
|
||||
a,
|
||||
nullptr,
|
||||
b)));
|
||||
args(nullptr, a, nullptr, b)));
|
||||
}
|
||||
} break;
|
||||
|
||||
@ -5302,20 +5299,21 @@ loop:
|
||||
frame->trace(0, 0),
|
||||
ir::Type::object(),
|
||||
args(c->threadRegister(),
|
||||
frame->append(makePair(t, context->method, reference)))));
|
||||
frame->append(
|
||||
makePair(t, context->method, reference)))));
|
||||
}
|
||||
}
|
||||
|
||||
if (v) {
|
||||
if (objectClass(t, v) == type(t, GcClass::Type)) {
|
||||
frame->push(ir::Type::object(),
|
||||
frame->push(
|
||||
ir::Type::object(),
|
||||
c->nativeCall(c->constant(getThunk(t, getJClass64Thunk),
|
||||
ir::Type::iptr()),
|
||||
0,
|
||||
frame->trace(0, 0),
|
||||
ir::Type::object(),
|
||||
args(c->threadRegister(),
|
||||
frame->append(v))));
|
||||
args(c->threadRegister(), frame->append(v))));
|
||||
} else {
|
||||
frame->push(ir::Type::object(), frame->append(v));
|
||||
}
|
||||
@ -5539,8 +5537,7 @@ loop:
|
||||
0,
|
||||
frame->trace(0, 0),
|
||||
ir::Type::void_(),
|
||||
args(c->threadRegister(),
|
||||
target));
|
||||
args(c->threadRegister(), target));
|
||||
} break;
|
||||
|
||||
case monitorexit: {
|
||||
@ -5550,8 +5547,7 @@ loop:
|
||||
0,
|
||||
frame->trace(0, 0),
|
||||
ir::Type::void_(),
|
||||
args(c->threadRegister(),
|
||||
target));
|
||||
args(c->threadRegister(), target));
|
||||
} break;
|
||||
|
||||
case multianewarray: {
|
||||
@ -5620,13 +5616,13 @@ loop:
|
||||
thunk = makeNewFromReferenceThunk;
|
||||
}
|
||||
|
||||
frame->push(ir::Type::object(),
|
||||
frame->push(
|
||||
ir::Type::object(),
|
||||
c->nativeCall(c->constant(getThunk(t, thunk), ir::Type::iptr()),
|
||||
0,
|
||||
frame->trace(0, 0),
|
||||
ir::Type::object(),
|
||||
args(c->threadRegister(),
|
||||
frame->append(argument))));
|
||||
args(c->threadRegister(), frame->append(argument))));
|
||||
} break;
|
||||
|
||||
case newarray: {
|
||||
@ -5683,8 +5679,7 @@ loop:
|
||||
0,
|
||||
frame->trace(0, 0),
|
||||
ir::Type::void_(),
|
||||
args(c->threadRegister(),
|
||||
frame->append(field->class_())));
|
||||
args(c->threadRegister(), frame->append(field->class_())));
|
||||
}
|
||||
|
||||
staticTable = field->class_()->staticTable();
|
||||
@ -5707,8 +5702,7 @@ loop:
|
||||
0,
|
||||
frame->trace(0, 0),
|
||||
ir::Type::void_(),
|
||||
args(c->threadRegister(),
|
||||
frame->append(field)));
|
||||
args(c->threadRegister(), frame->append(field)));
|
||||
} else {
|
||||
c->nullaryOp(lir::StoreStoreBarrier);
|
||||
}
|
||||
@ -5780,7 +5774,8 @@ loop:
|
||||
ir::Type::void_(),
|
||||
args(c->threadRegister(),
|
||||
table,
|
||||
c->constant(targetFieldOffset(context, field), ir::Type::i4()),
|
||||
c->constant(targetFieldOffset(context, field),
|
||||
ir::Type::i4()),
|
||||
value));
|
||||
} else {
|
||||
c->nativeCall(
|
||||
@ -5790,7 +5785,8 @@ loop:
|
||||
ir::Type::void_(),
|
||||
args(c->threadRegister(),
|
||||
table,
|
||||
c->constant(targetFieldOffset(context, field), ir::Type::i4()),
|
||||
c->constant(targetFieldOffset(context, field),
|
||||
ir::Type::i4()),
|
||||
value));
|
||||
}
|
||||
break;
|
||||
@ -5807,8 +5803,7 @@ loop:
|
||||
0,
|
||||
frame->trace(0, 0),
|
||||
ir::Type::void_(),
|
||||
args(c->threadRegister(),
|
||||
frame->append(field)));
|
||||
args(c->threadRegister(), frame->append(field)));
|
||||
} else {
|
||||
c->nullaryOp(lir::StoreLoadBarrier);
|
||||
}
|
||||
@ -5837,37 +5832,32 @@ loop:
|
||||
0,
|
||||
frame->trace(0, 0),
|
||||
rType,
|
||||
args(c->threadRegister(),
|
||||
frame->append(pair),
|
||||
value));
|
||||
args(c->threadRegister(), frame->append(pair), value));
|
||||
} else {
|
||||
ir::Value* instance = frame->pop(ir::Type::object());
|
||||
|
||||
c->nativeCall(c->constant(getThunk(t, setFieldValueFromReferenceThunk),
|
||||
c->nativeCall(
|
||||
c->constant(getThunk(t, setFieldValueFromReferenceThunk),
|
||||
ir::Type::iptr()),
|
||||
0,
|
||||
frame->trace(0, 0),
|
||||
rType,
|
||||
args(c->threadRegister(),
|
||||
frame->append(pair),
|
||||
instance,
|
||||
value));
|
||||
args(
|
||||
c->threadRegister(), frame->append(pair), instance, value));
|
||||
}
|
||||
} break;
|
||||
|
||||
case DoubleField:
|
||||
case LongField: {
|
||||
if (instruction == putstatic) {
|
||||
c->nativeCall(c->constant(
|
||||
c->nativeCall(
|
||||
c->constant(
|
||||
getThunk(t, setStaticLongFieldValueFromReferenceThunk),
|
||||
ir::Type::iptr()),
|
||||
0,
|
||||
frame->trace(0, 0),
|
||||
rType,
|
||||
args(c->threadRegister(),
|
||||
frame->append(pair),
|
||||
nullptr,
|
||||
value));
|
||||
args(c->threadRegister(), frame->append(pair), nullptr, value));
|
||||
} else {
|
||||
ir::Value* instance = frame->pop(ir::Type::object());
|
||||
|
||||
@ -5894,9 +5884,7 @@ loop:
|
||||
0,
|
||||
frame->trace(0, 0),
|
||||
rType,
|
||||
args(c->threadRegister(),
|
||||
frame->append(pair),
|
||||
value));
|
||||
args(c->threadRegister(), frame->append(pair), value));
|
||||
} else {
|
||||
ir::Value* instance = frame->pop(ir::Type::object());
|
||||
|
||||
@ -5906,10 +5894,8 @@ loop:
|
||||
0,
|
||||
frame->trace(0, 0),
|
||||
rType,
|
||||
args(c->threadRegister(),
|
||||
frame->append(pair),
|
||||
instance,
|
||||
value));
|
||||
args(
|
||||
c->threadRegister(), frame->append(pair), instance, value));
|
||||
}
|
||||
} break;
|
||||
|
||||
|
@ -1473,7 +1473,6 @@ void writeMap(Output* out, Module& module, Class* cl)
|
||||
{
|
||||
std::ostringstream ss;
|
||||
for (const auto f : cl->fields) {
|
||||
|
||||
ss << "Type_";
|
||||
ss << enumName(module, f);
|
||||
if (f->nogc) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user