Subject: RE: [rohc] COPY_LITERAL and COPY_OFFSET torture test

From: "Lajos Zaccomer (ETH)" <[email-masked]>
Date: Mon, 9 Dec 2002 08:00:25 +0100

Hi,
 
0x4040 = 16448 > 16384, i.e. you need at least a UDVM memory of 32k for this test. The implementation seems quite all right to produce the error message below.
 
Zacco

-----Original Message-----
From: Mural Kumar [mailto:[email-masked]]
Sent: Monday, December 09, 2002 3:55 AM
To: [email-masked]
Subject: [rohc] COPY_LITERAL and COPY_OFFSET torture test

Hi,

  I'm having problems with my UDVM on sigcomp torture test for COPY_LITERAL and COPY_OFFSET. Problem arises while executing LOAD ($offset, 1) instruction. The contents of udvm at address "offset" and "offset+1" are 0x40 and 0x40 before executing the LOAD instruction. So, LOAD fails claiming "address out of udvm memory" (I allocated 4k to UDVM). 

Does sigcomp tests expects 64k memory for UDVM? Did anyone had any problems executing this particular torture test?

thanks in advance,

murali.

  _____  

Do you Yahoo!?
Yahoo! Mail  <http://rd.yahoo.com/mail/mailsig/*http://mailplus.yahoo.com> Plus - Powerful. Affordable. Sign up  <http://rd.yahoo.com/mail/mailsig/*http://mailplus.yahoo.com> now

---

From: "Lajos Zaccomer (ETH)" <[email-masked]>
Date: Tue, 10 Dec 2002 10:47:26 +0100

Hi,
 
I think the draft is quite clear about this. Apply the equation you can find there, which results in the following:
- if you start before byte_copy_left or between byte_copy_left and byte_copy_right, the address will be the same
- if you start at or after byte_copy_right, the mod operator will be applied (e.g. if bcl = 190 and bcr = 200, LOAD (201, x) will load x at address 191)
 
Best regards,
 
Zacco

-----Original Message-----
From: Chan Kwang Mien [mailto:[email-masked]]
Sent: Tuesday, December 10, 2002 10:37 AM
To: Mural Kumar
Cc: [email-masked]
Subject: Re: [rohc] COPY_LITERAL and COPY_OFFSET torture test

hi Mural,

from my interpretation of section 8.4 of the draft, byte_copy_left and byte_copy_right defines the boundaries for copying operations if the first byte to be
copied lies within the boundaries OR the first byte lies below the byte_copy_left. however, if the first byte to be copied lies above the byte_copy_right, 
then section 8.4 doesn't apply. so, in your case, i don't think the boundaries applies.

can anybody confirm this ? Thanks !!

regards,
Kwang Mien 

Hi , 

I'm wondering if my interpretation of section 8.4 is correct, especially when you have over written instructions and byte_copy_left + byte_copy_right. The draft says that copying should be done in ascending respecting the bounds of byte_copy_left and byte_copy_right. What if the start and/or destination are beyond byte_copy_left and byte_copy_right? 

Let's say, byte_copy_left = 64,  byte_copy_right = 128 and destination = 66. 

Let's say i have the following instructions. 

LOAD (destination, 256) 

COPY_LITERAL (130, 100, $destination). 

    How should the copying should take place for the above instruction? start and destination are beyond the byte_copy_left and byte_copy_right. In my implementation, i start copying from 130 into 256. Start and destination are updated as per section 8.4. 

Is my copying correct here? 

regards, 

Mural. 

Chan Kwang Mien <[email-masked]> wrote: 

hi Mural,

my UDVM memory is 2048 but i don't have this problem. take care that copying operation is bounded by byte_copy_left 

and byte_copy_right. So although the value in offset can be very large, it would not lead to decompression failure. this is 

further described in section 8.4 in the sigcomp draft.

regards, 

Kwang Mien

Hi,

thanks in advance,

murali.

Do you Yahoo!? 

Yahoo!  <http://rd.yahoo.com/mail/mailsig/*http://mailplus.yahoo.com> Mail Plus - Powerful. Affordable.  <http://rd.yahoo.com/mail/mailsig/*http://mailplus.yahoo.com> Sign up now 

Do you Yahoo!? 

Yahoo!  <http://rd.yahoo.com/mail/mailsig/*http://mailplus.yahoo.com> Mail Plus - Powerful. Affordable.  <http://rd.yahoo.com/mail/mailsig/*http://mailplus.yahoo.com> Sign up now

Do you Yahoo!?

---

From: "Price, Richard" <[email-masked]>
Date: Tue, 10 Dec 2002 11:04:24 -0000

Hi Mural,

You're right that some of the torture tests require more than
4K of UDVM memory. For this particular test a minimum of 32K is
required, so it's correct for the UDVM to give an "out of memory"
error when running with only 4K.

Regards,

Richard

-----Original Message-----
From: Mural Kumar [mailto:[email-masked]]
Sent: Monday, December 09, 2002 2:55 AM
To: [email-masked]
Subject: [rohc] COPY_LITERAL and COPY_OFFSET torture test

Hi,

Do you Yahoo!?
Yahoo! Mail Plus - Powerful. Affordable. Sign up now
_______________________________________________
Rohc mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/rohc

---

From: "Price, Richard" <[email-masked]>
Date: Tue, 10 Dec 2002 11:07:43 -0000

Hi Kwang Mien,

Your understanding of the behaviour of byte_copy_left and byte_copy_right
seems to be correct. However I think that the torture test for COPY-LITERAL
and COPY-OFFSET should have failed if your UDVM memory size is only 2K.

When the instruction LOAD ($offset, 1) is reached, the value contained
in $offset should be 16448. So the UDVM should copy the value 1 into its
memory beginning at Address 16448, and an "out of memory" error should
occur if the UDVM only has 2K available.

Regards,

Richard

-----Original Message-----
From: Chan Kwang Mien [mailto:[email-masked]]
Sent: Tuesday, December 10, 2002 9:37 AM
To: Mural Kumar
Cc: [email-masked]
Subject: Re: [rohc] COPY_LITERAL and COPY_OFFSET torture test

hi Mural,

regards,
Kwang Mien 

Hi , 

LOAD (destination, 256) 

regards, 

Mural. 

regards, 
Kwang Mien

Hi,

thanks in advance,

murali.

Do you Yahoo!? 

Do you Yahoo!? 

Do you Yahoo!?

---

From: "Price, Richard" <[email-masked]>
Date: Tue, 10 Dec 2002 11:13:47 -0000

Hi Zacco,

Your latest byte copying example mentions the LOAD instruction, but
LOAD doesn't belong to the set of instructions that use byte copying.
Instead it just writes directly to the specified memory address.

Also, looking at the equation in Section 8.4 of SigComp, if the byte
copying operation copies a byte to address m then the next byte is copied
to address n where n is calculated as follows:

Set k := m + 1 (modulo 2^16)
If k = byte_copy_right then set n := byte_copy_left, else set n := k

So, in particular, if you start copying at an address m that is greater
than or equal to byte_copy_right then the next address n will always
be m + 1 (modulo 2^16). This means that byte_copy_left and byte_copy_right
should be ignored in this case.

Regards,

Richard

-----Original Message-----
From: Lajos Zaccomer (ETH) [mailto:[email-masked]]
Sent: Tuesday, December 10, 2002 9:47 AM
To: 'Chan Kwang Mien'; Mural Kumar
Cc: [email-masked]
Subject: RE: [rohc] COPY_LITERAL and COPY_OFFSET torture test

Hi,

Best regards,

Zacco

-----Original Message-----
From: Chan Kwang Mien [mailto:[email-masked]]
Sent: Tuesday, December 10, 2002 10:37 AM
To: Mural Kumar
Cc: [email-masked]
Subject: Re: [rohc] COPY_LITERAL and COPY_OFFSET torture test

hi Mural,

regards,
Kwang Mien 

Hi , 

LOAD (destination, 256) 

regards, 

Mural. 

my UDVM memory is 2048 but i don't have this problem. take care that copying operation is bounded by byte_copy_left 
and byte_copy_right. So although the value in offset can be very large, it would not lead to decompression failure. this is further described in section 8.4 in the sigcomp draft.

regards, 
Kwang Mien

Hi,

thanks in advance,

murali.

Do you Yahoo!? 

Do you Yahoo!? 

Do you Yahoo!?