Re: [rvm-research] Disable VM shutdown/GC in the end of VM execution
Kenan Liu <[email protected]> Mon, 12 Nov 2018 11:00:30 -0800
| Newsgroups | gmane.comp.java.jikes.rvm.devel |
|---|---|
| Message-ID | <CA+qhk+qZvyuL=09h_1fuGFn0MORyCRRhu0SLN7rCW0OzCknw5w@mail.gmail.com> |
--===============3715772540912063742==
Content-Type: multipart/alternative; boundary="000000000000503de9057a7c5128"
--000000000000503de9057a7c5128
Content-Type: text/plain; charset="UTF-8"
Hi Erik,
Thank you for your reply.
We haven't tried Java API to shutdown VM because don't want to interrupt
the current Jikes RVM behavior. We are trying to figure out the shutdown
point that Jikes RVM normally executes instead of shut down by exception or
error signal.
We tried inserted our profiling collection in the org.jikesrvm.VM.shutdown()
and org.jikesrvm.VM.sysExit() before the shutdown() method. In both
situations the data only can be partially printed out. It looks like the
collection would be destroyed before it finishes.
*Case 1 (in shutdown()):*
@Uninterruptible public static void shutdown(int value) { VM.disableGC();
LogQueue.dumpWithRawData(Service.clsNameList, Service.methodNameList);
VM.enableGC();
handlePossibleRecursiveShutdown();
if (VM.VerifyAssertions) VM._assert(VM.runningVM);
sysCall.sysExit(value);
if (VM.VerifyAssertions) VM._assert(VM.NOT_REACHED);
} *Case 2 (in sysExit()):*
@NoInline
@UninterruptibleNoWarn("We're never returning to the caller, so even
though this code is preemptible it is safe to call from any context")
public static void sysExit(int value) {
handlePossibleRecursiveCallToSysExit();
if (VM.countThreadTransitions) {
RVMThread.reportThreadTransitionCounts();
}
if (Options.stackTraceAtExit) {
VM.sysWriteln("[Here is the context of the call to VM.sysExit(",
value, ")...:");
VM.disableGC();
RVMThread.dumpStack();
VM.enableGC();
VM.sysWriteln("... END context of the call to VM.sysExit]");
}
if (runningVM) {
VM.disableGC();
LogQueue.dumpLogQueue(Service.clsNameList, Service.methodNameList);
VM.enableGC();
Callbacks.notifyExit(value);
VM.shutdown(value);
} else {
System.exit(value);
}
if (VM.VerifyAssertions) VM._assert(VM.NOT_REACHED);
}
I read the Oracle article about the Design of Shutdown Hooks API
<https://docs.oracle.com/javase/8/docs/technotes/guides/lang/hook-design.html>.
It looks like the shutdown hooks are usually run concurrently. Is that the
case in Jikes RVM?
Given this case, what can we do to get all data printed out before the
collection is destroyed in the meantime the program has been finished?
Thanks,
Kenan
On Fri, Nov 9, 2018 at 1:33 PM Erik Brangs <[email protected]> wrote:
> Hi,
>
> On 09.11.2018 18:01, Kenan Liu wrote:
> > Is there any way that we can let VM wait until our printout finishes
> before it shuts down? We have been stuck here for a while. Thank you for
> any helps you could provide.
>
> Have you tried using shutdown hooks from the normal Java API?
>
> Jikes RVM currently doesn't run shutdown hooks when it's terminated via a
> signal but they should work for other cases.
>
>
> Kind regards,
>
> Erik Brangs
>
>
> _______________________________________________
> Jikesrvm-researchers mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers
>
--
Kenan Liu
PhD Candidate in Computer Science
SUNY Binghamton
--000000000000503de9057a7c5128
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div di=
r=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div>Hi Erik,<=
/div><div><br></div><div>Thank you for=C2=A0your=C2=A0reply.</div><div><br>=
</div><div>We haven't tried Java API to shutdown VM because don't w=
ant to interrupt the current Jikes RVM behavior. We are trying to figure ou=
t the shutdown point that Jikes RVM normally executes instead of shut down =
by exception or error signal.=C2=A0</div><div><br></div><div>We tried inser=
ted our profiling collection in the <span class=3D"gmail-pl-smi" style=3D"t=
ext-align:left;color:rgb(36,41,46);text-transform:none;text-indent:0px;lett=
er-spacing:normal;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo=
,Courier,monospace;font-size:12px;font-style:normal;font-variant:normal;fon=
t-weight:400;text-decoration:none;word-spacing:0px;white-space:pre;box-sizi=
ng:border-box;background-color:transparent">org.jikesrvm.</span>VM.shutdown=
() and <span class=3D"gmail-pl-smi" style=3D"text-align:left;color:rgb(36,4=
1,46);text-transform:none;text-indent:0px;letter-spacing:normal;font-family=
:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font-size:=
12px;font-style:normal;font-variant:normal;font-weight:400;text-decoration:=
none;word-spacing:0px;white-space:pre;box-sizing:border-box;background-colo=
r:transparent">org.jikesrvm.</span><span style=3D"font:400 13.33px/19.99px =
Arial,Helvetica,sans-serif;text-align:left;color:rgb(34,34,34);text-transfo=
rm:none;text-indent:0px;letter-spacing:normal;text-decoration:none;word-spa=
cing:0px;display:inline;white-space:normal;font-size-adjust:none;font-stret=
ch:100%;float:none;background-color:transparent">VM.sysExit() before the sh=
utdown() method</span>. In both situations the data only can be <font style=
=3D"background-color:rgb(255,255,0)">partially printed out</font>. It looks=
like <font style=3D"background-color:rgb(255,255,0)">the collection would =
be destroyed</font> before it finishes.=C2=A0</div><div><br></div><div><b>C=
ase 1 (in shutdown()):</b><br></div><div><table class=3D"gmail-highlight gm=
ail-tab-size gmail-js-file-line-container" style=3D"text-align:left;color:r=
gb(36,41,46);text-transform:none;text-indent:0px;letter-spacing:normal;font=
-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-seri=
f,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;font-size:14px;font-styl=
e:normal;font-variant:normal;font-weight:400;text-decoration:none;word-spac=
ing:0px;white-space:normal;border-collapse:collapse;box-sizing:border-box;b=
order-spacing:0px 0px;background-color:transparent"><tbody style=3D"box-siz=
ing:border-box"><tr style=3D"box-sizing:border-box"><td class=3D"gmail-blob=
-num gmail-js-line-number" id=3D"gmail-L2415" style=3D"padding:0px 10px;wid=
th:50px;text-align:right;color:rgba(27,31,35,0.3);line-height:20px;font-fam=
ily:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font-si=
ze:12px;vertical-align:top;white-space:nowrap;min-width:50px;box-sizing:bor=
der-box"></td>
<td class=3D"gmail-blob-code gmail-blob-code-inner gmail-js-file-li=
ne" id=3D"gmail-LC2415" style=3D"padding:0px 10px;color:rgb(36,41,46);line-=
height:20px;overflow:visible;font-family:SFMono-Regular,Consolas,Liberation=
Mono,Menlo,Courier,monospace;font-size:12px;vertical-align:top;white-space=
:pre;word-wrap:normal;box-sizing:border-box"><span class=3D"gmail-pl-k" sty=
le=3D"text-align:left;color:rgb(215,58,73);text-transform:none;text-indent:=
0px;letter-spacing:normal;font-family:SFMono-Regular,Consolas,Liberation Mo=
no,Menlo,Courier,monospace;font-size:12px;font-style:normal;font-variant:no=
rmal;font-weight:400;text-decoration:none;word-spacing:0px;white-space:pre;=
box-sizing:border-box;background-color:transparent">@Uninterruptible</span>
<span class=3D"gmail-pl-k" style=3D"color:rgb(215,58,73);box-sizing:border-=
box">public</span> <span class=3D"gmail-pl-k" style=3D"color:rgb(215,58,73)=
;box-sizing:border-box">static</span> <span class=3D"gmail-pl-k" style=3D"c=
olor:rgb(215,58,73);box-sizing:border-box">void</span> <span class=3D"gmail=
-pl-en" style=3D"color:rgb(111,66,193);box-sizing:border-box">shutdown</spa=
n>(<span class=3D"gmail-pl-k" style=3D"color:rgb(215,58,73);box-sizing:bord=
er-box">int</span> <span class=3D"gmail-pl-v" style=3D"color:rgb(227,98,9);=
box-sizing:border-box">value</span>) {
<span class=3D"gmail-pl-c1" style=3D"text-align:left;color:rgb(0,92,197);te=
xt-transform:none;text-indent:0px;letter-spacing:normal;font-family:SFMono-=
Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font-size:12px;fon=
t-style:normal;font-variant:normal;font-weight:400;text-decoration:none;wor=
d-spacing:0px;white-space:pre;box-sizing:border-box;background-color:transp=
arent"> <font style=3D"background-color:rgb(255,255,0)">VM</font></span>=
<span class=3D"gmail-pl-k" style=3D"text-align:left;color:rgb(215,58,73);te=
xt-transform:none;text-indent:0px;letter-spacing:normal;font-family:SFMono-=
Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font-size:12px;fon=
t-style:normal;font-variant:normal;font-weight:400;text-decoration:none;wor=
d-spacing:0px;white-space:pre;box-sizing:border-box"><font style=3D"backgro=
und-color:rgb(255,255,0)">.</font></span><span style=3D"text-align:left;col=
or:rgb(36,41,46);text-transform:none;text-indent:0px;letter-spacing:normal;=
font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace=
;font-size:12px;font-style:normal;font-variant:normal;font-weight:400;text-=
decoration:none;word-spacing:0px;display:inline;white-space:pre;float:none;=
background-color:rgb(255,255,0)">disableGC();</span><b><i></i><u></u><sub><=
/sub><sup></sup><strike></strike>
</b></td>
</tr>
<tr style=3D"box-sizing:border-box">
<td class=3D"gmail-blob-num gmail-js-line-number" id=3D"gmail-L2416=
" style=3D"padding:0px 10px;width:50px;text-align:right;color:rgba(27,31,35=
,0.3);line-height:20px;font-family:SFMono-Regular,Consolas,Liberation Mono,=
Menlo,Courier,monospace;font-size:12px;vertical-align:top;white-space:nowra=
p;min-width:50px;box-sizing:border-box"></td>
<td class=3D"gmail-blob-code gmail-blob-code-inner gmail-js-file-li=
ne" id=3D"gmail-LC2416" style=3D"padding:0px 10px;color:rgb(36,41,46);line-=
height:20px;overflow:visible;font-family:SFMono-Regular,Consolas,Liberation=
Mono,Menlo,Courier,monospace;font-size:12px;vertical-align:top;white-space=
:pre;word-wrap:normal;box-sizing:border-box">=C2=A0=C2=A0=C2=A0 <span class=
=3D"gmail-pl-c" style=3D"color:rgb(106,115,125);box-sizing:border-box"><fon=
t style=3D"background-color:rgb(255,255,0)">LogQueue.dumpWithRawData(Servic=
e.clsNameList, Service.methodNameList);
<span class=3D"gmail-pl-c1" style=3D"text-align:left;color:rgb(0,92,197);te=
xt-transform:none;text-indent:0px;letter-spacing:normal;font-family:SFMono-=
Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font-size:12px;fon=
t-style:normal;font-variant:normal;font-weight:400;text-decoration:none;wor=
d-spacing:0px;white-space:pre;box-sizing:border-box;background-color:transp=
arent"> VM</span><span class=3D"gmail-pl-k" style=3D"text-align:left;col=
or:rgb(215,58,73);text-transform:none;text-indent:0px;letter-spacing:normal=
;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospac=
e;font-size:12px;font-style:normal;font-variant:normal;font-weight:400;text=
-decoration:none;word-spacing:0px;white-space:pre;box-sizing:border-box;bac=
kground-color:transparent">.</span><span style=3D"text-align:left;color:rgb=
(36,41,46);text-transform:none;text-indent:0px;letter-spacing:normal;font-f=
amily:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font-=
size:12px;font-style:normal;font-variant:normal;font-weight:400;text-decora=
tion:none;word-spacing:0px;display:inline;white-space:pre;float:none;backgr=
ound-color:rgb(255,255,0)">enableGC();</span><b><i></i><u></u><sub></sub><s=
up></sup><strike></strike>
</b></font></span></td>
</tr>
<tr style=3D"box-sizing:border-box">
<td class=3D"gmail-blob-num gmail-js-line-number" id=3D"gmail-L2417=
" style=3D"padding:0px 10px;width:50px;text-align:right;color:rgba(27,31,35=
,0.3);line-height:20px;font-family:SFMono-Regular,Consolas,Liberation Mono,=
Menlo,Courier,monospace;font-size:12px;vertical-align:top;white-space:nowra=
p;min-width:50px;box-sizing:border-box"></td>
<td class=3D"gmail-blob-code gmail-blob-code-inner gmail-js-file-li=
ne" id=3D"gmail-LC2417" style=3D"padding:0px 10px;color:rgb(36,41,46);line-=
height:20px;overflow:visible;font-family:SFMono-Regular,Consolas,Liberation=
Mono,Menlo,Courier,monospace;font-size:12px;vertical-align:top;white-space=
:pre;word-wrap:normal;box-sizing:border-box">=C2=A0=C2=A0=C2=A0 handlePossi=
bleRecursiveShutdown();</td>
</tr>
<tr style=3D"box-sizing:border-box">
<td class=3D"gmail-blob-num gmail-js-line-number" id=3D"gmail-L2418=
" style=3D"padding:0px 10px;width:50px;text-align:right;color:rgba(27,31,35=
,0.3);line-height:20px;font-family:SFMono-Regular,Consolas,Liberation Mono,=
Menlo,Courier,monospace;font-size:12px;vertical-align:top;white-space:nowra=
p;min-width:50px;box-sizing:border-box"></td>
<td class=3D"gmail-blob-code gmail-blob-code-inner gmail-js-file-li=
ne" id=3D"gmail-LC2418" style=3D"padding:0px 10px;color:rgb(36,41,46);line-=
height:20px;overflow:visible;font-family:SFMono-Regular,Consolas,Liberation=
Mono,Menlo,Courier,monospace;font-size:12px;vertical-align:top;white-space=
:pre;word-wrap:normal;box-sizing:border-box"><br></td>
</tr>
<tr style=3D"box-sizing:border-box">
<td class=3D"gmail-blob-num gmail-js-line-number" id=3D"gmail-L2419=
" style=3D"padding:0px 10px;width:50px;text-align:right;color:rgba(27,31,35=
,0.3);line-height:20px;font-family:SFMono-Regular,Consolas,Liberation Mono,=
Menlo,Courier,monospace;font-size:12px;vertical-align:top;white-space:nowra=
p;min-width:50px;box-sizing:border-box"></td>
<td class=3D"gmail-blob-code gmail-blob-code-inner gmail-js-file-li=
ne" id=3D"gmail-LC2419" style=3D"padding:0px 10px;color:rgb(36,41,46);line-=
height:20px;overflow:visible;font-family:SFMono-Regular,Consolas,Liberation=
Mono,Menlo,Courier,monospace;font-size:12px;vertical-align:top;white-space=
:pre;word-wrap:normal;box-sizing:border-box">=C2=A0=C2=A0=C2=A0 <span class=
=3D"gmail-pl-k" style=3D"color:rgb(215,58,73);box-sizing:border-box">if</sp=
an> (<span class=3D"gmail-pl-c1" style=3D"color:rgb(0,92,197);box-sizing:bo=
rder-box">VM</span><span class=3D"gmail-pl-k" style=3D"color:rgb(215,58,73)=
;box-sizing:border-box">.</span><span class=3D"gmail-pl-smi" style=3D"color=
:rgb(36,41,46);box-sizing:border-box">VerifyAssertions</span>) <span class=
=3D"gmail-pl-c1" style=3D"color:rgb(0,92,197);box-sizing:border-box">VM</sp=
an><span class=3D"gmail-pl-k" style=3D"color:rgb(215,58,73);box-sizing:bord=
er-box">.</span>_assert(<span class=3D"gmail-pl-c1" style=3D"color:rgb(0,92=
,197);box-sizing:border-box">VM</span><span class=3D"gmail-pl-k" style=3D"c=
olor:rgb(215,58,73);box-sizing:border-box">.</span>runningVM);</td></tr><tr=
style=3D"box-sizing:border-box"><td class=3D"gmail-blob-num gmail-js-line-=
number" id=3D"gmail-L2420" style=3D"padding:0px 10px;width:50px;text-align:=
right;color:rgba(27,31,35,0.3);line-height:20px;font-family:SFMono-Regular,=
Consolas,Liberation Mono,Menlo,Courier,monospace;font-size:12px;vertical-al=
ign:top;white-space:nowrap;min-width:50px;box-sizing:border-box"><br></td><=
td class=3D"gmail-blob-code gmail-blob-code-inner gmail-js-file-line" id=3D=
"gmail-LC2420" style=3D"padding:0px 10px;color:rgb(36,41,46);line-height:20=
px;overflow:visible;font-family:SFMono-Regular,Consolas,Liberation Mono,Men=
lo,Courier,monospace;font-size:12px;vertical-align:top;white-space:pre;word=
-wrap:normal;box-sizing:border-box"></td></tr><tr style=3D"box-sizing:borde=
r-box"><td class=3D"gmail-blob-num gmail-js-line-number" id=3D"gmail-L2421"=
style=3D"padding:0px 10px;width:50px;text-align:right;color:rgba(27,31,35,=
0.3);line-height:20px;font-family:SFMono-Regular,Consolas,Liberation Mono,M=
enlo,Courier,monospace;font-size:12px;vertical-align:top;white-space:nowrap=
;min-width:50px;box-sizing:border-box"></td><td class=3D"gmail-blob-code gm=
ail-blob-code-inner gmail-js-file-line" id=3D"gmail-LC2421" style=3D"paddin=
g:0px 10px;color:rgb(36,41,46);line-height:20px;overflow:visible;font-famil=
y:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font-size=
:12px;vertical-align:top;white-space:pre;word-wrap:normal;box-sizing:border=
-box"></td></tr><tr style=3D"box-sizing:border-box"><td class=3D"gmail-blob=
-num gmail-js-line-number" id=3D"gmail-L2422" style=3D"padding:0px 10px;wid=
th:50px;text-align:right;color:rgba(27,31,35,0.3);line-height:20px;font-fam=
ily:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font-si=
ze:12px;vertical-align:top;white-space:nowrap;min-width:50px;box-sizing:bor=
der-box"></td><td class=3D"gmail-blob-code gmail-blob-code-inner gmail-js-f=
ile-line" id=3D"gmail-LC2422" style=3D"padding:0px 10px;color:rgb(36,41,46)=
;line-height:20px;overflow:visible;font-family:SFMono-Regular,Consolas,Libe=
ration Mono,Menlo,Courier,monospace;font-size:12px;vertical-align:top;white=
-space:pre;word-wrap:normal;box-sizing:border-box"></td></tr><tr style=3D"b=
ox-sizing:border-box"><td class=3D"gmail-blob-num gmail-js-line-number" id=
=3D"gmail-L2423" style=3D"padding:0px 10px;width:50px;text-align:right;colo=
r:rgba(27,31,35,0.3);line-height:20px;font-family:SFMono-Regular,Consolas,L=
iberation Mono,Menlo,Courier,monospace;font-size:12px;vertical-align:top;wh=
ite-space:nowrap;min-width:50px;box-sizing:border-box"></td><td class=3D"gm=
ail-blob-code gmail-blob-code-inner gmail-js-file-line" id=3D"gmail-LC2423"=
style=3D"padding:0px 10px;color:rgb(36,41,46);line-height:20px;overflow:vi=
sible;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,mon=
ospace;font-size:12px;vertical-align:top;white-space:pre;word-wrap:normal;b=
ox-sizing:border-box"></td></tr><tr style=3D"box-sizing:border-box"><td cla=
ss=3D"gmail-blob-num gmail-js-line-number" id=3D"gmail-L2424" style=3D"padd=
ing:0px 10px;width:50px;text-align:right;color:rgba(27,31,35,0.3);line-heig=
ht:20px;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,m=
onospace;font-size:12px;vertical-align:top;white-space:nowrap;min-width:50p=
x;box-sizing:border-box"></td><td class=3D"gmail-blob-code gmail-blob-code-=
inner gmail-js-file-line" id=3D"gmail-LC2424" style=3D"padding:0px 10px;col=
or:rgb(36,41,46);line-height:20px;overflow:visible;font-family:SFMono-Regul=
ar,Consolas,Liberation Mono,Menlo,Courier,monospace;font-size:12px;vertical=
-align:top;white-space:pre;word-wrap:normal;box-sizing:border-box"></td></t=
r><tr style=3D"box-sizing:border-box"><td class=3D"gmail-blob-num gmail-js-=
line-number" id=3D"gmail-L2425" style=3D"padding:0px 10px;width:50px;text-a=
lign:right;color:rgba(27,31,35,0.3);line-height:20px;font-family:SFMono-Reg=
ular,Consolas,Liberation Mono,Menlo,Courier,monospace;font-size:12px;vertic=
al-align:top;white-space:nowrap;min-width:50px;box-sizing:border-box"></td>=
<td class=3D"gmail-blob-code gmail-blob-code-inner gmail-js-file-line" id=
=3D"gmail-LC2425" style=3D"padding:0px 10px;color:rgb(36,41,46);line-height=
:20px;overflow:visible;font-family:SFMono-Regular,Consolas,Liberation Mono,=
Menlo,Courier,monospace;font-size:12px;vertical-align:top;white-space:pre;w=
ord-wrap:normal;box-sizing:border-box"></td></tr><tr style=3D"box-sizing:bo=
rder-box"><td class=3D"gmail-blob-num gmail-js-line-number" id=3D"gmail-L24=
26" style=3D"padding:0px 10px;width:50px;text-align:right;color:rgba(27,31,=
35,0.3);line-height:20px;font-family:SFMono-Regular,Consolas,Liberation Mon=
o,Menlo,Courier,monospace;font-size:12px;vertical-align:top;white-space:now=
rap;min-width:50px;box-sizing:border-box"></td><td class=3D"gmail-blob-code=
gmail-blob-code-inner gmail-js-file-line" id=3D"gmail-LC2426" style=3D"pad=
ding:0px 10px;color:rgb(36,41,46);line-height:20px;overflow:visible;font-fa=
mily:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font-s=
ize:12px;vertical-align:top;white-space:pre;word-wrap:normal;box-sizing:bor=
der-box"></td></tr><tr style=3D"box-sizing:border-box"><td class=3D"gmail-b=
lob-num gmail-js-line-number" id=3D"gmail-L2427" style=3D"padding:0px 10px;=
width:50px;text-align:right;color:rgba(27,31,35,0.3);line-height:20px;font-=
family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font=
-size:12px;vertical-align:top;white-space:nowrap;min-width:50px;box-sizing:=
border-box"></td><td class=3D"gmail-blob-code gmail-blob-code-inner gmail-j=
s-file-line" id=3D"gmail-LC2427" style=3D"padding:0px 10px;color:rgb(36,41,=
46);line-height:20px;overflow:visible;font-family:SFMono-Regular,Consolas,L=
iberation Mono,Menlo,Courier,monospace;font-size:12px;vertical-align:top;wh=
ite-space:pre;word-wrap:normal;box-sizing:border-box"></td></tr><tr style=
=3D"box-sizing:border-box"><td class=3D"gmail-blob-num gmail-js-line-number=
" id=3D"gmail-L2428" style=3D"padding:0px 10px;width:50px;text-align:right;=
color:rgba(27,31,35,0.3);line-height:20px;font-family:SFMono-Regular,Consol=
as,Liberation Mono,Menlo,Courier,monospace;font-size:12px;vertical-align:to=
p;white-space:nowrap;min-width:50px;box-sizing:border-box"></td><td class=
=3D"gmail-blob-code gmail-blob-code-inner gmail-js-file-line" id=3D"gmail-L=
C2428" style=3D"padding:0px 10px;color:rgb(36,41,46);line-height:20px;overf=
low:visible;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Couri=
er,monospace;font-size:12px;vertical-align:top;white-space:pre;word-wrap:no=
rmal;box-sizing:border-box"></td></tr><tr style=3D"box-sizing:border-box"><=
td class=3D"gmail-blob-num gmail-js-line-number" id=3D"gmail-L2429" style=
=3D"padding:0px 10px;width:50px;text-align:right;color:rgba(27,31,35,0.3);l=
ine-height:20px;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,C=
ourier,monospace;font-size:12px;vertical-align:top;white-space:nowrap;min-w=
idth:50px;box-sizing:border-box"></td><td class=3D"gmail-blob-code gmail-bl=
ob-code-inner gmail-js-file-line" id=3D"gmail-LC2429" style=3D"padding:0px =
10px;color:rgb(36,41,46);line-height:20px;overflow:visible;font-family:SFMo=
no-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font-size:12px;=
vertical-align:top;white-space:pre;word-wrap:normal;box-sizing:border-box">=
</td></tr><tr style=3D"box-sizing:border-box"><td class=3D"gmail-blob-num g=
mail-js-line-number" id=3D"gmail-L2430" style=3D"padding:0px 10px;width:50p=
x;text-align:right;color:rgba(27,31,35,0.3);line-height:20px;font-family:SF=
Mono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font-size:12p=
x;vertical-align:top;white-space:nowrap;min-width:50px;box-sizing:border-bo=
x"></td><td class=3D"gmail-blob-code gmail-blob-code-inner gmail-js-file-li=
ne" id=3D"gmail-LC2430" style=3D"padding:0px 10px;color:rgb(36,41,46);line-=
height:20px;overflow:visible;font-family:SFMono-Regular,Consolas,Liberation=
Mono,Menlo,Courier,monospace;font-size:12px;vertical-align:top;white-space=
:pre;word-wrap:normal;box-sizing:border-box"></td></tr><tr style=3D"box-siz=
ing:border-box"><td class=3D"gmail-blob-num gmail-js-line-number" id=3D"gma=
il-L2431" style=3D"padding:0px 10px;width:50px;text-align:right;color:rgba(=
27,31,35,0.3);line-height:20px;font-family:SFMono-Regular,Consolas,Liberati=
on Mono,Menlo,Courier,monospace;font-size:12px;vertical-align:top;white-spa=
ce:nowrap;min-width:50px;box-sizing:border-box"></td><td class=3D"gmail-blo=
b-code gmail-blob-code-inner gmail-js-file-line" id=3D"gmail-LC2431" style=
=3D"padding:0px 10px;color:rgb(36,41,46);line-height:20px;overflow:visible;=
font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace=
;font-size:12px;vertical-align:top;white-space:pre;word-wrap:normal;box-siz=
ing:border-box"></td></tr><tr style=3D"box-sizing:border-box"><td class=3D"=
gmail-blob-num gmail-js-line-number" id=3D"gmail-L2432" style=3D"padding:0p=
x 10px;width:50px;text-align:right;color:rgba(27,31,35,0.3);line-height:20p=
x;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospa=
ce;font-size:12px;vertical-align:top;white-space:nowrap;min-width:50px;box-=
sizing:border-box"></td><td class=3D"gmail-blob-code gmail-blob-code-inner =
gmail-js-file-line" id=3D"gmail-LC2432" style=3D"padding:0px 10px;color:rgb=
(36,41,46);line-height:20px;overflow:visible;font-family:SFMono-Regular,Con=
solas,Liberation Mono,Menlo,Courier,monospace;font-size:12px;vertical-align=
:top;white-space:pre;word-wrap:normal;box-sizing:border-box"></td></tr><tr =
style=3D"box-sizing:border-box"><td class=3D"gmail-blob-num gmail-js-line-n=
umber" id=3D"gmail-L2433" style=3D"padding:0px 10px;width:50px;text-align:r=
ight;color:rgba(27,31,35,0.3);line-height:20px;font-family:SFMono-Regular,C=
onsolas,Liberation Mono,Menlo,Courier,monospace;font-size:12px;vertical-ali=
gn:top;white-space:nowrap;min-width:50px;box-sizing:border-box"></td><td cl=
ass=3D"gmail-blob-code gmail-blob-code-inner gmail-js-file-line" id=3D"gmai=
l-LC2433" style=3D"padding:0px 10px;color:rgb(36,41,46);line-height:20px;ov=
erflow:visible;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Co=
urier,monospace;font-size:12px;vertical-align:top;white-space:pre;word-wrap=
:normal;box-sizing:border-box"></td></tr><tr style=3D"box-sizing:border-box=
"><td class=3D"gmail-blob-num gmail-js-line-number" id=3D"gmail-L2434" styl=
e=3D"padding:0px 10px;width:50px;text-align:right;color:rgba(27,31,35,0.3);=
line-height:20px;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,=
Courier,monospace;font-size:12px;vertical-align:top;white-space:nowrap;min-=
width:50px;box-sizing:border-box"></td><td class=3D"gmail-blob-code gmail-b=
lob-code-inner gmail-js-file-line" id=3D"gmail-LC2434" style=3D"padding:0px=
10px;color:rgb(36,41,46);line-height:20px;overflow:visible;font-family:SFM=
ono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font-size:12px=
;vertical-align:top;white-space:pre;word-wrap:normal;box-sizing:border-box"=
></td></tr><tr style=3D"box-sizing:border-box"><td class=3D"gmail-blob-num =
gmail-js-line-number" id=3D"gmail-L2435" style=3D"padding:0px 10px;width:50=
px;text-align:right;color:rgba(27,31,35,0.3);line-height:20px;font-family:S=
FMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font-size:12=
px;vertical-align:top;white-space:nowrap;min-width:50px;box-sizing:border-b=
ox"></td><td class=3D"gmail-blob-code gmail-blob-code-inner gmail-js-file-l=
ine" id=3D"gmail-LC2435" style=3D"padding:0px 10px;color:rgb(36,41,46);line=
-height:20px;overflow:visible;font-family:SFMono-Regular,Consolas,Liberatio=
n Mono,Menlo,Courier,monospace;font-size:12px;vertical-align:top;white-spac=
e:pre;word-wrap:normal;box-sizing:border-box"></td></tr><tr style=3D"box-si=
zing:border-box"><td class=3D"gmail-blob-num gmail-js-line-number" id=3D"gm=
ail-L2436" style=3D"padding:0px 10px;width:50px;text-align:right;color:rgba=
(27,31,35,0.3);line-height:20px;font-family:SFMono-Regular,Consolas,Liberat=
ion Mono,Menlo,Courier,monospace;font-size:12px;vertical-align:top;white-sp=
ace:nowrap;min-width:50px;box-sizing:border-box"></td><td class=3D"gmail-bl=
ob-code gmail-blob-code-inner gmail-js-file-line" id=3D"gmail-LC2436" style=
=3D"padding:0px 10px;color:rgb(36,41,46);line-height:20px;overflow:visible;=
font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace=
;font-size:12px;vertical-align:top;white-space:pre;word-wrap:normal;box-siz=
ing:border-box"></td></tr><tr style=3D"box-sizing:border-box"><td class=3D"=
gmail-blob-num gmail-js-line-number" id=3D"gmail-L2437" style=3D"padding:0p=
x 10px;width:50px;text-align:right;color:rgba(27,31,35,0.3);line-height:20p=
x;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospa=
ce;font-size:12px;vertical-align:top;white-space:nowrap;min-width:50px;box-=
sizing:border-box"></td><td class=3D"gmail-blob-code gmail-blob-code-inner =
gmail-js-file-line" id=3D"gmail-LC2437" style=3D"padding:0px 10px;color:rgb=
(36,41,46);line-height:20px;overflow:visible;font-family:SFMono-Regular,Con=
solas,Liberation Mono,Menlo,Courier,monospace;font-size:12px;vertical-align=
:top;white-space:pre;word-wrap:normal;box-sizing:border-box"></td></tr><tr =
style=3D"box-sizing:border-box"><td class=3D"gmail-blob-num gmail-js-line-n=
umber" id=3D"gmail-L2438" style=3D"padding:0px 10px;width:50px;text-align:r=
ight;color:rgba(27,31,35,0.3);line-height:20px;font-family:SFMono-Regular,C=
onsolas,Liberation Mono,Menlo,Courier,monospace;font-size:12px;vertical-ali=
gn:top;white-space:nowrap;min-width:50px;box-sizing:border-box"></td><td cl=
ass=3D"gmail-blob-code gmail-blob-code-inner gmail-js-file-line" id=3D"gmai=
l-LC2438" style=3D"padding:0px 10px;color:rgb(36,41,46);line-height:20px;ov=
erflow:visible;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Co=
urier,monospace;font-size:12px;vertical-align:top;white-space:pre;word-wrap=
:normal;box-sizing:border-box"></td></tr><tr style=3D"box-sizing:border-box=
"><td class=3D"gmail-blob-num gmail-js-line-number" id=3D"gmail-L2439" styl=
e=3D"padding:0px 10px;width:50px;text-align:right;color:rgba(27,31,35,0.3);=
line-height:20px;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,=
Courier,monospace;font-size:12px;vertical-align:top;white-space:nowrap;min-=
width:50px;box-sizing:border-box"></td><td class=3D"gmail-blob-code gmail-b=
lob-code-inner gmail-js-file-line" id=3D"gmail-LC2439" style=3D"padding:0px=
10px;color:rgb(36,41,46);line-height:20px;overflow:visible;font-family:SFM=
ono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font-size:12px=
;vertical-align:top;white-space:pre;word-wrap:normal;box-sizing:border-box"=
></td>
</tr>
<tr style=3D"box-sizing:border-box">
<td class=3D"gmail-blob-num gmail-js-line-number" id=3D"gmail-L2440=
" style=3D"padding:0px 10px;width:50px;text-align:right;color:rgba(27,31,35=
,0.3);line-height:20px;font-family:SFMono-Regular,Consolas,Liberation Mono,=
Menlo,Courier,monospace;font-size:12px;vertical-align:top;white-space:nowra=
p;min-width:50px;box-sizing:border-box"></td>
<td class=3D"gmail-blob-code gmail-blob-code-inner gmail-js-file-li=
ne" id=3D"gmail-LC2440" style=3D"padding:0px 10px;color:rgb(36,41,46);line-=
height:20px;overflow:visible;font-family:SFMono-Regular,Consolas,Liberation=
Mono,Menlo,Courier,monospace;font-size:12px;vertical-align:top;white-space=
:pre;word-wrap:normal;box-sizing:border-box">=C2=A0=C2=A0=C2=A0 sysCall<spa=
n class=3D"gmail-pl-k" style=3D"color:rgb(215,58,73);box-sizing:border-box"=
>.</span>sysExit(value);</td>
</tr>
<tr style=3D"box-sizing:border-box">
<td class=3D"gmail-blob-num gmail-js-line-number" id=3D"gmail-L2441=
" style=3D"padding:0px 10px;width:50px;text-align:right;color:rgba(27,31,35=
,0.3);line-height:20px;font-family:SFMono-Regular,Consolas,Liberation Mono,=
Menlo,Courier,monospace;font-size:12px;vertical-align:top;white-space:nowra=
p;min-width:50px;box-sizing:border-box"></td>
<td class=3D"gmail-blob-code gmail-blob-code-inner gmail-js-file-li=
ne" id=3D"gmail-LC2441" style=3D"padding:0px 10px;color:rgb(36,41,46);line-=
height:20px;overflow:visible;font-family:SFMono-Regular,Consolas,Liberation=
Mono,Menlo,Courier,monospace;font-size:12px;vertical-align:top;white-space=
:pre;word-wrap:normal;box-sizing:border-box">=C2=A0=C2=A0=C2=A0 <span class=
=3D"gmail-pl-k" style=3D"color:rgb(215,58,73);box-sizing:border-box">if</sp=
an> (<span class=3D"gmail-pl-c1" style=3D"color:rgb(0,92,197);box-sizing:bo=
rder-box">VM</span><span class=3D"gmail-pl-k" style=3D"color:rgb(215,58,73)=
;box-sizing:border-box">.</span><span class=3D"gmail-pl-smi" style=3D"color=
:rgb(36,41,46);box-sizing:border-box">VerifyAssertions</span>) <span class=
=3D"gmail-pl-c1" style=3D"color:rgb(0,92,197);box-sizing:border-box">VM</sp=
an><span class=3D"gmail-pl-k" style=3D"color:rgb(215,58,73);box-sizing:bord=
er-box">.</span>_assert(<span class=3D"gmail-pl-c1" style=3D"color:rgb(0,92=
,197);box-sizing:border-box">VM<span class=3D"gmail-pl-k" style=3D"color:rg=
b(215,58,73);box-sizing:border-box">.</span>NOT_REACHED</span>);</td>
</tr>
<tr style=3D"box-sizing:border-box">
<td class=3D"gmail-blob-num gmail-js-line-number" id=3D"gmail-L2442=
" style=3D"padding:0px 10px;width:50px;text-align:right;color:rgba(27,31,35=
,0.3);line-height:20px;font-family:SFMono-Regular,Consolas,Liberation Mono,=
Menlo,Courier,monospace;font-size:12px;vertical-align:top;white-space:nowra=
p;min-width:50px;box-sizing:border-box"></td>
<td class=3D"gmail-blob-code gmail-blob-code-inner gmail-js-file-li=
ne" id=3D"gmail-LC2442" style=3D"padding:0px 10px;color:rgb(36,41,46);line-=
height:20px;overflow:visible;font-family:SFMono-Regular,Consolas,Liberation=
Mono,Menlo,Courier,monospace;font-size:12px;vertical-align:top;white-space=
:pre;word-wrap:normal;box-sizing:border-box">=C2=A0 }
</td></tr></tbody></table><b>Case 2 (in sysExit()):</b></div><div><table cl=
ass=3D"gmail-highlight gmail-tab-size gmail-js-file-line-container" style=
=3D"text-align:left;color:rgb(36,41,46);text-transform:none;text-indent:0px=
;letter-spacing:normal;font-family:-apple-system,BlinkMacSystemFont,Segoe U=
I,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symb=
ol;font-size:14px;font-style:normal;font-variant:normal;font-weight:400;tex=
t-decoration:none;word-spacing:0px;white-space:normal;border-collapse:colla=
pse;box-sizing:border-box;border-spacing:0px 0px;background-color:transpare=
nt"><tbody style=3D"box-sizing:border-box"><tr style=3D"box-sizing:border-b=
ox"><td class=3D"gmail-blob-num gmail-js-line-number" id=3D"gmail-L2381" st=
yle=3D"padding:0px 10px;width:50px;text-align:right;color:rgba(27,31,35,0.3=
);line-height:20px;font-family:SFMono-Regular,Consolas,Liberation Mono,Menl=
o,Courier,monospace;font-size:12px;vertical-align:top;white-space:nowrap;mi=
n-width:50px;box-sizing:border-box"></td>
<td class=3D"gmail-blob-code gmail-blob-code-inner gmail-js-file-li=
ne" id=3D"gmail-LC2381" style=3D"padding:0px 10px;color:rgb(36,41,46);line-=
height:20px;overflow:visible;font-family:SFMono-Regular,Consolas,Liberation=
Mono,Menlo,Courier,monospace;font-size:12px;vertical-align:top;white-space=
:pre;word-wrap:normal;box-sizing:border-box">=C2=A0 <span class=3D"gmail-pl=
-k" style=3D"color:rgb(215,58,73);box-sizing:border-box">@NoInline</span></=
td>
</tr>
<tr style=3D"box-sizing:border-box">
<td class=3D"gmail-blob-num gmail-js-line-number" id=3D"gmail-L2382=
" style=3D"padding:0px 10px;width:50px;text-align:right;color:rgba(27,31,35=
,0.3);line-height:20px;font-family:SFMono-Regular,Consolas,Liberation Mono,=
Menlo,Courier,monospace;font-size:12px;vertical-align:top;white-space:nowra=
p;min-width:50px;box-sizing:border-box"></td>
<td class=3D"gmail-blob-code gmail-blob-code-inner gmail-js-file-li=
ne" id=3D"gmail-LC2382" style=3D"padding:0px 10px;color:rgb(36,41,46);line-=
height:20px;overflow:visible;font-family:SFMono-Regular,Consolas,Liberation=
Mono,Menlo,Courier,monospace;font-size:12px;vertical-align:top;white-space=
:pre;word-wrap:normal;box-sizing:border-box">=C2=A0 <span class=3D"gmail-pl=
-k" style=3D"color:rgb(215,58,73);box-sizing:border-box">@UninterruptibleNo=
Warn</span>(<span class=3D"gmail-pl-s" style=3D"color:rgb(3,47,98);box-sizi=
ng:border-box"><span class=3D"gmail-pl-pds" style=3D"color:rgb(3,47,98);box=
-sizing:border-box">"</span>We're never returning to the caller, s=
o even though this code is preemptible it is safe to call from any context<=
span class=3D"gmail-pl-pds" style=3D"color:rgb(3,47,98);box-sizing:border-b=
ox">"</span></span>)</td>
</tr>
<tr style=3D"box-sizing:border-box">
<td class=3D"gmail-blob-num gmail-js-line-number" id=3D"gmail-L2383=
" style=3D"padding:0px 10px;width:50px;text-align:right;color:rgba(27,31,35=
,0.3);line-height:20px;font-family:SFMono-Regular,Consolas,Liberation Mono,=
Menlo,Courier,monospace;font-size:12px;vertical-align:top;white-space:nowra=
p;min-width:50px;box-sizing:border-box"></td>
<td class=3D"gmail-blob-code gmail-blob-code-inner gmail-js-file-li=
ne" id=3D"gmail-LC2383" style=3D"padding:0px 10px;color:rgb(36,41,46);line-=
height:20px;overflow:visible;font-family:SFMono-Regular,Consolas,Liberation=
Mono,Menlo,Courier,monospace;font-size:12px;vertical-align:top;white-space=
:pre;word-wrap:normal;box-sizing:border-box">=C2=A0 <span class=3D"gmail-pl=
-k" style=3D"color:rgb(215,58,73);box-sizing:border-box">public</span> <spa=
n class=3D"gmail-pl-k" style=3D"color:rgb(215,58,73);box-sizing:border-box"=
>static</span> <span class=3D"gmail-pl-k" style=3D"color:rgb(215,58,73);box=
-sizing:border-box">void</span> <span class=3D"gmail-pl-en" style=3D"color:=
rgb(111,66,193);box-sizing:border-box">sysExit</span>(<span class=3D"gmail-=
pl-k" style=3D"color:rgb(215,58,73);box-sizing:border-box">int</span> <span=
class=3D"gmail-pl-v" style=3D"color:rgb(227,98,9);box-sizing:border-box">v=
alue</span>) {</td>
</tr>
<tr style=3D"box-sizing:border-box">
<td class=3D"gmail-blob-num gmail-js-line-number" id=3D"gmail-L2384=
" style=3D"padding:0px 10px;width:50px;text-align:right;color:rgba(27,31,35=
,0.3);line-height:20px;font-family:SFMono-Regular,Consolas,Liberation Mono,=
Menlo,Courier,monospace;font-size:12px;vertical-align:top;white-space:nowra=
p;min-width:50px;box-sizing:border-box"></td>
<td class=3D"gmail-blob-code gmail-blob-code-inner gmail-js-file-li=
ne" id=3D"gmail-LC2384" style=3D"padding:0px 10px;color:rgb(36,41,46);line-=
height:20px;overflow:visible;font-family:SFMono-Regular,Consolas,Liberation=
Mono,Menlo,Courier,monospace;font-size:12px;vertical-align:top;white-space=
:pre;word-wrap:normal;box-sizing:border-box">=C2=A0=C2=A0=C2=A0 handlePossi=
bleRecursiveCallToSysExit();</td>
</tr>
<tr style=3D"box-sizing:border-box">
<td class=3D"gmail-blob-num gmail-js-line-number" id=3D"gmail-L2385=
" style=3D"padding:0px 10px;width:50px;text-align:right;color:rgba(27,31,35=
,0.3);line-height:20px;font-family:SFMono-Regular,Consolas,Liberation Mono,=
Menlo,Courier,monospace;font-size:12px;vertical-align:top;white-space:nowra=
p;min-width:50px;box-sizing:border-box"></td>
<td class=3D"gmail-blob-code gmail-blob-code-inner gmail-js-file-li=
ne" id=3D"gmail-LC2385" style=3D"padding:0px 10px;color:rgb(36,41,46);line-=
height:20px;overflow:visible;font-family:SFMono-Regular,Consolas,Liberation=
Mono,Menlo,Courier,monospace;font-size:12px;vertical-align:top;white-space=
:pre;word-wrap:normal;box-sizing:border-box"><br></td>
</tr>
<tr style=3D"box-sizing:border-box">
<td class=3D"gmail-blob-num gmail-js-line-number" id=3D"gmail-L2386=
" style=3D"padding:0px 10px;width:50px;text-align:right;color:rgba(27,31,35=
,0.3);line-height:20px;font-family:SFMono-Regular,Consolas,Liberation Mono,=
Menlo,Courier,monospace;font-size:12px;vertical-align:top;white-space:nowra=
p;min-width:50px;box-sizing:border-box"></td>
<td class=3D"gmail-blob-code gmail-blob-code-inner gmail-js-file-li=
ne" id=3D"gmail-LC2386" style=3D"padding:0px 10px;color:rgb(36,41,46);line-=
height:20px;overflow:visible;font-family:SFMono-Regular,Consolas,Liberation=
Mono,Menlo,Courier,monospace;font-size:12px;vertical-align:top;white-space=
:pre;word-wrap:normal;box-sizing:border-box">=C2=A0=C2=A0=C2=A0 <span class=
=3D"gmail-pl-k" style=3D"color:rgb(215,58,73);box-sizing:border-box">if</sp=
an> (<span class=3D"gmail-pl-c1" style=3D"color:rgb(0,92,197);box-sizing:bo=
rder-box">VM</span><span class=3D"gmail-pl-k" style=3D"color:rgb(215,58,73)=
;box-sizing:border-box">.</span>countThreadTransitions) {</td>
</tr>
<tr style=3D"box-sizing:border-box">
<td class=3D"gmail-blob-num gmail-js-line-number" id=3D"gmail-L2387=
" style=3D"padding:0px 10px;width:50px;text-align:right;color:rgba(27,31,35=
,0.3);line-height:20px;font-family:SFMono-Regular,Consolas,Liberation Mono,=
Menlo,Courier,monospace;font-size:12px;vertical-align:top;white-space:nowra=
p;min-width:50px;box-sizing:border-box"></td>
<td class=3D"gmail-blob-code gmail-blob-code-inner gmail-js-file-li=
ne" id=3D"gmail-LC2387" style=3D"padding:0px 10px;color:rgb(36,41,46);line-=
height:20px;overflow:visible;font-family:SFMono-Regular,Consolas,Liberation=
Mono,Menlo,Courier,monospace;font-size:12px;vertical-align:top;white-space=
:pre;word-wrap:normal;box-sizing:border-box">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
<span class=3D"gmail-pl-smi" style=3D"color:rgb(36,41,46);box-sizing:borde=
r-box">RVMThread</span><span class=3D"gmail-pl-k" style=3D"color:rgb(215,58=
,73);box-sizing:border-box">.</span>reportThreadTransitionCounts();</td>
</tr>
<tr style=3D"box-sizing:border-box">
<td class=3D"gmail-blob-num gmail-js-line-number" id=3D"gmail-L2388=
" style=3D"padding:0px 10px;width:50px;text-align:right;color:rgba(27,31,35=
,0.3);line-height:20px;font-family:SFMono-Regular,Consolas,Liberation Mono,=
Menlo,Courier,monospace;font-size:12px;vertical-align:top;white-space:nowra=
p;min-width:50px;box-sizing:border-box"></td>
<td class=3D"gmail-blob-code gmail-blob-code-inner gmail-js-file-li=
ne" id=3D"gmail-LC2388" style=3D"padding:0px 10px;color:rgb(36,41,46);line-=
height:20px;overflow:visible;font-family:SFMono-Regular,Consolas,Liberation=
Mono,Menlo,Courier,monospace;font-size:12px;vertical-align:top;white-space=
:pre;word-wrap:normal;box-sizing:border-box">=C2=A0=C2=A0=C2=A0 }</td>
</tr>
<tr style=3D"box-sizing:border-box">
<td class=3D"gmail-blob-num gmail-js-line-number" id=3D"gmail-L2389=
" style=3D"padding:0px 10px;width:50px;text-align:right;color:rgba(27,31,35=
,0.3);line-height:20px;font-family:SFMono-Regular,Consolas,Liberation Mono,=
Menlo,Courier,monospace;font-size:12px;vertical-align:top;white-space:nowra=
p;min-width:50px;box-sizing:border-box"></td>
<td class=3D"gmail-blob-code gmail-blob-code-inner gmail-js-file-li=
ne" id=3D"gmail-LC2389" style=3D"padding:0px 10px;color:rgb(36,41,46);line-=
height:20px;overflow:visible;font-family:SFMono-Regular,Consolas,Liberation=
Mono,Menlo,Courier,monospace;font-size:12px;vertical-align:top;white-space=
:pre;word-wrap:normal;box-sizing:border-box"><br></td>
</tr>
<tr style=3D"box-sizing:border-box">
<td class=3D"gmail-blob-num gmail-js-line-number" id=3D"gmail-L2390=
" style=3D"padding:0px 10px;width:50px;text-align:right;color:rgba(27,31,35=
,0.3);line-height:20px;font-family:SFMono-Regular,Consolas,Liberation Mono,=
Menlo,Courier,monospace;font-size:12px;vertical-align:top;white-space:nowra=
p;min-width:50px;box-sizing:border-box"></td>
<td class=3D"gmail-blob-code gmail-blob-code-inner gmail-js-file-li=
ne" id=3D"gmail-LC2390" style=3D"padding:0px 10px;color:rgb(36,41,46);line-=
height:20px;overflow:visible;font-family:SFMono-Regular,Consolas,Liberation=
Mono,Menlo,Courier,monospace;font-size:12px;vertical-align:top;white-space=
:pre;word-wrap:normal;box-sizing:border-box">=C2=A0=C2=A0=C2=A0 <span class=
=3D"gmail-pl-k" style=3D"color:rgb(215,58,73);box-sizing:border-box">if</sp=
an> (<span class=3D"gmail-pl-smi" style=3D"color:rgb(36,41,46);box-sizing:b=
order-box">Options</span><span class=3D"gmail-pl-k" style=3D"color:rgb(215,=
58,73);box-sizing:border-box">.</span>stackTraceAtExit) {</td>
</tr>
<tr style=3D"box-sizing:border-box">
<td class=3D"gmail-blob-num gmail-js-line-number" id=3D"gmail-L2391=
" style=3D"padding:0px 10px;width:50px;text-align:right;color:rgba(27,31,35=
,0.3);line-height:20px;font-family:SFMono-Regular,Consolas,Liberation Mono,=
Menlo,Courier,monospace;font-size:12px;vertical-align:top;white-space:nowra=
p;min-width:50px;box-sizing:border-box"></td>
<td class=3D"gmail-blob-code gmail-blob-code-inner gmail-js-file-li=
ne" id=3D"gmail-LC2391" style=3D"padding:0px 10px;color:rgb(36,41,46);line-=
height:20px;overflow:visible;font-family:SFMono-Regular,Consolas,Liberation=
Mono,Menlo,Courier,monospace;font-size:12px;vertical-align:top;white-space=
:pre;word-wrap:normal;box-sizing:border-box">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
<span class=3D"gmail-pl-c1" style=3D"color:rgb(0,92,197);box-sizing:border=
-box">VM</span><span class=3D"gmail-pl-k" style=3D"color:rgb(215,58,73);box=
-sizing:border-box">.</span>sysWriteln(<span class=3D"gmail-pl-s" style=3D"=
color:rgb(3,47,98);box-sizing:border-box"><span class=3D"gmail-pl-pds" styl=
e=3D"color:rgb(3,47,98);box-sizing:border-box">"</span>[Here is the co=
ntext of the call to VM.sysExit(<span class=3D"gmail-pl-pds" style=3D"color=
:rgb(3,47,98);box-sizing:border-box">"</span></span>, value, <span cla=
ss=3D"gmail-pl-s" style=3D"color:rgb(3,47,98);box-sizing:border-box"><span =
class=3D"gmail-pl-pds" style=3D"color:rgb(3,47,98);box-sizing:border-box">&=
quot;</span>)...:<span class=3D"gmail-pl-pds" style=3D"color:rgb(3,47,98);b=
ox-sizing:border-box">"</span></span>);</td>
</tr>
<tr style=3D"box-sizing:border-box">
<td class=3D"gmail-blob-num gmail-js-line-number" id=3D"gmail-L2392=
" style=3D"padding:0px 10px;width:50px;text-align:right;color:rgba(27,31,35=
,0.3);line-height:20px;font-family:SFMono-Regular,Consolas,Liberation Mono,=
Menlo,Courier,monospace;font-size:12px;vertical-align:top;white-space:nowra=
p;min-width:50px;box-sizing:border-box"></td>
<td class=3D"gmail-blob-code gmail-blob-code-inner gmail-js-file-li=
ne" id=3D"gmail-LC2392" style=3D"padding:0px 10px;color:rgb(36,41,46);line-=
height:20px;overflow:visible;font-family:SFMono-Regular,Consolas,Liberation=
Mono,Menlo,Courier,monospace;font-size:12px;vertical-align:top;white-space=
:pre;word-wrap:normal;box-sizing:border-box">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
<span class=3D"gmail-pl-c1" style=3D"color:rgb(0,92,197);box-sizing:border=
-box">VM</span><span class=3D"gmail-pl-k" style=3D"color:rgb(215,58,73);box=
-sizing:border-box">.</span>disableGC();</td>
</tr>
<tr style=3D"box-sizing:border-box">
<td class=3D"gmail-blob-num gmail-js-line-number" id=3D"gmail-L2393=
" style=3D"padding:0px 10px;width:50px;text-align:right;color:rgba(27,31,35=
,0.3);line-height:20px;font-family:SFMono-Regular,Consolas,Liberation Mono,=
Menlo,Courier,monospace;font-size:12px;vertical-align:top;white-space:nowra=
p;min-width:50px;box-sizing:border-box"></td>
<td class=3D"gmail-blob-code gmail-blob-code-inner gmail-js-file-li=
ne" id=3D"gmail-LC2393" style=3D"padding:0px 10px;color:rgb(36,41,46);line-=
height:20px;overflow:visible;font-family:SFMono-Regular,Consolas,Liberation=
Mono,Menlo,Courier,monospace;font-size:12px;vertical-align:top;white-space=
:pre;word-wrap:normal;box-sizing:border-box">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
<span class=3D"gmail-pl-smi" style=3D"color:rgb(36,41,46);box-sizing:borde=
r-box">RVMThread</span><span class=3D"gmail-pl-k" style=3D"color:rgb(215,58=
,73);box-sizing:border-box">.</span>dumpStack();</td>
</tr>
<tr style=3D"box-sizing:border-box">
<td class=3D"gmail-blob-num gmail-js-line-number" id=3D"gmail-L2394=
" style=3D"padding:0px 10px;width:50px;text-align:right;color:rgba(27,31,35=
,0.3);line-height:20px;font-family:SFMono-Regular,Consolas,Liberation Mono,=
Menlo,Courier,monospace;font-size:12px;vertical-align:top;white-space:nowra=
p;min-width:50px;box-sizing:border-box"></td>
<td class=3D"gmail-blob-code gmail-blob-code-inner gmail-js-file-li=
ne" id=3D"gmail-LC2394" style=3D"padding:0px 10px;color:rgb(36,41,46);line-=
height:20px;overflow:visible;font-family:SFMono-Regular,Consolas,Liberation=
Mono,Menlo,Courier,monospace;font-size:12px;vertical-align:top;white-space=
:pre;word-wrap:normal;box-sizing:border-box">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
<span class=3D"gmail-pl-c1" style=3D"color:rgb(0,92,197);box-sizing:border=
-box">VM</span><span class=3D"gmail-pl-k" style=3D"color:rgb(215,58,73);box=
-sizing:border-box">.</span>enableGC();</td>
</tr>
<tr style=3D"box-sizing:border-box">
<td class=3D"gmail-blob-num gmail-js-line-number" id=3D"gmail-L2395=
" style=3D"padding:0px 10px;width:50px;text-align:right;color:rgba(27,31,35=
,0.3);line-height:20px;font-family:SFMono-Regular,Consolas,Liberation Mono,=
Menlo,Courier,monospace;font-size:12px;vertical-align:top;white-space:nowra=
p;min-width:50px;box-sizing:border-box"></td>
<td class=3D"gmail-blob-code gmail-blob-code-inner gmail-js-file-li=
ne" id=3D"gmail-LC2395" style=3D"padding:0px 10px;color:rgb(36,41,46);line-=
height:20px;overflow:visible;font-family:SFMono-Regular,Consolas,Liberation=
Mono,Menlo,Courier,monospace;font-size:12px;vertical-align:top;white-space=
:pre;word-wrap:normal;box-sizing:border-box">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
<span class=3D"gmail-pl-c1" style=3D"color:rgb(0,92,197);box-sizing:border=
-box">VM</span><span class=3D"gmail-pl-k" style=3D"color:rgb(215,58,73);box=
-sizing:border-box">.</span>sysWriteln(<span class=3D"gmail-pl-s" style=3D"=
color:rgb(3,47,98);box-sizing:border-box"><span class=3D"gmail-pl-pds" styl=
e=3D"color:rgb(3,47,98);box-sizing:border-box">"</span>... END context=
of the call to VM.sysExit]<span class=3D"gmail-pl-pds" style=3D"color:rgb(=
3,47,98);box-sizing:border-box">"</span></span>);</td>
</tr>
<tr style=3D"box-sizing:border-box">
<td class=3D"gmail-blob-num gmail-js-line-number" id=3D"gmail-L2396=
" style=3D"padding:0px 10px;width:50px;text-align:right;color:rgba(27,31,35=
,0.3);line-height:20px;font-family:SFMono-Regular,Consolas,Liberation Mono,=
Menlo,Courier,monospace;font-size:12px;vertical-align:top;white-space:nowra=
p;min-width:50px;box-sizing:border-box"></td>
<td class=3D"gmail-blob-code gmail-blob-code-inner gmail-js-file-li=
ne" id=3D"gmail-LC2396" style=3D"padding:0px 10px;color:rgb(36,41,46);line-=
height:20px;overflow:visible;font-family:SFMono-Regular,Consolas,Liberation=
Mono,Menlo,Courier,monospace;font-size:12px;vertical-align:top;white-space=
:pre;word-wrap:normal;box-sizing:border-box">=C2=A0=C2=A0=C2=A0 }</td>
</tr>
<tr style=3D"box-sizing:border-box">
<td class=3D"gmail-blob-num gmail-js-line-number" id=3D"gmail-L2397=
" style=3D"padding:0px 10px;width:50px;text-align:right;color:rgba(27,31,35=
,0.3);line-height:20px;font-family:SFMono-Regular,Consolas,Liberation Mono,=
Menlo,Courier,monospace;font-size:12px;vertical-align:top;white-space:nowra=
p;min-width:50px;box-sizing:border-box"></td>
<td class=3D"gmail-blob-code gmail-blob-code-inner gmail-js-file-li=
ne" id=3D"gmail-LC2397" style=3D"padding:0px 10px;color:rgb(36,41,46);line-=
height:20px;overflow:visible;font-family:SFMono-Regular,Consolas,Liberation=
Mono,Menlo,Courier,monospace;font-size:12px;vertical-align:top;white-space=
:pre;word-wrap:normal;box-sizing:border-box">=C2=A0=C2=A0=C2=A0 <span class=
=3D"gmail-pl-k" style=3D"color:rgb(215,58,73);box-sizing:border-box">if</sp=
an> (runningVM) {</td>
</tr>
<tr style=3D"box-sizing:border-box">
<td class=3D"gmail-blob-num gmail-js-line-number" id=3D"gmail-L2398=
" style=3D"padding:0px 10px;width:50px;text-align:right;color:rgba(27,31,35=
,0.3);line-height:20px;font-family:SFMono-Regular,Consolas,Liberation Mono,=
Menlo,Courier,monospace;font-size:12px;vertical-align:top;white-space:nowra=
p;min-width:50px;box-sizing:border-box"></td>
<td class=3D"gmail-blob-code gmail-blob-code-inner gmail-js-file-li=
ne" id=3D"gmail-LC2398" style=3D"padding:0px 10px;color:rgb(36,41,46);line-=
height:20px;overflow:visible;font-family:SFMono-Regular,Consolas,Liberation=
Mono,Menlo,Courier,monospace;font-size:12px;vertical-align:top;white-space=
:pre;word-wrap:normal;box-sizing:border-box"><font style=3D"background-colo=
r:rgb(255,255,0)">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 <span class=3D"gmail-pl-c1=
" style=3D"color:rgb(0,92,197);box-sizing:border-box">VM</span><span class=
=3D"gmail-pl-k" style=3D"color:rgb(215,58,73);box-sizing:border-box">.</spa=
n>disableGC();</font></td>
</tr>
<tr style=3D"box-sizing:border-box">
<td class=3D"gmail-blob-num gmail-js-line-number" id=3D"gmail-L2399=
" style=3D"padding:0px 10px;width:50px;text-align:right;color:rgba(27,31,35=
,0.3);line-height:20px;font-family:SFMono-Regular,Consolas,Liberation Mono,=
Menlo,Courier,monospace;font-size:12px;vertical-align:top;white-space:nowra=
p;min-width:50px;box-sizing:border-box"></td>
<td class=3D"gmail-blob-code gmail-blob-code-inner gmail-js-file-li=
ne" id=3D"gmail-LC2399" style=3D"padding:0px 10px;color:rgb(36,41,46);line-=
height:20px;overflow:visible;font-family:SFMono-Regular,Consolas,Liberation=
Mono,Menlo,Courier,monospace;font-size:12px;vertical-align:top;white-space=
:pre;word-wrap:normal;box-sizing:border-box"><font style=3D"background-colo=
r:rgb(255,255,0)">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 <span class=3D"gmail-pl-sm=
i" style=3D"color:rgb(36,41,46);box-sizing:border-box">LogQueue</span><span=
class=3D"gmail-pl-k" style=3D"color:rgb(215,58,73);box-sizing:border-box">=
.</span>dumpLogQueue(<span class=3D"gmail-pl-smi" style=3D"color:rgb(36,41,=
46);box-sizing:border-box">Service</span><span class=3D"gmail-pl-k" style=
=3D"color:rgb(215,58,73);box-sizing:border-box">.</span>clsNameList, <span =
class=3D"gmail-pl-smi" style=3D"color:rgb(36,41,46);box-sizing:border-box">=
Service</span><span class=3D"gmail-pl-k" style=3D"color:rgb(215,58,73);box-=
sizing:border-box">.</span>methodNameList);</font></td>
</tr>
<tr style=3D"box-sizing:border-box">
<td class=3D"gmail-blob-num gmail-js-line-number" id=3D"gmail-L2400=
" style=3D"padding:0px 10px;width:50px;text-align:right;color:rgba(27,31,35=
,0.3);line-height:20px;font-family:SFMono-Regular,Consolas,Liberation Mono,=
Menlo,Courier,monospace;font-size:12px;vertical-align:top;white-space:nowra=
p;min-width:50px;box-sizing:border-box"></td>
<td class=3D"gmail-blob-code gmail-blob-code-inner gmail-js-file-li=
ne" id=3D"gmail-LC2400" style=3D"padding:0px 10px;color:rgb(36,41,46);line-=
height:20px;overflow:visible;font-family:SFMono-Regular,Consolas,Liberation=
Mono,Menlo,Courier,monospace;font-size:12px;vertical-align:top;white-space=
:pre;word-wrap:normal;box-sizing:border-box"><font style=3D"background-colo=
r:rgb(255,255,0)">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 <span class=3D"gmail-pl-c1=
" style=3D"color:rgb(0,92,197);box-sizing:border-box">VM</span><span class=
=3D"gmail-pl-k" style=3D"color:rgb(215,58,73);box-sizing:border-box">.</spa=
n>enableGC();</font></td>
</tr>
<tr style=3D"box-sizing:border-box">
<td class=3D"gmail-blob-num gmail-js-line-number" id=3D"gmail-L2401=
" style=3D"padding:0px 10px;width:50px;text-align:right;color:rgba(27,31,35=
,0.3);line-height:20px;font-family:SFMono-Regular,Consolas,Liberation Mono,=
Menlo,Courier,monospace;font-size:12px;vertical-align:top;white-space:nowra=
p;min-width:50px;box-sizing:border-box"></td>
<td class=3D"gmail-blob-code gmail-blob-code-inner gmail-js-file-li=
ne" id=3D"gmail-LC2401" style=3D"padding:0px 10px;color:rgb(36,41,46);line-=
height:20px;overflow:visible;font-family:SFMono-Regular,Consolas,Liberation=
Mono,Menlo,Courier,monospace;font-size:12px;vertical-align:top;white-space=
:pre;word-wrap:normal;box-sizing:border-box">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
<span class=3D"gmail-pl-smi" style=3D"color:rgb(36,41,46);box-sizing:borde=
r-box">Callbacks</span><span class=3D"gmail-pl-k" style=3D"color:rgb(215,58=
,73);box-sizing:border-box">.</span>notifyExit(value);</td>
</tr>
<tr style=3D"box-sizing:border-box">
<td class=3D"gmail-blob-num gmail-js-line-number" id=3D"gmail-L2402=
" style=3D"padding:0px 10px;width:50px;text-align:right;color:rgba(27,31,35=
,0.3);line-height:20px;font-family:SFMono-Regular,Consolas,Liberation Mono,=
Menlo,Courier,monospace;font-size:12px;vertical-align:top;white-space:nowra=
p;min-width:50px;box-sizing:border-box"></td>
<td class=3D"gmail-blob-code gmail-blob-code-inner gmail-js-file-li=
ne" id=3D"gmail-LC2402" style=3D"padding:0px 10px;color:rgb(36,41,46);line-=
height:20px;overflow:visible;font-family:SFMono-Regular,Consolas,Liberation=
Mono,Menlo,Courier,monospace;font-size:12px;vertical-align:top;white-space=
:pre;word-wrap:normal;box-sizing:border-box">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
<span class=3D"gmail-pl-c1" style=3D"color:rgb(0,92,197);box-sizing:border=
-box">VM</span><span class=3D"gmail-pl-k" style=3D"color:rgb(215,58,73);box=
-sizing:border-box">.</span>shutdown(value);</td>
</tr>
<tr style=3D"box-sizing:border-box">
<td class=3D"gmail-blob-num gmail-js-line-number" id=3D"gmail-L2403=
" style=3D"padding:0px 10px;width:50px;text-align:right;color:rgba(27,31,35=
,0.3);line-height:20px;font-family:SFMono-Regular,Consolas,Liberation Mono,=
Menlo,Courier,monospace;font-size:12px;vertical-align:top;white-space:nowra=
p;min-width:50px;box-sizing:border-box"></td>
<td class=3D"gmail-blob-code gmail-blob-code-inner gmail-js-file-li=
ne" id=3D"gmail-LC2403" style=3D"padding:0px 10px;color:rgb(36,41,46);line-=
height:20px;overflow:visible;font-family:SFMono-Regular,Consolas,Liberation=
Mono,Menlo,Courier,monospace;font-size:12px;vertical-align:top;white-space=
:pre;word-wrap:normal;box-sizing:border-box">=C2=A0=C2=A0=C2=A0 } <span cla=
ss=3D"gmail-pl-k" style=3D"color:rgb(215,58,73);box-sizing:border-box">else=
</span> {</td>
</tr>
<tr style=3D"box-sizing:border-box">
<td class=3D"gmail-blob-num gmail-js-line-number" id=3D"gmail-L2404=
" style=3D"padding:0px 10px;width:50px;text-align:right;color:rgba(27,31,35=
,0.3);line-height:20px;font-family:SFMono-Regular,Consolas,Liberation Mono,=
Menlo,Courier,monospace;font-size:12px;vertical-align:top;white-space:nowra=
p;min-width:50px;box-sizing:border-box"></td>
<td class=3D"gmail-blob-code gmail-blob-code-inner gmail-js-file-li=
ne" id=3D"gmail-LC2404" style=3D"padding:0px 10px;color:rgb(36,41,46);line-=
height:20px;overflow:visible;font-family:SFMono-Regular,Consolas,Liberation=
Mono,Menlo,Courier,monospace;font-size:12px;vertical-align:top;white-space=
:pre;word-wrap:normal;box-sizing:border-box">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
<span class=3D"gmail-pl-smi" style=3D"color:rgb(36,41,46);box-sizing:borde=
r-box">System</span><span class=3D"gmail-pl-k" style=3D"color:rgb(215,58,73=
);box-sizing:border-box">.</span>exit(value);</td>
</tr>
<tr style=3D"box-sizing:border-box">
<td class=3D"gmail-blob-num gmail-js-line-number" id=3D"gmail-L2405=
" style=3D"padding:0px 10px;width:50px;text-align:right;color:rgba(27,31,35=
,0.3);line-height:20px;font-family:SFMono-Regular,Consolas,Liberation Mono,=
Menlo,Courier,monospace;font-size:12px;vertical-align:top;white-space:nowra=
p;min-width:50px;box-sizing:border-box"></td>
<td class=3D"gmail-blob-code gmail-blob-code-inner gmail-js-file-li=
ne" id=3D"gmail-LC2405" style=3D"padding:0px 10px;color:rgb(36,41,46);line-=
height:20px;overflow:visible;font-family:SFMono-Regular,Consolas,Liberation=
Mono,Menlo,Courier,monospace;font-size:12px;vertical-align:top;white-space=
:pre;word-wrap:normal;box-sizing:border-box">=C2=A0=C2=A0=C2=A0 }</td>
</tr>
<tr style=3D"box-sizing:border-box">
<td class=3D"gmail-blob-num gmail-js-line-number" id=3D"gmail-L2406=
" style=3D"padding:0px 10px;width:50px;text-align:right;color:rgba(27,31,35=
,0.3);line-height:20px;font-family:SFMono-Regular,Consolas,Liberation Mono,=
Menlo,Courier,monospace;font-size:12px;vertical-align:top;white-space:nowra=
p;min-width:50px;box-sizing:border-box"></td>
<td class=3D"gmail-blob-code gmail-blob-code-inner gmail-js-file-li=
ne" id=3D"gmail-LC2406" style=3D"padding:0px 10px;color:rgb(36,41,46);line-=
height:20px;overflow:visible;font-family:SFMono-Regular,Consolas,Liberation=
Mono,Menlo,Courier,monospace;font-size:12px;vertical-align:top;white-space=
:pre;word-wrap:normal;box-sizing:border-box">=C2=A0=C2=A0=C2=A0 <span class=
=3D"gmail-pl-k" style=3D"color:rgb(215,58,73);box-sizing:border-box">if</sp=
an> (<span class=3D"gmail-pl-c1" style=3D"color:rgb(0,92,197);box-sizing:bo=
rder-box">VM</span><span class=3D"gmail-pl-k" style=3D"color:rgb(215,58,73)=
;box-sizing:border-box">.</span><span class=3D"gmail-pl-smi" style=3D"color=
:rgb(36,41,46);box-sizing:border-box">VerifyAssertions</span>) <span class=
=3D"gmail-pl-c1" style=3D"color:rgb(0,92,197);box-sizing:border-box">VM</sp=
an><span class=3D"gmail-pl-k" style=3D"color:rgb(215,58,73);box-sizing:bord=
er-box">.</span>_assert(<span class=3D"gmail-pl-c1" style=3D"color:rgb(0,92=
,197);box-sizing:border-box">VM<span class=3D"gmail-pl-k" style=3D"color:rg=
b(215,58,73);box-sizing:border-box">.</span>NOT_REACHED</span>);</td>
</tr>
<tr style=3D"box-sizing:border-box">
<td class=3D"gmail-blob-num gmail-js-line-number" id=3D"gmail-L2407=
" style=3D"padding:0px 10px;width:50px;text-align:right;color:rgba(27,31,35=
,0.3);line-height:20px;font-family:SFMono-Regular,Consolas,Liberation Mono,=
Menlo,Courier,monospace;font-size:12px;vertical-align:top;white-space:nowra=
p;min-width:50px;box-sizing:border-box"></td>
<td class=3D"gmail-blob-code gmail-blob-code-inner gmail-js-file-li=
ne" id=3D"gmail-LC2407" style=3D"padding:0px 10px;color:rgb(36,41,46);line-=
height:20px;overflow:visible;font-family:SFMono-Regular,Consolas,Liberation=
Mono,Menlo,Courier,monospace;font-size:12px;vertical-align:top;white-space=
:pre;word-wrap:normal;box-sizing:border-box">=C2=A0 }</td></tr></tbody></ta=
ble><b></b><i></i><u></u><sub></sub><sup></sup><strike></strike><br></div><=
div><b></b><i></i><u></u><sub></sub><sup></sup><strike></strike><br></div><=
div>I read the Oracle article about the <a href=3D"https://docs.oracle.com/=
javase/8/docs/technotes/guides/lang/hook-design.html">Design of Shutdown Ho=
oks API</a>. It looks like the shutdown hooks are usually run concurrently.=
Is that the case in Jikes RVM?</div><div><br></div><div>Given this case, w=
hat can we do to get all data printed out before the collection is destroye=
d in the meantime the program has been finished?</div><div><br></div><div>T=
hanks,</div><div>Kenan</div></div></div></div></div></div></div></div></div=
><br><div class=3D"gmail_quote"><div dir=3D"ltr">On Fri, Nov 9, 2018 at 1:3=
3 PM Erik Brangs <<a href=3D"mailto:[email protected]">erik.brangs@gmx.=
de</a>> wrote:<br></div><blockquote class=3D"gmail_quote" style=3D"margi=
n:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
<br>
On 09.11.2018 18:01, Kenan Liu wrote:<br>
> Is there any way that we can let VM wait until our printout finishes b=
efore it shuts down? We have been stuck here for a while. Thank you for any=
helps you could provide.<br>
<br>
Have you tried using shutdown hooks from the normal Java API?<br>
<br>
Jikes RVM currently doesn't run shutdown hooks when it's terminated=
via a signal but they should work for other cases.<br>
<br>
<br>
Kind regards,<br>
<br>
Erik Brangs<br>
<br>
<br>
_______________________________________________<br>
Jikesrvm-researchers mailing list<br>
<a href=3D"mailto:[email protected]" target=3D"_bl=
ank">[email protected]</a><br>
<a href=3D"https://lists.sourceforge.net/lists/listinfo/jikesrvm-researcher=
s" rel=3D"noreferrer" target=3D"_blank">https://lists.sourceforge.net/lists=
/listinfo/jikesrvm-researchers</a><br>
</blockquote></div><br clear=3D"all"><br>-- <br><div dir=3D"ltr" class=3D"g=
mail_signature" data-smartmail=3D"gmail_signature"><div dir=3D"ltr"><div><d=
iv>Kenan Liu<br></div>PhD Candidate in Computer Science<br></div>SUNY Bingh=
amton<br></div></div>
--000000000000503de9057a7c5128--
--===============3715772540912063742==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
--===============3715772540912063742==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
_______________________________________________
Jikesrvm-researchers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers
--===============3715772540912063742==--