I don't quite see if this google group is useful or not, everybody keeps
answering me with superficial things, i don't care about the trminology
like tell me which allocator it uses when and why or at least if there's
something i can read to understand.....
I'm surprised u don't know what a JIT page is, basically if you call a
function foo() let's say 100 times then v8,had enough time to understand
the parameters given to that specific function and how to optimize it
efficently based on it's prediction/observation.

I'm not interested in the terminology of things, (that's just a matter of
reading the source code ) i'm more in reading how it works when and why..


For example when is ArrayBufferBuilder::Append called ??

And i thing i've looked at the entire v8 source code but didn't find much,
apart from the array.js file which describes some javascript function, i
don't understand where's the rest....



Il giorno lun 10 set 2018 alle ore 20:45 Jakob Kummerow <
jkumme...@chromium.org> ha scritto:

> On Sun, Sep 9, 2018 at 8:54 AM dan Med <litokis.ta...@gmail.com> wrote:
>
>> Oh and one more thing, i've surfed perhaps the entire source code of v8
>> at least the interesting parts, but what i came across was just very short
>> code execpt for some builtins written in javascript i believe, can't find
>> all of the things i've found on the documentation such as the interpreter
>>
>
> src/interpreter/
>
>
>> and the JIT compilers,
>>
>
> src/compiler/
>
>
>> one more thing i'd like to understand how the memory is handeled like how
>> can i read about the JIT pages,
>>
>
> What's a JIT page?
>
>
>> or which memory allocator does v8 use
>>
>
> It uses several allocation techniques for different purposes.
>
>
>> and it's garbage collector
>>
>
> src/heap/
>
>
>>
>> Thank you !
>>
>> Il giorno dom 9 set 2018 alle ore 17:51 dan Med <litokis.ta...@gmail.com>
>> ha scritto:
>>
>>> I don't have understood this part, let me explain it to you.
>>> This is how i get it tell me if i'm wrong at any part.
>>>
>>> I need to understand how is the structure in memory of the arraybuffer
>>> how is it represented and if the data of the array are directly stored at
>>> an offset accessed by buffer_ -> data().
>>>
>>>
>>> before the call to expand capacity it does create an array
>>>
>>>
>>> the arraybuffer in src <https://cs.chromium.org/chromium/src/>/
>>> third_party <https://cs.chromium.org/chromium/src/third_party/>/blink
>>> <https://cs.chromium.org/chromium/src/third_party/blink/>/renderer
>>> <https://cs.chromium.org/chromium/src/third_party/blink/renderer/>/
>>> platform
>>> <https://cs.chromium.org/chromium/src/third_party/blink/renderer/platform/>
>>> /wtf
>>> <https://cs.chromium.org/chromium/src/third_party/blink/renderer/platform/wtf/>
>>> /typed_arrays
>>> <https://cs.chromium.org/chromium/src/third_party/blink/renderer/platform/wtf/typed_arrays/>
>>> /array_buffer_builder.cc
>>> <https://cs.chromium.org/chromium/src/third_party/blink/renderer/platform/wtf/typed_arrays/array_buffer_builder.cc>
>>>  is
>>> called whenever the renderer  (has to execute some javascript which defines
>>> arraybuffers)
>>> First when is arraybuffer::append  called, cause i know that if someone
>>> need to reallocate a bigger arraybuffer then a new instance will be created
>>> and filled with the old values if the length in the original array isn't
>>> has much as the user reqeusted ?
>>>
>>> One more thing is, when this class is called, the arraybuffer is always
>>> set to the initial length of static const int kDefaultBufferCapacity
>>> <https://cs.chromium.org/chromium/src/third_party/blink/renderer/platform/wtf/typed_arrays/array_buffer_builder.cc?l=38&gs=kythe%253A%252F%252Fchromium%253Flang%253Dc%25252B%25252B%253Fpath%253Dsrc%252Fthird_party%252Fblink%252Frenderer%252Fplatform%252Fwtf%252Ftyped_arrays%252Farray_buffer_builder.cc%2523YXDT7WTpXCAcuhdyTlkuCzsfCzI%25252BoHLRFAlkbCrkx4g%25253D&gsn=kDefaultBufferCapacity&ct=xref_usages>
>>> = 32768; if in the javascript i declare an arraybuffer of 20bytes will
>>> it allocate of
>>> 32768bytes anyway =?
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> Il giorno mar 4 set 2018 alle ore 12:14 Graham Reeves <
>>> gra...@grahamreeves.com> ha scritto:
>>>
>>>> > is std::numeric_limits
>>>> <https://cs.chromium.org/chromium/src/buildtools/third_party/libc%2B%2B/trunk/include/limits?l=442&ct=xref_jump_to_def&gsn=numeric_limits>
>>>> <unsigned>::max
>>>> <https://cs.chromium.org/chromium/src/buildtools/third_party/libc%2B%2B/trunk/include/limits?l=450&ct=xref_jump_to_def&gsn=max>();
>>>> referring to the max unsigned int value ? cause the source code won't find
>>>> it
>>>> Yes, that's the maximum value unsigned (an unsigned int) can be, but
>>>> what do you mean by, the source won't find it?
>>>>
>>>> On Monday, 3 September 2018 19:55:48 UTC+1, dan Med wrote:
>>>>>
>>>>> Can someone help me out?
>>>>>
>>>>> Il giorno sab 1 set 2018 alle ore 15:30 <litoki...@gmail.com> ha
>>>>> scritto:
>>>>>
>>>>>> array_buffer_builder.cc in src
>>>>>> <https://cs.chromium.org/chromium/src/>/third_party
>>>>>> <https://cs.chromium.org/chromium/src/third_party/>/blink
>>>>>> <https://cs.chromium.org/chromium/src/third_party/blink/>/renderer
>>>>>> <https://cs.chromium.org/chromium/src/third_party/blink/renderer/>/
>>>>>> platform
>>>>>> <https://cs.chromium.org/chromium/src/third_party/blink/renderer/platform/>
>>>>>> /wtf
>>>>>> <https://cs.chromium.org/chromium/src/third_party/blink/renderer/platform/wtf/>
>>>>>> /typed_arrays
>>>>>> <https://cs.chromium.org/chromium/src/third_party/blink/renderer/platform/wtf/typed_arrays/>
>>>>>> /array_buffer_builder.cc
>>>>>> <https://cs.chromium.org/chromium/src/third_party/blink/renderer/platform/wtf/typed_arrays/array_buffer_builder.cc>
>>>>>>
>>>>>> the ArrayBufferBuilder
>>>>>> <https://cs.chromium.org/chromium/src/third_party/blink/renderer/platform/wtf/typed_arrays/array_buffer_builder.h?l=44&ct=xref_jump_to_def&gsn=ArrayBufferBuilder>
>>>>>> ::Append
>>>>>> <https://cs.chromium.org/chromium/src/third_party/blink/renderer/platform/wtf/typed_arrays/array_buffer_builder.cc?l=74&gs=kythe%253A%252F%252Fchromium%253Flang%253Dc%25252B%25252B%253Fpath%253Dsrc%252Fthird_party%252Fblink%252Frenderer%252Fplatform%252Fwtf%252Ftyped_arrays%252Farray_buffer_builder.cc%2523NFGzJegTouRzc7WYe5NO52sD3rtLZRfs3mHeMLIQn8I%25253D&gsn=Append&ct=xref_usages>
>>>>>>  method
>>>>>> will be called through a view on top of the arraybuffer? something like,
>>>>>> there's a arraybuffer of 30bytes in length and we define a view on top of
>>>>>> it (so a typedarray) wehn i call on the new typedarray object the .append
>>>>>> method it will call ArrayBufferBuilder
>>>>>> <https://cs.chromium.org/chromium/src/third_party/blink/renderer/platform/wtf/typed_arrays/array_buffer_builder.h?l=44&ct=xref_jump_to_def&gsn=ArrayBufferBuilder>
>>>>>> ::Append
>>>>>> <https://cs.chromium.org/chromium/src/third_party/blink/renderer/platform/wtf/typed_arrays/array_buffer_builder.cc?l=74&gs=kythe%253A%252F%252Fchromium%253Flang%253Dc%25252B%25252B%253Fpath%253Dsrc%252Fthird_party%252Fblink%252Frenderer%252Fplatform%252Fwtf%252Ftyped_arrays%252Farray_buffer_builder.cc%2523NFGzJegTouRzc7WYe5NO52sD3rtLZRfs3mHeMLIQn8I%25253D&gsn=Append&ct=xref_usages>
>>>>>> and then inside it's code it will execute ArrayBufferBuilder
>>>>>> <https://cs.chromium.org/chromium/src/third_party/blink/renderer/platform/wtf/typed_arrays/array_buffer_builder.h?l=44&ct=xref_jump_to_def&gsn=ArrayBufferBuilder>
>>>>>> ::ExpandCapacity
>>>>>> <https://cs.chromium.org/chromium/src/third_party/blink/renderer/platform/wtf/typed_arrays/array_buffer_builder.cc?l=45&gs=kythe%253A%252F%252Fchromium%253Flang%253Dc%25252B%25252B%253Fpath%253Dsrc%252Fthird_party%252Fblink%252Frenderer%252Fplatform%252Fwtf%252Ftyped_arrays%252Farray_buffer_builder.cc%2523Fu6GnwJLuMqh5Thz%25252BDq0LStBEA8HzkICqnAPtIOPIhY%25253D&gsn=ExpandCapacity&ct=xref_usages>
>>>>>>  if
>>>>>> it needs to reallocate the array ?
>>>>>>
>>>>>> if so inside the expandCapacity definition bytes_used
>>>>>> <https://cs.chromium.org/chromium/src/third_party/blink/renderer/platform/wtf/typed_arrays/array_buffer_builder.h?l=92&ct=xref_jump_to_def&gsn=bytes_used_>
>>>>>>  referes
>>>>>> to the elements inside the actual arraybuffer so if i have a arraybuffer
>>>>>> which is 8 bytes in length [ ][ ][ ][ ][ ][ ][ ][ ] and i fill in only 3
>>>>>> bytes so
>>>>>> [1][2][3][ ][ ][ ][ ][ ] the bytes_used
>>>>>> <https://cs.chromium.org/chromium/src/third_party/blink/renderer/platform/wtf/typed_arrays/array_buffer_builder.h?l=92&ct=xref_jump_to_def&gsn=bytes_used_>
>>>>>>  when
>>>>>> retrieved will be set to 3 bytes ??
>>>>>>
>>>>>> ArrayBufferBuilder 
>>>>>> <https://cs.chromium.org/chromium/src/third_party/blink/renderer/platform/wtf/typed_arrays/array_buffer_builder.h?l=44&ct=xref_jump_to_def&gsn=ArrayBufferBuilder>::ArrayBufferBuilder
>>>>>>  
>>>>>> <https://cs.chromium.org/chromium/src/third_party/blink/renderer/platform/wtf/typed_arrays/array_buffer_builder.cc?l=40&gs=kythe%253A%252F%252Fchromium%253Flang%253Dc%25252B%25252B%253Fpath%253Dsrc%252Fthird_party%252Fblink%252Frenderer%252Fplatform%252Fwtf%252Ftyped_arrays%252Farray_buffer_builder.cc%2523lcp23D0sHKN2WnDoJe7UbBQtgQbZY3lJ%25252Bn9qnDlawck%25253D&gsn=ArrayBufferBuilder&ct=xref_usages>()
>>>>>>     : bytes_used_ 
>>>>>> <https://cs.chromium.org/chromium/src/third_party/blink/renderer/platform/wtf/typed_arrays/array_buffer_builder.h?l=92&ct=xref_jump_to_def&gsn=bytes_used_>(0),
>>>>>>  variable_capacity_ 
>>>>>> <https://cs.chromium.org/chromium/src/third_party/blink/renderer/platform/wtf/typed_arrays/array_buffer_builder.h?l=93&ct=xref_jump_to_def&gsn=variable_capacity_>(true)
>>>>>>  {  buffer_ 
>>>>>> <https://cs.chromium.org/chromium/src/third_party/blink/renderer/platform/wtf/typed_arrays/array_buffer_builder.h?l=94&ct=xref_jump_to_def&gsn=buffer_>
>>>>>>  = 
>>>>>> <https://cs.chromium.org/chromium/src/base/memory/scoped_refptr.h?l=226&ct=xref_jump_to_def&gsn=%3D>
>>>>>>  ArrayBuffer 
>>>>>> <https://cs.chromium.org/chromium/src/third_party/blink/renderer/platform/wtf/typed_arrays/array_buffer.h?l=42&ct=xref_jump_to_def&gsn=ArrayBuffer>::Create
>>>>>>  
>>>>>> <https://cs.chromium.org/chromium/src/third_party/blink/renderer/platform/wtf/typed_arrays/array_buffer.h?l=125&ct=xref_jump_to_def&gsn=Create>(kDefaultBufferCapacity
>>>>>>  
>>>>>> <https://cs.chromium.org/chromium/src/third_party/blink/renderer/platform/wtf/typed_arrays/array_buffer_builder.cc?l=38&ct=xref_jump_to_def&gsn=kDefaultBufferCapacity>,
>>>>>>  1);}
>>>>>> here buffer_ will be equal to an arraybuffer of 32768 bytes in length ? 
>>>>>> since the KdefaultBuffer... is set to that value.
>>>>>> is std::numeric_limits 
>>>>>> <https://cs.chromium.org/chromium/src/buildtools/third_party/libc%2B%2B/trunk/include/limits?l=442&ct=xref_jump_to_def&gsn=numeric_limits><unsigned>::max
>>>>>>  
>>>>>> <https://cs.chromium.org/chromium/src/buildtools/third_party/libc%2B%2B/trunk/include/limits?l=450&ct=xref_jump_to_def&gsn=max>();
>>>>>>  referring to the max unsigned int value ? cause the source code won't 
>>>>>> find it
>>>>>>
>>>>>> --
>>>>>> --
>>>>>> v8-users mailing list
>>>>>> v8-u...@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 emails from it,
>>>>>> send an email to v8-users+u...@googlegroups.com.
>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>
>>>>> --
>>>> --
>>>> 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 emails from it, send
>>>> an email to v8-users+unsubscr...@googlegroups.com.
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>> --
>> --
>> 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 emails from it, send an
>> email to v8-users+unsubscr...@googlegroups.com.
>> For more options, visit https://groups.google.com/d/optout.
>>
> --
> --
> 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 emails from it, send an
> email to v8-users+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
-- 
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 emails from it, send an email 
to v8-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to