Mercurial > hg > truffle
comparison src/share/vm/c1/c1_Runtime1.cpp @ 4875:379b22e03c32
Merge
author | jcoomes |
---|---|
date | Fri, 03 Feb 2012 12:08:55 -0800 |
parents | aa3d708d67c4 |
children | 33df1aeaebbf 0105f367a14c |
comparison
equal
deleted
inserted
replaced
4866:527cf36f4a20 | 4875:379b22e03c32 |
---|---|
1 /* | 1 /* |
2 * Copyright (c) 1999, 2011, Oracle and/or its affiliates. All rights reserved. | 2 * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. | 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 * | 4 * |
5 * This code is free software; you can redistribute it and/or modify it | 5 * This code is free software; you can redistribute it and/or modify it |
6 * under the terms of the GNU General Public License version 2 only, as | 6 * under the terms of the GNU General Public License version 2 only, as |
7 * published by the Free Software Foundation. | 7 * published by the Free Software Foundation. |
595 } | 595 } |
596 | 596 |
597 | 597 |
598 JRT_ENTRY(void, Runtime1::throw_range_check_exception(JavaThread* thread, int index)) | 598 JRT_ENTRY(void, Runtime1::throw_range_check_exception(JavaThread* thread, int index)) |
599 NOT_PRODUCT(_throw_range_check_exception_count++;) | 599 NOT_PRODUCT(_throw_range_check_exception_count++;) |
600 Events::log("throw_range_check"); | |
601 char message[jintAsStringSize]; | 600 char message[jintAsStringSize]; |
602 sprintf(message, "%d", index); | 601 sprintf(message, "%d", index); |
603 SharedRuntime::throw_and_post_jvmti_exception(thread, vmSymbols::java_lang_ArrayIndexOutOfBoundsException(), message); | 602 SharedRuntime::throw_and_post_jvmti_exception(thread, vmSymbols::java_lang_ArrayIndexOutOfBoundsException(), message); |
604 JRT_END | 603 JRT_END |
605 | 604 |
606 | 605 |
607 JRT_ENTRY(void, Runtime1::throw_index_exception(JavaThread* thread, int index)) | 606 JRT_ENTRY(void, Runtime1::throw_index_exception(JavaThread* thread, int index)) |
608 NOT_PRODUCT(_throw_index_exception_count++;) | 607 NOT_PRODUCT(_throw_index_exception_count++;) |
609 Events::log("throw_index"); | |
610 char message[16]; | 608 char message[16]; |
611 sprintf(message, "%d", index); | 609 sprintf(message, "%d", index); |
612 SharedRuntime::throw_and_post_jvmti_exception(thread, vmSymbols::java_lang_IndexOutOfBoundsException(), message); | 610 SharedRuntime::throw_and_post_jvmti_exception(thread, vmSymbols::java_lang_IndexOutOfBoundsException(), message); |
613 JRT_END | 611 JRT_END |
614 | 612 |
802 methodHandle caller_method(THREAD, vfst.method()); | 800 methodHandle caller_method(THREAD, vfst.method()); |
803 // Note that caller_method->code() may not be same as caller_code because of OSR's | 801 // Note that caller_method->code() may not be same as caller_code because of OSR's |
804 // Note also that in the presence of inlining it is not guaranteed | 802 // Note also that in the presence of inlining it is not guaranteed |
805 // that caller_method() == caller_code->method() | 803 // that caller_method() == caller_code->method() |
806 | 804 |
807 | |
808 int bci = vfst.bci(); | 805 int bci = vfst.bci(); |
809 | |
810 Events::log("patch_code @ " INTPTR_FORMAT , caller_frame.pc()); | |
811 | |
812 Bytecodes::Code code = caller_method()->java_code_at(bci); | 806 Bytecodes::Code code = caller_method()->java_code_at(bci); |
813 | 807 |
814 #ifndef PRODUCT | 808 #ifndef PRODUCT |
815 // this is used by assertions in the access_field_patching_id | 809 // this is used by assertions in the access_field_patching_id |
816 BasicType patch_field_type = T_ILLEGAL; | 810 BasicType patch_field_type = T_ILLEGAL; |