Ticket #1251 (new todo)

Opened 5 years ago

Last modified 4 years ago

handle ARM mixed-endian doubles

Reported by: jkeenan Owned by:
Priority: normal Milestone:
Component: core Version: 1.7.0
Severity: medium Keywords:
Cc: Language:
Patch status: Platform:

Description

This ticket moves discussion into Trac from  RT #37461.

Leopold Toetsch opened the ticket in October 2005:

Parrot bytecode (PBC) is designed to be portable. Therefore we need some code to convert ARM-generated PBCs to machine-native doubles and ARM architectures must be able to read other already supported float types.

A PBC header has a 'floattype' field, which identifies known FLOATVAL layouts.

We have currently:

0 ... 8 byte IEEE double 1 ... 12 byte IEEE double (both according to endianess)

We need additionally (at least and AFAIK):

2 ... 8 byte (ARM) mixed-endian

which is according to Nicholas a LE double with 2 BE arranged words.

And Nicholas Clark commented:

and totally legal IEEE.

(Mozilla thought that it could cheat. And it was wrong)

The mixed endian is the old soft float, as I understand it, and will be replaced by something less surprising, but that's a C ABI change.

... and that's where things stand.

Change History

Changed 4 years ago by jkeenan

Is there anyone who could take a whack at this ticket?

Note: See TracTickets for help on using tickets.