changeset 32510:560c5babca89

maint: Merge stable to default.
author Markus Mützel <markus.muetzel@gmx.de>
date Sat, 25 Nov 2023 16:24:07 +0100
parents 880fdbf03c6d (current diff) a4b9c5b2d85e (diff)
children 14f76908db23
files libinterp/octave-value/ov-base.cc libinterp/octave-value/ov-base.h
diffstat 13 files changed, 92 insertions(+), 53 deletions(-) [+]
line wrap: on
line diff
--- a/libinterp/octave-value/ov-base-diag.h	Sat Nov 25 09:16:01 2023 -0500
+++ b/libinterp/octave-value/ov-base-diag.h	Sat Nov 25 16:24:07 2023 +0100
@@ -247,7 +247,11 @@
 
   OCTINTERP_API octave_value fast_elem_extract (octave_idx_type n) const;
 
-  octave_base_value::vm_call_dispatch_type vm_dispatch_call (void) { return vm_call_dispatch_type::SUBSREF; }
+  octave_base_value::vm_call_dispatch_type vm_dispatch_call (void)
+  {
+    return vm_call_dispatch_type::OCT_SUBSREF;
+  }
+
 protected:
 
   DMT m_matrix;
--- a/libinterp/octave-value/ov-base-mat.h	Sat Nov 25 09:16:01 2023 -0500
+++ b/libinterp/octave-value/ov-base-mat.h	Sat Nov 25 16:24:07 2023 +0100
@@ -219,7 +219,11 @@
   octave_value
   checked_full_matrix_elem (octave_idx_type i, octave_idx_type j) const;
 
-  octave_base_value::vm_call_dispatch_type vm_dispatch_call (void) { return vm_call_dispatch_type::SUBSREF; }
+  octave_base_value::vm_call_dispatch_type vm_dispatch_call (void)
+  {
+    return vm_call_dispatch_type::OCT_SUBSREF;
+  }
+
 protected:
 
   MT m_matrix;
--- a/libinterp/octave-value/ov-base-scalar.h	Sat Nov 25 09:16:01 2023 -0500
+++ b/libinterp/octave-value/ov-base-scalar.h	Sat Nov 25 16:24:07 2023 +0100
@@ -179,7 +179,10 @@
   bool vm_need_dispatch_assign_lhs (void) { return false; }
   bool vm_need_dispatch_push (void) { return false; }
 
-  octave_base_value::vm_call_dispatch_type vm_dispatch_call (void) { return vm_call_dispatch_type::SUBSREF; }
+  octave_base_value::vm_call_dispatch_type vm_dispatch_call (void)
+  {
+    return vm_call_dispatch_type::OCT_SUBSREF;
+  }
 
 protected:
 
--- a/libinterp/octave-value/ov-base-sparse.h	Sat Nov 25 09:16:01 2023 -0500
+++ b/libinterp/octave-value/ov-base-sparse.h	Sat Nov 25 16:24:07 2023 +0100
@@ -242,7 +242,10 @@
 
   OCTINTERP_API octave_value fast_elem_extract (octave_idx_type n) const;
 
-  octave_base_value::vm_call_dispatch_type vm_dispatch_call (void) { return vm_call_dispatch_type::SUBSREF; }
+  octave_base_value::vm_call_dispatch_type vm_dispatch_call (void)
+  {
+    return vm_call_dispatch_type::OCT_SUBSREF;
+  }
 
 protected:
 
--- a/libinterp/octave-value/ov-base.cc	Sat Nov 25 09:16:01 2023 -0500
+++ b/libinterp/octave-value/ov-base.cc	Sat Nov 25 16:24:07 2023 +0100
@@ -969,11 +969,11 @@
   bool is_defined = this->is_defined ();
 
   if (! has_function_cache && is_defined)
-    return vm_call_dispatch_type::SUBSREF;
+    return vm_call_dispatch_type::OCT_SUBSREF;
   else if (has_function_cache)
-      return vm_call_dispatch_type::CALL;
+      return vm_call_dispatch_type::OCT_CALL;
   else
-      return vm_call_dispatch_type::FN_LOOKUP;
+      return vm_call_dispatch_type::OCT_FN_LOOKUP;
 }
 
 octave_value_ref *
--- a/libinterp/octave-value/ov-base.h	Sat Nov 25 09:16:01 2023 -0500
+++ b/libinterp/octave-value/ov-base.h	Sat Nov 25 16:24:07 2023 +0100
@@ -811,15 +811,17 @@
   virtual bool vm_need_storable_call (void) const { return false; }
 
   virtual bool vm_need_dispatch_assign_rhs (void) { return true; }
+
   virtual bool vm_need_dispatch_assign_lhs (void) { return true; }
+
   virtual bool vm_need_dispatch_push (void) { return true; }
 
   enum class vm_call_dispatch_type {
-    SUBSREF,
-    FN_LOOKUP,
-    CALL,
-    HANDLE,
-    OBJECT,
+    OCT_SUBSREF,
+    OCT_FN_LOOKUP,
+    OCT_CALL,
+    OCT_HANDLE,
+    OCT_OBJECT,
   };
 
   virtual vm_call_dispatch_type vm_dispatch_call (void);
--- a/libinterp/octave-value/ov-cell.h	Sat Nov 25 09:16:01 2023 -0500
+++ b/libinterp/octave-value/ov-cell.h	Sat Nov 25 16:24:07 2023 +0100
@@ -178,7 +178,10 @@
   // You should not use it anywhere else.
   const void * mex_get_data () const;
 
-  octave_base_value::vm_call_dispatch_type vm_dispatch_call (void) { return vm_call_dispatch_type::SUBSREF; }
+  octave_base_value::vm_call_dispatch_type vm_dispatch_call (void)
+  {
+    return vm_call_dispatch_type::OCT_SUBSREF;
+  }
 
   octave_value_list
   simple_subsref (char type, octave_value_list& idx, int nargout);
--- a/libinterp/octave-value/ov-classdef.h	Sat Nov 25 09:16:01 2023 -0500
+++ b/libinterp/octave-value/ov-classdef.h	Sat Nov 25 16:24:07 2023 +0100
@@ -230,7 +230,10 @@
 
   OCTINTERP_API std::string file_name () const;
 
-    vm_call_dispatch_type vm_dispatch_call (void) { return vm_call_dispatch_type::SUBSREF; }
+  vm_call_dispatch_type vm_dispatch_call (void)
+  {
+    return vm_call_dispatch_type::OCT_SUBSREF;
+  }
 
 private:
 
--- a/libinterp/octave-value/ov-colon.h	Sat Nov 25 09:16:01 2023 -0500
+++ b/libinterp/octave-value/ov-colon.h	Sat Nov 25 16:24:07 2023 +0100
@@ -76,7 +76,10 @@
   OCTINTERP_API void print_raw (std::ostream& os,
                                 bool pr_as_read_syntax = false) const;
 
-  octave_base_value::vm_call_dispatch_type vm_dispatch_call (void) { return vm_call_dispatch_type::SUBSREF; }
+  octave_base_value::vm_call_dispatch_type vm_dispatch_call (void)
+  {
+    return vm_call_dispatch_type::OCT_SUBSREF;
+  }
 
 private:
 
--- a/libinterp/octave-value/ov-fcn-handle.h	Sat Nov 25 09:16:01 2023 -0500
+++ b/libinterp/octave-value/ov-fcn-handle.h	Sat Nov 25 16:24:07 2023 +0100
@@ -388,8 +388,9 @@
   vm_call_dispatch_type vm_dispatch_call (void)
   {
     if (m_rep->has_function_cache ())
-      return vm_call_dispatch_type::CALL;
-    return vm_call_dispatch_type::SUBSREF;
+      return vm_call_dispatch_type::OCT_CALL;
+
+    return vm_call_dispatch_type::OCT_SUBSREF;
   }
 
   void compile () { m_rep->compile (); }
--- a/libinterp/octave-value/ov-fcn.h	Sat Nov 25 09:16:01 2023 -0500
+++ b/libinterp/octave-value/ov-fcn.h	Sat Nov 25 16:24:07 2023 +0100
@@ -65,7 +65,10 @@
 
   bool has_function_cache (void) const { return true; }
 
-  vm_call_dispatch_type vm_dispatch_call (void) { return vm_call_dispatch_type::CALL; }
+  vm_call_dispatch_type vm_dispatch_call (void)
+  {
+    return vm_call_dispatch_type::OCT_CALL;
+  }
 
   octave_function *
   get_cached_fcn (const octave_value_list& args);
@@ -319,7 +322,10 @@
   execute (octave::tree_evaluator& tw, int nargout = 0,
            const octave_value_list& args = octave_value_list ()) = 0;
 
-  vm_call_dispatch_type vm_dispatch_call (void) { return vm_call_dispatch_type::CALL; }
+  vm_call_dispatch_type vm_dispatch_call (void)
+  {
+    return vm_call_dispatch_type::OCT_CALL;
+  }
 
   octave_function *
   get_cached_fcn (void *, void *) { return function_value (); }
--- a/libinterp/octave-value/ov-struct.h	Sat Nov 25 09:16:01 2023 -0500
+++ b/libinterp/octave-value/ov-struct.h	Sat Nov 25 16:24:07 2023 +0100
@@ -165,7 +165,10 @@
   bool
   fast_elem_insert (octave_idx_type n, const octave_value& x);
 
-  octave_base_value::vm_call_dispatch_type vm_dispatch_call (void) { return vm_call_dispatch_type::SUBSREF; }
+  octave_base_value::vm_call_dispatch_type vm_dispatch_call (void)
+  {
+    return vm_call_dispatch_type::OCT_SUBSREF;
+  }
 
 protected:
 
@@ -292,7 +295,10 @@
 
   bool fast_elem_insert_self (void *where, builtin_type_t btyp) const;
 
-  octave_base_value::vm_call_dispatch_type vm_dispatch_call (void) { return vm_call_dispatch_type::SUBSREF; }
+  octave_base_value::vm_call_dispatch_type vm_dispatch_call (void)
+  {
+    return vm_call_dispatch_type::OCT_SUBSREF;
+  }
 
 protected:
 
--- a/libinterp/parse-tree/pt-bytecode-vm.cc	Sat Nov 25 09:16:01 2023 -0500
+++ b/libinterp/parse-tree/pt-bytecode-vm.cc	Sat Nov 25 16:24:07 2023 +0100
@@ -2427,7 +2427,7 @@
 
     switch (ov.vm_dispatch_call ())
       {
-        case octave_base_value::vm_call_dispatch_type::SUBSREF:
+        case octave_base_value::vm_call_dispatch_type::OCT_SUBSREF:
           {
             // Make an ovl with the args
             octave_value_list ovl;
@@ -2497,7 +2497,7 @@
           }
         break;
 
-        case octave_base_value::vm_call_dispatch_type::FN_LOOKUP:
+        case octave_base_value::vm_call_dispatch_type::OCT_FN_LOOKUP:
           {
             // It is probably a function call
             CHECK_PANIC (ov.is_nil ()); // TODO :Remove
@@ -2510,9 +2510,9 @@
               bsp[slot].ov = ov;
           }
           // Fallthrough
-        case octave_base_value::vm_call_dispatch_type::CALL:
-        case octave_base_value::vm_call_dispatch_type::HANDLE:
-        case octave_base_value::vm_call_dispatch_type::OBJECT:
+        case octave_base_value::vm_call_dispatch_type::OCT_CALL:
+        case octave_base_value::vm_call_dispatch_type::OCT_HANDLE:
+        case octave_base_value::vm_call_dispatch_type::OCT_OBJECT:
           {
             CHECK_PANIC (ov.has_function_cache ()); // TODO :Remove
 
@@ -4157,7 +4157,7 @@
 
     switch (ov.vm_dispatch_call ())
       {
-        case octave_base_value::vm_call_dispatch_type::FN_LOOKUP:
+        case octave_base_value::vm_call_dispatch_type::OCT_FN_LOOKUP:
           {
             CHECK_PANIC (ov.is_nil ()); // TODO: Remove
 
@@ -4169,9 +4169,9 @@
               bsp[slot].ov = ov;
           }
           // Fallthrough
-        case octave_base_value::vm_call_dispatch_type::CALL:
-        case octave_base_value::vm_call_dispatch_type::HANDLE:
-        case octave_base_value::vm_call_dispatch_type::OBJECT:
+        case octave_base_value::vm_call_dispatch_type::OCT_CALL:
+        case octave_base_value::vm_call_dispatch_type::OCT_HANDLE:
+        case octave_base_value::vm_call_dispatch_type::OCT_OBJECT:
           {
             octave_function *fcn;
             try
@@ -4224,7 +4224,7 @@
           }
           break;
 
-        case octave_base_value::vm_call_dispatch_type::SUBSREF:
+        case octave_base_value::vm_call_dispatch_type::OCT_SUBSREF:
           PANIC ("Invalid dispatch");
       }
   }
@@ -4392,7 +4392,7 @@
       if (i_col_idx < n_cols)
         cell (i_row_idx, i_col_idx) = ov;
 
-      i_col = i_col + 1L;
+      i_col = i_col + static_cast<octave_int64> (1);
       i_col_idx++;
     }
   else
@@ -4513,7 +4513,7 @@
 
     switch (ov.vm_dispatch_call ())
       {
-        case octave_base_value::vm_call_dispatch_type::SUBSREF:
+        case octave_base_value::vm_call_dispatch_type::OCT_SUBSREF:
           {
             std::list<octave_value_list> idx; // TODO: mallocs!
 
@@ -4587,7 +4587,7 @@
           }
           break;
 
-        case octave_base_value::vm_call_dispatch_type::FN_LOOKUP:
+        case octave_base_value::vm_call_dispatch_type::OCT_FN_LOOKUP:
           {
             // Put a function cache object in the slot and in the local ov
             ov = octave_value (new octave_fcn_cache (name_data[slot]));
@@ -4597,9 +4597,9 @@
               bsp[slot].ov = ov;
           }
           // Fallthrough
-        case octave_base_value::vm_call_dispatch_type::CALL:
-        case octave_base_value::vm_call_dispatch_type::HANDLE:
-        case octave_base_value::vm_call_dispatch_type::OBJECT:
+        case octave_base_value::vm_call_dispatch_type::OCT_CALL:
+        case octave_base_value::vm_call_dispatch_type::OCT_HANDLE:
+        case octave_base_value::vm_call_dispatch_type::OCT_OBJECT:
           {
             octave_function *fcn;
             try
@@ -5408,7 +5408,8 @@
           }
 
         // Should we call the object?
-        if (ov.vm_dispatch_call () == octave_base_value::vm_call_dispatch_type::CALL)
+        if (ov.vm_dispatch_call ()
+            == octave_base_value::vm_call_dispatch_type::OCT_CALL)
           {
             CHECK_PANIC (ov.has_function_cache ());
 
@@ -5696,7 +5697,7 @@
 
     switch (ov.vm_dispatch_call ())
       {
-        case octave_base_value::vm_call_dispatch_type::SUBSREF:
+        case octave_base_value::vm_call_dispatch_type::OCT_SUBSREF:
           {
             // TODO: subsref should take ovl instead and be chained,
             // or something smarter
@@ -5772,7 +5773,7 @@
           }
         break;
 
-        case octave_base_value::vm_call_dispatch_type::FN_LOOKUP:
+        case octave_base_value::vm_call_dispatch_type::OCT_FN_LOOKUP:
           {
             // If the first object is not an identifier we can't look it up for
             // a function call.
@@ -5799,9 +5800,9 @@
               bsp[slot].ov = ov;
           }
         // Fallthrough
-        case octave_base_value::vm_call_dispatch_type::CALL:
-        case octave_base_value::vm_call_dispatch_type::HANDLE:
-        case octave_base_value::vm_call_dispatch_type::OBJECT:
+        case octave_base_value::vm_call_dispatch_type::OCT_CALL:
+        case octave_base_value::vm_call_dispatch_type::OCT_HANDLE:
+        case octave_base_value::vm_call_dispatch_type::OCT_OBJECT:
           {
             octave_function *fcn;
             try
@@ -6680,13 +6681,13 @@
           {
             switch (ov.vm_dispatch_call ())
               {
-                case octave_base_value::vm_call_dispatch_type::FN_LOOKUP:
+                case octave_base_value::vm_call_dispatch_type::OCT_FN_LOOKUP:
                   {
                     (*sp++).pee = new execution_exception {"error", "", "invalid undefined value in chained index expression"}; // TODO: Uninformative?
                     (*sp++).i = static_cast<int> (error_type::EXECUTION_EXC);
                     goto unwind;
                   }
-                case octave_base_value::vm_call_dispatch_type::SUBSREF:
+                case octave_base_value::vm_call_dispatch_type::OCT_SUBSREF:
                   {
                     octave_value_list ovl;
                     // The operands are on the top of the stack
@@ -6755,9 +6756,9 @@
                   }
                 break;
 
-                case octave_base_value::vm_call_dispatch_type::CALL:
-                case octave_base_value::vm_call_dispatch_type::HANDLE:
-                case octave_base_value::vm_call_dispatch_type::OBJECT:
+                case octave_base_value::vm_call_dispatch_type::OCT_CALL:
+                case octave_base_value::vm_call_dispatch_type::OCT_HANDLE:
+                case octave_base_value::vm_call_dispatch_type::OCT_OBJECT:
                   {
                     CHECK_PANIC (ov.has_function_cache ()); // TODO :Remove
 
@@ -6883,10 +6884,10 @@
 
                 switch (ov.vm_dispatch_call ())
                   {
-                    case octave_base_value::vm_call_dispatch_type::FN_LOOKUP:
+                    case octave_base_value::vm_call_dispatch_type::OCT_FN_LOOKUP:
                       panic_impossible ();
                       break;
-                    case octave_base_value::vm_call_dispatch_type::SUBSREF:
+                    case octave_base_value::vm_call_dispatch_type::OCT_SUBSREF:
                       {
                         CHECK_PANIC (! ov.is_function () || ov.is_classdef_meta ()); // TODO: Remove
 
@@ -6938,9 +6939,9 @@
                       }
                     break;
 
-                    case octave_base_value::vm_call_dispatch_type::CALL:
-                    case octave_base_value::vm_call_dispatch_type::HANDLE:
-                    case octave_base_value::vm_call_dispatch_type::OBJECT:
+                    case octave_base_value::vm_call_dispatch_type::OCT_CALL:
+                    case octave_base_value::vm_call_dispatch_type::OCT_HANDLE:
+                    case octave_base_value::vm_call_dispatch_type::OCT_OBJECT:
                       {
                         CHECK_PANIC (ov.is_function ()); // TODO :Remove