Jump to content

View more

Image of the Day

Working on an auto spawn system. #gamedev #indiedev #screenshotsaturday https://t.co/Mm2kfekz7b
IOTD | Top Screenshots

The latest, straight to your Inbox.

Subscribe to GameDev.net Direct to receive the latest updates and exclusive content.


Sign up now
- - - - -

When to use asOBJ_APP_CLASS_ALLINTS

4: Adsense

Old topic!

Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.


  • You cannot reply to this topic
1 reply to this topic

#1 iraxef   Members   

451
Like
0Likes
Like

Posted 09 December 2013 - 05:05 AM

I read this post and it mentions the AMD64 ABI: http://www.gamedev.net/topic/614684-asobj-app-class-allints/

 

Does that mean that there's no benefit to using asOBJ_APP_CLASS_ALLINTS/FLOATS if you're targetting e.g. 32-bit Intel? I couldn't find anything in the documentation (besides the listing in the enum) as far as guidance for this thing's use.

 

Thank you



#2 Andreas Jonsson   Moderators   

4624
Like
1Likes
Like

Posted 09 December 2013 - 09:37 AM

The flags asOBJ_APP_CLASS_ALLINTS/FLOATS are used to tell AngelScript what the type of content the object has, so AngelScript can decide how the object should be passed to registered functions in native calling conventions. The only ABI so far that needs these flags is the AMD/Intel 64bit ABI that the g++ compiler uses. This specific ABI can decide to put the object in the CPU float registers or general registers depending on the type of the members of the class.

 

On any other platform or compiler the flags will have no effect.

 

The documentation that describes when/how to use these flags is here:

 

Manual: Value types and native calling convention

 

Regards,

Andreas


AngelCode.com - game development and more - Reference DB - game developer references
AngelScript - free scripting library - BMFont - free bitmap font generator - Tower - free puzzle game




Old topic!

Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.