diff --git a/src/main/java/leekscript/compiler/JavaCompiler.java b/src/main/java/leekscript/compiler/JavaCompiler.java index 70ad2dd..aebf25d 100644 --- a/src/main/java/leekscript/compiler/JavaCompiler.java +++ b/src/main/java/leekscript/compiler/JavaCompiler.java @@ -70,6 +70,7 @@ public static AI compile(AIFile file, boolean useClassCache, boolean enableOpera var ai = (AI) entry.clazz.getDeclaredConstructor().newInstance(); ai.setId(file.getId()); ai.setLinesFile(lines); + ai.increaseRAMDirect((int) (java.length() * 10)); return ai; } catch (Exception e) { throw new LeekScriptException(Error.CANNOT_LOAD_AI, e.getMessage()); @@ -92,6 +93,7 @@ public static AI compile(AIFile file, boolean useClassCache, boolean enableOpera ai.setId(file.getId()); ai.setFile(file); ai.setLinesFile(lines); + ai.increaseRAMDirect((int) (java.length() * 10)); return ai; } catch (Exception e) { throw new LeekScriptException(Error.CANNOT_LOAD_AI, e.getMessage()); @@ -204,6 +206,7 @@ protected Class findClass(String name) throws ClassNotFoundException { ai.setCompileTime(compile_time); ai.setLoadTime(load_time); ai.setLinesFile(lines); + ai.increaseRAMDirect((int) (java.length() * 10)); if (useClassCache) { aiCache.put(file.getJavaClass(), new AIClassEntry(clazz, file.getTimestamp())); diff --git a/src/main/java/leekscript/runner/AI.java b/src/main/java/leekscript/runner/AI.java index 325529c..5df7b9e 100644 --- a/src/main/java/leekscript/runner/AI.java +++ b/src/main/java/leekscript/runner/AI.java @@ -349,6 +349,14 @@ public long getMaxRAM() { return maxRAM; } + public void setMaxRAM(int maxRAM) { + this.maxRAM = maxRAM; + } + + public void setMaxOperations(int maxOperations) { + this.maxOperations = maxOperations; + } + public AILog getLogs() { return logs; } @@ -390,6 +398,11 @@ public void resetCounter() { mOperations = 0; } + + public void increaseRAMDirect(int ram) { + mRAM += ram; + } + public void increaseRAM(int ram) throws LeekRunException { mRAM += ram; if (mRAM > maxRAM) {