MCPcopy Create free account
hub / github.com/ReadyTalk/avian / runThread

Method runThread

src/classpath-android.cpp:253–271  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

251 }
252
253 virtual void runThread(Thread* t)
254 {
255 // force monitor creation so we don't get an OutOfMemory error
256 // later when we try to acquire it:
257 objectMonitor(t, t->javaThread->lock(), true);
258
259 THREAD_RESOURCE0(t, {
260 vm::acquire(t, t->javaThread->lock());
261 t->clearFlag(Thread::ActiveFlag);
262 t->javaThread->peer() = 0;
263 vm::notifyAll(t, t->javaThread->lock());
264 vm::release(t, t->javaThread->lock());
265 });
266
267 GcMethod* method = resolveMethod(
268 t, roots(t)->bootLoader(), "java/lang/Thread", "run", "()V");
269
270 t->m->processor->invoke(t, method, t->javaThread);
271 }
272
273 virtual void resolveNative(Thread* t, GcMethod* method)
274 {

Callers

nothing calls this directly

Calls 9

objectMonitorFunction · 0.85
notifyAllFunction · 0.85
rootsFunction · 0.85
lockMethod · 0.80
clearFlagMethod · 0.80
resolveMethodFunction · 0.70
invokeMethod · 0.65
acquireFunction · 0.50
releaseFunction · 0.50

Tested by

no test coverage detected