Mercurial > hg > truffle
comparison src/cpu/x86/vm/stubGenerator_x86_64.cpp @ 1506:2338d41fbd81
6943304: remove tagged stack interpreter
Reviewed-by: coleenp, never, gbenson
author | twisti |
---|---|
date | Fri, 30 Apr 2010 08:37:24 -0700 |
parents | 6476042f815c |
children | c18cbe5936b8 |
comparison
equal
deleted
inserted
replaced
1505:0c5b3cf3c1f5 | 1506:2338d41fbd81 |
---|---|
276 | 276 |
277 Label loop; | 277 Label loop; |
278 __ movptr(c_rarg2, parameters); // parameter pointer | 278 __ movptr(c_rarg2, parameters); // parameter pointer |
279 __ movl(c_rarg1, c_rarg3); // parameter counter is in c_rarg1 | 279 __ movl(c_rarg1, c_rarg3); // parameter counter is in c_rarg1 |
280 __ BIND(loop); | 280 __ BIND(loop); |
281 if (TaggedStackInterpreter) { | |
282 __ movl(rax, Address(c_rarg2, 0)); // get tag | |
283 __ addptr(c_rarg2, wordSize); // advance to next tag | |
284 __ push(rax); // pass tag | |
285 } | |
286 __ movptr(rax, Address(c_rarg2, 0));// get parameter | 281 __ movptr(rax, Address(c_rarg2, 0));// get parameter |
287 __ addptr(c_rarg2, wordSize); // advance to next parameter | 282 __ addptr(c_rarg2, wordSize); // advance to next parameter |
288 __ decrementl(c_rarg1); // decrement counter | 283 __ decrementl(c_rarg1); // decrement counter |
289 __ push(rax); // pass parameter | 284 __ push(rax); // pass parameter |
290 __ jcc(Assembler::notZero, loop); | 285 __ jcc(Assembler::notZero, loop); |