| CPC G06F 9/3005 (2013.01) [G06F 8/51 (2013.01); G06F 9/30054 (2013.01); G06F 9/323 (2023.08); G06F 9/34 (2013.01); G06F 9/5044 (2013.01); G06F 12/0882 (2013.01); G06F 12/1009 (2013.01); G06F 12/14 (2013.01); G06F 21/52 (2013.01); G06F 21/54 (2013.01)] | 3 Claims | 

| 
               1. A method for regulating an execution of a program on a computer, said method comprising: 
            providing said computer with an absolute-pointer, said absolute-pointer comprising a target-address and an object-id, said target-address comprising a target address data-page-index and a target address data-page-offset, 
                providing said computer with data addresses, said data addresses comprising a data address data-page-index and a data address data-page-offset, some of said data addresses comprising data, 
                annotating some of said data-page indexes with a data-page meta-datum, at least one of said data-page meta-datum comprising a page-class-id, 
                annotating at least one of said page-class-ids with a page-class-meta-datum using a page-class-id-map, 
                annotating at least one page-class-meta-datum with a map-object-metadata-table, said map-object-metadata-table annotating said object-id with an object-metadatum comprised of metadata, 
                providing at least one said object-metadatum with an object-start and an object-length, 
                providing said computer with a memory-access instruction which accesses data at said target-address through said absolute-pointer, 
                when a memory-access instruction attempts to access data at said target-address through said absolute-pointer, performing the following steps: 
              finding said data-page meta-datum annotated onto said target address data-page-index, 
                  finding said page-class-id of said data-page meta-datum, 
                  finding said page-class-meta-datum annotated onto said page-class-id using said page-class-id-map, 
                  finding said map-object-metadata-table annotated onto said page-class-meta-datum, 
                  finding said object-metadatum annotated by said map-object-metadata-table onto said object-id of said absolute-pointer, 
                  finding said object-start and said object-length of said object-metadatum, 
                  computing an object-end as a sum of said object-start and said object-length, 
                  checking if said target-address of said absolute-pointer is greater than or equal to said object-start, 
                  if said target-address of said absolute-pointer is not greater than or equal to said object-start, raising a fault, 
                  if said target-address of said absolute pointer is greater than or equal to said object start, checking if said target-address of said absolute-pointer plus an access-width is less than or equal to said object-end, 
                  if said target-address of said absolute-pointer plus said access-width is not less than or equal to said object-end, raising a fault. 
                 |