| 3409 | } |
| 3410 | |
| 3411 | virtual object invokeList(vm::Thread* vmt, |
| 3412 | GcMethod* method, |
| 3413 | object this_, |
| 3414 | bool indirectObjects, |
| 3415 | va_list arguments) |
| 3416 | { |
| 3417 | Thread* t = static_cast<Thread*>(vmt); |
| 3418 | |
| 3419 | assertT( |
| 3420 | t, |
| 3421 | t->state == Thread::ActiveState or t->state == Thread::ExclusiveState); |
| 3422 | |
| 3423 | assertT(t, ((method->flags() & ACC_STATIC) == 0) xor (this_ == 0)); |
| 3424 | |
| 3425 | if (UNLIKELY(t->sp + method->parameterFootprint() + 1 > stackSizeInWords(t) |
| 3426 | / 2)) { |
| 3427 | throwNew(t, GcStackOverflowError::Type); |
| 3428 | } |
| 3429 | |
| 3430 | const char* spec = reinterpret_cast<char*>(method->spec()->body().begin()); |
| 3431 | pushArguments(t, this_, spec, indirectObjects, arguments); |
| 3432 | |
| 3433 | return local::invoke(t, method); |
| 3434 | } |
| 3435 | |
| 3436 | virtual object invokeList(vm::Thread* vmt, |
| 3437 | GcClassLoader* loader, |
nothing calls this directly
no test coverage detected