Mercurial > hg > truffle
comparison src/cpu/sparc/vm/templateInterpreter_sparc.cpp @ 3451:38fa55e5e792
7055355: JSR 292: crash while throwing WrongMethodTypeException
Reviewed-by: jrose, twisti, bdelsart
author | never |
---|---|
date | Thu, 16 Jun 2011 13:46:55 -0700 |
parents | f7d55ea6ee56 |
children | 3d42f82cd811 |
comparison
equal
deleted
inserted
replaced
3450:3275a6560cf7 | 3451:38fa55e5e792 |
---|---|
121 // load exception object | 121 // load exception object |
122 __ call_VM(Oexception, | 122 __ call_VM(Oexception, |
123 CAST_FROM_FN_PTR(address, | 123 CAST_FROM_FN_PTR(address, |
124 InterpreterRuntime::throw_ClassCastException), | 124 InterpreterRuntime::throw_ClassCastException), |
125 Otos_i); | 125 Otos_i); |
126 __ should_not_reach_here(); | |
127 return entry; | |
128 } | |
129 | |
130 | |
131 // Arguments are: required type in G5_method_type, and | |
132 // failing object (or NULL) in G3_method_handle. | |
133 address TemplateInterpreterGenerator::generate_WrongMethodType_handler() { | |
134 address entry = __ pc(); | |
135 // expression stack must be empty before entering the VM if an exception | |
136 // happened | |
137 __ empty_expression_stack(); | |
138 // load exception object | |
139 __ call_VM(Oexception, | |
140 CAST_FROM_FN_PTR(address, | |
141 InterpreterRuntime::throw_WrongMethodTypeException), | |
142 G5_method_type, // required | |
143 G3_method_handle); // actual | |
144 __ should_not_reach_here(); | 126 __ should_not_reach_here(); |
145 return entry; | 127 return entry; |
146 } | 128 } |
147 | 129 |
148 | 130 |