From a8f129b8cfa80663af20c01aed15d7b8da9d2da2 Mon Sep 17 00:00:00 2001 From: James Roseborough Date: Tue, 6 Apr 2010 04:55:57 +0000 Subject: [PATCH] Add string cache to pool most commonly used Java strings --- src/core/org/luaj/vm2/LuaString.java | 29 +++++++++++++++++-- .../luaj/vm2/UnaryBinaryOperatorsTest.java | 4 +-- 2 files changed, 29 insertions(+), 4 deletions(-) diff --git a/src/core/org/luaj/vm2/LuaString.java b/src/core/org/luaj/vm2/LuaString.java index 4bacc44e..3eabe7f5 100644 --- a/src/core/org/luaj/vm2/LuaString.java +++ b/src/core/org/luaj/vm2/LuaString.java @@ -25,8 +25,8 @@ import java.io.ByteArrayInputStream; import java.io.DataOutputStream; import java.io.IOException; import java.io.InputStream; +import java.lang.ref.WeakReference; -import org.luaj.vm2.lib.MathLib; import org.luaj.vm2.lib.StringLib; public class LuaString extends LuaValue { @@ -37,11 +37,36 @@ public class LuaString extends LuaValue { public final int m_offset; public final int m_length; + private static final int STRINGCACHE_POW2 = 10; + private static final WeakReference[] stringcache + = new WeakReference[1<