changeset 32263:d7df8f9ffd57

VM change some internal function names to "__*__" pattern Comply with naming conventions for some internal functions. Update signature of some print value functions supposed to be used while debugging with gdb.. * libinterp/parse-tree/pt-bytecode-vm.cc: Make debug print functions easier to call from gdb * libinterp/corefcn/compile.cc: Change naming to __*__ * libinterp/parse-tree/pt-bytecode-vm.cc: ... * test/compile-bench/bench-octave/bench.m * test/compile/bytecode.tst * test/compile/bytecode_leaks.m * test/compile/bytecode_misc.m * test/compile/shutup_operator_test/bytecode_disp.tst
author Petter T.
date Mon, 07 Aug 2023 15:26:46 +0200
parents 7bb3358d89ae
children f0a9f9cc3c15
files libinterp/corefcn/compile.cc libinterp/parse-tree/pt-bytecode-vm.cc test/compile-bench/bench-octave/bench.m test/compile/bytecode.tst test/compile/bytecode_leaks.m test/compile/bytecode_misc.m test/compile/shutup_operator_test/bytecode_disp.tst
diffstat 7 files changed, 158 insertions(+), 159 deletions(-) [+]
line wrap: on
line diff
--- a/libinterp/corefcn/compile.cc	Wed Aug 09 15:11:48 2023 +0200
+++ b/libinterp/corefcn/compile.cc	Mon Aug 07 15:26:46 2023 +0200
@@ -42,9 +42,9 @@
 extern "C" void dummy_mark_1 (void);
 extern "C" void dummy_mark_2 (void);
 
-DEFUN (__dummy_mark_1, , ,
+DEFUN (__dummy_mark_1__, , ,
        doc: /* -*- texinfo -*-
-@deftypefn  {} {} __dummy_mark_1 ()
+@deftypefn  {} {} __dummy_mark_1__ ()
 
 Dummy function that calls the c-function void dummy_mark_1 (void)
 that does nothing.
@@ -59,9 +59,9 @@
   return {};
 }
 
-DEFUN (__dummy_mark_2, , ,
+DEFUN (__dummy_mark_2__, , ,
        doc: /* -*- texinfo -*-
-@deftypefn  {} {} __dummy_mark_2 ()
+@deftypefn  {} {} __dummy_mark_2__ ()
 
 Dummy function that calls the c-function void dummy_mark_2 (void)
 that does nothing.
@@ -89,9 +89,9 @@
   return octave_value {true};
 }
 
-DEFUN (__vm_print_trace, , ,
+DEFUN (__vm_print_trace__, , ,
   doc: /* -*- texinfo -*-
-@deftypefn  {} {@var{prints_trace} =} __vm_print_trace ())
+@deftypefn  {} {@var{prints_trace} =} __vm_print_trace__ ())
 
 Internal function.
 
@@ -109,9 +109,9 @@
   return octave_value {vm::m_trace_enabled};
 }
 
-DEFUN (__ref_count, args, ,
+DEFUN (__ref_count__, args, ,
   doc: /* -*- texinfo -*-
-@deftypefn  {} {@var{count} =} __ref_count (@var{obj}))
+@deftypefn  {} {@var{count} =} __ref_count__ (@var{obj}))
 
 Internal function.
 
@@ -129,13 +129,13 @@
   return octave_value {ov.get_count ()};
 }
 
-DEFMETHOD (__vm_is_executing, interp, , ,
+DEFMETHOD (__vm_is_executing__, interp, , ,
   doc: /* -*- texinfo -*-
-@deftypefn  {} {@var{is_executing} =} __vm_is_executing ())
+@deftypefn  {} {@var{is_executing} =} __vm_is_executing__ ())
 
 Internal function.
 
-Returns true if the VM is executing the function calling __vm_is_executing ().
+Returns true if the VM is executing the function calling __vm_is_executing__ ().
 
 False otherwise.
 
@@ -146,14 +146,14 @@
   return octave_value {bytecode_running};
 }
 
-DEFMETHOD (__vm_profile, interp, args, ,
+DEFMETHOD (__vm_profile__, interp, args, ,
   doc: /* -*- texinfo -*-
-@deftypefn  {} {} __vm_profile on
-@deftypefnx {} {} __vm_profile off
-@deftypefnx {} {} __vm_profile resume
-@deftypefnx {} {} __vm_profile clear
-@deftypefnx {} {@var{T} =} __vm_profile ("info")
-@deftypefnx {} {} __vm_profile
+@deftypefn  {} {} __vm_profile__ on
+@deftypefnx {} {} __vm_profile__ off
+@deftypefnx {} {} __vm_profile__ resume
+@deftypefnx {} {} __vm_profile__ clear
+@deftypefnx {} {@var{T} =} __vm_profile__ ("info")
+@deftypefnx {} {} __vm_profile__
 
 Internal function.
 
@@ -258,9 +258,9 @@
   return octave_value {true};
 }
 
-DEFMETHOD (__print_bytecode, interp, args, ,
+DEFMETHOD (__print_bytecode__, interp, args, ,
   doc: /* -*- texinfo -*-
-@deftypefn  {} {@var{success} =} __print_bytecode (@var{fn_name}))
+@deftypefn  {} {@var{success} =} __print_bytecode__ (@var{fn_name}))
 
 Internal function.
 
@@ -305,11 +305,11 @@
   return octave_value {true};
 }
 
-DEFMETHOD (__compile, interp, args, ,
+DEFMETHOD (__compile__, interp, args, ,
        doc: /* -*- texinfo -*-
-@deftypefn  {} {@var{success} =} __compile (@var{fn_name})
-@deftypefnx  {} {@var{success} =} __compile (@var{fn_name}, "clear")
-@deftypefnx  {} {@var{success} =} __compile (@var{fn_name}, "print")
+@deftypefn  {} {@var{success} =} __compile__ (@var{fn_name})
+@deftypefnx  {} {@var{success} =} __compile__ (@var{fn_name}, "clear")
+@deftypefnx  {} {@var{success} =} __compile__ (@var{fn_name}, "print")
 
 Compile the specified function to bytecode.
 
@@ -442,7 +442,7 @@
 cleared, by e.g. @qcode{"clear all"} or an modification to the
 function's m-file.
 
-@seealso{__compile}
+@seealso{__compile__}
 
 @end deftypefn */)
 {
--- a/libinterp/parse-tree/pt-bytecode-vm.cc	Wed Aug 09 15:11:48 2023 +0200
+++ b/libinterp/parse-tree/pt-bytecode-vm.cc	Mon Aug 07 15:26:46 2023 +0200
@@ -50,8 +50,6 @@
 
 //#pragma GCC optimize("O0")
 
-extern "C" void vm_debug_print_ovl (void *p);
-extern "C" void vm_debug_print_ov (void *p);
 static bool ov_need_stepwise_subsrefs (octave_value &ov);
 static void copy_many_args_to_caller (octave::stack_element *sp, octave::stack_element *caller_stack_end,
                                       int n_args_to_move, int n_args_caller_expects);
@@ -537,7 +535,7 @@
 
 
 
-// Debug functions easy to break out into in gdb. Called by __dummy_mark_1() in Octave
+// Debug functions easy to break out into in gdb. Called by __dummy_mark_1__() in Octave
 extern "C" void dummy_mark_1 (void);
 extern "C" void dummy_mark_2 (void);
 
@@ -6751,23 +6749,24 @@
 
 // Debugging functions to be called from gdb
 
-extern "C" void
-vm_debug_print_ov (void *p)
+void
+vm_debug_print_obv (octave_base_value *obv)
 {
-  octave_value *ov = reinterpret_cast<octave_value*> (p);
-  ov->print (std::cout);
+  obv->print (std::cout);
 }
 
-extern "C" void
-vm_debug_print_ovl (void *p)
+void
+vm_debug_print_ov (octave_value ov)
 {
-  octave_value_list *ovl = reinterpret_cast<octave_value_list*> (p);
-
-  if (! ovl) return;
-
-  for (int i = 0; i < ovl->length (); i++)
+  ov.print (std::cout);
+}
+
+void
+vm_debug_print_ovl (octave_value_list ovl)
+{
+  for (int i = 0; i < ovl.length (); i++)
     {
-      (*ovl) (i).print (std::cout);
+      ovl (i).print (std::cout);
     }
 }
 
--- a/test/compile-bench/bench-octave/bench.m	Wed Aug 09 15:11:48 2023 +0200
+++ b/test/compile-bench/bench-octave/bench.m	Mon Aug 07 15:26:46 2023 +0200
@@ -44,14 +44,14 @@
   end
 
   % For compatibility with older releases and Matlab
-  if ~exist("__compile")
-    __compile = @(varargin) true;
+  if ~exist("__compile__")
+    __compile__ = @(varargin) true;
   end
-  if ~exist("__dummy_mark_1")
-    __dummy_mark_1 = @() true;
+  if ~exist("__dummy_mark_1__")
+    __dummy_mark_1__ = @() true;
   end
-  if ~exist("__dummy_mark_2")
-    __dummy_mark_2 = @() true;
+  if ~exist("__dummy_mark_2__")
+    __dummy_mark_2__ = @() true;
   end
 
   cal_res = {};
@@ -118,15 +118,15 @@
 
       tic;
       [ccttot0, cctuser0, cctsys0] = cputime;
-      assert (__compile (name));
+      assert (__compile__ (name));
       [ccttot1, cctuser1, cctsys1] = cputime;
       cctwall = toc;
 
       [cttot0, ctuser0, ctsys0] = cputime;
       tic;
-      __dummy_mark_1 ();
+      __dummy_mark_1__ ();
       fn (arg);
-      __dummy_mark_2 ();
+      __dummy_mark_2__ ();
       [cttot1, ctuser1, ctsys1] = cputime;
       ctwall = toc;
 
--- a/test/compile/bytecode.tst	Wed Aug 09 15:11:48 2023 +0200
+++ b/test/compile/bytecode.tst	Mon Aug 07 15:26:46 2023 +0200
@@ -39,13 +39,13 @@
 %!
 %! key = "10 -10 24 0.041666666666666664 1 -5.0915810909090906 13 1 0 1 0 truthy1 1 falsy3 falsy4 truthy5 1 truthy7 truthy8 1 falsy9 falsy11 0 1 0 1 0 0 1 1 0 1 0 1 1 1 0 1 0 1 0 0 0 0 1 1 1 1 1 1 1 1 ";
 %!
-%! __compile bytecode_binops clear;
+%! __compile__ bytecode_binops clear;
 %! bytecode_binops ();
 %! assert (__prog_output_assert__ (key));
 %!
 %! __enable_vm_eval__ (1, "local");
 %! % We wanna know the function compiles, so do a explicit compile
-%! assert (__compile ("bytecode_binops"));
+%! assert (__compile__ ("bytecode_binops"));
 %! bytecode_binops ();
 %! assert (__prog_output_assert__ (key));
 
@@ -59,12 +59,12 @@
 %! % externally scoped variables work
 %! h = @() __printf_assert__ ("%d ", a);
 %!
-%! __compile bytecode_subfuncs clear;
+%! __compile__ bytecode_subfuncs clear;
 %! bytecode_subfuncs (h);
 %! assert (__prog_output_assert__ (key));
 %!
 %! __enable_vm_eval__ (1, "local");
-%! assert (__compile ("bytecode_subfuncs"));
+%! assert (__compile__ ("bytecode_subfuncs"));
 %! bytecode_subfuncs (h);
 %! assert (__prog_output_assert__ (key));
 
@@ -74,12 +74,12 @@
 %! clear all
 %! key = "0 1 2 3 4 5 6 7 8 1 2 yay1 3 5 7 8 1 yay1 3 4 yay2 5 6 7 yay3 ";
 %!
-%! __compile bytecode_if clear;
+%! __compile__ bytecode_if clear;
 %! bytecode_if ();
 %! assert (__prog_output_assert__ (key));
 %!
 %! __enable_vm_eval__ (1, "local");
-%! assert (__compile ("bytecode_if"));
+%! assert (__compile__ ("bytecode_if"));
 %! bytecode_if ();
 %! assert (__prog_output_assert__ (key));
 
@@ -89,12 +89,12 @@
 %! clear all
 %! key = "1 2 3 4 4 1 3 5 5 1 4 4 4 3 2 1 1 0.200 0.300 0.400 0.400 0.300 0.200 0.100 0.000 0.000 NaN NaN NaN 1 4 2 2 16 4 3 3 256 3 2 1  double 1 3 size 2 size 1 2 4 size 2 size 1  double q size 1 size 1 w size 1 size 1 e size 1 size 1 char single single 5 1 11 2 12 key:a val:1 1val:1 key:b val:1 3val:2 4val:2 2key:c val:string ";
 %!
-%! __compile bytecode_for clear;
+%! __compile__ bytecode_for clear;
 %! bytecode_for ();
 %! assert (__prog_output_assert__ (key));
 %!
 %! __enable_vm_eval__ (1, "local");
-%! assert (__compile ("bytecode_for"));
+%! assert (__compile__ ("bytecode_for"));
 %! bytecode_for ();
 %! assert (__prog_output_assert__ (key));
 
@@ -104,12 +104,12 @@
 %! clear all
 %! key = "5 4 3 2 1 3 5 4 4 3 3 4 1 2 1 3 2 8 3 1 3 ";
 %!
-%! __compile bytecode_while clear;
+%! __compile__ bytecode_while clear;
 %! bytecode_while ();
 %! assert (__prog_output_assert__ (key));
 %!
 %! __enable_vm_eval__ (1, "local");
-%! assert (__compile ("bytecode_while"));
+%! assert (__compile__ ("bytecode_while"));
 %! bytecode_while ();
 %! assert (__prog_output_assert__ (key));
 
@@ -119,12 +119,12 @@
 %! clear all
 %! key = "2 3 1 1 2 3 2 3 2 2 6 18 2.000000 2.000000 3.000000 4.000000 5.000000 1 4 double 729.000000 324.000000 182.250000 116.640000 4 1 double 37.000000 81.000000 54.000000 118.000000 2 2 double ";
 %!
-%! __compile bytecode_assign clear;
+%! __compile__ bytecode_assign clear;
 %! bytecode_assign ();
 %! assert (__prog_output_assert__ (key));
 %!
 %! __enable_vm_eval__ (1, "local");
-%! assert (__compile ("bytecode_assign"));
+%! assert (__compile__ ("bytecode_assign"));
 %! bytecode_assign ();
 %! assert (__prog_output_assert__ (key));
 
@@ -134,12 +134,12 @@
 %! clear all
 %! key = "-1 4 1 2 3 4 1 3 2 4 0 0 ";
 %!
-%! __compile bytecode_unary clear;
+%! __compile__ bytecode_unary clear;
 %! bytecode_unary ();
 %! assert (__prog_output_assert__ (key));
 %!
 %! __enable_vm_eval__ (1, "local");
-%! assert (__compile ("bytecode_unary"));
+%! assert (__compile__ ("bytecode_unary"));
 %! bytecode_unary ();
 %! assert (__prog_output_assert__ (key));
 
@@ -149,12 +149,12 @@
 %! clear all
 %! key = "1 2 3 1 3 5 1 3 5 1 1.1 1.2 1.3 1.4 1 0.9 0.8 0.7 7 7 1 8 10 8 10 8 9 10 11 8 9 10 11 10 8 10 8 -10 -9 -8 -7 -10 -9 -8 -7 ";
 %!
-%! __compile bytecode_range clear;
+%! __compile__ bytecode_range clear;
 %! bytecode_range ();
 %! assert (__prog_output_assert__ (key));
 %!
 %! __enable_vm_eval__ (1, "local");
-%! assert (__compile ("bytecode_range"));
+%! assert (__compile__ ("bytecode_range"));
 %! bytecode_range ();
 %! assert (__prog_output_assert__ (key));
 
@@ -164,12 +164,12 @@
 %! clear all
 %! key = "3 4 2 2 1 2 3 4 1 2 3 4 1 1 3 2 3 4 1 1 1 2 3 4 1 1 1 2 3 4 1 2 3 ";
 %!
-%! __compile bytecode_multi_assign clear;
+%! __compile__ bytecode_multi_assign clear;
 %! bytecode_multi_assign ();
 %! assert (__prog_output_assert__ (key));
 %!
 %! __enable_vm_eval__ (1, "local");
-%! assert (__compile ("bytecode_multi_assign"));
+%! assert (__compile__ ("bytecode_multi_assign"));
 %! bytecode_multi_assign ();
 %! assert (__prog_output_assert__ (key));
 
@@ -180,12 +180,12 @@
 %! clear functions  % persistent variables in bytecode_subsasgn
 %! key = "3 5 9 8 11 13 1 2 3 4 5 6 77 88 99 1010 1 2 3 987 987 6 77 88 99 1010 0 0 0 0 0 13 double 3 2 4 2 3 cell 1 3 6 7 2 3 1 4 5 1 3 5 2 4 6 7 7 7 7 7 7 1 2 3 1 3 3 2 3 2 3 1 3 1 2 3 4 4 4 3 4 5 6 1 5 3 4 1 5 -1 4 1 5 -1 8 3 3 3 3 3 3 3 3 1 1 3 1 ";
 %!
-%! __compile bytecode_subsasgn clear;
+%! __compile__ bytecode_subsasgn clear;
 %! bytecode_subsasgn ();
 %! assert (__prog_output_assert__ (key), "bytecode_subsasgn failed uncompiled");
 %!
 %! __enable_vm_eval__ (1, "local");
-%! assert (__compile ("bytecode_subsasgn"));
+%! assert (__compile__ ("bytecode_subsasgn"));
 %! bytecode_subsasgn ();
 %! assert (__prog_output_assert__ (key), "bytecode_subsasgn failed compiled");
 
@@ -195,12 +195,12 @@
 %! clear all
 %! key = "1 3 2 4 1 5 6 7 2 2 5 5 6 6 1 2 3 4 5 2 2 2 3 3 4 fs 2 3 1 foo oo ";
 %!
-%! __compile bytecode_end clear;
+%! __compile__ bytecode_end clear;
 %! bytecode_end ();
 %! assert (__prog_output_assert__ (key));
 %!
 %! __enable_vm_eval__ (1, "local");
-%! assert (__compile ("bytecode_end"));
+%! assert (__compile__ ("bytecode_end"));
 %! bytecode_end ();
 %! assert (__prog_output_assert__ (key));
 
@@ -210,12 +210,12 @@
 %! clear all
 %! key = "1 2 3 4 1 4 1 2 3 4 4 1 1 3 2 4 2 2 1 3 1 3 2 4 2 4 4 2  0 0 a b c d 7 15 10 22 2 2 30 1 1 1 2 3 4 2 4 6 8 3 6 9 12 4 8 12 16 4 4 1 1 1 0.0333333 0.0666667 0.1 0.133333 0.0666667 0.133333 0.2 0.266667 0.1 0.2 0.3 0.4 0.133333 0.266667 0.4 0.533333 4 4 1 0 0 1 2 2 30 1 1 10 14 14 20 2 2 0.0333333 0.0666667 0.1 0.133333 0.0666667 0.133333 0.2 0.266667 0.1 0.2 0.3 0.4 0.133333 0.266667 0.4 0.533333 4 4 2.5 -0.5 2 0 2 2 2 6 4 8 2 2 2 3 4 5 3 4 5 6 4 5 6 7 5 6 7 8 4 4 3 4 5 6 1 4 3 4 5 6 1 4 -1 0 1 2 1 4 2 4 6 8 1 4 0.5 1 1.5 2 1 4 0.5 1 1.5 2 1 4 1 4 9 16 1 4 1 1 1 1 1 4 1 1 1 1 1 4 1 4 27 256 1 4 1 2 3 4 2 4 6 8 3 6 9 12 4 8 12 16 4 4 1 0.5 0.333333 0.25 2 1 0.666667 0.5 3 1.5 1 0.75 4 2 1.33333 1 4 4 1 2 3 4 0.5 1 1.5 2 0.333333 0.666667 1 1.33333 0.25 0.5 0.75 1 4 4 1 4 27 256 4 1 qzwxeca s d  zzxxccz x c  1 258 33264 258 1 33264 ";
 %!
-%! __compile bytecode_matrix clear;
+%! __compile__ bytecode_matrix clear;
 %! bytecode_matrix ();
 %! assert (__prog_output_assert__ (key));
 %!
 %! __enable_vm_eval__ (1, "local");
-%! assert (__compile ("bytecode_matrix"));
+%! assert (__compile__ ("bytecode_matrix"));
 %! bytecode_matrix ();
 %! assert (__prog_output_assert__ (key));
 
@@ -225,12 +225,12 @@
 %! clear all
 %! key = "2 baaar bääär baaaaz bääääz bååååz booz 1 1 2 1 1 1 2 1 silly silly ";
 %!
-%! __compile bytecode_return clear;
+%! __compile__ bytecode_return clear;
 %! bytecode_return ();
 %! assert (__prog_output_assert__ (key));
 %!
 %! __enable_vm_eval__ (1, "local");
-%! assert (__compile ("bytecode_return"));
+%! assert (__compile__ ("bytecode_return"));
 %! bytecode_return ();
 %! assert (__prog_output_assert__ (key));
 
@@ -240,12 +240,12 @@
 %! clear all
 %! key = "A B C QWE ";
 %!
-%! __compile bytecode_wordlistcmd clear;
+%! __compile__ bytecode_wordlistcmd clear;
 %! bytecode_wordlistcmd ();
 %! assert (__prog_output_assert__ (key));
 %!
 %! __enable_vm_eval__ (1, "local");
-%! assert (__compile ("bytecode_wordlistcmd"));
+%! assert (__compile__ ("bytecode_wordlistcmd"));
 %! bytecode_wordlistcmd ();
 %! assert (__prog_output_assert__ (key));
 
@@ -255,12 +255,12 @@
 %! clear all
 %! key = "5 3 5 5 4 4 3 4 1 2 1 3 2 12 3 0 3 ";
 %!
-%! __compile bytecode_dountil clear;
+%! __compile__ bytecode_dountil clear;
 %! bytecode_dountil ();
 %! assert (__prog_output_assert__ (key));
 %!
 %! __enable_vm_eval__ (1, "local");
-%! assert (__compile ("bytecode_dountil"));
+%! assert (__compile__ ("bytecode_dountil"));
 %! bytecode_dountil ();
 %! assert (__prog_output_assert__ (key));
 
@@ -270,12 +270,12 @@
 %! clear all
 %! key = "a b a b 1 2 b c b c 1 2 char b c c d b d c e 2 2 b d f h j l c e g i k m 6 2 1 2 2 3 1 3 2 4 1 3 1 2 1 3 2 4 2 2 double qwe 1 3 char 1 2 ";
 %!
-%! __compile bytecode_cell clear;
+%! __compile__ bytecode_cell clear;
 %! bytecode_cell ();
 %! assert (__prog_output_assert__ (key));
 %!
 %! __enable_vm_eval__ (1, "local");
-%! assert (__compile ("bytecode_cell"));
+%! assert (__compile__ ("bytecode_cell"));
 %! bytecode_cell ();
 %! assert (__prog_output_assert__ (key));
 
@@ -285,12 +285,12 @@
 %! clear all
 %! key = "2 3 1 2 1 1 1 1 1 2 3 4 1 4 4 0 0 0 1 2 3 4 1 3 4 2 3 4 1 3 3 2 2 3 4 1 4 4 1 0 0 1 0 0 0 2 1 1 1 1 2 3 4 1 3 4 2 3 4 1 3 3 2 2 3 4 1 4 4 1 2 1 2 4 1 2 0 0 2 1 nob 0 0 1 noa nob 0 0 0 2 1 2 4 1 2 3 4 3 3 2 1 0 ";
 %!
-%! __compile bytecode_varargin clear;
+%! __compile__ bytecode_varargin clear;
 %! bytecode_varargin (1,2,3);
 %! assert (__prog_output_assert__ (key));
 %!
 %! __enable_vm_eval__ (1, "local");
-%! assert (__compile ("bytecode_varargin"));
+%! assert (__compile__ ("bytecode_varargin"));
 %! bytecode_varargin (1,2,3);
 %! assert (__prog_output_assert__ (key));
 %!
@@ -298,12 +298,12 @@
 %! clear all
 %! key = "0 0 1 1 1 1 1 2 3 4 1 4 4 0 0 0 1 2 3 4 1 3 4 2 3 4 1 3 3 2 2 3 4 1 4 4 1 0 0 1 0 0 0 2 1 1 1 1 2 3 4 1 3 4 2 3 4 1 3 3 2 2 3 4 1 4 4 1 2 1 2 4 1 2 0 0 2 1 nob 0 0 1 noa nob 0 0 0 2 1 2 4 1 2 3 4 1 3 2 1 0 ";
 %!
-%! __compile bytecode_varargin clear;
+%! __compile__ bytecode_varargin clear;
 %! bytecode_varargin (1);
 %! assert (__prog_output_assert__ (key));
 %!
 %! __enable_vm_eval__ (1, "local");
-%! assert (__compile ("bytecode_varargin"));
+%! assert (__compile__ ("bytecode_varargin"));
 %! bytecode_varargin (1);
 %! assert (__prog_output_assert__ (key));
 
@@ -313,7 +313,7 @@
 %! clear all
 %! key = "double 0 0 1 1 1 1 1 2 2 2 400 100 0 1 3 double 1 1 1 2 double 1 2 1 1 11 eclass:double 1 1 3 4 double 1 2 400 100 1 1 1 1 3 4 1 1 5 6 1 1 1 2 double 1 2 1 2 double 1 2 1 1 3 4 eclass:double 1 2 3 4 double 1 2 0 0 1 1 3 4 1 1 5 6 1 0 2 double 2 double 11 2 6 4 5 double 1 5 11 double 1 1 22 double 1 1 33 double 1 1 3 double 1 1 4 double 1 1 10 double 1 1 2 3 double 1 2 3 double 1 1 2 double 1 1 55 double 1 1 7 double 1 1 0 ";
 %!
-%! __compile bytecode_global_1 clear;
+%! __compile__ bytecode_global_1 clear;
 %! clear global a;
 %! clear global b;
 %! clear global q
@@ -325,7 +325,7 @@
 %! assert (length(who('global','b')));
 %!
 %! __enable_vm_eval__ (1, "local");
-%! assert (__compile ("bytecode_global_1"));
+%! assert (__compile__ ("bytecode_global_1"));
 %! clear global a;
 %! clear global b;
 %! clear global q;
@@ -350,12 +350,12 @@
 %! clear all
 %! key = "yay yay2 yay3 yay4 yay5 yay6 yay7 yay8 1 2 3 3 1 3 3 4 4 1 3 3 4 4 2 yoo 2 3 3 1:1 for-end:12:2 3:3 for-end:3breaking:4 ";
 %!
-%! __compile bytecode_switch clear;
+%! __compile__ bytecode_switch clear;
 %! bytecode_switch;
 %! assert (__prog_output_assert__ (key));
 %!
 %! __enable_vm_eval__ (1, "local");
-%! assert (__compile ("bytecode_switch"));
+%! assert (__compile__ ("bytecode_switch"));
 %! bytecode_switch;
 %! assert (__prog_output_assert__ (key));
 
@@ -365,12 +365,12 @@
 %! clear all
 %! key = "3.000000 1.000000 1.000000 double 4.000000 1.000000 1.000000 double 4.000000 1.000000 1.000000 double 5.000000 4.000000 2.000000 3.000000 1.000000 1.000000 double 4.000000 1.000000 1.000000 double 4.000000 1.000000 1.000000 double 5.000000 4.000000 2.000000 1:11.000000 2:22.000000 3:33.000000 4:3.000000 5:22.000000 6:3.000000 7:3.000000 3 3 2 2 3.000000 3.000000 ";
 %!
-%! __compile bytecode_eval_1 clear;
+%! __compile__ bytecode_eval_1 clear;
 %! bytecode_eval_1;
 %! assert (__prog_output_assert__ (key));
 %!
 %! __enable_vm_eval__ (1, "local");
-%! assert (__compile ("bytecode_eval_1"));
+%! assert (__compile__ ("bytecode_eval_1"));
 %! bytecode_eval_1;
 %! assert (__prog_output_assert__ (key));
 
@@ -385,28 +385,28 @@
 %! caller_a = 2;
 %!
 %!
-%! __compile bytecode_evalin_1 clear;
-%! __compile bytecode_evalin_2 clear;
+%! __compile__ bytecode_evalin_1 clear;
+%! __compile__ bytecode_evalin_2 clear;
 %! bytecode_evalin_1 ();
 %! assert (__prog_output_assert__ (key));
 %!
 %!
 %! __enable_vm_eval__ (1, "local");
-%! assert (__compile ("bytecode_evalin_1"));
+%! assert (__compile__ ("bytecode_evalin_1"));
 %! bytecode_evalin_1 ();
 %! assert (__prog_output_assert__ (key));
 %!
 %!
-%! __compile bytecode_evalin_1 clear;
-%! __compile bytecode_evalin_2 clear;
-%! assert (__compile ("bytecode_evalin_1"));
-%! assert (__compile ("bytecode_evalin_2"));
+%! __compile__ bytecode_evalin_1 clear;
+%! __compile__ bytecode_evalin_2 clear;
+%! assert (__compile__ ("bytecode_evalin_1"));
+%! assert (__compile__ ("bytecode_evalin_2"));
 %! bytecode_evalin_1 ();
 %! assert (__prog_output_assert__ (key));
 %!
-%! __compile bytecode_evalin_1 clear;
-%! __compile bytecode_evalin_2 clear;
-%! assert (__compile ("bytecode_evalin_2"));
+%! __compile__ bytecode_evalin_1 clear;
+%! __compile__ bytecode_evalin_2 clear;
+%! assert (__compile__ ("bytecode_evalin_2"));
 %! bytecode_evalin_1 ();
 %! assert (__prog_output_assert__ (key));
 %!
@@ -416,7 +416,7 @@
 %! ## Interpreter reference
 %! __enable_vm_eval__ (0, "local");
 %! clear all
-%! __compile bytecode_errors clear;
+%! __compile__ bytecode_errors clear;
 %! fail ("bytecode_errors (0)", ...
 %!       "'qweqwe' undefined near line 9, column 6");
 %! fail ("bytecode_errors (1)", ...
@@ -438,7 +438,7 @@
 %!
 %! __enable_vm_eval__ (1, "local");
 %! ## Bytecode running the same errors
-%! __compile bytecode_errors;
+%! __compile__ bytecode_errors;
 %! fail ("bytecode_errors (0)", ...
 %!       "'qweqwe' undefined near line 9, column 6");
 %! fail ("bytecode_errors (1)", ...
@@ -464,12 +464,12 @@
 %! clear all
 %! key = "yay yay2 yay3 ooo yay2 yay3 ooo2 ooo2 yay3 yay4 Nested error yay5 yay6 In catch yay7 qwe yay8 Error in subfunction yay9 'asd' undefined near line 87, column 11 yay10 operator *: nonconformant arguments (op1 is 1x2, op2 is 1x3) yay11 yoyo yay12 foo yay12 foo yay12 foo yay13 foo yay13 foo yay13 foo ";
 %!
-%! __compile bytecode_trycatch clear;
+%! __compile__ bytecode_trycatch clear;
 %! bytecode_trycatch;
 %! assert (__prog_output_assert__ (key));
 %!
 %! __enable_vm_eval__ (1, "local");
-%! assert (__compile ("bytecode_trycatch"));
+%! assert (__compile__ ("bytecode_trycatch"));
 %! bytecode_trycatch;
 %! assert (__prog_output_assert__ (key));
 
@@ -478,12 +478,12 @@
 %! __enable_vm_eval__ (0, "local");
 %! clear all
 %! key = "yay1 yay2 yay3 e1 subyyay1 subyyay2 subyyay3 subyyay4 subyyay5 subyyay6 subyyay7 subyyay8 subyyay9 subyyay10 subyyay11 subyyay12 subyyay13 subyyay14 subyyay15 subyyay16 subyyay17 subyyay18 yay4 yay5 yay6 ";
-%! __compile bytecode_unwind clear;
+%! __compile__ bytecode_unwind clear;
 %! bytecode_unwind;
 %! assert (__prog_output_assert__ (key));
 %!
 %! __enable_vm_eval__ (1, "local");
-%! assert (__compile ("bytecode_unwind"));
+%! assert (__compile__ ("bytecode_unwind"));
 %! bytecode_unwind;
 %! assert (__prog_output_assert__ (key));
 
@@ -494,7 +494,7 @@
 %! clear functions  % clear persistent variables in bytecode_persistant
 %! key = "a:3 b: double 0 0 0 c:3 c:4 a:4 b:1 double 1 1 0 c:5 c:6 ";
 %!
-%! __compile bytecode_persistant clear;
+%! __compile__ bytecode_persistant clear;
 %! bytecode_persistant;
 %! bytecode_persistant;
 %! assert (__prog_output_assert__ (key));
@@ -502,19 +502,19 @@
 %! clear all;
 %! __enable_vm_eval__ (1, "local");
 %! key = "a:3 b: double 0 0 0 c:3 c:4 a:4 b:1 double 1 1 0 c:5 c:6 ";
-%! assert (__compile ("bytecode_persistant"));
+%! assert (__compile__ ("bytecode_persistant"));
 %! bytecode_persistant;
 %!
 %! bytecode_persistant;
 %! assert (__prog_output_assert__ (key));
 %!
 %! __enable_vm_eval__ (0, "local");
-%! __compile bytecode_persistant clear;
+%! __compile__ bytecode_persistant clear;
 %! clear all;
 %! key = "a:3 b: double 0 0 0 c:3 c:4 a:4 b:1 double 1 1 0 c:5 c:6 ";
 %! bytecode_persistant;
 %! __enable_vm_eval__ (1, "local");
-%! assert (__compile ("bytecode_persistant"));
+%! assert (__compile__ ("bytecode_persistant"));
 %!
 %! bytecode_persistant;
 %! assert (__prog_output_assert__ (key));
@@ -524,12 +524,12 @@
 %! __enable_vm_eval__ (0, "local");
 %! clear all
 %! key = "1 2 double 1 1 struct 3 4 ";
-%! __compile bytecode_struct clear;
+%! __compile__ bytecode_struct clear;
 %! bytecode_struct;
 %! assert (__prog_output_assert__ (key));
 %!
 %! __enable_vm_eval__ (1, "local");
-%! assert (__compile ("bytecode_struct"));
+%! assert (__compile__ ("bytecode_struct"));
 %! bytecode_struct;
 %! assert (__prog_output_assert__ (key));
 
@@ -538,12 +538,12 @@
 %! __enable_vm_eval__ (0, "local");
 %! clear all
 %! key = "2 2 3 3 2 cell 1 1 3 3 2 3 22 double 33 3 4 matlab.lang.MemoizedFunction 2 ";
-%! __compile bytecode_index_obj clear;
+%! __compile__ bytecode_index_obj clear;
 %! bytecode_index_obj;
 %! assert (__prog_output_assert__ (key));
 %!
 %! __enable_vm_eval__ (1, "local");
-%! assert (__compile ("bytecode_index_obj"));
+%! assert (__compile__ ("bytecode_index_obj"));
 %! bytecode_index_obj;
 %! assert (__prog_output_assert__ (key));
 
@@ -552,12 +552,12 @@
 %! __enable_vm_eval__ (0, "local");
 %! clear all
 %! key = "7 8 1 1 2 1 0 0 0 1 0 1 0 0 0 1 0 ";
-%! __compile bytecode_varargout clear;
+%! __compile__ bytecode_varargout clear;
 %! bytecode_varargout;
 %! assert (__prog_output_assert__ (key));
 %!
 %! __enable_vm_eval__ (1, "local");
-%! assert (__compile ("bytecode_varargout"));
+%! assert (__compile__ ("bytecode_varargout"));
 %! bytecode_varargout;
 %! assert (__prog_output_assert__ (key));
 
@@ -566,13 +566,13 @@
 %! __enable_vm_eval__ (0, "local");
 %! clear all
 %! key = "a a b + 1  a a b b aa aa bb bb aa + 1  bb * 3  a + 1  b * 3  aa aa bb bb aa + 1  bb * 3  a a b b a + 1  b * 3  ";
-%! __compile bytecode_inputname clear;
+%! __compile__ bytecode_inputname clear;
 %! a = 9; b = 8;
 %! bytecode_inputname (a, b + 1);
 %! assert (__prog_output_assert__ (key));
 %!
 %! __enable_vm_eval__ (1, "local");
-%! assert (__compile ("bytecode_inputname"));
+%! assert (__compile__ ("bytecode_inputname"));
 %! bytecode_inputname (a, b + 1);
 %! assert (__prog_output_assert__ (key));
 
@@ -581,12 +581,12 @@
 %! __enable_vm_eval__ (0, "local");
 %! clear all
 %! key = "2 5 1 1 1 ";
-%! __compile bytecode_ans clear;
+%! __compile__ bytecode_ans clear;
 %! bytecode_ans;
 %! assert (__prog_output_assert__ (key));
 %!
 %! __enable_vm_eval__ (1, "local");
-%! assert (__compile ("bytecode_ans"));
+%! assert (__compile__ ("bytecode_ans"));
 %! bytecode_ans;
 %! assert (__prog_output_assert__ (key));
 
@@ -597,7 +597,7 @@
 %! global cdef_foo_ctor_cnt; clear global cdef_foo_ctor_cnt;
 %! global cdef_foo_dtor_cnt; clear global cdef_foo_dtor_cnt;
 %! key = ". 1 f1 . 2 f3 3 f2 . sumf2f3 2 . . call14 f4 . a a_1 . 5 f8 . 6 f10 7 f9 . sumf9f10 2 . . call18 f11 . 2 2 3 4 4 4 3 2 2 3 . 9 sumf9f10 10 f12 11 f13 12 f14 13 sumf2f3 14 f5 15 f6 16 f7 ";
-%! __compile bytecode_cdef_use clear;
+%! __compile__ bytecode_cdef_use clear;
 %! bytecode_cdef_use ();
 %! assert (__prog_output_assert__ (key));
 %! global cdef_foo_ctor_cnt; global cdef_foo_dtor_cnt;
@@ -606,7 +606,7 @@
 %! __enable_vm_eval__ (1, "local");
 %! global cdef_foo_ctor_cnt; clear global cdef_foo_ctor_cnt;
 %! global cdef_foo_dtor_cnt; clear global cdef_foo_dtor_cnt;
-%! assert (__compile ("bytecode_cdef_use"));
+%! assert (__compile__ ("bytecode_cdef_use"));
 %! bytecode_cdef_use ();
 %! assert (__prog_output_assert__ (key));
 %! global cdef_foo_ctor_cnt; global cdef_foo_dtor_cnt;
@@ -622,12 +622,12 @@
 %! __enable_vm_eval__ (0, "local");
 %! clear all
 %! key = "1 2 12 3 4 1 2 3 1 2 11 12 1 ";
-%! __compile bytecode_anon_handles clear;
+%! __compile__ bytecode_anon_handles clear;
 %! bytecode_anon_handles;
 %! assert (__prog_output_assert__ (key));
 %!
 %! __enable_vm_eval__ (1, "local");
-%! assert (__compile ("bytecode_anon_handles"));
+%! assert (__compile__ ("bytecode_anon_handles"));
 %! bytecode_anon_handles;
 %! assert (__prog_output_assert__ (key));
 
@@ -636,8 +636,8 @@
 %!test
 %! clear all
 %! __enable_vm_eval__ (1, "local");
-%! __compile wrongname_fn clear;
-%! assert (__compile ("wrongname_fn"));
+%! __compile__ wrongname_fn clear;
+%! assert (__compile__ ("wrongname_fn"));
 %!
 %! assert (wrongname_fn (77) == 78);
 
@@ -655,9 +655,9 @@
 %!
 %! c = 2;
 %! d = 3;
-%! n_c = __ref_count (c);
-%! n_d = __ref_count (d);
+%! n_c = __ref_count__ (c);
+%! n_d = __ref_count__ (d);
 %! bytecode_leaks (c, d); % asserts inernally
 %!
-%! assert (n_c == __ref_count (c))
-%! assert (n_d == __ref_count (d))
+%! assert (n_c == __ref_count__ (c))
+%! assert (n_d == __ref_count__ (d))
--- a/test/compile/bytecode_leaks.m	Wed Aug 09 15:11:48 2023 +0200
+++ b/test/compile/bytecode_leaks.m	Mon Aug 07 15:26:46 2023 +0200
@@ -7,76 +7,76 @@
   b = d;
 
   e = 1+1;
-  refs_e = __ref_count (e);
+  refs_e = __ref_count__ (e);
   suby1(e);
-  assert (refs_e, __ref_count (e))
+  assert (refs_e, __ref_count__ (e))
 
   aa = suby2(e);
-  assert (refs_e, __ref_count (e))
+  assert (refs_e, __ref_count__ (e))
 
   % Test special code path for assigning argument to return value
   aa = suby3(e);
-  assert (refs_e + 1, __ref_count (e))
+  assert (refs_e + 1, __ref_count__ (e))
   aa = 0;
-  assert (refs_e, __ref_count (e))
+  assert (refs_e, __ref_count__ (e))
 
   % varargin
   suby4 (e,e,e,e);
-  assert (refs_e, __ref_count (e))
+  assert (refs_e, __ref_count__ (e))
   suby5 (e,e,e,e);
-  assert (refs_e, __ref_count (e))
+  assert (refs_e, __ref_count__ (e))
 
   % varargout
   suby6(e);
-  assert (refs_e, __ref_count (e))
+  assert (refs_e, __ref_count__ (e))
   [tmp1, tmp2, tmp3, tmp4, tmp5] = suby6(e);
   tmp1 = 0; tmp2 = 0; tmp3 = 0; tmp4 = 0; tmp5 = 0;
-  assert (refs_e, __ref_count (e))
+  assert (refs_e, __ref_count__ (e))
 
   suby7(e);
-  assert (refs_e, __ref_count (e))
+  assert (refs_e, __ref_count__ (e))
   [tmp1, tmp2, tmp3, tmp4, tmp5] = suby6(e);
   tmp1 = 0; tmp2 = 0; tmp3 = 0; tmp4 = 0; tmp5 = 0;
-  assert (refs_e, __ref_count (e))
+  assert (refs_e, __ref_count__ (e))
 
   % Call non-vm function
   sin (e);
-  assert (refs_e, __ref_count (e))
+  assert (refs_e, __ref_count__ (e))
 
   % Index matrix
   m = [1 2 3 4];
   m (e);
-  assert (refs_e, __ref_count (e))
+  assert (refs_e, __ref_count__ (e))
 
   % Ops
   tmp1 = -e + e * e - e / e ^ e;
-  assert (refs_e, __ref_count (e))
+  assert (refs_e, __ref_count__ (e))
 
   % Dynamic matrix
   m = [1 2 3 e; e 4 5 6];
   m = 0;
-  assert (refs_e, __ref_count (e))
+  assert (refs_e, __ref_count__ (e))
 
   % Cell
   m = {1,2,3, e; 4, 5, e, 6};
   m = 0;
-  assert (refs_e, __ref_count (e))
+  assert (refs_e, __ref_count__ (e))
 
   % "command call" with disp
   disp ("The disp of e and pi underneath is on purpose. There should be a 'e = 2' and 'ans = 3.14...'")
   e % Should print "e = 2"
-  assert (refs_e + 1, __ref_count (e)) % in ans
+  assert (refs_e + 1, __ref_count__ (e)) % in ans
   ans = 0;
-  assert (refs_e, __ref_count (e))
+  assert (refs_e, __ref_count__ (e))
 
   % This will be a function call and should print "ans = 3.14..."
   pi
 
   % no disp
   e;
-  assert (refs_e + 1, __ref_count (e)) % in ans
+  assert (refs_e + 1, __ref_count__ (e)) % in ans
   ans = 0;
-  assert (refs_e, __ref_count (e))
+  assert (refs_e, __ref_count__ (e))
 
 
   % Too many or few args
@@ -84,31 +84,31 @@
     suby1 (e,e,e);
   catch
   end
-  assert (refs_e, __ref_count (e))
+  assert (refs_e, __ref_count__ (e))
 
   try
     subsuby5 (e);
   catch
   end
-  assert (refs_e, __ref_count (e))
+  assert (refs_e, __ref_count__ (e))
 
   try
     m = [];
     m(e)
   catch
   end
-  assert (refs_e, __ref_count (e))
+  assert (refs_e, __ref_count__ (e))
 
   try
     m = [];
     m(e) = 123;
   catch
   end
-  assert (refs_e, __ref_count (e))
+  assert (refs_e, __ref_count__ (e))
 
   % eval dynamic stack
   suby8 (e);
-  assert (refs_e, __ref_count (e))
+  assert (refs_e, __ref_count__ (e))
 end
 
 function suby1 (a)
--- a/test/compile/bytecode_misc.m	Wed Aug 09 15:11:48 2023 +0200
+++ b/test/compile/bytecode_misc.m	Mon Aug 07 15:26:46 2023 +0200
@@ -20,7 +20,7 @@
   % Try to run out of VM stack space
   % Assure that the VM is running, since we will disable the tree_evaluators
   % stack limit mechanism.
-  if __vm_is_executing ()
+  if __vm_is_executing__ ()
     absurd_frame_limit = max_stack_depth * 10000;
     max_stack_depth (absurd_frame_limit, "local");
 
--- a/test/compile/shutup_operator_test/bytecode_disp.tst	Wed Aug 09 15:11:48 2023 +0200
+++ b/test/compile/shutup_operator_test/bytecode_disp.tst	Mon Aug 07 15:26:46 2023 +0200
@@ -9,10 +9,10 @@
 %! % double's display. Is this a bug ???
 %! clear classes
 %! key = "ans = 1 . ans = 5 . . ans = 0 . ans = 8 . ans = 3 . x = 3 . x = 1 y = 2 . x = 1 . . x = 1 . y = 2 . x = 1 ";
-%! __compile bytecode_disp clear;
+%! __compile__ bytecode_disp clear;
 %! bytecode_disp;
 %! assert (__prog_output_assert__ (key));
 %!
-%! assert (__compile ("bytecode_disp"));
+%! assert (__compile__ ("bytecode_disp"));
 %! bytecode_disp;
 %! assert (__prog_output_assert__ (key));