Mercurial > hg > truffle
comparison src/share/vm/interpreter/interpreter.cpp @ 11198:1e6d5dec4a4e
Merge.
author | Christian Humer <christian.humer@gmail.com> |
---|---|
date | Mon, 05 Aug 2013 13:20:06 +0200 |
parents | 6b0fd0964b87 |
children | 096c224171c4 |
comparison
equal
deleted
inserted
replaced
11197:3479ab380552 | 11198:1e6d5dec4a4e |
---|---|
1 /* | 1 /* |
2 * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. | 2 * Copyright (c) 1997, 2013, 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. |
200 ((int)id - vmIntrinsics::FIRST_MH_SIG_POLY) ); | 200 ((int)id - vmIntrinsics::FIRST_MH_SIG_POLY) ); |
201 assert(kind <= method_handle_invoke_LAST, "parallel enum ranges"); | 201 assert(kind <= method_handle_invoke_LAST, "parallel enum ranges"); |
202 return kind; | 202 return kind; |
203 } | 203 } |
204 | 204 |
205 #ifndef CC_INTERP | |
206 if (UseCRC32Intrinsics && m->is_native()) { | |
207 // Use optimized stub code for CRC32 native methods. | |
208 switch (m->intrinsic_id()) { | |
209 case vmIntrinsics::_updateCRC32 : return java_util_zip_CRC32_update; | |
210 case vmIntrinsics::_updateBytesCRC32 : return java_util_zip_CRC32_updateBytes; | |
211 case vmIntrinsics::_updateByteBufferCRC32 : return java_util_zip_CRC32_updateByteBuffer; | |
212 } | |
213 } | |
214 #endif | |
215 | |
205 // Native method? | 216 // Native method? |
206 // Note: This test must come _before_ the test for intrinsic | 217 // Note: This test must come _before_ the test for intrinsic |
207 // methods. See also comments below. | 218 // methods. See also comments below. |
208 if (m->is_native()) { | 219 if (m->is_native()) { |
209 assert(!m->is_method_handle_intrinsic(), "overlapping bits here, watch out"); | 220 assert(!m->is_method_handle_intrinsic(), "overlapping bits here, watch out"); |
305 case java_lang_math_tan : tty->print("java_lang_math_tan" ); break; | 316 case java_lang_math_tan : tty->print("java_lang_math_tan" ); break; |
306 case java_lang_math_abs : tty->print("java_lang_math_abs" ); break; | 317 case java_lang_math_abs : tty->print("java_lang_math_abs" ); break; |
307 case java_lang_math_sqrt : tty->print("java_lang_math_sqrt" ); break; | 318 case java_lang_math_sqrt : tty->print("java_lang_math_sqrt" ); break; |
308 case java_lang_math_log : tty->print("java_lang_math_log" ); break; | 319 case java_lang_math_log : tty->print("java_lang_math_log" ); break; |
309 case java_lang_math_log10 : tty->print("java_lang_math_log10" ); break; | 320 case java_lang_math_log10 : tty->print("java_lang_math_log10" ); break; |
321 case java_util_zip_CRC32_update : tty->print("java_util_zip_CRC32_update"); break; | |
322 case java_util_zip_CRC32_updateBytes : tty->print("java_util_zip_CRC32_updateBytes"); break; | |
323 case java_util_zip_CRC32_updateByteBuffer : tty->print("java_util_zip_CRC32_updateByteBuffer"); break; | |
310 default: | 324 default: |
311 if (kind >= method_handle_invoke_FIRST && | 325 if (kind >= method_handle_invoke_FIRST && |
312 kind <= method_handle_invoke_LAST) { | 326 kind <= method_handle_invoke_LAST) { |
313 const char* kind_name = vmIntrinsics::name_at(method_handle_intrinsic(kind)); | 327 const char* kind_name = vmIntrinsics::name_at(method_handle_intrinsic(kind)); |
314 if (kind_name[0] == '_') kind_name = &kind_name[1]; // '_invokeExact' => 'invokeExact' | 328 if (kind_name[0] == '_') kind_name = &kind_name[1]; // '_invokeExact' => 'invokeExact' |