Synchronizing signal discriminator for use in channel selection apparatus of television receiver |
| What we claim is: 1. A synchronizing signal discrimination circuit for use in a channel selection ... |
|
Energy dissipation circuit for electromagnetic injection |
| The present invention provides an energy dissipation circuit for a plurality of an electromagnetic ... |
|
Field programmable read only memories |
| What I claim is: 1. A field programmable read only memory comprising a decoder having N output ... |
|
Stackable modular storage tower |
| An object of the invention is, therefore, to provide an expandable, compact structural assembly for ... |
|
Methods of trimming film resistors |
| General Considerations Referring now to FIG. 1, there is depicted a typical bar resistor 12 of a ... |
|
Error detection and fault isolation for lockstep processor systems |
| The previously stated specific objects of the invention can be summarized as the provision of a ... |
|
Household information system data processor changing an inital image |
| The object of the present invention is to solve the above-mentioned problems and to realize an ... |
|
Method and circuit for decoding a Manchester code signal |
| The present invention is a reliable method and circuit for decoding a Manchester encoded signal. T... |
|
Reloading state analyzer |
| OF THE PRESENT INVENTION FIG. 1 is a block diagram of a development/test system under test/... |
|
|
dbX: a persistent programming language model
| Details |
Inventors: Gupta, Anil;
Assignee: Texas Instruments Incorporated (Dallas, TX)
Primary Examiner: Kriess; Kevin A.
Assistant Examiner:
Attorney, Agent or Firm: Swayze, Jr.; W. Daniel, Brady, III; W. James, Donaldson; Richard L.
The dbX persistent programming language model solves the problem of seamlessly providing an unfragmented, persistible, complex object heap space that extends beyond virtual memory to a program in a host programming language X. It does so without rewriting a compiler for X and without operating system or hardware dependencies. It uses a memory pointer as a pointer to a persistible object, with the lvalue of the pointer providing a hook to the OID of the object. The lvalues of pointers to persistible objects, their associated OIDs and other information about persistible objects are maintained in a global data structure. Unresolved pointers to persistible objects point to an unusable area of memory, and dereferencing them triggers object faulting. A keyword and an overloaded allocation operator are used to identify statically and dynamically allocated pieces of memory respectively as persistible. A preprocessor processes occurrences of the keyword and operator, and some operations on pointers to persistible objects in a dbX program and generates X code. Object translation uses a `pointer view of memory` and an `allocation view of memory` to determine the runtime structure of an object graph, and it is resilient to pointer casting and pointing to objects embedded in larger objects. |
|
DETAILED DESCRIPTION The persistent programming language model described herein solves the problem of seamlessly providing an unfragmented, persistible, complex object heap space that extends beyond virtual memory to a program in a host programming language. For purposes of description, the language model is referred to herein as "dbX", and the host language is referred to as "X". The extended heap space problem is solved without rewriting a compiler for X and without operating system or hardware dependencies. Key elements of the model are: dbpointer, dbtable, dbfaulting, dbvar/dbnew( ), dbtranslation and dbpaging. A dbpointer is a memory pointer whose lvalue is used to provide a hook to an object-identifier (OID) of a persistible object. It is used to represent a pointer in memory that points to a persistible object on disk, when only part of an object graph has been restored into memory. The lvalues of dbpointers, their associated OIDs and other information about persistible objects are maintained in a global data structure, dbtable. When a dbpointer to a persistible object not in memory is dereferenced, dbfaulting is triggered, and the object is restored into memory. dbfaulting involves making all unresolved dbpointers point to an unusable area of memory, e. g. , operating system area or system malloced area. This area is large enough to accommodate increments or decrements of unresolved dbpointers. The offset into this area gives the offset into a persistible object an unresolved dbpointer points to. When a dbpointer to such an area is dereferenced, an object fault is triggered. The OID of an object to be faulted is obtained by looking up dbtable with the lvalue of a dereferenced dbpointer. The keyword `dbvar` and the allocation operator `dbnew( )` are used in a dbX program to identify statically and dynamically allocated pieces of memory respectively as persistible. A preprocessor `dpp` processes occurrences of dbvar, dbnew( ) and some operations on dbpointers, for example, dereferencing and assignment, in a dbX program and generates X code, which is fed to a X compiler
|
|