-
Notifications
You must be signed in to change notification settings - Fork 117
SpiderMonkey upgrade #291
SpiderMonkey upgrade #291
Conversation
Funny story, that. The presence of invalid |
Why are there invalid Cargo.tomls in m-c? |
|
I'm just deleting all of m-c's test Cargo.toml files in servo/mozjs |
By deleting the test Cargo.toml files, and commit d0b0f5a, rust-mozjs builds successfully for me. We'll see what CI thinks... |
Travis CI OSX builds failing due to having an old clang/llvm? Do we need to update the .travis.yml config to use new OSX images?
Just pushed linux 64 bindings as well. Anyone care to help out with linux 32 and windows? |
Actually hold up a minute. This upgrade caught the big cx/rt refactoring that jandem did, so |
Looks like this upgrade also caught the move of roots from the runtime to zones... |
4e5bd84
to
1db7623
Compare
Ok, linux64 is passing in Travis CI. I updated the macos64 bindings locally and tested them and they are all good, but I expect them to fail on Travis CI again due to the llvm issues I mentioned before. Anyone have any ideas? I can choose a random OSX image that is new enough, but I'm not sure if there is a more principled approach you;d like to take... @nox @vvuk I think we are ready for windows and linux32 bindings updates now! |
Rebased.
|
☔ The latest upstream changes (presumably #298) made this pull request unmergeable. Please resolve the merge conflicts. |
Ok, I think all the bindings need to be regenerated again, now that we aren't using unsafe_no_drop_flag anymore. |
You can just do |
@metajack do you have opinions on the llvm thing mentioned above? |
If recent OS X images provided by Travis have the correct llvm, I think it's fine to udpate to those. Otherwise, it should be possible to install the required llvm version via brew. |
2d76ded
to
3d7704c
Compare
I am 95% sure this is a miscompilation by gdb. It is passing the first argument to the current function as the this parameter in a method call on what should be a stack allocated object that never is actually allocated. Completely nonsensical. I'll bet this works on Travis with a (hopefully) different compiler. |
FWIW, filed https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77448 for the gcc codegen issues I was seeing. |
Either |
I tried to make a reduced test case, however now |
From the most up to date draft of the x86-64 ABI I could find: AMD64 ABI Draft 0.99.7, Section 3.2.3 Parameter Passing, p. 19:
That seems fairly damning to rustc's behavior, here. ( |
File an issue on rustc? |
Nah the bindings were just badly generated, right @fitzgen? |
Yes, I managed to put non-DEBUG bindings in the _debug.rs file. I'm writing a patch to make it so that no one will repeat this mistake because it was a huge time sink figuring out what was going on. Travis CI is now green for OSX and linux 64. Just need linux 32 and windows now. |
I'll work on win32 right now. |
Trying to build this version (smup branch of mozjs-sys, commit b5b7c84990325cde5226) with MSVC I get:
This is pretty strange, since that uenum_close on line 128 is a stub (because intl is disabled) declared as |
I can fix this if I change
to
(and for other similar stub functions). I'm guessing that this was never tested with |
The other issue is that currently, the SM/Gecko build is broken with anything but MSVC or clang on Windows, because of https://bugzilla.mozilla.org/show_bug.cgi?id=1288313#c12 (configure fails). I'm working on a workaround. |
Okay, for windows: Note that without servo/mozjs/pull/99, mozjs will not be buildable on Windows (gcc has the WINNT issue, msvc has the anon namespace static issue). |
Update Windows Bindings
Proper union support landed in rust-bindgen. Should we account for this in that smup? |
So does this mean we need to rebase this PR and then the appveyor CI tests should start passing? Also, I think the docopt changes got backed out of bindgen and haven't relanded so we may need to update some scripts... |
The |
Oh wow, didn't realize this hadn't landed yet. What's wrong with the |
bindgen's backout of docopt made it so that the args aren't getting parsed correctly anymore for some reason. Still digging in. Additionally, I don't think the SpiderMonkey bindings have been regenerated since bindgen was completely rewritten, so maybe some fallout from there. |
Biggest issue with the bindings.sh script atm: tons of --match, which is no longer a supported flag. Working on it. |
Oh wow, okay. Give me a shout on irc if you need help with any Windows On Oct 12, 2016 5:03 PM, "Nick Fitzgerald" [email protected] wrote:
|
My current plan of action:
This stuff will mostly happen in https://bugzilla.mozilla.org/show_bug.cgi?id=1277338 |
@fitzgen Don't know if I told you that before, but if we could use the new support for unions in our bindgen, we can remove a few |
☔ The latest upstream changes (presumably #310) made this pull request unmergeable. Please resolve the merge conflicts. |
Closing since the activity is happening elsewhere. |
Recreated the PR to aid collaboration.
This change is