You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ignite.apache.org by "Denis Magda (JIRA)" <ji...@apache.org> on 2015/09/16 17:39:45 UTC

[jira] [Created] (IGNITE-1497) Support CPU architectures different from x86/x64

Denis Magda created IGNITE-1497:
-----------------------------------

             Summary: Support CPU architectures different from x86/x64
                 Key: IGNITE-1497
                 URL: https://issues.apache.org/jira/browse/IGNITE-1497
             Project: Ignite
          Issue Type: Improvement
          Components: general
            Reporter: Denis Magda


Ignite widely uses {{Unsafe}} instance throughout the code and the usage is mostly based on the fact that the platform will be running on a little-endian x86/x64 machine.

As an example the following classes work with short, int, long and other type values bigger than 1 byte in size without taking CPU endiannes into account:
- {{DirectByteBufferStream}};
- {{PortableObjectOffheapImpl}};
- {{GridUnsafeDataOutput}};
- etc.

This leads to VM crashes on different CPU architectures:
- IGNITE-1493;
- http://stackoverflow.com/questions/32592881/apache-ignite-arm-unsafe-getfloat-segmentation-fault

All the classes that use {{Unsafe}} in Ignite have to be revisited and modified in a way to support different CPU architectures.




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)