[Vm-dev] '-DNDEBUG=0' and '-DDEBUGVM=1'
Mariano Martinez Peck
marianopeck at gmail.com
Tue Apr 26 00:05:25 UTC 2011
Hi guys. I don't know why but with CMakeVMMaker the asserts are not
working. I can see the flags are being set correct in CmakeList.txt:
add_definitions(-arch i386 -mmacosx-version-min=10.5 -g3 -O0 -msse3
-funroll-loops -fasm-blocks -finline-functions -mfpmath=sse -march=pentium-m
-falign-functions=16 -fno-gcse -fno-cse-follow-jumps -std=gnu99
-DBUILD_FOR_OSX -DUSE_INLINE_MEMORY_ACCESSORS -DLSB_FIRST -DHAVE_SYS_TIME_H
-DHAVE_NANOSLEEP -DNDEBUG=1 -DDEBUGVM=1 -DCOGMTVM=1 -DUSE_GLOBAL_STRUCT=0
-DBASE_HEADER_SIZE=4 -DCOGVM)
I modified the StackInterpreter to this:
lookupMethodInClass: class
| currentClass dictionary found |
<inline: false>
self asserta: '42' = 'cuarenta y tres'.
self assert: 'mariano' = 'esta perdido'.
self print: 'grrrr'; cr.
.....
and only 'grrr' is printed. The TWO previous assert are ignored.
I may be doing something very stupid...
thanks in advance,
Mariano
On Wed, Apr 13, 2011 at 8:06 PM, Igor Stasenko <siguctua at gmail.com> wrote:
>
> On 13 April 2011 19:13, Mariano Martinez Peck <marianopeck at gmail.com>
> wrote:
> > I've just commited the fix, but not the comment ;)
> >
> > Seriously, I don't know how we can document this kind of things.
> > Putting such comments in #compilerFlagsRelease or #compilerFlagsRelease
> > doesn't make sense because they are aprox. 12 implementaions...I don't
> want
> > to copy paste to all of them. Only in one? it doesn't make sense because
> > people won't see it. So..how we document this kind of things? I have no
> > idea.
> >
> > The same with class comments. There are so many classes that copy pasting
> or
> > documenting only one doesn't make sense.
> >
>
> The root class is enough.
> A subclasses should just say something like 'i am special for
> ___that__ and do things differently because i want __that__'.
>
>
> > The only thing I though is doing something like this:
> >
> >
> > compilerFlagsRelease
> > ^#('-g3' '-Os' '-fvisibility=hidden' '-funroll-loops' '-fasm-blocks'
> > '-finline-functions' '-mfpmath=sse' '-fomit-frame-pointer'
> > '-march=pentium-m' '-mtune=prescott' '-falign-functions=16' '-fno-gcse'
> > '-fno-cse-follow-jumps' '-std=gnu99' '-DBUILD_FOR_OSX'
> > '-DUSE_INLINE_MEMORY_ACCESSORS' '-DLSB_FIRST'
> > '-DUSE_INLINE_MEMORY_ACCESSORS' '-DHAVE_SYS_TIME_H' '-DHAVE_NANOSLEEP'
> > '-DNDEBUG=0' , self debugVMFlag: true, '-DCOGMTVM=0'
> > '-DUSE_GLOBAL_STRUCT=0' '-DBASE_HEADER_SIZE=4')
> >
> >>>debugVMFlagEnable: boolean
> > "THIS flag is blagh...blh..."
> > ^ '-DDEBUGVM=', boolean asNumber asString
> >
> > or something like that...
> >
> >
>
> This knowledge is important. It of course a question where to put that,
> but that's exactly why i didn't wanted to use autoconf to generate
> config.h file, which contains like 50 various flags,
> without any clues, where these flags being used, and in what
> situations they should be turned on or off..
>
> So, later we could step over every flag and properly document them,
> and like that, for people who will come later, we will have an idea
> what are need to deal with and why.
>
> > cheers
> >
> > Mariano
> >
>
> --
> Best regards,
> Igor Stasenko AKA sig.
>
--
Mariano
http://marianopeck.wordpress.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20110426/9393e2c8/attachment.htm
More information about the Vm-dev
mailing list