1 /*
2 * Copyright (c) 1999, 2017, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
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
7 * published by the Free Software Foundation.
8 *
9 * This code is distributed in the hope that it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12 * version 2 for more details (a copy is included in the LICENSE file that
13 * accompanied this code).
14 *
15 * You should have received a copy of the GNU General Public License version
16 * 2 along with this work; if not, write to the Free Software Foundation,
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 *
207 case vmIntrinsics::_getLongUnaligned:
208 case vmIntrinsics::_putShortUnaligned:
209 case vmIntrinsics::_putCharUnaligned:
210 case vmIntrinsics::_putIntUnaligned:
211 case vmIntrinsics::_putLongUnaligned:
212 case vmIntrinsics::_checkIndex:
213 case vmIntrinsics::_updateCRC32:
214 case vmIntrinsics::_updateBytesCRC32:
215 case vmIntrinsics::_updateByteBufferCRC32:
216 #if defined(SPARC) || defined(S390) || defined(PPC64) || defined(AARCH64)
217 case vmIntrinsics::_updateBytesCRC32C:
218 case vmIntrinsics::_updateDirectByteBufferCRC32C:
219 #endif
220 case vmIntrinsics::_vectorizedMismatch:
221 case vmIntrinsics::_compareAndSetInt:
222 case vmIntrinsics::_compareAndSetObject:
223 case vmIntrinsics::_getCharStringU:
224 case vmIntrinsics::_putCharStringU:
225 #ifdef TRACE_HAVE_INTRINSICS
226 case vmIntrinsics::_counterTime:
227 case vmIntrinsics::_getBufferWriter:
228 #if defined(_LP64) || !defined(TRACE_ID_CLASS_SHIFT)
229 case vmIntrinsics::_getClassId:
230 #endif
231 #endif
232 break;
233 default:
234 return false; // Intrinsics not on the previous list are not available.
235 }
236
237 return true;
238 }
239
240 void Compiler::compile_method(ciEnv* env, ciMethod* method, int entry_bci, DirectiveSet* directive) {
241 BufferBlob* buffer_blob = CompilerThread::current()->get_buffer_blob();
242 assert(buffer_blob != NULL, "Must exist");
243 // invoke compilation
244 {
245 // We are nested here because we need for the destructor
246 // of Compilation to occur before we release the any
247 // competing compiler thread
|
1 /*
2 * Copyright (c) 1999, 2018, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
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
7 * published by the Free Software Foundation.
8 *
9 * This code is distributed in the hope that it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12 * version 2 for more details (a copy is included in the LICENSE file that
13 * accompanied this code).
14 *
15 * You should have received a copy of the GNU General Public License version
16 * 2 along with this work; if not, write to the Free Software Foundation,
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 *
207 case vmIntrinsics::_getLongUnaligned:
208 case vmIntrinsics::_putShortUnaligned:
209 case vmIntrinsics::_putCharUnaligned:
210 case vmIntrinsics::_putIntUnaligned:
211 case vmIntrinsics::_putLongUnaligned:
212 case vmIntrinsics::_checkIndex:
213 case vmIntrinsics::_updateCRC32:
214 case vmIntrinsics::_updateBytesCRC32:
215 case vmIntrinsics::_updateByteBufferCRC32:
216 #if defined(SPARC) || defined(S390) || defined(PPC64) || defined(AARCH64)
217 case vmIntrinsics::_updateBytesCRC32C:
218 case vmIntrinsics::_updateDirectByteBufferCRC32C:
219 #endif
220 case vmIntrinsics::_vectorizedMismatch:
221 case vmIntrinsics::_compareAndSetInt:
222 case vmIntrinsics::_compareAndSetObject:
223 case vmIntrinsics::_getCharStringU:
224 case vmIntrinsics::_putCharStringU:
225 #ifdef TRACE_HAVE_INTRINSICS
226 case vmIntrinsics::_counterTime:
227 case vmIntrinsics::_getEventWriter:
228 #if defined(_LP64) || !defined(TRACE_ID_CLASS_SHIFT)
229 case vmIntrinsics::_getClassId:
230 #endif
231 #endif
232 break;
233 default:
234 return false; // Intrinsics not on the previous list are not available.
235 }
236
237 return true;
238 }
239
240 void Compiler::compile_method(ciEnv* env, ciMethod* method, int entry_bci, DirectiveSet* directive) {
241 BufferBlob* buffer_blob = CompilerThread::current()->get_buffer_blob();
242 assert(buffer_blob != NULL, "Must exist");
243 // invoke compilation
244 {
245 // We are nested here because we need for the destructor
246 // of Compilation to occur before we release the any
247 // competing compiler thread
|