-
Notifications
You must be signed in to change notification settings - Fork 59
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Any chance of recompiling to http://asmjs.org/ #3
Comments
Yes, some other people are working on trying to update js.js to the latest version of Emscripten and LLVM. |
Do you have a link to this? |
No, but I have notified the two people who are working on it with this issue. I will ask them to post here. |
I am working on this now -- will post details when I get a bit closer. |
If you have any in-progress commits, feel free to push them to a branch. I can help you with any blockers. |
Quick status update: I was able to spend a little time today. I updated build.py and conf.py to use the LLVM 3.2 and the current emscripten. Luckily I am only seeing two compile errors (lots of warnings though). The errors are: In file included from /home/steele/dev/latest/js.js/builder/build/mozilla-central/js/src/jscompartment.cpp:53: I am looking at the second error now, but I don't have much time tonight. |
The second error looks troubling because I thought we hacked the entire JIT assembler out of the code that gets compiled. The first error is really confusing. Not sure where it's getting the int ** from, but maybe it's the wrong value for HAVE_VA_LIST_AS_ARRAY. I can try and help you dig deeper when I get some time, let me know if you make any progress in the meantime. |
Do you have the updates in a branch somewhere I can check out? |
I think I was able to get around both of these issues. I have the "fixes" in a local branch. I have not used github before to host my changes, I suppose I can put them up here? I will figure it out and put the info here. |
Ok, I believe I successfully forked your repo and committed my changes here: https://github.com/steelejoe/js.js.git I was able to get the compile to finish, I have not tested the output yet. The fix for the first error was pretty trivial the fix for the second seems hacky in the extreme. I realized after I committed that there are two changes that went into getting the compile to work and I am not sure which one did the trick (or if it was both). What is checked in is the hacky cast. What is not checked in is the setting of EMCC_LLVM_TARGET=i386-pc-linux-gnu which was suggested by the last question in the emscripten FAQ (https://github.com/kripken/emscripten/wiki/FAQ). I am trying again without the environment setting so I should know in a bit. |
Looks like the hacky code is not needed. The EMCC_LLVM_TARGET setting does the trick although I am not sure of the performance implication for JS. |
I see your fork, but there are no new commits in there. Did you commit locally but forget to push? |
You are right. I think it is in now. |
Hi, any update on this? Is the recompiled Js.js work any better, atleast on Firefox? |
Compiling now, but it takes a while.. I'll report back when I get a chance to try it out after it finishes. |
I am trying now with the ASM JS feature turned on and -O2. Getting some more errors -- for example: Working my way through. BTW -- I realized my fork does not have the updated emscripten either. I need to check that in. |
I updated my fork with the latest changes. I have ASM_JS building with -O0 but not with optimizations yet. I also did some script scrubbing to cleanup things that were bothering me. |
You might even get quite close to native speed then!
The text was updated successfully, but these errors were encountered: