2014-11-27 4 views
0

C (resp C++)에서는이 함수에 할당 된 스택 프레임에 함수 (resp. method)에 국한된 배열, 구조체 (resp.objects)를 할당 할 수 있습니다.robovm은 힙이 아닌 스택에 로컬 메소드 객체를 할당 할 수 있습니까?

그러나 자바에서는 모든 개체가 힙에 할당되며 심지어 개체의 메서드에 완전히 국한되어 메서드 외부로 누출되지 않습니다.

경우에 따라 이러한 개체를 힙이 아닌 스택에 할당하면 효율성이 크게 향상됩니다.

RoboVM 코드 생성이 이것을 지원합니까, 아니면 앞으로 지원할 수 있습니까?

감사합니다.

답변

0

RoboVM은 스택 할당을 지원하지 않습니다. 일부 VM은 분석을 피하여 특정 할당이 메소드에 대해 로컬인지 여부를 결정하고 힙 대신 스택에서 수행 할 수 있습니다. 나중에 사용자가 직접 제어 할 수는 없지만 RoboVM에 추가 할 수 있습니다. IBM이 .NET의 구조체 인 http://www.slideshare.net/mmitran/ibm-java-packed-objects-mmit-20121120과 비슷한 것을 실험하고 있다는 것을 알고 있습니다. 이것이 표준으로 받아 들여지면 우리는 RoboVM에서 그것을 구현하려고 시도 할 것입니다.

+0

답변 해 주셔서 감사 드리며,이 .NET 기능을 알지 못했습니다. 이 기능이 Java/Scala 영역으로 들어가기를 바랍니다. – remi