I fixed the multiplication overflow problem in runtime/objects.js which allowed me to complete a "make bootstrap" (which currently tries to compile and execute fib). However I get this error:
... Executing unit for: "backend/x86/config.js" Executing unit for: "backend/x86/ir-to-asm.js" Executing unit for: "bt-fib.js" Tachyon initialization complete bt-fib32.js:1: ReferenceError: btfib is not defined btfib(false); ^
Which is strange because it seems that V8 is trying to call btfib(false). Shouldn't that call be in Tachyon generated code? The makefile appears to be wrong...
So I added the call btfib(false); at the end of bt-fib.js and the "make bootstrap" went further:
... Executing unit for: "backend/x86/config.js" Executing unit for: "backend/x86/ir-to-asm.js" Executing unit for: "bt-fib.js" Heap size : 4657 KB Num strings: 3719 Num globals: 1185 Running after initialization of boostrap code Initializing Tachyon bootstrap Creating backend context layout Creating fronted context layout Creating object layouts Initialize FFI functions initFFI Get primitives source code *** RUN-TIME ERROR *** global property not defined timeCurrentMillis
So the next step would seem to be to make timeCurrentMillis (and friends) available through the FFI. Once that is done we will start to have some profiling information on the Tachyon generated code, which will be very interesting!
Erick, Maxime?
I'm currently working on the parser (string annotations).
Marc