| 3361 | } |
| 3362 | |
| 3363 | virtual object invokeArray(vm::Thread* vmt, |
| 3364 | GcMethod* method, |
| 3365 | object this_, |
| 3366 | object arguments) |
| 3367 | { |
| 3368 | Thread* t = static_cast<Thread*>(vmt); |
| 3369 | |
| 3370 | assertT( |
| 3371 | t, |
| 3372 | t->state == Thread::ActiveState or t->state == Thread::ExclusiveState); |
| 3373 | |
| 3374 | assertT(t, ((method->flags() & ACC_STATIC) == 0) xor (this_ == 0)); |
| 3375 | |
| 3376 | if (UNLIKELY(t->sp + method->parameterFootprint() + 1 > stackSizeInWords(t) |
| 3377 | / 2)) { |
| 3378 | throwNew(t, GcStackOverflowError::Type); |
| 3379 | } |
| 3380 | |
| 3381 | const char* spec = reinterpret_cast<char*>(method->spec()->body().begin()); |
| 3382 | pushArguments(t, this_, spec, arguments); |
| 3383 | |
| 3384 | return local::invoke(t, method); |
| 3385 | } |
| 3386 | |
| 3387 | virtual object invokeArray(vm::Thread* vmt, |
| 3388 | GcMethod* method, |
nothing calls this directly
no test coverage detected