Loading ...
Sorry, an error occurred while loading the content.

[jallist] Re: assertion failure in 00.04-15, 16

Expand Messages
  • Benjamin Petersen
    I have one of those problems too... I ll send the bug tomorrow. Regards Benjamin Petersen ... eGroups.com home: http://www.egroups.com/group/jallist
    Message 1 of 4 , Jun 1, 1999
    • 0 Attachment
      I have one of those problems too... I'll send the bug tomorrow.

      Regards
      Benjamin Petersen


      > -----Original Message-----
      > From: w. v. ooijen / f. hanneman [mailto:wf@...]
      > Sent: Monday, May 31, 1999 6:50 PM
      > To: axelk@...; 'jallist@egroups.com'
      > Subject: [jallist] Re: assertion failure in 00.04-15, 16
      >
      >
      > > Hi Wouter, hi all ...
      > > I cannot compile my project with the 00.04-15 and 00.04-16
      > > versions, see below (target is 16F84/4):
      >
      > > What is checked in jal.c line 8385 ?
      > > Enabling logging and searching for "3683" finds nothing ...
      > The jal compiler is full of assertions that check the assumptions
      > made by the subsequent code. This one is about the target
      > of a call or goto node being a label node. The 3683 is the
      > number of the node, enabling enough logging should produce
      > a log of the internal tree with (a.o.) this node. That is how
      > I debug the compiler.
      >
      > > What is the difference between "-oxW" and "-oXfrsctd" ?
      > -ob: do not optimize bank instructions. That is SX-specific, but
      > those parts of the compiler are always executed.
      >
      > > If needed, i can send the source, but it's ugly because I'm
      > > using a precompiler and heavily modified libs.
      >
      > I think I know what is going wrong, but could you mail me your source
      > (or a small part that shows this behaviour) so I can verify that the
      > correction I put in does indeed solve the problem?
      >
      > When your lib modifications are improvements I'm interested!
      >
      > Wouter.
      >
      > --------------------------------------------------------------
      > ----------
      > eGroups Spotlight:
      > "Prisoners of War issues" - Talk about issues concerning those
      > missing-in-action and prisoners of wars of all nations.
      > http://clickhere.egroups.com/click/111
      >
      >
      > eGroups.com home: http://www.egroups.com/group/jallist
      > http://www.egroups.com - Simplifying group communications
      >
      >
      >
      >
      >

      ------------------------------------------------------------------------

      eGroups.com home: http://www.egroups.com/group/jallist
      http://www.egroups.com - Simplifying group communications
    • w. v. ooijen / f. hanneman
      Hi Axel The problem you reported should be solved with 04-17. The source you send offers me a nice inspiration for code generation improvement! You use the
      Message 2 of 4 , Jun 5, 1999
      • 0 Attachment
        Hi Axel

        The problem you reported should be solved with 04-17.
        The source you send offers me a nice inspiration
        for code generation improvement!

        You use the sequence
        asm movlw c
        asm call p
        a lot, but from 04-15 on routines with a single in parameter
        will pass this in w, so the code above code is also generated by
        p( c )
        But the code inside p is still less efficient with the explicit
        parameter, I'm working on that. But use call lcd() one time (!)
        anyway so that code is already present.

        Another idom that appears often in your code is a sequence of
        if a == c1 then b = c2 end if
        if a1 == c3 then b = c4 end if
        etc
        This can be done more compact than is possible in the current JAL
        via a function that returns one of the c2, c4 etc. or 0 for no match.
        The code in the function would be something like
        movfw a
        xorlw c1
        skpnz
        retlw c2
        xorlw ( c1 ^ c3 )
        skpnz
        retlw c4
        etc
        I think I must create a case statement to be able to generate
        such compact code, but when code space is scarce you
        could hand-code this.

        For some tables in your program (the bit patterns for the 'sonderzeichen')
        you could put the data in the eeprom, that would also save some code.

        regards,
        Wouter.



        ------------------------------------------------------------------------

        eGroups.com home: http://www.egroups.com/group/jallist
        http://www.egroups.com - Simplifying group communications
      Your message has been successfully submitted and would be delivered to recipients shortly.