Mercurial > hg > truffle
comparison src/share/vm/runtime/compilationPolicy.cpp @ 13922:0995dcbd6dd8
Change CUDA context management to support multiple executions of a kernel. Exclude GPU offloading of lambdas from java.* library code.
author | S.Bharadwaj Yadavalli <bharadwaj.yadavalli@oracle.com> |
---|---|
date | Mon, 10 Feb 2014 14:38:42 -0500 |
parents | 49db2c1e3bee |
children | d8041d695d19 |
comparison
equal
deleted
inserted
replaced
13921:eb48fac53e6f | 13922:0995dcbd6dd8 |
---|---|
170 Symbol * klass_name = m->method_holder()->name(); | 170 Symbol * klass_name = m->method_holder()->name(); |
171 Symbol * method_name = m->name(); | 171 Symbol * method_name = m->name(); |
172 { | 172 { |
173 ResourceMark rm; | 173 ResourceMark rm; |
174 if (klass_name != NULL) { | 174 if (klass_name != NULL) { |
175 if (klass_name != NULL && method_name != NULL) { | 175 const char* javaClass = "java/"; |
176 const char* lambdaPrefix = "lambda$"; | 176 // Exclude java library classes - for now |
177 char* methodPrefix = strstr(method_name->as_C_string(), lambdaPrefix); | 177 if (strncmp(klass_name->as_C_string(), javaClass, strlen(javaClass))) { |
178 if (methodPrefix != 0) { | 178 if (method_name != NULL) { |
179 if ((strncmp(lambdaPrefix, methodPrefix, strlen(lambdaPrefix)) == 0)) { | 179 const char* lambdaPrefix = "lambda$"; |
180 if (TraceGPUInteraction) { | 180 char* methodPrefix = strstr(method_name->as_C_string(), lambdaPrefix); |
181 char buf[O_BUFLEN]; | 181 if (methodPrefix != 0) { |
182 tty->print_cr("Selected lambda method %s for GPU offload", m->name_and_sig_as_C_string(buf, O_BUFLEN)); | 182 if ((strncmp(lambdaPrefix, methodPrefix, strlen(lambdaPrefix)) == 0)) { |
183 if (TraceGPUInteraction) { | |
184 char buf[O_BUFLEN]; | |
185 tty->print_cr("Selected lambda method %s for GPU offload", m->name_and_sig_as_C_string(buf, O_BUFLEN)); | |
186 } | |
187 return true; | |
183 } | 188 } |
184 return true; | |
185 } | 189 } |
186 } | 190 } |
187 } | 191 } |
188 } | 192 } |
189 } | 193 } |