[lldb-dev] lldb.frame.EvaluateExpression slows down when called a lot

Greg Clayton gclayton at apple.com
Thu Apr 17 16:56:47 PDT 2014


No idea. If you are running this on MacOSX, I would run a time profile in instruments on it and see what is going on.

On Apr 17, 2014, at 4:32 PM, Scott Knight <knightsc at gmail.com> wrote:

> Any of idea why making that call over and over again would seem to slow down over time?
> 
> -Scott
> 
> On Apr 17, 2014 7:29 PM, "Greg Clayton" <gclayton at apple.com> wrote:
> Yep, it is the python keyword... You currently need to use your workaround:
> 
> rvalue.__getattr__("as")
> 
> Glad we found it and that there is nothing wrong with the API (we are finding children of anonymous unions, phew!).
> 
> Greg
> 
> On Apr 17, 2014, at 3:46 PM, Scott Knight <knightsc at gmail.com> wrote:
> 
> > typedef struct RVALUE {
> >     union {
> >       struct {
> >           VALUE flags;                /* always 0 for freed obj */
> >           struct RVALUE *next;
> >       } free;
> >       struct RBasic  basic;
> >       struct RObject object;
> >       struct RClass  klass;
> >       struct RFloat  flonum;
> >       struct RString string;
> >       struct RArray  array;
> >       struct RRegexp regexp;
> >       struct RHash   hash;
> >       struct RData   data;
> >       struct RTypedData   typeddata;
> >       struct RStruct rstruct;
> >       struct RBignum bignum;
> >       struct RFile   file;
> >       struct RNode   node;
> >       struct RMatch  match;
> >       struct RRational rational;
> >       struct RComplex complex;
> >       struct {
> >           struct RBasic basic;
> >           VALUE v1;
> >           VALUE v2;
> >           VALUE v3;
> >       } values;
> >     } as;
> > #if GC_DEBUG
> >     const char *file;
> >     VALUE line;
> > #endif
> > } RVALUE;
> >
> 




More information about the lldb-dev mailing list