The documentation about chromium OS is vage On Wed, 22 Aug 2018 at 09:23, dan Med <litokis.ta...@gmail.com> wrote:
> When chromium OS on a chromebook boots up, which directory is the first to > be invoked and then executed > > 2018-08-21 23:10 GMT+02:00 dan Med <litokis.ta...@gmail.com>: > >> When chromium OS on a chromebook boots up, which directory is the first >> to be invoked and then executed >> >> 2018-08-21 11:12 GMT+02:00 dan Med <litokis.ta...@gmail.com>: >> >>> Yeah thank you ! i'm going to dig it all ! >>> >>> 2018-08-21 10:55 GMT+02:00 Leszek Swirski <lesz...@chromium.org>: >>> >>>> Hi dan, >>>> >>>> Glad to hear things are working for you. The functions you're looking >>>> at are intrinsic/runtime functions, and that syntax is the "natives" >>>> syntax, enabled for user code with the "--allow-natives-syntax" flag. Some >>>> people have used this in the past to e.g. track optimisation behaviour, >>>> like this (no longer in-date) documentation from bluebird >>>> <https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#1-tooling> >>>> . >>>> >>>> Those functions are found in C++, not in Javascript, as they are >>>> runtime calls. They are declared in src/runtime/runtime.h, where you can >>>> also find the documentation of the %Foo and %_Foo syntax. The definitions >>>> are in the .cc files under src/runtime, prefixed with "Runtime_" -- e.g. >>>> %GetArrayKeys is defined in runtime-array.cc >>>> <https://cs.chromium.org/chromium/src/v8/src/runtime/runtime-array.cc?l=455&rcl=a3d09098655de3c43eec029fec2a766d63f36caf> >>>> (btw, >>>> https://cs.chromium.org/ is a great way of browsing the code). >>>> Similarly you can find the C++ definition of %IsSmi by searching for >>>> Runtime_IsSmi <https://cs.chromium.org/search/?q=Runtime_IsSmi>. >>>> >>>> %_IsSmi, with the underscore, is an inlined intrinsic (specifically, an >>>> intrinsic that *can* be inlined by the compiler). In the interpreter, for >>>> example, this is in the supported intrinsics list >>>> <https://cs.chromium.org/chromium/src/v8/src/interpreter/interpreter-intrinsics.h?l=16&rcl=a3d09098655de3c43eec029fec2a766d63f36caf>, >>>> so we output an InvokeIntrinsic bytecode >>>> <https://cs.chromium.org/chromium/src/v8/src/interpreter/bytecode-array-builder.cc?l=1407&rcl=a3d09098655de3c43eec029fec2a766d63f36caf> >>>> rather >>>> than a runtime call bytecode, which has an generated assembly handler >>>> which, during execution, dispatches on the intrinsic's id >>>> <https://cs.chromium.org/chromium/src/v8/src/interpreter/interpreter-intrinsics-generator.cc?l=98&rcl=a3d09098655de3c43eec029fec2a766d63f36caf> >>>> and for IsSmi does the Smi check >>>> <https://cs.chromium.org/chromium/src/v8/src/interpreter/interpreter-intrinsics-generator.cc?l=189&rcl=a3d09098655de3c43eec029fec2a766d63f36caf>. >>>> The optimizing compiler has similar logic. >>>> >>>> Hope that helps -- V8 is a complex codebase due to the interplay >>>> between C++, javascript, generated assembly, etc., so don't expect to be >>>> able to easily find where everything is defined or how everything works >>>> without serious digging. >>>> >>>> - Leszek >>>> >>>> On Mon, Aug 20, 2018 at 6:14 PM dan Med <litokis.ta...@gmail.com> >>>> wrote: >>>> >>>>> How do these function get called >>>>> %GetArrayKeys >>>>> cause i can't seem to find them in the /src/array.js >>>>> as well as %_IsSmi in the same file >>>>> >>>>> 2018-08-20 19:04 GMT+02:00 dan Med <litokis.ta...@gmail.com>: >>>>> >>>>>> Yes i will use it >>>>>> >>>>>> >>>>>> 2018-08-20 15:57 GMT+02:00 <danny.p...@gmail.com>: >>>>>> >>>>>>> I have uploaded a .Net 4.5 application that I wrote over the weekend >>>>>>> to configure and build V8. It's available here: V8Builder >>>>>>> <https://github.com/dannypike/V8Builder>. >>>>>>> >>>>>>> In the README are TL;DR-style instructions if you don't want to use >>>>>>> the GUI (or can't build it and don't have a friend with a C# compiler). >>>>>>> >>>>>>> I gave up trying to write simple instructions, it was much easier to >>>>>>> write an application instead. >>>>>>> >>>>>>> Hope it helps, >>>>>>> >>>>>>> Dan >>>>>>> >>>>>>> -- >>>>>>> -- >>>>>>> v8-dev mailing list >>>>>>> v8-dev@googlegroups.com >>>>>>> http://groups.google.com/group/v8-dev >>>>>>> --- >>>>>>> You received this message because you are subscribed to the Google >>>>>>> Groups "v8-dev" group. >>>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>>> send an email to v8-dev+unsubscr...@googlegroups.com. >>>>>>> For more options, visit https://groups.google.com/d/optout. >>>>>>> >>>>>> >>>>>> >>>>> -- >>>>> -- >>>>> v8-dev mailing list >>>>> v8-dev@googlegroups.com >>>>> http://groups.google.com/group/v8-dev >>>>> --- >>>>> You received this message because you are subscribed to the Google >>>>> Groups "v8-dev" group. >>>>> To unsubscribe from this group and stop receiving emails from it, send >>>>> an email to v8-dev+unsubscr...@googlegroups.com. >>>>> For more options, visit https://groups.google.com/d/optout. >>>>> >>>> -- >>>> -- >>>> v8-dev mailing list >>>> v8-dev@googlegroups.com >>>> http://groups.google.com/group/v8-dev >>>> --- >>>> You received this message because you are subscribed to the Google >>>> Groups "v8-dev" group. >>>> To unsubscribe from this group and stop receiving emails from it, send >>>> an email to v8-dev+unsubscr...@googlegroups.com. >>>> For more options, visit https://groups.google.com/d/optout. >>>> >>> >>> >> > -- -- v8-dev mailing list v8-dev@googlegroups.com http://groups.google.com/group/v8-dev --- You received this message because you are subscribed to the Google Groups "v8-dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to v8-dev+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.