mirror of
https://github.com/dart-lang/sdk
synced 2024-10-14 15:57:17 +00:00
[vm] Remove KBC support from NativeArguments.
TEST=ci Change-Id: If28557e41839ac767992e4dc342d47cce3a6d93a Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/282122 Commit-Queue: Ryan Macnak <rmacnak@google.com> Reviewed-by: Alexander Markov <alexmarkov@google.com>
This commit is contained in:
parent
77174eff4a
commit
97d302aaae
|
@ -84,8 +84,7 @@ class NativeArguments {
|
|||
|
||||
ObjectPtr ArgAt(int index) const {
|
||||
ASSERT((index >= 0) && (index < ArgCount()));
|
||||
ObjectPtr* arg_ptr =
|
||||
&(argv_[ReverseArgOrderBit::decode(argc_tag_) ? index : -index]);
|
||||
ObjectPtr* arg_ptr = &(argv_[-index]);
|
||||
// Tell MemorySanitizer the ObjectPtr was initialized (by generated code).
|
||||
MSAN_UNPOISON(arg_ptr, kWordSize);
|
||||
return *arg_ptr;
|
||||
|
@ -94,9 +93,7 @@ class NativeArguments {
|
|||
void SetArgAt(int index, const Object& value) const {
|
||||
ASSERT(thread_->execution_state() == Thread::kThreadInVM);
|
||||
ASSERT((index >= 0) && (index < ArgCount()));
|
||||
ObjectPtr* arg_ptr =
|
||||
&(argv_[ReverseArgOrderBit::decode(argc_tag_) ? index : -index]);
|
||||
*arg_ptr = value.ptr();
|
||||
argv_[-index] = value.ptr();
|
||||
}
|
||||
|
||||
// Does not include hidden type arguments vector.
|
||||
|
@ -224,29 +221,14 @@ class NativeArguments {
|
|||
kArgcSize = 24,
|
||||
kFunctionBit = kArgcBit + kArgcSize,
|
||||
kFunctionSize = 3,
|
||||
kReverseArgOrderBit = kFunctionBit + kFunctionSize,
|
||||
kReverseArgOrderSize = 1,
|
||||
};
|
||||
class ArgcBits : public BitField<intptr_t, int32_t, kArgcBit, kArgcSize> {};
|
||||
class FunctionBits
|
||||
: public BitField<intptr_t, int, kFunctionBit, kFunctionSize> {};
|
||||
class ReverseArgOrderBit
|
||||
: public BitField<intptr_t, bool, kReverseArgOrderBit, 1> {};
|
||||
friend class Api;
|
||||
friend class NativeEntry;
|
||||
friend class Simulator;
|
||||
|
||||
// Allow simulator to create NativeArguments in reverse order
|
||||
// on the stack.
|
||||
NativeArguments(Thread* thread,
|
||||
int argc_tag,
|
||||
ObjectPtr* argv,
|
||||
ObjectPtr* retval)
|
||||
: thread_(thread),
|
||||
argc_tag_(ReverseArgOrderBit::update(true, argc_tag)),
|
||||
argv_(argv),
|
||||
retval_(retval) {}
|
||||
|
||||
// Since this function is passed a RawObject directly, we need to be
|
||||
// exceedingly careful when we use it. If there are any other side
|
||||
// effects in the statement that may cause GC, it could lead to
|
||||
|
|
|
@ -1419,7 +1419,7 @@ void Simulator::SupervisorCall(Instr* instr) {
|
|||
THR_Print("Call to host function at 0x%" Pd "\n", external);
|
||||
}
|
||||
if (redirection->call_kind() == kRuntimeCall) {
|
||||
NativeArguments arguments(NULL, 0, NULL, NULL);
|
||||
NativeArguments arguments;
|
||||
ASSERT(sizeof(NativeArguments) == 4 * kWordSize);
|
||||
arguments.thread_ = reinterpret_cast<Thread*>(get_register(R0));
|
||||
arguments.argc_tag_ = get_register(R1);
|
||||
|
|
Loading…
Reference in a new issue