Hi Hui --

> So you mean if we met a _ddata, that's a pointer to a C allocated array,
> which we don't know what actually that array is,

I think of _ddata as a type that's used to provide C-level dynamic storage 
and which is used to bootstrap all other arrays.  For example, Chapel's 
default arrays are found in modules/internal/DefaultRectangular.chpl and 
contain a _ddata field named 'data' (see the DefaultRectangularArr class). 
Then most other array types (e.g., sparse, associative, distributed) build 
on the Default Rectangular arrays.

If you haven't already, note that _ddata itself is a Chapel class defined 
in modules/internal/ChapelBase.chpl.  It's a special class (or an abuse of 
one depending on your perspective) in that it has a bunch of pragmas 
attached to it that let it be treated specially.  If we were to revisit 
this code today, we might do it differently now that support for extern 
types has gotten better, but nobody's had the time/stomach to do that yet.


> that's why in that case,
> you only store the type info of the "pointer" to the LayeredValueTable
> (instantiated as 'lvt'), but not the original array type info right ?  And
> for normal classes defined in Chapel, you should've add both a pointer to
> this class type and the class type itself to the lvt, right ?

You've now gone above my head -- I'm not sure what the lvt is.  Can 
someone else jump into help?



> Where can I find the commit logs ?  I don't find it under chapel home
> directory.

Use the 'git log' command with its various flags.  Note that this is where 
most of the most useful documentation for developers can be found, if not 
in the code itself.

My personal new favorite alias for reading through the logs is:

git log --first-parent -m --name-status 
--pretty=format:"-----------------------------------------------------------------------------%n%ncommit
 %h%nMerge: %p%nAuthor: %an <%ae>%nDate:   %ad%n%n%b%n"

This pretty prints in a way that I like and only prints logical commits 
(merges of pull requests essentially), not every intervening commit.

-Brad


------------------------------------------------------------------------------
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration & more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=164703151&iu=/4140/ostg.clktrk
_______________________________________________
Chapel-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/chapel-developers

Reply via email to