171fb52fee246b7d511f520febbd73dc7a9bbca79Andreas Gampe/* 271fb52fee246b7d511f520febbd73dc7a9bbca79Andreas Gampe * Copyright (C) 2015 The Android Open Source Project 371fb52fee246b7d511f520febbd73dc7a9bbca79Andreas Gampe * 471fb52fee246b7d511f520febbd73dc7a9bbca79Andreas Gampe * Licensed under the Apache License, Version 2.0 (the "License"); 571fb52fee246b7d511f520febbd73dc7a9bbca79Andreas Gampe * you may not use this file except in compliance with the License. 671fb52fee246b7d511f520febbd73dc7a9bbca79Andreas Gampe * You may obtain a copy of the License at 771fb52fee246b7d511f520febbd73dc7a9bbca79Andreas Gampe * 871fb52fee246b7d511f520febbd73dc7a9bbca79Andreas Gampe * http://www.apache.org/licenses/LICENSE-2.0 971fb52fee246b7d511f520febbd73dc7a9bbca79Andreas Gampe * 1071fb52fee246b7d511f520febbd73dc7a9bbca79Andreas Gampe * Unless required by applicable law or agreed to in writing, software 1171fb52fee246b7d511f520febbd73dc7a9bbca79Andreas Gampe * distributed under the License is distributed on an "AS IS" BASIS, 1271fb52fee246b7d511f520febbd73dc7a9bbca79Andreas Gampe * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1371fb52fee246b7d511f520febbd73dc7a9bbca79Andreas Gampe * See the License for the specific language governing permissions and 1471fb52fee246b7d511f520febbd73dc7a9bbca79Andreas Gampe * limitations under the License. 1571fb52fee246b7d511f520febbd73dc7a9bbca79Andreas Gampe */ 1671fb52fee246b7d511f520febbd73dc7a9bbca79Andreas Gampe 1771fb52fee246b7d511f520febbd73dc7a9bbca79Andreas Gampe#ifndef ART_COMPILER_OPTIMIZING_INTRINSICS_LIST_H_ 1871fb52fee246b7d511f520febbd73dc7a9bbca79Andreas Gampe#define ART_COMPILER_OPTIMIZING_INTRINSICS_LIST_H_ 1971fb52fee246b7d511f520febbd73dc7a9bbca79Andreas Gampe 2071fb52fee246b7d511f520febbd73dc7a9bbca79Andreas Gampe// All intrinsics supported by the optimizing compiler. Format is name, then whether it is expected 2157b81ecbe74138992dd447251e94ed06cd5eb802agicsaki// to be a HInvokeStaticOrDirect node (compared to HInvokeVirtual), then whether it requires an 222f9fcc999fab4ba6cd86c30e664325b47b9618e5Aart Bik// environment, may have side effects, or may throw exceptions. 2371fb52fee246b7d511f520febbd73dc7a9bbca79Andreas Gampe 2471fb52fee246b7d511f520febbd73dc7a9bbca79Andreas Gampe#define INTRINSICS_LIST(V) \ 255d75afe333f57546786686d9bee16b52f1bbe971Aart Bik V(DoubleDoubleToRawLongBits, kStatic, kNeedsEnvironmentOrCache, kNoSideEffects, kNoThrow) \ 262a6aad9d388bd29bff04aeec3eb9429d436d1873Aart Bik V(DoubleDoubleToLongBits, kStatic, kNeedsEnvironmentOrCache, kNoSideEffects, kNoThrow) \ 2759c9454b92c2096a30a2bbdffb64edf33dbdd916Aart Bik V(DoubleIsInfinite, kStatic, kNeedsEnvironmentOrCache, kNoSideEffects, kNoThrow) \ 2859c9454b92c2096a30a2bbdffb64edf33dbdd916Aart Bik V(DoubleIsNaN, kStatic, kNeedsEnvironmentOrCache, kNoSideEffects, kNoThrow) \ 295d75afe333f57546786686d9bee16b52f1bbe971Aart Bik V(DoubleLongBitsToDouble, kStatic, kNeedsEnvironmentOrCache, kNoSideEffects, kNoThrow) \ 305d75afe333f57546786686d9bee16b52f1bbe971Aart Bik V(FloatFloatToRawIntBits, kStatic, kNeedsEnvironmentOrCache, kNoSideEffects, kNoThrow) \ 312a6aad9d388bd29bff04aeec3eb9429d436d1873Aart Bik V(FloatFloatToIntBits, kStatic, kNeedsEnvironmentOrCache, kNoSideEffects, kNoThrow) \ 3259c9454b92c2096a30a2bbdffb64edf33dbdd916Aart Bik V(FloatIsInfinite, kStatic, kNeedsEnvironmentOrCache, kNoSideEffects, kNoThrow) \ 3359c9454b92c2096a30a2bbdffb64edf33dbdd916Aart Bik V(FloatIsNaN, kStatic, kNeedsEnvironmentOrCache, kNoSideEffects, kNoThrow) \ 345d75afe333f57546786686d9bee16b52f1bbe971Aart Bik V(FloatIntBitsToFloat, kStatic, kNeedsEnvironmentOrCache, kNoSideEffects, kNoThrow) \ 355d75afe333f57546786686d9bee16b52f1bbe971Aart Bik V(IntegerReverse, kStatic, kNeedsEnvironmentOrCache, kNoSideEffects, kNoThrow) \ 365d75afe333f57546786686d9bee16b52f1bbe971Aart Bik V(IntegerReverseBytes, kStatic, kNeedsEnvironmentOrCache, kNoSideEffects, kNoThrow) \ 373f67e692860d281858485d48a4f1f81b907f1444Aart Bik V(IntegerBitCount, kStatic, kNeedsEnvironmentOrCache, kNoSideEffects, kNoThrow) \ 3859c9454b92c2096a30a2bbdffb64edf33dbdd916Aart Bik V(IntegerCompare, kStatic, kNeedsEnvironmentOrCache, kNoSideEffects, kNoThrow) \ 3959c9454b92c2096a30a2bbdffb64edf33dbdd916Aart Bik V(IntegerHighestOneBit, kStatic, kNeedsEnvironmentOrCache, kNoSideEffects, kNoThrow) \ 4059c9454b92c2096a30a2bbdffb64edf33dbdd916Aart Bik V(IntegerLowestOneBit, kStatic, kNeedsEnvironmentOrCache, kNoSideEffects, kNoThrow) \ 415d75afe333f57546786686d9bee16b52f1bbe971Aart Bik V(IntegerNumberOfLeadingZeros, kStatic, kNeedsEnvironmentOrCache, kNoSideEffects, kNoThrow) \ 425d75afe333f57546786686d9bee16b52f1bbe971Aart Bik V(IntegerNumberOfTrailingZeros, kStatic, kNeedsEnvironmentOrCache, kNoSideEffects, kNoThrow) \ 435d75afe333f57546786686d9bee16b52f1bbe971Aart Bik V(IntegerRotateRight, kStatic, kNeedsEnvironmentOrCache, kNoSideEffects, kNoThrow) \ 445d75afe333f57546786686d9bee16b52f1bbe971Aart Bik V(IntegerRotateLeft, kStatic, kNeedsEnvironmentOrCache, kNoSideEffects, kNoThrow) \ 4559c9454b92c2096a30a2bbdffb64edf33dbdd916Aart Bik V(IntegerSignum, kStatic, kNeedsEnvironmentOrCache, kNoSideEffects, kNoThrow) \ 465d75afe333f57546786686d9bee16b52f1bbe971Aart Bik V(LongReverse, kStatic, kNeedsEnvironmentOrCache, kNoSideEffects, kNoThrow) \ 475d75afe333f57546786686d9bee16b52f1bbe971Aart Bik V(LongReverseBytes, kStatic, kNeedsEnvironmentOrCache, kNoSideEffects, kNoThrow) \ 483f67e692860d281858485d48a4f1f81b907f1444Aart Bik V(LongBitCount, kStatic, kNeedsEnvironmentOrCache, kNoSideEffects, kNoThrow) \ 4959c9454b92c2096a30a2bbdffb64edf33dbdd916Aart Bik V(LongCompare, kStatic, kNeedsEnvironmentOrCache, kNoSideEffects, kNoThrow) \ 5059c9454b92c2096a30a2bbdffb64edf33dbdd916Aart Bik V(LongHighestOneBit, kStatic, kNeedsEnvironmentOrCache, kNoSideEffects, kNoThrow) \ 5159c9454b92c2096a30a2bbdffb64edf33dbdd916Aart Bik V(LongLowestOneBit, kStatic, kNeedsEnvironmentOrCache, kNoSideEffects, kNoThrow) \ 525d75afe333f57546786686d9bee16b52f1bbe971Aart Bik V(LongNumberOfLeadingZeros, kStatic, kNeedsEnvironmentOrCache, kNoSideEffects, kNoThrow) \ 535d75afe333f57546786686d9bee16b52f1bbe971Aart Bik V(LongNumberOfTrailingZeros, kStatic, kNeedsEnvironmentOrCache, kNoSideEffects, kNoThrow) \ 545d75afe333f57546786686d9bee16b52f1bbe971Aart Bik V(LongRotateRight, kStatic, kNeedsEnvironmentOrCache, kNoSideEffects, kNoThrow) \ 555d75afe333f57546786686d9bee16b52f1bbe971Aart Bik V(LongRotateLeft, kStatic, kNeedsEnvironmentOrCache, kNoSideEffects, kNoThrow) \ 5659c9454b92c2096a30a2bbdffb64edf33dbdd916Aart Bik V(LongSignum, kStatic, kNeedsEnvironmentOrCache, kNoSideEffects, kNoThrow) \ 575d75afe333f57546786686d9bee16b52f1bbe971Aart Bik V(ShortReverseBytes, kStatic, kNeedsEnvironmentOrCache, kNoSideEffects, kNoThrow) \ 585d75afe333f57546786686d9bee16b52f1bbe971Aart Bik V(MathAbsDouble, kStatic, kNeedsEnvironmentOrCache, kNoSideEffects, kNoThrow) \ 595d75afe333f57546786686d9bee16b52f1bbe971Aart Bik V(MathAbsFloat, kStatic, kNeedsEnvironmentOrCache, kNoSideEffects, kNoThrow) \ 605d75afe333f57546786686d9bee16b52f1bbe971Aart Bik V(MathAbsLong, kStatic, kNeedsEnvironmentOrCache, kNoSideEffects, kNoThrow) \ 615d75afe333f57546786686d9bee16b52f1bbe971Aart Bik V(MathAbsInt, kStatic, kNeedsEnvironmentOrCache, kNoSideEffects, kNoThrow) \ 625d75afe333f57546786686d9bee16b52f1bbe971Aart Bik V(MathMinDoubleDouble, kStatic, kNeedsEnvironmentOrCache, kNoSideEffects, kNoThrow) \ 635d75afe333f57546786686d9bee16b52f1bbe971Aart Bik V(MathMinFloatFloat, kStatic, kNeedsEnvironmentOrCache, kNoSideEffects, kNoThrow) \ 645d75afe333f57546786686d9bee16b52f1bbe971Aart Bik V(MathMinLongLong, kStatic, kNeedsEnvironmentOrCache, kNoSideEffects, kNoThrow) \ 655d75afe333f57546786686d9bee16b52f1bbe971Aart Bik V(MathMinIntInt, kStatic, kNeedsEnvironmentOrCache, kNoSideEffects, kNoThrow) \ 665d75afe333f57546786686d9bee16b52f1bbe971Aart Bik V(MathMaxDoubleDouble, kStatic, kNeedsEnvironmentOrCache, kNoSideEffects, kNoThrow) \ 675d75afe333f57546786686d9bee16b52f1bbe971Aart Bik V(MathMaxFloatFloat, kStatic, kNeedsEnvironmentOrCache, kNoSideEffects, kNoThrow) \ 685d75afe333f57546786686d9bee16b52f1bbe971Aart Bik V(MathMaxLongLong, kStatic, kNeedsEnvironmentOrCache, kNoSideEffects, kNoThrow) \ 695d75afe333f57546786686d9bee16b52f1bbe971Aart Bik V(MathMaxIntInt, kStatic, kNeedsEnvironmentOrCache, kNoSideEffects, kNoThrow) \ 705d75afe333f57546786686d9bee16b52f1bbe971Aart Bik V(MathCos, kStatic, kNeedsEnvironmentOrCache, kNoSideEffects, kNoThrow) \ 715d75afe333f57546786686d9bee16b52f1bbe971Aart Bik V(MathSin, kStatic, kNeedsEnvironmentOrCache, kNoSideEffects, kNoThrow) \ 725d75afe333f57546786686d9bee16b52f1bbe971Aart Bik V(MathAcos, kStatic, kNeedsEnvironmentOrCache, kNoSideEffects, kNoThrow) \ 735d75afe333f57546786686d9bee16b52f1bbe971Aart Bik V(MathAsin, kStatic, kNeedsEnvironmentOrCache, kNoSideEffects, kNoThrow) \ 745d75afe333f57546786686d9bee16b52f1bbe971Aart Bik V(MathAtan, kStatic, kNeedsEnvironmentOrCache, kNoSideEffects, kNoThrow) \ 755d75afe333f57546786686d9bee16b52f1bbe971Aart Bik V(MathAtan2, kStatic, kNeedsEnvironmentOrCache, kNoSideEffects, kNoThrow) \ 765d75afe333f57546786686d9bee16b52f1bbe971Aart Bik V(MathCbrt, kStatic, kNeedsEnvironmentOrCache, kNoSideEffects, kNoThrow) \ 775d75afe333f57546786686d9bee16b52f1bbe971Aart Bik V(MathCosh, kStatic, kNeedsEnvironmentOrCache, kNoSideEffects, kNoThrow) \ 785d75afe333f57546786686d9bee16b52f1bbe971Aart Bik V(MathExp, kStatic, kNeedsEnvironmentOrCache, kNoSideEffects, kNoThrow) \ 795d75afe333f57546786686d9bee16b52f1bbe971Aart Bik V(MathExpm1, kStatic, kNeedsEnvironmentOrCache, kNoSideEffects, kNoThrow) \ 805d75afe333f57546786686d9bee16b52f1bbe971Aart Bik V(MathHypot, kStatic, kNeedsEnvironmentOrCache, kNoSideEffects, kNoThrow) \ 815d75afe333f57546786686d9bee16b52f1bbe971Aart Bik V(MathLog, kStatic, kNeedsEnvironmentOrCache, kNoSideEffects, kNoThrow) \ 825d75afe333f57546786686d9bee16b52f1bbe971Aart Bik V(MathLog10, kStatic, kNeedsEnvironmentOrCache, kNoSideEffects, kNoThrow) \ 835d75afe333f57546786686d9bee16b52f1bbe971Aart Bik V(MathNextAfter, kStatic, kNeedsEnvironmentOrCache, kNoSideEffects, kNoThrow) \ 845d75afe333f57546786686d9bee16b52f1bbe971Aart Bik V(MathSinh, kStatic, kNeedsEnvironmentOrCache, kNoSideEffects, kNoThrow) \ 855d75afe333f57546786686d9bee16b52f1bbe971Aart Bik V(MathTan, kStatic, kNeedsEnvironmentOrCache, kNoSideEffects, kNoThrow) \ 865d75afe333f57546786686d9bee16b52f1bbe971Aart Bik V(MathTanh, kStatic, kNeedsEnvironmentOrCache, kNoSideEffects, kNoThrow) \ 875d75afe333f57546786686d9bee16b52f1bbe971Aart Bik V(MathSqrt, kStatic, kNeedsEnvironmentOrCache, kNoSideEffects, kNoThrow) \ 885d75afe333f57546786686d9bee16b52f1bbe971Aart Bik V(MathCeil, kStatic, kNeedsEnvironmentOrCache, kNoSideEffects, kNoThrow) \ 895d75afe333f57546786686d9bee16b52f1bbe971Aart Bik V(MathFloor, kStatic, kNeedsEnvironmentOrCache, kNoSideEffects, kNoThrow) \ 905d75afe333f57546786686d9bee16b52f1bbe971Aart Bik V(MathRint, kStatic, kNeedsEnvironmentOrCache, kNoSideEffects, kNoThrow) \ 915d75afe333f57546786686d9bee16b52f1bbe971Aart Bik V(MathRoundDouble, kStatic, kNeedsEnvironmentOrCache, kNoSideEffects, kNoThrow) \ 925d75afe333f57546786686d9bee16b52f1bbe971Aart Bik V(MathRoundFloat, kStatic, kNeedsEnvironmentOrCache, kNoSideEffects, kNoThrow) \ 935d75afe333f57546786686d9bee16b52f1bbe971Aart Bik V(SystemArrayCopyChar, kStatic, kNeedsEnvironmentOrCache, kAllSideEffects, kCanThrow) \ 945d75afe333f57546786686d9bee16b52f1bbe971Aart Bik V(SystemArrayCopy, kStatic, kNeedsEnvironmentOrCache, kAllSideEffects, kCanThrow) \ 955d75afe333f57546786686d9bee16b52f1bbe971Aart Bik V(ThreadCurrentThread, kStatic, kNeedsEnvironmentOrCache, kNoSideEffects, kNoThrow) \ 965d75afe333f57546786686d9bee16b52f1bbe971Aart Bik V(MemoryPeekByte, kStatic, kNeedsEnvironmentOrCache, kReadSideEffects, kCanThrow) \ 975d75afe333f57546786686d9bee16b52f1bbe971Aart Bik V(MemoryPeekIntNative, kStatic, kNeedsEnvironmentOrCache, kReadSideEffects, kCanThrow) \ 985d75afe333f57546786686d9bee16b52f1bbe971Aart Bik V(MemoryPeekLongNative, kStatic, kNeedsEnvironmentOrCache, kReadSideEffects, kCanThrow) \ 995d75afe333f57546786686d9bee16b52f1bbe971Aart Bik V(MemoryPeekShortNative, kStatic, kNeedsEnvironmentOrCache, kReadSideEffects, kCanThrow) \ 1005d75afe333f57546786686d9bee16b52f1bbe971Aart Bik V(MemoryPokeByte, kStatic, kNeedsEnvironmentOrCache, kWriteSideEffects, kCanThrow) \ 1015d75afe333f57546786686d9bee16b52f1bbe971Aart Bik V(MemoryPokeIntNative, kStatic, kNeedsEnvironmentOrCache, kWriteSideEffects, kCanThrow) \ 1025d75afe333f57546786686d9bee16b52f1bbe971Aart Bik V(MemoryPokeLongNative, kStatic, kNeedsEnvironmentOrCache, kWriteSideEffects, kCanThrow) \ 1035d75afe333f57546786686d9bee16b52f1bbe971Aart Bik V(MemoryPokeShortNative, kStatic, kNeedsEnvironmentOrCache, kWriteSideEffects, kCanThrow) \ 1045d75afe333f57546786686d9bee16b52f1bbe971Aart Bik V(StringCharAt, kDirect, kNeedsEnvironmentOrCache, kReadSideEffects, kCanThrow) \ 1055d75afe333f57546786686d9bee16b52f1bbe971Aart Bik V(StringCompareTo, kDirect, kNeedsEnvironmentOrCache, kReadSideEffects, kCanThrow) \ 1065d75afe333f57546786686d9bee16b52f1bbe971Aart Bik V(StringEquals, kDirect, kNeedsEnvironmentOrCache, kReadSideEffects, kCanThrow) \ 1075d75afe333f57546786686d9bee16b52f1bbe971Aart Bik V(StringGetCharsNoCheck, kDirect, kNeedsEnvironmentOrCache, kReadSideEffects, kCanThrow) \ 1085d75afe333f57546786686d9bee16b52f1bbe971Aart Bik V(StringIndexOf, kDirect, kNeedsEnvironmentOrCache, kReadSideEffects, kCanThrow) \ 1095d75afe333f57546786686d9bee16b52f1bbe971Aart Bik V(StringIndexOfAfter, kDirect, kNeedsEnvironmentOrCache, kReadSideEffects, kCanThrow) \ 1105d75afe333f57546786686d9bee16b52f1bbe971Aart Bik V(StringNewStringFromBytes, kStatic, kNeedsEnvironmentOrCache, kAllSideEffects, kCanThrow) \ 1115d75afe333f57546786686d9bee16b52f1bbe971Aart Bik V(StringNewStringFromChars, kStatic, kNeedsEnvironmentOrCache, kAllSideEffects, kCanThrow) \ 1125d75afe333f57546786686d9bee16b52f1bbe971Aart Bik V(StringNewStringFromString, kStatic, kNeedsEnvironmentOrCache, kAllSideEffects, kCanThrow) \ 1135d75afe333f57546786686d9bee16b52f1bbe971Aart Bik V(UnsafeCASInt, kDirect, kNeedsEnvironmentOrCache, kAllSideEffects, kCanThrow) \ 1145d75afe333f57546786686d9bee16b52f1bbe971Aart Bik V(UnsafeCASLong, kDirect, kNeedsEnvironmentOrCache, kAllSideEffects, kCanThrow) \ 1155d75afe333f57546786686d9bee16b52f1bbe971Aart Bik V(UnsafeCASObject, kDirect, kNeedsEnvironmentOrCache, kAllSideEffects, kCanThrow) \ 1165d75afe333f57546786686d9bee16b52f1bbe971Aart Bik V(UnsafeGet, kDirect, kNeedsEnvironmentOrCache, kAllSideEffects, kCanThrow) \ 1175d75afe333f57546786686d9bee16b52f1bbe971Aart Bik V(UnsafeGetVolatile, kDirect, kNeedsEnvironmentOrCache, kAllSideEffects, kCanThrow) \ 1185d75afe333f57546786686d9bee16b52f1bbe971Aart Bik V(UnsafeGetObject, kDirect, kNeedsEnvironmentOrCache, kAllSideEffects, kCanThrow) \ 1195d75afe333f57546786686d9bee16b52f1bbe971Aart Bik V(UnsafeGetObjectVolatile, kDirect, kNeedsEnvironmentOrCache, kAllSideEffects, kCanThrow) \ 1205d75afe333f57546786686d9bee16b52f1bbe971Aart Bik V(UnsafeGetLong, kDirect, kNeedsEnvironmentOrCache, kAllSideEffects, kCanThrow) \ 1215d75afe333f57546786686d9bee16b52f1bbe971Aart Bik V(UnsafeGetLongVolatile, kDirect, kNeedsEnvironmentOrCache, kAllSideEffects, kCanThrow) \ 1225d75afe333f57546786686d9bee16b52f1bbe971Aart Bik V(UnsafePut, kDirect, kNeedsEnvironmentOrCache, kAllSideEffects, kCanThrow) \ 1235d75afe333f57546786686d9bee16b52f1bbe971Aart Bik V(UnsafePutOrdered, kDirect, kNeedsEnvironmentOrCache, kAllSideEffects, kCanThrow) \ 1245d75afe333f57546786686d9bee16b52f1bbe971Aart Bik V(UnsafePutVolatile, kDirect, kNeedsEnvironmentOrCache, kAllSideEffects, kCanThrow) \ 1255d75afe333f57546786686d9bee16b52f1bbe971Aart Bik V(UnsafePutObject, kDirect, kNeedsEnvironmentOrCache, kAllSideEffects, kCanThrow) \ 1265d75afe333f57546786686d9bee16b52f1bbe971Aart Bik V(UnsafePutObjectOrdered, kDirect, kNeedsEnvironmentOrCache, kAllSideEffects, kCanThrow) \ 1275d75afe333f57546786686d9bee16b52f1bbe971Aart Bik V(UnsafePutObjectVolatile, kDirect, kNeedsEnvironmentOrCache, kAllSideEffects, kCanThrow) \ 1285d75afe333f57546786686d9bee16b52f1bbe971Aart Bik V(UnsafePutLong, kDirect, kNeedsEnvironmentOrCache, kAllSideEffects, kCanThrow) \ 1295d75afe333f57546786686d9bee16b52f1bbe971Aart Bik V(UnsafePutLongOrdered, kDirect, kNeedsEnvironmentOrCache, kAllSideEffects, kCanThrow) \ 1305d75afe333f57546786686d9bee16b52f1bbe971Aart Bik V(UnsafePutLongVolatile, kDirect, kNeedsEnvironmentOrCache, kAllSideEffects, kCanThrow) \ 1310e54c0160c84894696c05af6cad9eae3690f9496Aart Bik V(UnsafeGetAndAddInt, kDirect, kNeedsEnvironmentOrCache, kAllSideEffects, kCanThrow) \ 1320e54c0160c84894696c05af6cad9eae3690f9496Aart Bik V(UnsafeGetAndAddLong, kDirect, kNeedsEnvironmentOrCache, kAllSideEffects, kCanThrow) \ 1330e54c0160c84894696c05af6cad9eae3690f9496Aart Bik V(UnsafeGetAndSetInt, kDirect, kNeedsEnvironmentOrCache, kAllSideEffects, kCanThrow) \ 1340e54c0160c84894696c05af6cad9eae3690f9496Aart Bik V(UnsafeGetAndSetLong, kDirect, kNeedsEnvironmentOrCache, kAllSideEffects, kCanThrow) \ 1350e54c0160c84894696c05af6cad9eae3690f9496Aart Bik V(UnsafeGetAndSetObject, kDirect, kNeedsEnvironmentOrCache, kAllSideEffects, kCanThrow) \ 1360e54c0160c84894696c05af6cad9eae3690f9496Aart Bik V(UnsafeLoadFence, kDirect, kNeedsEnvironmentOrCache, kAllSideEffects, kCanThrow) \ 1370e54c0160c84894696c05af6cad9eae3690f9496Aart Bik V(UnsafeStoreFence, kDirect, kNeedsEnvironmentOrCache, kAllSideEffects, kCanThrow) \ 1380e54c0160c84894696c05af6cad9eae3690f9496Aart Bik V(UnsafeFullFence, kDirect, kNeedsEnvironmentOrCache, kAllSideEffects, kCanThrow) \ 1395d75afe333f57546786686d9bee16b52f1bbe971Aart Bik V(ReferenceGetReferent, kDirect, kNeedsEnvironmentOrCache, kAllSideEffects, kCanThrow) 14071fb52fee246b7d511f520febbd73dc7a9bbca79Andreas Gampe 14171fb52fee246b7d511f520febbd73dc7a9bbca79Andreas Gampe#endif // ART_COMPILER_OPTIMIZING_INTRINSICS_LIST_H_ 14271fb52fee246b7d511f520febbd73dc7a9bbca79Andreas Gampe#undef ART_COMPILER_OPTIMIZING_INTRINSICS_LIST_H_ // #define is only for lint. 143