Mercurial > hg > truffle
comparison src/cpu/sparc/vm/templateInterpreter_sparc.cpp @ 3442:f7d55ea6ee56
7045514: SPARC assembly code for JSR 292 ricochet frames
Reviewed-by: kvn, jrose
author | never |
---|---|
date | Fri, 03 Jun 2011 22:31:43 -0700 |
parents | 3d2ab563047a |
children | 38fa55e5e792 |
comparison
equal
deleted
inserted
replaced
3441:f56542cb325a | 3442:f7d55ea6ee56 |
---|---|
1710 locals = Lesp_ptr + parm_words; | 1710 locals = Lesp_ptr + parm_words; |
1711 int delta = local_words - parm_words; | 1711 int delta = local_words - parm_words; |
1712 int computed_sp_adjustment = (delta > 0) ? round_to(delta, WordsPerLong) : 0; | 1712 int computed_sp_adjustment = (delta > 0) ? round_to(delta, WordsPerLong) : 0; |
1713 *interpreter_frame->register_addr(I5_savedSP) = (intptr_t) (fp + computed_sp_adjustment) - STACK_BIAS; | 1713 *interpreter_frame->register_addr(I5_savedSP) = (intptr_t) (fp + computed_sp_adjustment) - STACK_BIAS; |
1714 } else { | 1714 } else { |
1715 assert(caller->is_compiled_frame() || caller->is_entry_frame(), "only possible cases"); | 1715 assert(caller->is_compiled_frame() || caller->is_entry_frame() || caller->is_ricochet_frame(), "only possible cases"); |
1716 // Don't have Lesp available; lay out locals block in the caller | 1716 // Don't have Lesp available; lay out locals block in the caller |
1717 // adjacent to the register window save area. | 1717 // adjacent to the register window save area. |
1718 // | 1718 // |
1719 // Compiled frames do not allocate a varargs area which is why this if | 1719 // Compiled frames do not allocate a varargs area which is why this if |
1720 // statement is needed. | 1720 // statement is needed. |