[M3commit] [modula3/cm3] ced183: Aligned_procedures always FALSE -- reduce target v...

Jay K jay.krell at cornell.edu
Mon Sep 21 04:21:03 CEST 2015


I don't think so. Calls through function pointers will incur like two extra instructions, an and and a conditional branch. All 32bit targets in fact will pay that cost, and only arm32 needs it.

I have another propose a week or so go, roughly, for all targets:   mask off lower two bits    only read 4 bytes 
   That would avoid the conditional branch.It should work for all targets also.The masking is only needed for ARM32.All other targets have either 4-byte aligned instructions, or don't care about alignment faults.

 - Jay



> Subject: Re: [M3commit] [modula3/cm3] ced183: Aligned_procedures always FALSE -- reduce target v...
> From: hosking at purdue.edu
> Date: Mon, 21 Sep 2015 10:47:05 +1000
> CC: m3commit at elegosoft.com
> To: jay.krell at cornell.edu
> 
> This will break some targets I believe. X86/x86-64 no?
> 
> Sent from my iPhone
> 
> > On Sep 21, 2015, at 2:43 AM, jaykrell <jay.krell at cornell.edu> wrote:
> > 
> >  Branch: refs/heads/master
> >  Home:   https://github.com/modula3/cm3
> >  Commit: ced183d086a829001f44ea5f8f791df2e3952d4f
> >      https://github.com/modula3/cm3/commit/ced183d086a829001f44ea5f8f791df2e3952d4f
> >  Author: jaykrell <jay.krell at cornell.edu>
> >  Date:   2015-09-20 (Sun, 20 Sep 2015)
> > 
> >  Changed paths:
> >    M m3-sys/m3middle/src/Target.m3
> > 
> >  Log Message:
> >  -----------
> >  Aligned_procedures always FALSE -- reduce target variation
> > 
> > 
> > _______________________________________________
> > M3commit mailing list
> > M3commit at elegosoft.com
> > https://mail.elegosoft.com/cgi-bin/mailman/listinfo/m3commit
 		 	   		  
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://m3lists.elegosoft.com/pipermail/m3commit/attachments/20150921/fd49d358/attachment-0002.html>


More information about the M3commit mailing list