[Vm-dev] VM Maker: VMMaker.oscog-topa.1909.mcz
commits at source.squeak.org
commits at source.squeak.org
Mon Jul 25 13:58:02 UTC 2016
Tobias Pape uploaded a new version of VMMaker to project VM Maker:
http://source.squeak.org/VMMaker/VMMaker.oscog-topa.1909.mcz
==================== Summary ====================
Name: VMMaker.oscog-topa.1909
Author: topa
Time: 25 July 2016, 3:56:37.270712 pm
UUID: 18fd079c-a2e2-4f98-a712-8ed9b052650c
Ancestors: VMMaker.oscog-cb.1908
When using intel inlining syntax, use correct one
=============== Diff against VMMaker.oscog-cb.1908 ===============
Item was changed:
----- Method: Interpreter class>>preambleCCode (in category 'translation') -----
preambleCCode
^
'void printCallStack(void);
/* Disable Intel compiler inlining of error & warning which are used for breakpoints */
+ #pragma auto_inline(off)
- #pragma auto_inline off
void
warning(char *s) { /* Print an error message but don''t exit. */
static sqInt printingStack = false;
printf("\n%s\n", s);
}
+ #pragma auto_inline(on)
- #pragma auto_inline on
void
invalidCompactClassError(char *s) { /* Print a compact class index error message and exit. */
static sqInt printingStack = true; /* not running at this point */
printf("\nClass %s does not have the required compact class index\n", s);
exit(-1);
}
'!
Item was changed:
----- Method: StackInterpreter class>>preambleCCode (in category 'translation') -----
preambleCCode
^
'/* Disable Intel compiler inlining of warning which is used for breakpoints */
+ #pragma auto_inline(off)
- #pragma auto_inline off
sqInt warnpid, erroronwarn;
void
warning(char *s) { /* Print an error message but don''t necessarily exit. */
if (erroronwarn) error(s);
if (warnpid)
printf("\n%s pid %ld\n", s, (long)warnpid);
else
printf("\n%s\n", s);
}
void
warningat(char *s, int l) { /* ditto with line number. */
/* use alloca to call warning so one does not have to remember to set two breakpoints... */
char *sl = alloca(strlen(s) + 16);
sprintf(sl, "%s %d", s, l);
warning(sl);
}
+ #pragma auto_inline(on)
- #pragma auto_inline on
void
invalidCompactClassError(char *s) { /* Print a (compact) class index error message and exit. */
#if SPURVM
printf("\nClass %s does not have the required class index\n", s);
#else
printf("\nClass %s does not have the required compact class index\n", s);
#endif
exit(-1);
}
/*
* Define sigsetjmp and siglongjmp to be the most minimal setjmp/longjmp available on the platform.
*/
#if WIN32
# define sigsetjmp(jb,ssmf) setjmp(jb)
# define siglongjmp(jb,v) longjmp(jb,v)
#else
# define sigsetjmp(jb,ssmf) _setjmp(jb)
# define siglongjmp(jb,v) _longjmp(jb,v)
#endif
#define odd(v) ((int)(v)&1)
#define even(v) (!!odd(v))
'!
More information about the Vm-dev
mailing list