[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Octave-bug-tracker] [bug #65029] VM - deal() makes Octave crash

From: Petter
Subject: [Octave-bug-tracker] [bug #65029] VM - deal() makes Octave crash
Date: Wed, 20 Dec 2023 15:35:20 -0500 (EST)

Follow-up Comment #4, bug#65029 (group octave):

The attached patch should do it.

Instead of pushing varargout's elements to the stack, they are put in an
octave_value_list, when the bytecode interpreter is returning to non-bytecode

There is some cheating in the bytecode interpreter and
'[bshp(1:nlay).Geometry] = deal (tmp{:})' is executed by an eval() due to
dynamic nargout.

When support to do that in the bytecode interpreter is added, some way to
handle the same problem need to be considered for bytecode to bytecode
function returns.

Fix bytecode interpreter stack overflow with varargout (bug #65029)

Don't push varargout elements to the stack when returning from
bytecode functions to non-bytecode functions. Don't push more elements
to the stack then needed when returning from bytecode to bytecode.

pt-bytecode-vm.cc: Avoid overflow
bytecode_varargout.m: Update tests

(file #55474)


Additional Item Attachment:

File name: 32841.patch                    Size:2 KB


These attachments are served by Savane. You can download the corresponding
source code of Savane at


Reply to this item at:


Message sent via Savannah

reply via email to

[Prev in Thread] Current Thread [Next in Thread]