[v8-users] Constants in JS AST

2015-09-22 Thread Abhinav Jangda
Hello all, I am working on project on V8 for which I need to get all the constants in a JS program. I need to know where the ASTNodes for the constants is created. Although, I have got the subclasses of ASTNode like Statement, Expression etc. I also found the function which creates Literal AST

Re: [v8-users] Link original Javascript code to optimized ASM code

2015-09-22 Thread Jakob Kummerow
Optimized code depends on type feedback, so in this case it'll change depending on what kinds of things *unoptimized* code has seen for "n". On Tue, Sep 22, 2015 at 1:21 PM, D T wrote: > Ahhh, that explains a lot! I wondered what the optimized code is about, > for those few lines... > > However,

Re: [v8-users] Link original Javascript code to optimized ASM code

2015-09-22 Thread D T
Ahhh, that explains a lot! I wondered what the optimized code is about, for those few lines... However, is there any indication how often the function is called (how many loop steps) to produce the same optimized code? Or, a slightly different question: If I let v8 optimize the same code a few

Re: [v8-users] IC Misses and transitions between status

2015-09-22 Thread Ignacio Queralt
Thank you both for your answers. It really helped me! -- -- v8-users mailing list v8-users@googlegroups.com http://groups.google.com/group/v8-users --- You received this message because you are subscribed to the Google Groups "v8-users" group. To unsubscribe from this group and stop receiving

Re: [v8-users] Link original Javascript code to optimized ASM code

2015-09-22 Thread Jakob Kummerow
Functions aren't optimized right away, only when they're detected as "hot". Try calling your function 1000 times or so in a loop. (The bigger it is, the less often it needs to be called to be considered "hot"; the details of that mechanism are rather complicated.) On Tue, Sep 22, 2015 at 11:46 AM,

Re: [v8-users] IC Misses and transitions between status

2015-09-22 Thread Ben Noordhuis
On Tue, Sep 22, 2015 at 10:17 AM, Ignacio Queralt wrote: > I've read online in a Google V8 presentation that there are the following > states regarding IC: > Uninitialized -> Pre-monomorphic -> Monomorphic -> Polymorphic/Megamorphic > -> Generic > How should I build an example, or which flag shoul

Re: [v8-users] Link original Javascript code to optimized ASM code

2015-09-22 Thread D T
Sorry, sometimes I even confuse myself ;) Okay, so I attached the original file I was sent. It states the Raw source and the "optimized" code (and also uses the crankshaft optimizing compiler of v8). Nevertheless, when I try to run the function stated in the Raw code, I do not get any optimized

Re: [v8-users] IC Misses and transitions between status

2015-09-22 Thread Jakob Kummerow
As I said before, the runtime profiler has nothing to do with ICs, neither does optimized code. (Also, there isn't "the IC", there are many ICs, e.g. function f(x) { x.a.b.c = 1; } has two LoadICs and one StoreIC.) The "full compiler" generates unoptimized code for each function the first time it

Re: [v8-users] Re: Limiting memory usage of script

2015-09-22 Thread Ben Noordhuis
On Tue, Sep 22, 2015 at 3:56 AM, Jane Chen wrote: > I have something similar in my app and I'd like my background thread to > check the heap statistics to detect that the script is about to run out of > memory, so that I can terminate it before it actually does. > > My problem is that I don't know

Re: [v8-users] Link original Javascript code to optimized ASM code

2015-09-22 Thread 'Andreas Rossberg' via v8-users
Not sure I understand. If nothing is printed, are you sure the function gets optimised at all? On 22 September 2015 at 10:42, D T wrote: > Thanks for your quick answer, Andreas! > > So, I got the snippet I showed you avove by mail to look over the ASM code > (I dont have much experience with Jav

Re: [v8-users] Link original Javascript code to optimized ASM code

2015-09-22 Thread D T
Thanks for your quick answer, Andreas! So, I got the snippet I showed you avove by mail to look over the ASM code (I dont have much experience with Javascript ;) ). When run the d8 as follows: v8/out/ia32.release/d8 --print_opt_code test.js With the code printed in the RAW section (slightly modi

Re: [v8-users] IC Misses and transitions between status

2015-09-22 Thread Ignacio Queralt
Thank you for your answer! The runtime profiler is the one that decides if a function is hot, right? I wanted to have a general understanding of how the IC works. How the profiler runs, detects hot functions, or small functions, to optimize, and tries to optimize them. Basically, the Full compil

Re: [v8-users] Seeking help with v8::Platform implementation

2015-09-22 Thread Jochen Eisinger
Currently, the foreground tasks can run wherever the embedder wants to run them, but in the future, we might require that it's safe to access the given isolate from foreground tasks. Background tasks can run wherever the embedder likes, and they will take care themselves to use locks etc.. to acce