1*795d594fSAndroid Build Coastguard Worker/* 2*795d594fSAndroid Build Coastguard Worker * Copyright (C) 2013 The Android Open Source Project 3*795d594fSAndroid Build Coastguard Worker * 4*795d594fSAndroid Build Coastguard Worker * Licensed under the Apache License, Version 2.0 (the "License"); 5*795d594fSAndroid Build Coastguard Worker * you may not use this file except in compliance with the License. 6*795d594fSAndroid Build Coastguard Worker * You may obtain a copy of the License at 7*795d594fSAndroid Build Coastguard Worker * 8*795d594fSAndroid Build Coastguard Worker * http://www.apache.org/licenses/LICENSE-2.0 9*795d594fSAndroid Build Coastguard Worker * 10*795d594fSAndroid Build Coastguard Worker * Unless required by applicable law or agreed to in writing, software 11*795d594fSAndroid Build Coastguard Worker * distributed under the License is distributed on an "AS IS" BASIS, 12*795d594fSAndroid Build Coastguard Worker * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13*795d594fSAndroid Build Coastguard Worker * See the License for the specific language governing permissions and 14*795d594fSAndroid Build Coastguard Worker * limitations under the License. 15*795d594fSAndroid Build Coastguard Worker */ 16*795d594fSAndroid Build Coastguard Worker 17*795d594fSAndroid Build Coastguard Worker.macro GENERATE_ALLOC_ENTRYPOINTS c_suffix, cxx_suffix 18*795d594fSAndroid Build Coastguard Worker// Called by managed code to allocate an object of a resolved class. 19*795d594fSAndroid Build Coastguard WorkerONE_ARG_DOWNCALL art_quick_alloc_object_resolved\c_suffix, artAllocObjectFromCodeResolved\cxx_suffix, RETURN_OR_DEOPT_IF_RESULT_IS_NON_NULL_OR_DELIVER 20*795d594fSAndroid Build Coastguard Worker// Called by managed code to allocate an object of an initialized class. 21*795d594fSAndroid Build Coastguard WorkerONE_ARG_DOWNCALL art_quick_alloc_object_initialized\c_suffix, artAllocObjectFromCodeInitialized\cxx_suffix, RETURN_OR_DEOPT_IF_RESULT_IS_NON_NULL_OR_DELIVER 22*795d594fSAndroid Build Coastguard Worker// Called by managed code to allocate an object when the caller doesn't know whether it has access 23*795d594fSAndroid Build Coastguard Worker// to the created type. 24*795d594fSAndroid Build Coastguard WorkerONE_ARG_DOWNCALL art_quick_alloc_object_with_checks\c_suffix, artAllocObjectFromCodeWithChecks\cxx_suffix, RETURN_OR_DEOPT_IF_RESULT_IS_NON_NULL_OR_DELIVER 25*795d594fSAndroid Build Coastguard Worker// Called by managed code to allocate a string if it could not be removed by any optimizations 26*795d594fSAndroid Build Coastguard WorkerONE_ARG_DOWNCALL art_quick_alloc_string_object\c_suffix, artAllocStringObject\cxx_suffix, RETURN_OR_DEOPT_IF_RESULT_IS_NON_NULL_OR_DELIVER 27*795d594fSAndroid Build Coastguard Worker// Called by managed code to allocate an array of a resolve class. 28*795d594fSAndroid Build Coastguard WorkerTWO_ARG_DOWNCALL art_quick_alloc_array_resolved\c_suffix, artAllocArrayFromCodeResolved\cxx_suffix, RETURN_OR_DEOPT_IF_RESULT_IS_NON_NULL_OR_DELIVER 29*795d594fSAndroid Build Coastguard Worker// Called by managed code to allocate a string from bytes 30*795d594fSAndroid Build Coastguard WorkerFOUR_ARG_DOWNCALL art_quick_alloc_string_from_bytes\c_suffix, artAllocStringFromBytesFromCode\cxx_suffix, RETURN_OR_DEOPT_IF_RESULT_IS_NON_NULL_OR_DELIVER 31*795d594fSAndroid Build Coastguard Worker// Called by managed code to allocate a string from chars 32*795d594fSAndroid Build Coastguard WorkerTHREE_ARG_DOWNCALL art_quick_alloc_string_from_chars\c_suffix, artAllocStringFromCharsFromCode\cxx_suffix, RETURN_OR_DEOPT_IF_RESULT_IS_NON_NULL_OR_DELIVER 33*795d594fSAndroid Build Coastguard Worker// Called by managed code to allocate a string from string 34*795d594fSAndroid Build Coastguard WorkerONE_ARG_DOWNCALL art_quick_alloc_string_from_string\c_suffix, artAllocStringFromStringFromCode\cxx_suffix, RETURN_OR_DEOPT_IF_RESULT_IS_NON_NULL_OR_DELIVER 35*795d594fSAndroid Build Coastguard Worker 36*795d594fSAndroid Build Coastguard WorkerTWO_ARG_DOWNCALL art_quick_alloc_array_resolved8\c_suffix, artAllocArrayFromCodeResolved\cxx_suffix, RETURN_OR_DEOPT_IF_RESULT_IS_NON_NULL_OR_DELIVER 37*795d594fSAndroid Build Coastguard WorkerTWO_ARG_DOWNCALL art_quick_alloc_array_resolved16\c_suffix, artAllocArrayFromCodeResolved\cxx_suffix, RETURN_OR_DEOPT_IF_RESULT_IS_NON_NULL_OR_DELIVER 38*795d594fSAndroid Build Coastguard WorkerTWO_ARG_DOWNCALL art_quick_alloc_array_resolved32\c_suffix, artAllocArrayFromCodeResolved\cxx_suffix, RETURN_OR_DEOPT_IF_RESULT_IS_NON_NULL_OR_DELIVER 39*795d594fSAndroid Build Coastguard WorkerTWO_ARG_DOWNCALL art_quick_alloc_array_resolved64\c_suffix, artAllocArrayFromCodeResolved\cxx_suffix, RETURN_OR_DEOPT_IF_RESULT_IS_NON_NULL_OR_DELIVER 40*795d594fSAndroid Build Coastguard Worker.endm 41*795d594fSAndroid Build Coastguard Worker 42*795d594fSAndroid Build Coastguard Worker.macro GENERATE_ALL_ALLOC_ENTRYPOINTS 43*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS _dlmalloc, DlMalloc 44*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS _dlmalloc_instrumented, DlMallocInstrumented 45*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS _rosalloc, RosAlloc 46*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS _rosalloc_instrumented, RosAllocInstrumented 47*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS _bump_pointer, BumpPointer 48*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS _bump_pointer_instrumented, BumpPointerInstrumented 49*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS _tlab, TLAB 50*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS _tlab_instrumented, TLABInstrumented 51*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS _region, Region 52*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS _region_instrumented, RegionInstrumented 53*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS _region_tlab, RegionTLAB 54*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS _region_tlab_instrumented, RegionTLABInstrumented 55*795d594fSAndroid Build Coastguard Worker.endm 56*795d594fSAndroid Build Coastguard Worker 57*795d594fSAndroid Build Coastguard Worker// Generate the allocation entrypoints for each allocator. This is used as an alternative to 58*795d594fSAndroid Build Coastguard Worker// GENERATE_ALL_ALLOC_ENTRYPOINTS for selectively implementing allocation fast paths in 59*795d594fSAndroid Build Coastguard Worker// hand-written assembly. 60*795d594fSAndroid Build Coastguard Worker#define GENERATE_ALLOC_ENTRYPOINTS_ALLOC_OBJECT_RESOLVED(c_suffix, cxx_suffix) \ 61*795d594fSAndroid Build Coastguard Worker ONE_ARG_DOWNCALL art_quick_alloc_object_resolved ## c_suffix, artAllocObjectFromCodeResolved ## cxx_suffix, RETURN_OR_DEOPT_IF_RESULT_IS_NON_NULL_OR_DELIVER 62*795d594fSAndroid Build Coastguard Worker#define GENERATE_ALLOC_ENTRYPOINTS_ALLOC_OBJECT_INITIALIZED(c_suffix, cxx_suffix) \ 63*795d594fSAndroid Build Coastguard Worker ONE_ARG_DOWNCALL art_quick_alloc_object_initialized ## c_suffix, artAllocObjectFromCodeInitialized ## cxx_suffix, RETURN_OR_DEOPT_IF_RESULT_IS_NON_NULL_OR_DELIVER 64*795d594fSAndroid Build Coastguard Worker#define GENERATE_ALLOC_ENTRYPOINTS_ALLOC_OBJECT_WITH_ACCESS_CHECK(c_suffix, cxx_suffix) \ 65*795d594fSAndroid Build Coastguard Worker ONE_ARG_DOWNCALL art_quick_alloc_object_with_checks ## c_suffix, artAllocObjectFromCodeWithChecks ## cxx_suffix, RETURN_OR_DEOPT_IF_RESULT_IS_NON_NULL_OR_DELIVER 66*795d594fSAndroid Build Coastguard Worker#define GENERATE_ALLOC_ENTRYPOINTS_ALLOC_STRING_OBJECT(c_suffix, cxx_suffix) \ 67*795d594fSAndroid Build Coastguard Worker ONE_ARG_DOWNCALL art_quick_alloc_string_object ## c_suffix, artAllocStringObject ## cxx_suffix, RETURN_OR_DEOPT_IF_RESULT_IS_NON_NULL_OR_DELIVER 68*795d594fSAndroid Build Coastguard Worker#define GENERATE_ALLOC_ENTRYPOINTS_ALLOC_STRING_FROM_BYTES(c_suffix, cxx_suffix) \ 69*795d594fSAndroid Build Coastguard Worker FOUR_ARG_DOWNCALL art_quick_alloc_string_from_bytes ## c_suffix, artAllocStringFromBytesFromCode ## cxx_suffix, RETURN_OR_DEOPT_IF_RESULT_IS_NON_NULL_OR_DELIVER 70*795d594fSAndroid Build Coastguard Worker#define GENERATE_ALLOC_ENTRYPOINTS_ALLOC_STRING_FROM_CHARS(c_suffix, cxx_suffix) \ 71*795d594fSAndroid Build Coastguard Worker THREE_ARG_DOWNCALL art_quick_alloc_string_from_chars ## c_suffix, artAllocStringFromCharsFromCode ## cxx_suffix, RETURN_OR_DEOPT_IF_RESULT_IS_NON_NULL_OR_DELIVER 72*795d594fSAndroid Build Coastguard Worker#define GENERATE_ALLOC_ENTRYPOINTS_ALLOC_STRING_FROM_STRING(c_suffix, cxx_suffix) \ 73*795d594fSAndroid Build Coastguard Worker ONE_ARG_DOWNCALL art_quick_alloc_string_from_string ## c_suffix, artAllocStringFromStringFromCode ## cxx_suffix, RETURN_OR_DEOPT_IF_RESULT_IS_NON_NULL_OR_DELIVER 74*795d594fSAndroid Build Coastguard Worker#define GENERATE_ALLOC_ENTRYPOINTS_ALLOC_ARRAY_RESOLVED(c_suffix, cxx_suffix) \ 75*795d594fSAndroid Build Coastguard Worker TWO_ARG_DOWNCALL art_quick_alloc_array_resolved ## c_suffix, artAllocArrayFromCodeResolved ## cxx_suffix, RETURN_OR_DEOPT_IF_RESULT_IS_NON_NULL_OR_DELIVER 76*795d594fSAndroid Build Coastguard Worker#define GENERATE_ALLOC_ENTRYPOINTS_ALLOC_ARRAY_RESOLVED8(c_suffix, cxx_suffix) \ 77*795d594fSAndroid Build Coastguard Worker TWO_ARG_DOWNCALL art_quick_alloc_array_resolved8 ## c_suffix, artAllocArrayFromCodeResolved ## cxx_suffix, RETURN_OR_DEOPT_IF_RESULT_IS_NON_NULL_OR_DELIVER 78*795d594fSAndroid Build Coastguard Worker#define GENERATE_ALLOC_ENTRYPOINTS_ALLOC_ARRAY_RESOLVED16(c_suffix, cxx_suffix) \ 79*795d594fSAndroid Build Coastguard Worker TWO_ARG_DOWNCALL art_quick_alloc_array_resolved16 ## c_suffix, artAllocArrayFromCodeResolved ## cxx_suffix, RETURN_OR_DEOPT_IF_RESULT_IS_NON_NULL_OR_DELIVER 80*795d594fSAndroid Build Coastguard Worker#define GENERATE_ALLOC_ENTRYPOINTS_ALLOC_ARRAY_RESOLVED32(c_suffix, cxx_suffix) \ 81*795d594fSAndroid Build Coastguard Worker TWO_ARG_DOWNCALL art_quick_alloc_array_resolved32 ## c_suffix, artAllocArrayFromCodeResolved ## cxx_suffix, RETURN_OR_DEOPT_IF_RESULT_IS_NON_NULL_OR_DELIVER 82*795d594fSAndroid Build Coastguard Worker#define GENERATE_ALLOC_ENTRYPOINTS_ALLOC_ARRAY_RESOLVED64(c_suffix, cxx_suffix) \ 83*795d594fSAndroid Build Coastguard Worker TWO_ARG_DOWNCALL art_quick_alloc_array_resolved64 ## c_suffix, artAllocArrayFromCodeResolved ## cxx_suffix, RETURN_OR_DEOPT_IF_RESULT_IS_NON_NULL_OR_DELIVER 84*795d594fSAndroid Build Coastguard Worker 85*795d594fSAndroid Build Coastguard Worker.macro GENERATE_ALLOC_ENTRYPOINTS_FOR_REGION_TLAB_ALLOCATOR 86*795d594fSAndroid Build Coastguard Worker// This is to be separately defined for each architecture to allow a hand-written assembly fast path. 87*795d594fSAndroid Build Coastguard Worker// GENERATE_ALLOC_ENTRYPOINTS_ALLOC_OBJECT_RESOLVED(_region_tlab, RegionTLAB) 88*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_OBJECT_INITIALIZED(_region_tlab, RegionTLAB) 89*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_OBJECT_WITH_ACCESS_CHECK(_region_tlab, RegionTLAB) 90*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_STRING_OBJECT(_region_tlab, RegionTLAB) 91*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_ARRAY_RESOLVED(_region_tlab, RegionTLAB) 92*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_ARRAY_RESOLVED8(_region_tlab, RegionTLAB) 93*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_ARRAY_RESOLVED16(_region_tlab, RegionTLAB) 94*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_ARRAY_RESOLVED32(_region_tlab, RegionTLAB) 95*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_ARRAY_RESOLVED64(_region_tlab, RegionTLAB) 96*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_STRING_FROM_BYTES(_region_tlab, RegionTLAB) 97*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_STRING_FROM_CHARS(_region_tlab, RegionTLAB) 98*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_STRING_FROM_STRING(_region_tlab, RegionTLAB) 99*795d594fSAndroid Build Coastguard Worker.endm 100*795d594fSAndroid Build Coastguard Worker 101*795d594fSAndroid Build Coastguard Worker.macro GENERATE_ALLOC_ENTRYPOINTS_FOR_TLAB_ALLOCATOR 102*795d594fSAndroid Build Coastguard Worker// This is to be separately defined for each architecture to allow a hand-written assembly fast path. 103*795d594fSAndroid Build Coastguard Worker// GENERATE_ALLOC_ENTRYPOINTS_ALLOC_OBJECT_RESOLVED(_tlab, TLAB) 104*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_OBJECT_INITIALIZED(_tlab, TLAB) 105*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_OBJECT_WITH_ACCESS_CHECK(_tlab, TLAB) 106*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_STRING_OBJECT(_tlab, TLAB) 107*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_ARRAY_RESOLVED(_tlab, TLAB) 108*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_ARRAY_RESOLVED8(_tlab, TLAB) 109*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_ARRAY_RESOLVED16(_tlab, TLAB) 110*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_ARRAY_RESOLVED32(_tlab, TLAB) 111*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_ARRAY_RESOLVED64(_tlab, TLAB) 112*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_STRING_FROM_BYTES(_tlab, TLAB) 113*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_STRING_FROM_CHARS(_tlab, TLAB) 114*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_STRING_FROM_STRING(_tlab, TLAB) 115*795d594fSAndroid Build Coastguard Worker.endm 116*795d594fSAndroid Build Coastguard Worker 117*795d594fSAndroid Build Coastguard Worker.macro GENERATE_ALLOC_ENTRYPOINTS_FOR_NON_REGION_TLAB_ALLOCATORS 118*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_FOR_NON_TLAB_ALLOCATORS 119*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_FOR_TLAB_ALLOCATOR 120*795d594fSAndroid Build Coastguard Worker.endm 121*795d594fSAndroid Build Coastguard Worker 122*795d594fSAndroid Build Coastguard Worker.macro GENERATE_ALLOC_ENTRYPOINTS_FOR_NON_TLAB_ALLOCATORS 123*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_OBJECT_RESOLVED(_dlmalloc, DlMalloc) 124*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_OBJECT_INITIALIZED(_dlmalloc, DlMalloc) 125*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_OBJECT_WITH_ACCESS_CHECK(_dlmalloc, DlMalloc) 126*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_STRING_OBJECT(_dlmalloc, DlMalloc) 127*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_ARRAY_RESOLVED(_dlmalloc, DlMalloc) 128*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_ARRAY_RESOLVED8(_dlmalloc, DlMalloc) 129*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_ARRAY_RESOLVED16(_dlmalloc, DlMalloc) 130*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_ARRAY_RESOLVED32(_dlmalloc, DlMalloc) 131*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_ARRAY_RESOLVED64(_dlmalloc, DlMalloc) 132*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_STRING_FROM_BYTES(_dlmalloc, DlMalloc) 133*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_STRING_FROM_CHARS(_dlmalloc, DlMalloc) 134*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_STRING_FROM_STRING(_dlmalloc, DlMalloc) 135*795d594fSAndroid Build Coastguard Worker 136*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_OBJECT_RESOLVED(_dlmalloc_instrumented, DlMallocInstrumented) 137*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_OBJECT_INITIALIZED(_dlmalloc_instrumented, DlMallocInstrumented) 138*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_OBJECT_WITH_ACCESS_CHECK(_dlmalloc_instrumented, DlMallocInstrumented) 139*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_STRING_OBJECT(_dlmalloc_instrumented, DlMallocInstrumented) 140*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_ARRAY_RESOLVED(_dlmalloc_instrumented, DlMallocInstrumented) 141*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_ARRAY_RESOLVED8(_dlmalloc_instrumented, DlMallocInstrumented) 142*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_ARRAY_RESOLVED16(_dlmalloc_instrumented, DlMallocInstrumented) 143*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_ARRAY_RESOLVED32(_dlmalloc_instrumented, DlMallocInstrumented) 144*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_ARRAY_RESOLVED64(_dlmalloc_instrumented, DlMallocInstrumented) 145*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_STRING_FROM_BYTES(_dlmalloc_instrumented, DlMallocInstrumented) 146*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_STRING_FROM_CHARS(_dlmalloc_instrumented, DlMallocInstrumented) 147*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_STRING_FROM_STRING(_dlmalloc_instrumented, DlMallocInstrumented) 148*795d594fSAndroid Build Coastguard Worker 149*795d594fSAndroid Build Coastguard Worker// This is to be separately defined for each architecture to allow a hand-written assembly fast path. 150*795d594fSAndroid Build Coastguard Worker// GENERATE_ALLOC_ENTRYPOINTS_ALLOC_OBJECT_RESOLVED(_rosalloc, RosAlloc) 151*795d594fSAndroid Build Coastguard Worker// GENERATE_ALLOC_ENTRYPOINTS_ALLOC_OBJECT_INITIALIZED(_rosalloc, RosAlloc) 152*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_OBJECT_WITH_ACCESS_CHECK(_rosalloc, RosAlloc) 153*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_STRING_OBJECT(_rosalloc, RosAlloc) 154*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_ARRAY_RESOLVED(_rosalloc, RosAlloc) 155*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_ARRAY_RESOLVED8(_rosalloc, RosAlloc) 156*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_ARRAY_RESOLVED16(_rosalloc, RosAlloc) 157*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_ARRAY_RESOLVED32(_rosalloc, RosAlloc) 158*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_ARRAY_RESOLVED64(_rosalloc, RosAlloc) 159*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_STRING_FROM_BYTES(_rosalloc, RosAlloc) 160*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_STRING_FROM_CHARS(_rosalloc, RosAlloc) 161*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_STRING_FROM_STRING(_rosalloc, RosAlloc) 162*795d594fSAndroid Build Coastguard Worker 163*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_OBJECT_RESOLVED(_rosalloc_instrumented, RosAllocInstrumented) 164*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_OBJECT_INITIALIZED(_rosalloc_instrumented, RosAllocInstrumented) 165*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_OBJECT_WITH_ACCESS_CHECK(_rosalloc_instrumented, RosAllocInstrumented) 166*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_STRING_OBJECT(_rosalloc_instrumented, RosAllocInstrumented) 167*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_ARRAY_RESOLVED(_rosalloc_instrumented, RosAllocInstrumented) 168*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_ARRAY_RESOLVED8(_rosalloc_instrumented, RosAllocInstrumented) 169*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_ARRAY_RESOLVED16(_rosalloc_instrumented, RosAllocInstrumented) 170*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_ARRAY_RESOLVED32(_rosalloc_instrumented, RosAllocInstrumented) 171*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_ARRAY_RESOLVED64(_rosalloc_instrumented, RosAllocInstrumented) 172*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_STRING_FROM_BYTES(_rosalloc_instrumented, RosAllocInstrumented) 173*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_STRING_FROM_CHARS(_rosalloc_instrumented, RosAllocInstrumented) 174*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_STRING_FROM_STRING(_rosalloc_instrumented, RosAllocInstrumented) 175*795d594fSAndroid Build Coastguard Worker 176*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_OBJECT_RESOLVED(_bump_pointer, BumpPointer) 177*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_OBJECT_INITIALIZED(_bump_pointer, BumpPointer) 178*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_OBJECT_WITH_ACCESS_CHECK(_bump_pointer, BumpPointer) 179*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_STRING_OBJECT(_bump_pointer, BumpPointer) 180*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_ARRAY_RESOLVED(_bump_pointer, BumpPointer) 181*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_ARRAY_RESOLVED8(_bump_pointer, BumpPointer) 182*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_ARRAY_RESOLVED16(_bump_pointer, BumpPointer) 183*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_ARRAY_RESOLVED32(_bump_pointer, BumpPointer) 184*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_ARRAY_RESOLVED64(_bump_pointer, BumpPointer) 185*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_STRING_FROM_BYTES(_bump_pointer, BumpPointer) 186*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_STRING_FROM_CHARS(_bump_pointer, BumpPointer) 187*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_STRING_FROM_STRING(_bump_pointer, BumpPointer) 188*795d594fSAndroid Build Coastguard Worker 189*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_OBJECT_RESOLVED(_bump_pointer_instrumented, BumpPointerInstrumented) 190*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_OBJECT_INITIALIZED(_bump_pointer_instrumented, BumpPointerInstrumented) 191*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_OBJECT_WITH_ACCESS_CHECK(_bump_pointer_instrumented, BumpPointerInstrumented) 192*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_STRING_OBJECT(_bump_pointer_instrumented, BumpPointerInstrumented) 193*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_ARRAY_RESOLVED(_bump_pointer_instrumented, BumpPointerInstrumented) 194*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_ARRAY_RESOLVED8(_bump_pointer_instrumented, BumpPointerInstrumented) 195*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_ARRAY_RESOLVED16(_bump_pointer_instrumented, BumpPointerInstrumented) 196*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_ARRAY_RESOLVED32(_bump_pointer_instrumented, BumpPointerInstrumented) 197*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_ARRAY_RESOLVED64(_bump_pointer_instrumented, BumpPointerInstrumented) 198*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_STRING_FROM_BYTES(_bump_pointer_instrumented, BumpPointerInstrumented) 199*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_STRING_FROM_CHARS(_bump_pointer_instrumented, BumpPointerInstrumented) 200*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_STRING_FROM_STRING(_bump_pointer_instrumented, BumpPointerInstrumented) 201*795d594fSAndroid Build Coastguard Worker 202*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_OBJECT_RESOLVED(_tlab_instrumented, TLABInstrumented) 203*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_OBJECT_INITIALIZED(_tlab_instrumented, TLABInstrumented) 204*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_OBJECT_WITH_ACCESS_CHECK(_tlab_instrumented, TLABInstrumented) 205*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_STRING_OBJECT(_tlab_instrumented, TLABInstrumented) 206*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_ARRAY_RESOLVED(_tlab_instrumented, TLABInstrumented) 207*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_ARRAY_RESOLVED8(_tlab_instrumented, TLABInstrumented) 208*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_ARRAY_RESOLVED16(_tlab_instrumented, TLABInstrumented) 209*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_ARRAY_RESOLVED32(_tlab_instrumented, TLABInstrumented) 210*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_ARRAY_RESOLVED64(_tlab_instrumented, TLABInstrumented) 211*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_STRING_FROM_BYTES(_tlab_instrumented, TLABInstrumented) 212*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_STRING_FROM_CHARS(_tlab_instrumented, TLABInstrumented) 213*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_STRING_FROM_STRING(_tlab_instrumented, TLABInstrumented) 214*795d594fSAndroid Build Coastguard Worker 215*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_OBJECT_RESOLVED(_region, Region) 216*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_OBJECT_INITIALIZED(_region, Region) 217*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_OBJECT_WITH_ACCESS_CHECK(_region, Region) 218*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_STRING_OBJECT(_region, Region) 219*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_ARRAY_RESOLVED(_region, Region) 220*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_ARRAY_RESOLVED8(_region, Region) 221*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_ARRAY_RESOLVED16(_region, Region) 222*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_ARRAY_RESOLVED32(_region, Region) 223*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_ARRAY_RESOLVED64(_region, Region) 224*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_STRING_FROM_BYTES(_region, Region) 225*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_STRING_FROM_CHARS(_region, Region) 226*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_STRING_FROM_STRING(_region, Region) 227*795d594fSAndroid Build Coastguard Worker 228*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_OBJECT_RESOLVED(_region_instrumented, RegionInstrumented) 229*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_OBJECT_INITIALIZED(_region_instrumented, RegionInstrumented) 230*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_OBJECT_WITH_ACCESS_CHECK(_region_instrumented, RegionInstrumented) 231*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_STRING_OBJECT(_region_instrumented, RegionInstrumented) 232*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_ARRAY_RESOLVED(_region_instrumented, RegionInstrumented) 233*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_ARRAY_RESOLVED8(_region_instrumented, RegionInstrumented) 234*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_ARRAY_RESOLVED16(_region_instrumented, RegionInstrumented) 235*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_ARRAY_RESOLVED32(_region_instrumented, RegionInstrumented) 236*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_ARRAY_RESOLVED64(_region_instrumented, RegionInstrumented) 237*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_STRING_FROM_BYTES(_region_instrumented, RegionInstrumented) 238*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_STRING_FROM_CHARS(_region_instrumented, RegionInstrumented) 239*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_STRING_FROM_STRING(_region_instrumented, RegionInstrumented) 240*795d594fSAndroid Build Coastguard Worker 241*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_OBJECT_RESOLVED(_region_tlab_instrumented, RegionTLABInstrumented) 242*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_OBJECT_INITIALIZED(_region_tlab_instrumented, RegionTLABInstrumented) 243*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_OBJECT_WITH_ACCESS_CHECK(_region_tlab_instrumented, RegionTLABInstrumented) 244*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_STRING_OBJECT(_region_tlab_instrumented, RegionTLABInstrumented) 245*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_ARRAY_RESOLVED(_region_tlab_instrumented, RegionTLABInstrumented) 246*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_ARRAY_RESOLVED8(_region_tlab_instrumented, RegionTLABInstrumented) 247*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_ARRAY_RESOLVED16(_region_tlab_instrumented, RegionTLABInstrumented) 248*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_ARRAY_RESOLVED32(_region_tlab_instrumented, RegionTLABInstrumented) 249*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_ARRAY_RESOLVED64(_region_tlab_instrumented, RegionTLABInstrumented) 250*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_STRING_FROM_BYTES(_region_tlab_instrumented, RegionTLABInstrumented) 251*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_STRING_FROM_CHARS(_region_tlab_instrumented, RegionTLABInstrumented) 252*795d594fSAndroid Build Coastguard WorkerGENERATE_ALLOC_ENTRYPOINTS_ALLOC_STRING_FROM_STRING(_region_tlab_instrumented, RegionTLABInstrumented) 253*795d594fSAndroid Build Coastguard Worker.endm 254