in sdk/enclave/src/main/java/org/apache/teaclave/javasdk/enclave/EnclaveEntry.java [53:75]
public static int createIsolateWithParams(int argc, CCharPointerPointer argv, CEntryPointNativeFunctions.IsolatePointer isolatePr, CEntryPointNativeFunctions.IsolateThreadPointer thread) {
CEntryPointCreateIsolateParameters args = StackValue.get(CEntryPointCreateIsolateParameters.class);
args.setVersion(4);
args.setArgc(argc);
args.setArgv(argv);
args.setIgnoreUnrecognizedArguments(false);
args.setExitWhenArgumentParsingFails(true);
int result = CEntryPointActions.enterCreateIsolate(args);
if (result != 0) {
return result;
} else {
if (isolatePr.isNonNull()) {
isolatePr.write(CurrentIsolate.getIsolate());
}
if (thread.isNonNull()) {
thread.write(CurrentIsolate.getCurrentThread());
}
SubstrateGCOptions.MaxHeapSize.update((long) IsolateArgumentParser.getIntOptionValue(IsolateArgumentParser.getOptionIndex(SubstrateGCOptions.MaxHeapSize)));
SubstrateGCOptions.MinHeapSize.update((long) IsolateArgumentParser.getIntOptionValue(IsolateArgumentParser.getOptionIndex(SubstrateGCOptions.MinHeapSize)));
SubstrateGCOptions.MaxNewSize.update((long) IsolateArgumentParser.getIntOptionValue(IsolateArgumentParser.getOptionIndex(SubstrateGCOptions.MaxNewSize)));
return CEntryPointActions.leave();
}
}