Browse Source

Optimize: table access

AnnulusGames 1 year ago
parent
commit
c00329bf1c
1 changed files with 2 additions and 2 deletions
  1. 2 2
      src/Lua/CodeAnalysis/Compilation/LuaCompiler.cs

+ 2 - 2
src/Lua/CodeAnalysis/Compilation/LuaCompiler.cs

@@ -333,10 +333,10 @@ public sealed class LuaCompiler : ISyntaxNodeVisitor<ScopeCompilationContext, bo
         node.TableNode.Accept(this, context);
         node.TableNode.Accept(this, context);
 
 
         // load key
         // load key
-        node.KeyNode.Accept(this, context);
+        var keyPosition = (ushort)GetRKIndex(node.KeyNode, context);
 
 
         // push interuction
         // push interuction
-        context.PushInstruction(Instruction.GetTable(tablePosition, tablePosition, (ushort)(context.StackPosition - 1)), node.Position);
+        context.PushInstruction(Instruction.GetTable(tablePosition, tablePosition, keyPosition), node.Position);
         context.StackPosition = (byte)(tablePosition + 1);
         context.StackPosition = (byte)(tablePosition + 1);
 
 
         return true;
         return true;