Mercurial > hg > graal-compiler
diff 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 |
line wrap: on
line diff
--- a/src/share/vm/runtime/compilationPolicy.cpp Mon Feb 10 16:13:21 2014 +0100 +++ b/src/share/vm/runtime/compilationPolicy.cpp Mon Feb 10 14:38:42 2014 -0500 @@ -172,16 +172,20 @@ { ResourceMark rm; if (klass_name != NULL) { - if (klass_name != NULL && method_name != NULL) { - const char* lambdaPrefix = "lambda$"; - char* methodPrefix = strstr(method_name->as_C_string(), lambdaPrefix); - if (methodPrefix != 0) { - if ((strncmp(lambdaPrefix, methodPrefix, strlen(lambdaPrefix)) == 0)) { - if (TraceGPUInteraction) { - char buf[O_BUFLEN]; - tty->print_cr("Selected lambda method %s for GPU offload", m->name_and_sig_as_C_string(buf, O_BUFLEN)); + const char* javaClass = "java/"; + // Exclude java library classes - for now + if (strncmp(klass_name->as_C_string(), javaClass, strlen(javaClass))) { + if (method_name != NULL) { + const char* lambdaPrefix = "lambda$"; + char* methodPrefix = strstr(method_name->as_C_string(), lambdaPrefix); + if (methodPrefix != 0) { + if ((strncmp(lambdaPrefix, methodPrefix, strlen(lambdaPrefix)) == 0)) { + if (TraceGPUInteraction) { + char buf[O_BUFLEN]; + tty->print_cr("Selected lambda method %s for GPU offload", m->name_and_sig_as_C_string(buf, O_BUFLEN)); + } + return true; } - return true; } } }