Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(63)

Side by Side Diff: base/android/jni_generator/golden_sample_for_tests_jni.h

Issue 2531273002: android: Realign stack pointer on JNI entry. (Closed)
Patch Set: Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | base/android/jni_generator/jni_generator.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // This file is autogenerated by 5 // This file is autogenerated by
6 // base/android/jni_generator/jni_generator.py 6 // base/android/jni_generator/jni_generator.py
7 // For 7 // For
8 // org/chromium/example/jni_generator/SampleForTests 8 // org/chromium/example/jni_generator/SampleForTests
9 9
10 #ifndef org_chromium_example_jni_generator_SampleForTests_JNI 10 #ifndef org_chromium_example_jni_generator_SampleForTests_JNI
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
44 namespace base { 44 namespace base {
45 namespace android { 45 namespace android {
46 46
47 // Step 2: method stubs. 47 // Step 2: method stubs.
48 48
49 static jlong Init(JNIEnv* env, const base::android::JavaParamRef<jobject>& 49 static jlong Init(JNIEnv* env, const base::android::JavaParamRef<jobject>&
50 jcaller, 50 jcaller,
51 const base::android::JavaParamRef<jstring>& param); 51 const base::android::JavaParamRef<jstring>& param);
52 52
53 extern "C" __attribute__((visibility("default"))) 53 extern "C" __attribute__((visibility("default")))
54 #if defined(ARCH_CPU_X86)
Primiano Tucci (use gerrit) 2016/11/28 14:39:28 maybe just #define ALIGN_STACK_X86 ... this once o
rmcilroy 2016/11/28 15:21:56 +1
55 __attribute__((force_align_arg_pointer))
56 #endif
54 jlong Java_org_chromium_example_jni_1generator_SampleForTests_nativeInit(JNIEnv* 57 jlong Java_org_chromium_example_jni_1generator_SampleForTests_nativeInit(JNIEnv*
55 env, jobject jcaller, 58 env, jobject jcaller,
56 jstring param) { 59 jstring param) {
57 return Init(env, base::android::JavaParamRef<jobject>(env, jcaller), 60 return Init(env, base::android::JavaParamRef<jobject>(env, jcaller),
58 base::android::JavaParamRef<jstring>(env, param)); 61 base::android::JavaParamRef<jstring>(env, param));
59 } 62 }
60 63
61 extern "C" __attribute__((visibility("default"))) 64 extern "C" __attribute__((visibility("default")))
65 #if defined(ARCH_CPU_X86)
66 __attribute__((force_align_arg_pointer))
67 #endif
62 void 68 void
63 Java_org_chromium_example_jni_1generator_SampleForTests_nativeDestroy(JNIEnv * 69 Java_org_chromium_example_jni_1generator_SampleForTests_nativeDestroy(JNIEnv *
64 env, 70 env,
65 jobject jcaller, 71 jobject jcaller,
66 jlong nativeCPPClass) { 72 jlong nativeCPPClass) {
67 CPPClass* native = reinterpret_cast<CPPClass*>(nativeCPPClass); 73 CPPClass* native = reinterpret_cast<CPPClass*>(nativeCPPClass);
68 CHECK_NATIVE_PTR(env, jcaller, native, "Destroy"); 74 CHECK_NATIVE_PTR(env, jcaller, native, "Destroy");
69 return native->Destroy(env, base::android::JavaParamRef<jobject>(env, 75 return native->Destroy(env, base::android::JavaParamRef<jobject>(env,
70 jcaller)); 76 jcaller));
71 } 77 }
72 78
73 static jdouble GetDoubleFunction(JNIEnv* env, const 79 static jdouble GetDoubleFunction(JNIEnv* env, const
74 base::android::JavaParamRef<jobject>& jcaller); 80 base::android::JavaParamRef<jobject>& jcaller);
75 81
76 extern "C" __attribute__((visibility("default"))) 82 extern "C" __attribute__((visibility("default")))
83 #if defined(ARCH_CPU_X86)
84 __attribute__((force_align_arg_pointer))
85 #endif
77 jdouble 86 jdouble
78 Java_org_chromium_example_jni_1generator_SampleForTests_nativeGetDoubleFunct ion(JNIEnv* 87 Java_org_chromium_example_jni_1generator_SampleForTests_nativeGetDoubleFunct ion(JNIEnv*
79 env, jobject jcaller) { 88 env, jobject jcaller) {
80 return GetDoubleFunction(env, base::android::JavaParamRef<jobject>(env, 89 return GetDoubleFunction(env, base::android::JavaParamRef<jobject>(env,
81 jcaller)); 90 jcaller));
82 } 91 }
83 92
84 static jfloat GetFloatFunction(JNIEnv* env, const 93 static jfloat GetFloatFunction(JNIEnv* env, const
85 base::android::JavaParamRef<jclass>& jcaller); 94 base::android::JavaParamRef<jclass>& jcaller);
86 95
87 extern "C" __attribute__((visibility("default"))) 96 extern "C" __attribute__((visibility("default")))
97 #if defined(ARCH_CPU_X86)
98 __attribute__((force_align_arg_pointer))
99 #endif
88 jfloat 100 jfloat
89 Java_org_chromium_example_jni_1generator_SampleForTests_nativeGetFloatFuncti on(JNIEnv* 101 Java_org_chromium_example_jni_1generator_SampleForTests_nativeGetFloatFuncti on(JNIEnv*
90 env, jclass jcaller) { 102 env, jclass jcaller) {
91 return GetFloatFunction(env, base::android::JavaParamRef<jclass>(env, 103 return GetFloatFunction(env, base::android::JavaParamRef<jclass>(env,
92 jcaller)); 104 jcaller));
93 } 105 }
94 106
95 static void SetNonPODDatatype(JNIEnv* env, const 107 static void SetNonPODDatatype(JNIEnv* env, const
96 base::android::JavaParamRef<jobject>& jcaller, 108 base::android::JavaParamRef<jobject>& jcaller,
97 const base::android::JavaParamRef<jobject>& rect); 109 const base::android::JavaParamRef<jobject>& rect);
98 110
99 extern "C" __attribute__((visibility("default"))) 111 extern "C" __attribute__((visibility("default")))
112 #if defined(ARCH_CPU_X86)
113 __attribute__((force_align_arg_pointer))
114 #endif
100 void 115 void
101 Java_org_chromium_example_jni_1generator_SampleForTests_nativeSetNonPODDatat ype(JNIEnv* 116 Java_org_chromium_example_jni_1generator_SampleForTests_nativeSetNonPODDatat ype(JNIEnv*
102 env, jobject jcaller, 117 env, jobject jcaller,
103 jobject rect) { 118 jobject rect) {
104 return SetNonPODDatatype(env, base::android::JavaParamRef<jobject>(env, 119 return SetNonPODDatatype(env, base::android::JavaParamRef<jobject>(env,
105 jcaller), base::android::JavaParamRef<jobject>(env, rect)); 120 jcaller), base::android::JavaParamRef<jobject>(env, rect));
106 } 121 }
107 122
108 static base::android::ScopedJavaLocalRef<jobject> GetNonPODDatatype(JNIEnv* env, 123 static base::android::ScopedJavaLocalRef<jobject> GetNonPODDatatype(JNIEnv* env,
109 const base::android::JavaParamRef<jobject>& jcaller); 124 const base::android::JavaParamRef<jobject>& jcaller);
110 125
111 extern "C" __attribute__((visibility("default"))) 126 extern "C" __attribute__((visibility("default")))
127 #if defined(ARCH_CPU_X86)
128 __attribute__((force_align_arg_pointer))
129 #endif
112 jobject 130 jobject
113 Java_org_chromium_example_jni_1generator_SampleForTests_nativeGetNonPODDatat ype(JNIEnv* 131 Java_org_chromium_example_jni_1generator_SampleForTests_nativeGetNonPODDatat ype(JNIEnv*
114 env, jobject jcaller) { 132 env, jobject jcaller) {
115 return GetNonPODDatatype(env, base::android::JavaParamRef<jobject>(env, 133 return GetNonPODDatatype(env, base::android::JavaParamRef<jobject>(env,
116 jcaller)).Release(); 134 jcaller)).Release();
117 } 135 }
118 136
119 extern "C" __attribute__((visibility("default"))) 137 extern "C" __attribute__((visibility("default")))
138 #if defined(ARCH_CPU_X86)
139 __attribute__((force_align_arg_pointer))
140 #endif
120 jint 141 jint
121 Java_org_chromium_example_jni_1generator_SampleForTests_nativeMethod(JNIEnv* 142 Java_org_chromium_example_jni_1generator_SampleForTests_nativeMethod(JNIEnv*
122 env, 143 env,
123 jobject jcaller, 144 jobject jcaller,
124 jlong nativeCPPClass) { 145 jlong nativeCPPClass) {
125 CPPClass* native = reinterpret_cast<CPPClass*>(nativeCPPClass); 146 CPPClass* native = reinterpret_cast<CPPClass*>(nativeCPPClass);
126 CHECK_NATIVE_PTR(env, jcaller, native, "Method", 0); 147 CHECK_NATIVE_PTR(env, jcaller, native, "Method", 0);
127 return native->Method(env, base::android::JavaParamRef<jobject>(env, 148 return native->Method(env, base::android::JavaParamRef<jobject>(env,
128 jcaller)); 149 jcaller));
129 } 150 }
130 151
131 extern "C" __attribute__((visibility("default"))) 152 extern "C" __attribute__((visibility("default")))
153 #if defined(ARCH_CPU_X86)
154 __attribute__((force_align_arg_pointer))
155 #endif
132 jdouble 156 jdouble
133 Java_org_chromium_example_jni_1generator_SampleForTests_nativeMethodOtherP0( JNIEnv* 157 Java_org_chromium_example_jni_1generator_SampleForTests_nativeMethodOtherP0( JNIEnv*
134 env, 158 env,
135 jobject jcaller, 159 jobject jcaller,
136 jlong nativePtr) { 160 jlong nativePtr) {
137 CPPClass::InnerClass* native = 161 CPPClass::InnerClass* native =
138 reinterpret_cast<CPPClass::InnerClass*>(nativePtr); 162 reinterpret_cast<CPPClass::InnerClass*>(nativePtr);
139 CHECK_NATIVE_PTR(env, jcaller, native, "MethodOtherP0", 0); 163 CHECK_NATIVE_PTR(env, jcaller, native, "MethodOtherP0", 0);
140 return native->MethodOtherP0(env, base::android::JavaParamRef<jobject>(env, 164 return native->MethodOtherP0(env, base::android::JavaParamRef<jobject>(env,
141 jcaller)); 165 jcaller));
142 } 166 }
143 167
144 extern "C" __attribute__((visibility("default"))) 168 extern "C" __attribute__((visibility("default")))
169 #if defined(ARCH_CPU_X86)
170 __attribute__((force_align_arg_pointer))
171 #endif
145 void 172 void
146 Java_org_chromium_example_jni_1generator_SampleForTests_nativeAddStructB(JNI Env* 173 Java_org_chromium_example_jni_1generator_SampleForTests_nativeAddStructB(JNI Env*
147 env, 174 env,
148 jobject jcaller, 175 jobject jcaller,
149 jlong nativeCPPClass, 176 jlong nativeCPPClass,
150 jobject b) { 177 jobject b) {
151 CPPClass* native = reinterpret_cast<CPPClass*>(nativeCPPClass); 178 CPPClass* native = reinterpret_cast<CPPClass*>(nativeCPPClass);
152 CHECK_NATIVE_PTR(env, jcaller, native, "AddStructB"); 179 CHECK_NATIVE_PTR(env, jcaller, native, "AddStructB");
153 return native->AddStructB(env, base::android::JavaParamRef<jobject>(env, 180 return native->AddStructB(env, base::android::JavaParamRef<jobject>(env,
154 jcaller), base::android::JavaParamRef<jobject>(env, b)); 181 jcaller), base::android::JavaParamRef<jobject>(env, b));
155 } 182 }
156 183
157 extern "C" __attribute__((visibility("default"))) 184 extern "C" __attribute__((visibility("default")))
185 #if defined(ARCH_CPU_X86)
186 __attribute__((force_align_arg_pointer))
187 #endif
158 void 188 void
159 Java_org_chromium_example_jni_1generator_SampleForTests_nativeIterateAndDoSo methingWithStructB(JNIEnv* 189 Java_org_chromium_example_jni_1generator_SampleForTests_nativeIterateAndDoSo methingWithStructB(JNIEnv*
160 env, 190 env,
161 jobject jcaller, 191 jobject jcaller,
162 jlong nativeCPPClass) { 192 jlong nativeCPPClass) {
163 CPPClass* native = reinterpret_cast<CPPClass*>(nativeCPPClass); 193 CPPClass* native = reinterpret_cast<CPPClass*>(nativeCPPClass);
164 CHECK_NATIVE_PTR(env, jcaller, native, "IterateAndDoSomethingWithStructB"); 194 CHECK_NATIVE_PTR(env, jcaller, native, "IterateAndDoSomethingWithStructB");
165 return native->IterateAndDoSomethingWithStructB(env, 195 return native->IterateAndDoSomethingWithStructB(env,
166 base::android::JavaParamRef<jobject>(env, jcaller)); 196 base::android::JavaParamRef<jobject>(env, jcaller));
167 } 197 }
168 198
169 extern "C" __attribute__((visibility("default"))) 199 extern "C" __attribute__((visibility("default")))
200 #if defined(ARCH_CPU_X86)
201 __attribute__((force_align_arg_pointer))
202 #endif
170 jstring 203 jstring
171 Java_org_chromium_example_jni_1generator_SampleForTests_nativeReturnAString( JNIEnv* 204 Java_org_chromium_example_jni_1generator_SampleForTests_nativeReturnAString( JNIEnv*
172 env, 205 env,
173 jobject jcaller, 206 jobject jcaller,
174 jlong nativeCPPClass) { 207 jlong nativeCPPClass) {
175 CPPClass* native = reinterpret_cast<CPPClass*>(nativeCPPClass); 208 CPPClass* native = reinterpret_cast<CPPClass*>(nativeCPPClass);
176 CHECK_NATIVE_PTR(env, jcaller, native, "ReturnAString", NULL); 209 CHECK_NATIVE_PTR(env, jcaller, native, "ReturnAString", NULL);
177 return native->ReturnAString(env, base::android::JavaParamRef<jobject>(env, 210 return native->ReturnAString(env, base::android::JavaParamRef<jobject>(env,
178 jcaller)).Release(); 211 jcaller)).Release();
179 } 212 }
180 213
181 static jint GetInnerIntFunction(JNIEnv* env, const 214 static jint GetInnerIntFunction(JNIEnv* env, const
182 base::android::JavaParamRef<jclass>& jcaller); 215 base::android::JavaParamRef<jclass>& jcaller);
183 216
184 extern "C" __attribute__((visibility("default"))) 217 extern "C" __attribute__((visibility("default")))
218 #if defined(ARCH_CPU_X86)
219 __attribute__((force_align_arg_pointer))
220 #endif
185 jint 221 jint
186 Java_org_chromium_example_jni_1generator_SampleForTests_00024InnerClass_nati veGetInnerIntFunction(JNIEnv* 222 Java_org_chromium_example_jni_1generator_SampleForTests_00024InnerClass_nati veGetInnerIntFunction(JNIEnv*
187 env, jclass jcaller) { 223 env, jclass jcaller) {
188 return GetInnerIntFunction(env, base::android::JavaParamRef<jclass>(env, 224 return GetInnerIntFunction(env, base::android::JavaParamRef<jclass>(env,
189 jcaller)); 225 jcaller));
190 } 226 }
191 227
192 static base::subtle::AtomicWord g_SampleForTests_javaMethod = 0; 228 static base::subtle::AtomicWord g_SampleForTests_javaMethod = 0;
193 static jint Java_SampleForTests_javaMethod(JNIEnv* env, const 229 static jint Java_SampleForTests_javaMethod(JNIEnv* env, const
194 base::android::JavaRefOrBare<jobject>& obj, JniIntWrapper foo, 230 base::android::JavaRefOrBare<jobject>& obj, JniIntWrapper foo,
(...skipping 327 matching lines...) Expand 10 before | Expand all | Expand 10 after
522 return false; 558 return false;
523 } 559 }
524 560
525 return true; 561 return true;
526 } 562 }
527 563
528 } // namespace android 564 } // namespace android
529 } // namespace base 565 } // namespace base
530 566
531 #endif // org_chromium_example_jni_generator_SampleForTests_JNI 567 #endif // org_chromium_example_jni_generator_SampleForTests_JNI
OLDNEW
« no previous file with comments | « no previous file | base/android/jni_generator/jni_generator.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698