Did anybody try to make a non-x86's RomImages.cpp and compare with x86's RomImages.cpp? Are they the same?
Could I generate all platform's RomImages.cpp on x86 platform, such as arm, midp and ti-omap?
ROMImage.cpp is platform-independent.
In a typical build scenario, ROMImage.cpp for arm target is generated on x86 host.
I appreciated your reply. Thanks.
I would like to make sure is it ok to use RomImages.cpp which made by x86 romgen.exe(I mean I used the win32 build) on any target (arm, mips, etc,.)?
Becasue of I found a different block in RomImages.cpp. please see below.
/* Info for checking AOT compiler consistency */
const int _rom_check_JavaFrame__stack_bottom_pointer_offset = -20; (4: arm)
const int _rom_check_JavaFrame__return_address_offset = 4; (-20: arm)
const int _rom_check_EntryFrame__stored_obj_value_offset = -20; (4: arm)
const int _rom_check_EntryFrame__fake_return_address_offset = 4; (-20: arm)
const int _rom_check_StackValue__stack_tag_offset = -4; (4: arm)
Of course, some addresses in ROM_BL(xxx,xxx) are not the same.
Yes, the exception is AOT-compilation: ROM image contains compiled code for selected
methods. It is clearly platform-dependent stuff.
These checks _rom_check_* are generated to make sure that AOT-compiler uses the same information about the platform as is used in the target VM build.
When AOT-compiler is enabled, ROM image is no longer platform-independent and you need to use the ROM image generated for your particular platform.
It's really helpful for me. Thanks.
Your use of this web site or any of its content or software indicates your agreement to be bound by these Terms of Participation.
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.