Written by

Question Frank Langel · Mar 29, 2020

Where do i find information regarding ObjectScript Internals (LLVM? interpreted?)

Hi, please let me know where i find details on Objectscript internal implementation - is it an interpreted language ? - compiled into binary code (how - which compiler/toolchain ?) ? - support of LLVM ? thanks a lot Frank

Comments

Julius Kavay · Mar 29, 2020

as far as I know (subject to verification) you  source code will be compiled into a p-code (pseudo- or portable-code). This means, Cache and IRIS behave (regarding program execution) as virtual machines, like the JVM (Java Virtual Machine).

0
Fabian Haupt · Mar 29, 2020

It's a proprietary compiler compiling into a proprietary bytecode. So no llvm support, and certainly no in depth documentation of it ;)

0
Robert Cemper · Mar 29, 2020

@Julius Kavay is fully correct.

The compiler was first written ~10 years before the idea of LLVM started  @ University of  Illinois.
Various interfaces allow your development very close to the data store. 

I'd suggest you contact your Sales Engineer @ InterSystems (Darmstadt ?) for disclosure of internals. 
 

0
Norman W. Freeman · May 7, 2024

Classes (which are high level) are converted to INT modules. INT and MAC files are compiled into OBJ. This is binary data (similar to Java bytecode) that will be interpreted using some kind of virtual machine/interpreter. A "+" sign appears in Studio when the modified date of a MAC or INT module is different than the related OBJ.

You can take a look at ^rMAC, ^rOBJ and ^ROUTINE globals for more details.

0