Re: [rvm-research] Non Preemptible Methods in Jikes

"David P Grove" <[email protected]> Thu, 20 Sep 2018 10:43:39 -0400
Newsgroups gmane.comp.java.jikes.rvm.devel
Message-ID <OF2EFD882E.B8EBD3D5-ON8525830E.005085B4-8525830E.0050E6AC@notes.na.collabserv.com>
--===============2447119279924549240==
Content-type: multipart/alternative; 	boundary="0__=0ABB099DDFC303248f9e8a93df938690918c0ABB099DDFC30324"
Content-Disposition: inline


--0__=0ABB099DDFC303248f9e8a93df938690918c0ABB099DDFC30324
Content-Transfer-Encoding: quoted-printable
Content-type: text/plain; charset=ISO-8859-1




Khaled Z Mahmoud <[email protected]> wrote on 09/18/2018 09:33:08 PM:

> From: Khaled Z Mahmoud <[email protected]>
> To: "General discussion of Jikes RVM design, implementation, issues,
> and plans" <[email protected]>
> Date: 09/18/2018 10:05 PM
> Subject: [rvm-research] Non Preemptible Methods in Jikes
>
> Hi,
>
> As I understand, If a Non-Preemptible=A0 tries to call a code that
> could result in per-emption, an exception occurs in Jikes. For
> example, Allocation of new objects.
>
> Here is the question:
>
> Suppose in a Non-Preemtible, can I put at the end a code that is
> Pre-Emptible. At that point, non-preemtible code already finished
execution.

In general, this won't work because a Non-preemtible method can be called
by another Non-preemtible method.  So you don't know that the entire
sequence of non-preemtible code has finished execution.

>
> I know once could say, just put in a new method. I want to put code
> custom code at the end of RVM#yieldpoint. That code can do anything.
>

I think this is going to be hard to make completely correct.  For example,
your arbitrary interruptible code may take another timer or GC interrupt
and re-enter RVM#yieldpoint.

--dave

--0__=0ABB099DDFC303248f9e8a93df938690918c0ABB099DDFC30324
Content-Transfer-Encoding: quoted-printable
Content-type: text/html; charset=ISO-8859-1
Content-Disposition: inline

<html><body><p><tt><font size=3D"2">Khaled Z Mahmoud &lt;kmahmou1@binghamto=
n.edu&gt; wrote on 09/18/2018 09:33:08 PM:<br><br>&gt; From: Khaled Z Mahmo=
ud &lt;[email protected]&gt;</font></tt><br><tt><font size=3D"2">&gt;=
 To: &quot;General discussion of Jikes RVM design, implementation, issues,<=
br>&gt; and plans&quot; &lt;[email protected]&gt;<=
/font></tt><br><tt><font size=3D"2">&gt; Date: 09/18/2018 10:05 PM</font></=
tt><br><tt><font size=3D"2">&gt; Subject: [rvm-research] Non Preemptible Me=
thods in Jikes</font></tt><br><tt><font size=3D"2">&gt; <br>&gt; Hi,</font>=
</tt><br><tt><font size=3D"2">&gt; <br>&gt; As I understand, If a Non-Preem=
ptible=A0 tries to call a code that <br>&gt; could result in per-emption, a=
n exception occurs in Jikes. For <br>&gt; example, Allocation of new object=
s.</font></tt><br><tt><font size=3D"2">&gt; <br>&gt; Here is the question:<=
/font></tt><br><tt><font size=3D"2">&gt; <br>&gt; Suppose in a Non-Preemtib=
le, can I put at the end a code that is <br>&gt; Pre-Emptible. At that poin=
t, non-preemtible code already finished execution.</font></tt><br><br><tt><=
font size=3D"2">In general, this won't work because a Non-preemtible method=
 can be called by another Non-preemtible method. &nbsp;So you don't know th=
at the entire sequence of non-preemtible code has finished execution.</font=
></tt><br><br><tt><font size=3D"2">&gt; <br>&gt; I know once could say, jus=
t put in a new method. I want to put code <br>&gt; custom code at the end o=
f RVM#yieldpoint. That code can do anything.</font></tt><br><tt><font size=
=3D"2">&gt; <br></font></tt><br><tt><font size=3D"2">I think this is going =
to be hard to make completely correct. &nbsp;For example, your arbitrary in=
terruptible code may take another timer or GC interrupt and re-enter RVM#yi=
eldpoint.</font></tt><br><br><tt><font size=3D"2">--dave</font></tt><br><BR>
</body></html>

--0__=0ABB099DDFC303248f9e8a93df938690918c0ABB099DDFC30324--



--===============2447119279924549240==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline


--===============2447119279924549240==
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

--===============2447119279924549240==--