jitless mode broken on ARM64

117 views
Skip to first unread message

Darin Dimitrov

unread,
Aug 7, 2019, 8:09:29 AM8/7/19
to v8-users
I have cross compiled V8 for iOS and running in "--jitless" mode on an arm64 device (iPhone 6).

Everything has been working smoothly until the following commit which appears to have broken it: https://chromium.googlesource.com/v8/v8.git/+/d1a4706af97dfd1576c7eb505745c6f864f4be06

I am getting the following error when creating the isolate:

#

# Fatal error in , line 0

# Fatal process out of memory: Failed to reserve memory for new V8 Isolate

#

#

#

#FailureMessage Object: 0x16fa225c8

==== C stack trace ===============================


    0   TestApp                             0x0000000101b19508 v8::base::debug::StackTrace::StackTrace() + 24

    1   TestApp                             0x0000000101b1bc68 v8::platform::(anonymous namespace)::PrintStackTrace() + 24

    2   TestApp                             0x0000000101b159d4 V8_Fatal(char const*, ...) + 204

    3   TestApp                             0x0000000101285124 v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, bool) + 88

    4   TestApp                             0x00000001014ecf38 v8::internal::IsolateAllocator::CommitPagesForIsolate(unsigned long) + 0

    5   TestApp                             0x00000001014ed09c v8::internal::IsolateAllocator::IsolateAllocator(v8::internal::IsolateAllocationMode) + 44

    6   TestApp                             0x00000001014f3b5c v8::internal::Isolate::New(v8::internal::IsolateAllocationMode) + 36

    7   TestApp                             0x00000001012a0328 v8::Isolate::New(v8::Isolate::CreateParams const&) + 24

    8   TestApp                             0x0000000101089d1c tns::Runtime::Init(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) + 476

    9   TestApp                             0x0000000101089834 tns::Runtime::InitAndRunMainScript(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) + 60

    10  TestApp                             0x0000000101178350 +[NativeScript start:] + 364

    11  TestApp                             0x00000001003f3b10 main + 80

    12  libdyld.dylib                       0x00000002021f68e0 <redacted> + 4



From what I can see pointer compression has been enabled on ARM64 in this commit. Could you spot how this might have affected --jitless mode and what would be the proper way to fix it?

Jakob Gruber

unread,
Aug 7, 2019, 8:13:32 AM8/7/19
to v8-u...@googlegroups.com, Santiago Aboy Solanes

--
--
v8-users mailing list
v8-u...@googlegroups.com
http://groups.google.com/group/v8-users
---
You received this message because you are subscribed to the Google Groups "v8-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to v8-users+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/v8-users/600728f0-f7b1-4d16-a47a-8873ef61af97%40googlegroups.com.

Jakob Gruber

unread,
Aug 8, 2019, 12:49:16 AM8/8/19
to Santiago Aboy Solanes, v8-u...@googlegroups.com
Darin, thanks for reporting this. You can disable pointer compression with the 'v8_enable_pointer_compression = false' gn flag.

On Wed, Aug 7, 2019 at 5:24 PM Santiago Aboy Solanes <sol...@google.com> wrote:

Darin Dimitrov

unread,
Aug 8, 2019, 2:13:04 AM8/8/19
to v8-users
Thanks for the quick tip. Shouldn't pointer compression be disabled by default when target_os="ios"? Or is it just some issue that will be fixed and we will be able to use pointer compression in jitless mode in the future?


On Thursday, August 8, 2019 at 7:49:16 AM UTC+3, Jakob Gruber wrote:
Darin, thanks for reporting this. You can disable pointer compression with the 'v8_enable_pointer_compression = false' gn flag.

On Wed, Aug 7, 2019 at 5:24 PM Santiago Aboy Solanes <sol...@google.com> wrote:
On Wed, Aug 7, 2019 at 1:13 PM Jakob Gruber <jgr...@chromium.org> wrote:
To unsubscribe from this group and stop receiving emails from it, send an email to v8-u...@googlegroups.com.

Jakob Gruber

unread,
Aug 8, 2019, 2:49:47 AM8/8/19
to v8-u...@googlegroups.com
The CL you pointed to experimentally enables it for arm64 (so also iOS). I don't know what the cause is but yes, pointer compression should work in jitless mode.

To unsubscribe from this group and stop receiving emails from it, send an email to v8-users+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/v8-users/99754d9b-1422-43b0-bd40-90514177cda2%40googlegroups.com.

Santiago Aboy Solanes

unread,
Aug 8, 2019, 6:55:12 AM8/8/19
to v8-users
Your error seems to be the same as https://bugs.chromium.org/p/v8/issues/detail?id=9588

We are looking into it.

Reply all
Reply to author
Forward
0 new messages