Fixed inverse parameter ordering (whoops)

This commit is contained in:
Mattia Giambirtone 2022-06-02 01:50:06 +02:00
parent 099f733db6
commit f2f0fae36f
3 changed files with 3 additions and 11 deletions

View File

@ -27,7 +27,7 @@ when len(PEON_COMMIT_HASH) != 40:
const PEON_BRANCH* = "master" const PEON_BRANCH* = "master"
when len(PEON_BRANCH) > 255: when len(PEON_BRANCH) > 255:
{.fatal: "The git branch name's length must be less than or equal to 255 characters".} {.fatal: "The git branch name's length must be less than or equal to 255 characters".}
const DEBUG_TRACE_VM* = true # Traces VM execution const DEBUG_TRACE_VM* = false # Traces VM execution
const DEBUG_TRACE_GC* = false # Traces the garbage collector (TODO) const DEBUG_TRACE_GC* = false # Traces the garbage collector (TODO)
const DEBUG_TRACE_ALLOCATION* = false # Traces memory allocation/deallocation const DEBUG_TRACE_ALLOCATION* = false # Traces memory allocation/deallocation
const DEBUG_TRACE_COMPILER* = false # Traces the compiler const DEBUG_TRACE_COMPILER* = false # Traces the compiler

View File

@ -803,15 +803,7 @@ proc generateCall(self: Compiler, fn: Name, args: seq[Expression]) =
self.emitByte(LoadReturnAddress) self.emitByte(LoadReturnAddress)
let pos = self.chunk.code.len() let pos = self.chunk.code.len()
self.emitBytes(0.toQuad()) self.emitBytes(0.toQuad())
for argument in reversed(args): for argument in args:
# We pass the arguments in reverse because
# we delegate the callee with popping them
# off the operand stack when they're invoked,
# rather than doing it ourselves. The reason
# for this is that the VM can always find the
# function object at a constant location in the
# stack frame instead of needing extra math to
# skip the arguments
self.expression(argument) self.expression(argument)
self.emitByte(Call) # Creates a new call frame self.emitByte(Call) # Creates a new call frame
var size = 2 # We start at 2 because each call frame var size = 2 # We start at 2 because each call frame

View File

@ -30,7 +30,7 @@ proc getLineEditor: LineEditor
# Handy dandy compile-time constants # Handy dandy compile-time constants
const debugLexer = false const debugLexer = false
const debugParser = false const debugParser = false
const debugCompiler = true const debugCompiler = false
const debugSerializer = false const debugSerializer = false
const debugRuntime = false const debugRuntime = false