Jump to content

  • Log In with Google      Sign In   
  • Create Account

_Engine_

Member Since 24 Nov 2003
Offline Last Active Yesterday, 02:12 AM

Posts I've Made

In Topic: Crash on iOS arm64

14 April 2016 - 12:49 AM

This is great news :)


In Topic: Crash on iOS arm64

13 April 2016 - 09:59 AM

Sorry for not clear mention about compiling bytecode on Win32 and executing on arm64.

 

I hope problem will be solved soon :)


In Topic: Crash on iOS arm64

13 April 2016 - 02:53 AM

I modiffied declaration and AS_PTR_SIZE is always 2

#ifndef AS_64BIT_PTR
#define asBCTYPE_PTR_ARG    asBCTYPE_DW_ARG
#define asBCTYPE_PTR_DW_ARG asBCTYPE_DW_DW_ARG
#define asBCTYPE_wW_PTR_ARG asBCTYPE_wW_DW_ARG
#define asBCTYPE_rW_PTR_ARG asBCTYPE_rW_DW_ARG
#ifndef AS_PTR_SIZE
#define AS_PTR_SIZE 2
#endif
#else
#define asBCTYPE_PTR_ARG    asBCTYPE_QW_ARG
#define asBCTYPE_PTR_DW_ARG asBCTYPE_QW_DW_ARG
#define asBCTYPE_wW_PTR_ARG asBCTYPE_wW_QW_ARG
#define asBCTYPE_rW_PTR_ARG asBCTYPE_rW_QW_ARG
#ifndef AS_PTR_SIZE
#define AS_PTR_SIZE 2
#endif
#endif

But news are bad. Angelscript become crashes on script execution. Crash occurs in IDE and also in modified sample https://yadi.sk/d/bMkASSkJqvbYd

 

So bytecode definitely not platform independent.


In Topic: Crash on iOS arm64

13 April 2016 - 02:27 AM

Also i checked this code from angelscript.h:

#ifndef AS_64BIT_PTR
#define asBCTYPE_PTR_ARG    asBCTYPE_DW_ARG
#define asBCTYPE_PTR_DW_ARG asBCTYPE_DW_DW_ARG
#define asBCTYPE_wW_PTR_ARG asBCTYPE_wW_DW_ARG
#define asBCTYPE_rW_PTR_ARG asBCTYPE_rW_DW_ARG
#ifndef AS_PTR_SIZE
#define AS_PTR_SIZE 1
#endif
#else
#define asBCTYPE_PTR_ARG    asBCTYPE_QW_ARG
#define asBCTYPE_PTR_DW_ARG asBCTYPE_QW_DW_ARG
#define asBCTYPE_wW_PTR_ARG asBCTYPE_wW_QW_ARG
#define asBCTYPE_rW_PTR_ARG asBCTYPE_rW_QW_ARG
#ifndef AS_PTR_SIZE
#define AS_PTR_SIZE 2
#endif
#endif

So on Win32 define AS_PTR_SIZE will equal 1 and that why byte code not platform independent. It is very sad.


In Topic: Crash on iOS arm64

13 April 2016 - 01:42 AM

I use only Win32 build and you suggestion right AS_PTR_SIZE  is equal 1 thats why offsets are 3 and 4.

And asGetLibraryOptions return AS_WIN_AS_X86.

 

So i compiling script on Win32 build and expect that produced script is platform independent. And looks like Win32 not produce proper bytecode for 64 bit system.

And if it is true so this is very bad news for us. Because our IDE produce ipa for iOS and on IOS byte code must compatible for 32 bit and for 64 bit either. We cannot produce byte only for one system it is ridicules because not all IOS devices shipped with 64 bit CPU. On Android we use only 32 bit build for compatibility and 64 bit bytecode is useless on android.

 

So if we need 64 bit build of IDE for produce 64 bit compatible byte code it will broke complity export system of our IDE.

 

Looks like only way for us is stay with current pipeline and pray thats on arm64 angel script continue work without crashes.


PARTNERS