Hi, On Aug 25, 6:16 am, Søren Gjesse <[email protected]> wrote: > As far as I can see from the compiler errors the patch made no difference. > Line 484 in jsregexp.cc is > > IrregexpResult res = RegExpImpl::IrregexpExecOnce( > jsregexp, subject, previous_index, Vector<int32_t>(registers.vector(), > > registers.length())); > > As the patch should make registers.vector() return int32_t* I cannot > understand how the error > > rc/jsregexp.cc:484: error: no matching function for call to > 'v8::internal::Vector<long int>::Vector(int*, int)' > > can occur.
I'm not sure how or why it's happening either. :( > Could you please check once more how the template argument > (int32_t) can be different from the type of first argument to the Vector > constructor. I might have missed something in the patch, as I am noy able to > reproduce the problem on Liunx. I'm not quite sure what to look for. The patch appears to be applied correctly (although I might have done it wrong due to inexperience). One thought I had was if "Vector<int32_t>" is being converted to "Vector<long int>" as some intermediate form, but this idea could be wrong as I don't know much about the topic. I did a search through MINIX's (3.1.7) header files in an attempt to see what the type definition for "int32_t" was: /usr/include/ansi.h: #ifndef _ANSI ... #define _SIZET size_t #else ... #define _SIZET int #endif /* _ANSI */ /usr/include/minix/types.h: #if __SIZEOF_LONG__ > 4 /* compiling with gcc on some (e.g. x86-64) platforms */ typedef unsigned int u32_t; /* 32 bit type */ typedef int i32_t; /* 32 bit signed type */ #else /* default for ACK or gcc on 32 bit platforms */ typedef unsigned long u32bit; /* 32 bit type */ typedef long i32_t; /* 32 bit signed type */ #endif ... #ifndef _SIZE_T #define _SIZE_T typedef unsigned int size_t; #endif /usr/include/stdint.h: typedef i32_t int32_t; I hope some of this is meaningful, pikpik -- v8-users mailing list [email protected] http://groups.google.com/group/v8-users
