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.

Reply via email to