[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