07-19-2015, 05:09 AM
Further experimentation with the memory layout on OS X shows that commenting out the mirrors causes Dolphin to crash. (yes, fastmem is off) I will continue to look into this.
(03-22-2015, 01:58 AM)OatmealDome Wrote: [ -> ](03-21-2015, 03:59 PM)magumagu Wrote: [ -> ]Yes, it actually wants 16GB. The fact that we free it immediately is a bug. Note that it isn't actually allocating that much memory, just trying to reserve address space for fastmem. This hasn't been a problem on desktop OSes or Android; not sure why iOS doesn't like it.
If reserving the address space is really impossible on iOS, we'll need to modify the JIT to compensate for a different memory layout. Not impossible, but there would be a substantial performance penalty.
I looked more into this issue, and apparently iOS does limit the amount of addressable memory. Somebody made a program that attempts to exhaust the addressable memory and found the limit of how much a process can take. If you run it in the simulator, there are no restrictions. However, on the actual devices, there are restrictions and they vary with each device. The highest amount he got was on the retina iPad Mini (that is 64-bit), which was around 2GB! Presumably, this amount would be even less for iPhones!
So, from here,I could maybe try using setrlimit since we have access to root on a jailbroken device, orthe only option is to modify the JIT as you said...
UPDATE: getrlimit(RLIMIT_AS) says it's already set to the maximum value...
(07-23-2015, 09:59 AM)Sonicadvance1 Wrote: [ -> ]That was running under the simulator, which may not actually map correctly to the real device.
(07-23-2015, 06:45 AM)DatKid20 Wrote: [ -> ](03-22-2015, 01:58 AM)OatmealDome Wrote: [ -> ](03-21-2015, 03:59 PM)magumagu Wrote: [ -> ]Yes, it actually wants 16GB. The fact that we free it immediately is a bug. Note that it isn't actually allocating that much memory, just trying to reserve address space for fastmem. This hasn't been a problem on desktop OSes or Android; not sure why iOS doesn't like it.
If reserving the address space is really impossible on iOS, we'll need to modify the JIT to compensate for a different memory layout. Not impossible, but there would be a substantial performance penalty.
I looked more into this issue, and apparently iOS does limit the amount of addressable memory. Somebody made a program that attempts to exhaust the addressable memory and found the limit of how much a process can take. If you run it in the simulator, there are no restrictions. However, on the actual devices, there are restrictions and they vary with each device. The highest amount he got was on the retina iPad Mini (that is 64-bit), which was around 2GB! Presumably, this amount would be even less for iPhones!
So, from here,I could maybe try using setrlimit since we have access to root on a jailbroken device, orthe only option is to modify the JIT as you said...
UPDATE: getrlimit(RLIMIT_AS) says it's already set to the maximum value...
From that same page the Iphone 6 has a limit of >16.38GB on IOS 8.0
(07-24-2015, 03:43 AM)brujo5 Wrote: [ -> ](07-23-2015, 06:45 AM)DatKid20 Wrote: [ -> ](03-22-2015, 01:58 AM)OatmealDome Wrote: [ -> ](03-21-2015, 03:59 PM)magumagu Wrote: [ -> ]Yes, it actually wants 16GB. The fact that we free it immediately is a bug. Note that it isn't actually allocating that much memory, just trying to reserve address space for fastmem. This hasn't been a problem on desktop OSes or Android; not sure why iOS doesn't like it.
If reserving the address space is really impossible on iOS, we'll need to modify the JIT to compensate for a different memory layout. Not impossible, but there would be a substantial performance penalty.
I looked more into this issue, and apparently iOS does limit the amount of addressable memory. Somebody made a program that attempts to exhaust the addressable memory and found the limit of how much a process can take. If you run it in the simulator, there are no restrictions. However, on the actual devices, there are restrictions and they vary with each device. The highest amount he got was on the retina iPad Mini (that is 64-bit), which was around 2GB! Presumably, this amount would be even less for iPhones!
So, from here,I could maybe try using setrlimit since we have access to root on a jailbroken device, orthe only option is to modify the JIT as you said...
UPDATE: getrlimit(RLIMIT_AS) says it's already set to the maximum value...
From that same page the Iphone 6 has a limit of >16.38GB on IOS 8.0
he is not talking about disk space, he mean RAM Maximum usage.
Apple says maximum virtual memory addressable by an app is 750MB as well.