mozilla

Compare Revisions

Nanojit

Change Revisions

Revision 53867:

Revision 53867 by paritosh1010 on

Revision 53868:

Revision 53868 by paritosh1010 on

Title:
Nanojit
Nanojit
Slug:
Nanojit
Nanojit
Tags:
SpiderMonkey, "Developing Mozilla"
SpiderMonkey, "Developing Mozilla"
Content:

Revision 53867
Revision 53868
n144    <p>n144    <p style="text-align: left;">
n146      <br>n
n148      <br>n
nn148    </p>
149    <p style="text-align: left;">
150      &nbsp;
nn154    </blockquote>
155    <p style="text-align: left;">
153    </blockquote>Now, what I need to do is generate output for th156      <span><span>Now, what I need to do is generate output for t
>is:<br>>his:<br></span></span>
154    <br>
155    <pre>157    </p>
156<span style="font-family: courier new;">   start</span>
157<span style="font-family: courier new;">   two = int 2</span>
158<span style="font-family: courier new;">   twoPlusTwo = add two, 
>two</span> 
159<span style="font-family: courier new;">   ret twoPlusTwo</span>
160 
161<span style="font-size: 130%;"><br></span><span style="font-famil
>y: lucida grande; font-size: 130%;">This adds two and two in the  
>most hardcoded way possible. The conversion from LIR to a program 
> like one shown above is the task of the parser.<br>What the pars 
>er needs to generate for the above code will be this(in a raw for 
>m)(changes only):</span><span style="font-size: 130%;"><br></span 
> 
162</pre>
163    <blockquote style="font-family: courier new;">
164      <span style="font-size: 100%;">writer.ins0(LIR_start);<br>
165      LIns *two = writer.insImm(2);<br>
166      LIns *firstParam = writer.insImm(2);<br>
167      LIns *result = writer.ins2(LIR_add, firstParam, two);<br>
168      writer.ins1(LIR_ret, result);</span><br>
169    </blockquote>
170    <pre>
171and
172</pre>
nn159      <p style="text-align: left;">
160        <span style="font-family: courier new;">&nbsp;&nbsp;</spa
 >n> <span style="font-size: small;"><span style="font-family: cour
 >ier new;">start</span><br>
161        <span style="font-family: courier new;">&nbsp;&nbsp; two 
 >= int 2</span><br>
162        <span style="font-family: courier new;">&nbsp;&nbsp; twoP
 >lusTwo = add two, two</span><br>
163        <span style="font-family: courier new;">&nbsp;&nbsp; ret 
 >twoPlusTwo</span></span>
164      </p>
165    </blockquote>
166    <p style="text-align: left;">
167      <span style="font-size: small;"><br>
168      <span style="font-family: lucida grande;">This adds two and
 > two in the most hardcoded way possible. The conversion from LIR 
 >to a program like one shown above is the task of the parser.<br>
169      What the parser needs to generate for the above code will b
 >e this(in a raw form)(changes only):</span></span><span style="fo
 >nt-size: 130%;"><br></span>
170    </p>
171    <blockquote>
172      <p>
173        <span style="font-size: 100%;">writer.ins0(LIR_start);<br
 >>
174        LIns *two = writer.insImm(2);<br>
175        LIns *firstParam = writer.insImm(2);<br>
176        LIns *result = writer.ins2(LIR_add, firstParam, two);<br>
177        writer.ins1(LIR_ret, result);</span>
178      </p>
179    </blockquote>
180    <p style="text-align: left;">
181      and
182    </p>
183    <blockquote style="text-align: left;">
n178    <h3>n188    <h2>
n180    </h3>n190    </h2>
181    <p>191    <p style="text-align: left;">
n184    <h4>n194    <h3>
n186    </h4>n196    </h3>
187    <p>197    <p style="text-align: left;">
n190    <p>n200    <p style="text-align: left;">
n193    <p>n203    <p style="text-align: left;">
nn206    <p style="text-align: left;">
207      &nbsp;
196    <p>208    </p>
197      &nbsp;209    <p style="text-align: left;">
198    </p>
199    <p>
tt212    <p style="text-align: left;">
213      &nbsp;
202    <p>214    </p>
203      &nbsp;215    <p style="text-align: left;">
204    </p>
205    <p>

Back to History