12 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
13 * version 2 for more details (a copy is included in the LICENSE file that
14 * accompanied this code).
15 *
16 * You should have received a copy of the GNU General Public License version
17 * 2 along with this work; if not, write to the Free Software Foundation,
18 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
19 *
20 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
21 * or visit www.oracle.com if you need additional information or have any
22 * questions.
23 *
24 */
25
26
27 #include "precompiled.hpp"
28 #include "asm/macroAssembler.inline.hpp"
29 #include "interp_masm_ppc.hpp"
30 #include "interpreter/interpreterRuntime.hpp"
31 #include "prims/jvmtiThreadState.hpp"
32 #include "runtime/safepointMechanism.hpp"
33 #include "runtime/sharedRuntime.hpp"
34
35 // Implementation of InterpreterMacroAssembler.
36
37 // This file specializes the assembler with interpreter-specific macros.
38
39 #ifdef PRODUCT
40 #define BLOCK_COMMENT(str) // nothing
41 #else
42 #define BLOCK_COMMENT(str) block_comment(str)
43 #endif
44
45 void InterpreterMacroAssembler::null_check_throw(Register a, int offset, Register temp_reg) {
46 address exception_entry = Interpreter::throw_NullPointerException_entry();
47 MacroAssembler::null_check_throw(a, offset, temp_reg, exception_entry);
48 }
49
50 void InterpreterMacroAssembler::jump_to_entry(address entry, Register Rscratch) {
51 assert(entry, "Entry must have been generated by now");
|
12 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
13 * version 2 for more details (a copy is included in the LICENSE file that
14 * accompanied this code).
15 *
16 * You should have received a copy of the GNU General Public License version
17 * 2 along with this work; if not, write to the Free Software Foundation,
18 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
19 *
20 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
21 * or visit www.oracle.com if you need additional information or have any
22 * questions.
23 *
24 */
25
26
27 #include "precompiled.hpp"
28 #include "asm/macroAssembler.inline.hpp"
29 #include "interp_masm_ppc.hpp"
30 #include "interpreter/interpreterRuntime.hpp"
31 #include "prims/jvmtiThreadState.hpp"
32 #include "runtime/frame.inline.hpp"
33 #include "runtime/safepointMechanism.hpp"
34 #include "runtime/sharedRuntime.hpp"
35
36 // Implementation of InterpreterMacroAssembler.
37
38 // This file specializes the assembler with interpreter-specific macros.
39
40 #ifdef PRODUCT
41 #define BLOCK_COMMENT(str) // nothing
42 #else
43 #define BLOCK_COMMENT(str) block_comment(str)
44 #endif
45
46 void InterpreterMacroAssembler::null_check_throw(Register a, int offset, Register temp_reg) {
47 address exception_entry = Interpreter::throw_NullPointerException_entry();
48 MacroAssembler::null_check_throw(a, offset, temp_reg, exception_entry);
49 }
50
51 void InterpreterMacroAssembler::jump_to_entry(address entry, Register Rscratch) {
52 assert(entry, "Entry must have been generated by now");
|