| 156 | } |
| 157 | |
| 158 | void executeJvmTask() { |
| 159 | jclass customClass = _env->FindClass("test/nonjava/JavaClass"); |
| 160 | if (customClass == nullptr) { |
| 161 | std::cerr << "Can't find JavaClass" << std::endl; |
| 162 | exit(1); |
| 163 | } |
| 164 | |
| 165 | jmethodID cpuHeavyTask = _env->GetStaticMethodID(customClass, "cpuHeavyTask", "()D"); |
| 166 | if (cpuHeavyTask == nullptr) { |
| 167 | std::cerr << "Can't find cpuHeavyTask" << std::endl; |
| 168 | exit(1); |
| 169 | } |
| 170 | |
| 171 | for (int i = 0; i < 300; ++i) { |
| 172 | jdouble result = _env->CallStaticDoubleMethod(customClass, cpuHeavyTask); |
| 173 | if (_env->ExceptionCheck()) { |
| 174 | _env->ExceptionDescribe(); |
| 175 | std::cerr << "Exception in cpuHeavyTask" << std::endl; |
| 176 | exit(1); |
| 177 | } |
| 178 | std::cout << "Result: " << result << std::endl; |
| 179 | } |
| 180 | _env->DeleteLocalRef(customClass); |
| 181 | } |
| 182 | |
| 183 | void stopJvm() { |
| 184 | jint rc = _jvm->DestroyJavaVM(); |
no outgoing calls
no test coverage detected