equal
deleted
inserted
replaced
1 /* |
1 /* |
2 * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. |
2 * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved. |
3 * Copyright 2012, 2014 SAP AG. All rights reserved. |
3 * Copyright 2012, 2014 SAP AG. All rights reserved. |
4 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
5 * |
5 * |
6 * This code is free software; you can redistribute it and/or modify it |
6 * This code is free software; you can redistribute it and/or modify it |
7 * under the terms of the GNU General Public License version 2 only, as |
7 * under the terms of the GNU General Public License version 2 only, as |
399 const Register exception_line = R22_tmp2; |
399 const Register exception_line = R22_tmp2; |
400 |
400 |
401 __ load_const(exception_file, (void*)__FILE__); |
401 __ load_const(exception_file, (void*)__FILE__); |
402 __ load_const(exception_line, (void*)__LINE__); |
402 __ load_const(exception_line, (void*)__LINE__); |
403 |
403 |
404 __ std(R3_ARG1, thread_(pending_exception)); |
404 __ std(R3_ARG1, in_bytes(JavaThread::pending_exception_offset()), R16_thread); |
405 // store into `char *' |
405 // store into `char *' |
406 __ std(exception_file, thread_(exception_file)); |
406 __ std(exception_file, in_bytes(JavaThread::exception_file_offset()), R16_thread); |
407 // store into `int' |
407 // store into `int' |
408 __ stw(exception_line, thread_(exception_line)); |
408 __ stw(exception_line, in_bytes(JavaThread::exception_line_offset()), R16_thread); |
409 |
409 |
410 // complete return to VM |
410 // complete return to VM |
411 assert(StubRoutines::_call_stub_return_address != NULL, "must have been generated before"); |
411 assert(StubRoutines::_call_stub_return_address != NULL, "must have been generated before"); |
412 |
412 |
413 __ mtlr(R4_ARG2); |
413 __ mtlr(R4_ARG2); |