Oh, I misread Module.getValue and Module.setValue that they'd do unaligned
accesses. Well, what happens if you combine that modification with -s
UNALIGNED_MEMORY=1? Are those two incompatible?


2014-05-08 15:48 GMT+03:00 Christoph Husse <[email protected]>:

> As this was the initial problem. The application does not work without
> UNALIGNED_MEMORY.
>
> On Thu, May 8, 2014 at 2:47 PM, Christoph Husse
> <[email protected]> wrote:
> > Well its a nice thought but the issue will most likely be that then
> > the application gets broken and doesn't do what it would normally do
> > ;). I need the UNALIGNED_MEMORY fix in combination with a notification
> > for actual unaligned accesses.
> >
> > On Thu, May 8, 2014 at 2:11 PM, Jukka Jylänki <[email protected]> wrote:
> >> Hmm, looking at the current code, as a quick manual fix you could try
> >> compiling with -s SAFE_HEAP=1, and then going to the output file and
> editing
> >> the generated functions SAFE_HEAP_LOAD and SAFE_HEAP_STORE to just
> >> 'console.error()' instead of 'abort()'. Does that work?
> >>
> >>
> >> 2014-05-08 14:39 GMT+03:00 Christoph Husse <[email protected]
> >:
> >>
> >>> EWWW!!!
> >>>
> >>> Looks like I have alignment issues (and well... my code too xD).
> >>>
> >>> So I have now worked a lot on the sources to have the same types on
> >>> all platforms, compile by using a single "cpp" file, etc... And I also
> >>> got the emscripten options like SAFE_HEAP really to work.
> >>> After executing the thing with Node.js I see that I have unaligned
> >>> reads & writes. using UNALIGNED_MEMORY=1 fixes it but its slow because
> >>> it generates the machinery for all loads/stores while only few of them
> >>> are unaligned.
> >>>
> >>> Is there a way to use UNALIGNED_MEMORY while at the same time listing
> >>> all the places where it actually encountered an unaligned load/store?
> >>> That would be really helpful because right now I would have to find an
> >>> offending line, recompile, restart, find the next offending line,
> >>> etc... This would be extremely time consuimg especially since one
> >>> iteration may well take over 5 minutes...
> >>>
> >>> Any ideas?
> >>>
> >>> On Wed, May 7, 2014 at 9:31 AM, Jukka Jylänki <[email protected]>
> wrote:
> >>> > Emscripten/JS is a little endian platform, just like X86, so the same
> >>> > code
> >>> > paths should work for JS and X86. It is ok to test for this at
> runtime
> >>> > and
> >>> > do different things based on the result. Just make sure that the JS
> >>> > platform
> >>> > correctly takes the little endian path and that should be all good
> >>> > there.
> >>> >
> >>> >
> >>> > 2014-05-07 9:49 GMT+03:00 Christoph Husse <
> [email protected]>:
> >>> >>
> >>> >> Okay thanks for that input. Gonna try it today. Maybe SAFE_HEAP was
> off
> >>> >> because I didn't get any output.
> >>> >>
> >>> >> Besides what you have recommended, I was working on "un-stding" my
> >>> >> sources
> >>> >> yesterday with success. There are NO standard library headers and
> also
> >>> >> no
> >>> >> memory allocations (everything froma  static buffer) and no
> conditional
> >>> >> compilation macros... All types are the same size and sign on all
> >>> >> platforms
> >>> >> now.
> >>> >>
> >>> >> Only left is the big/little endian thing. Do you know if it is okay
> to
> >>> >> do
> >>> >> runtime code switches based on endianess? The code needs to take
> >>> >> different
> >>> >> paths depending on endianess... Its a very low level CPU emulator,
> so
> >>> >> there
> >>> >> is a lot of very platform specific low-level code in it.
> >>> >>
> >>> >>
> >>> >> --
> >>> >> You received this message because you are subscribed to the Google
> >>> >> Groups
> >>> >> "emscripten-discuss" group.
> >>> >> To unsubscribe from this group and stop receiving emails from it,
> send
> >>> >> an
> >>> >> email to [email protected].
> >>> >>
> >>> >> For more options, visit https://groups.google.com/d/optout.
> >>> >
> >>> >
> >>> > --
> >>> > You received this message because you are subscribed to a topic in
> the
> >>> > Google Groups "emscripten-discuss" group.
> >>> > To unsubscribe from this topic, visit
> >>> >
> >>> >
> https://groups.google.com/d/topic/emscripten-discuss/tOz2Yc_sLuA/unsubscribe
> .
> >>> > To unsubscribe from this group and all its topics, send an email to
> >>> > [email protected].
> >>> > For more options, visit https://groups.google.com/d/optout.
> >>>
> >>> --
> >>> You received this message because you are subscribed to the Google
> Groups
> >>> "emscripten-discuss" group.
> >>> To unsubscribe from this group and stop receiving emails from it, send
> an
> >>> email to [email protected].
> >>> For more options, visit https://groups.google.com/d/optout.
> >>
> >>
> >> --
> >> You received this message because you are subscribed to a topic in the
> >> Google Groups "emscripten-discuss" group.
> >> To unsubscribe from this topic, visit
> >>
> https://groups.google.com/d/topic/emscripten-discuss/tOz2Yc_sLuA/unsubscribe
> .
> >> To unsubscribe from this group and all its topics, send an email to
> >> [email protected].
> >> For more options, visit https://groups.google.com/d/optout.
>
> --
> You received this message because you are subscribed to the Google Groups
> "emscripten-discuss" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"emscripten-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to