[Top][All Lists]

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

[Octave-bug-tracker] [bug #64977] Explore options for the bytecode inter

From: Petter
Subject: [Octave-bug-tracker] [bug #64977] Explore options for the bytecode interpreter in Octave 9
Date: Sat, 9 Dec 2023 11:51:57 -0500 (EST)

Follow-up Comment #15, bug#64977 (group octave):

It seems quite fine with a feature branch. There is not too much code changes
in the relevant parts of the code base anyway. Could I maybe get write access
to the branch? I think that would simplify.

[comment #6 comment #6:]
> RE: the patch in comment #4, why do these functions need to be tagged with
these attributes?  I'd rather avoid the clutter unless it is necessary.  What
benefit do these attributes provide for these particular functions?

The whole octave_value_vm class is more or less some shenanigans to fool the
gcc optimizer into optimizing in a special way for some different problems.
The main problem is to not call ~octave_value () when m_rep is nullptr due to
a move. C++ optimizations seems quite brittle in general and are hard to
reason about, so a 'wrapper class' is quite convenient way to force behaviour.
The class can probably be refactored out though, because I think the optimizer
got better since gcc 10, and by using octave_base_value* instead of a
octave_value some of the problems could be mitigated, I discovered.


Reply to this item at:


Message sent via Savannah

reply via email to

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