Skip to content
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

Run on Rust stable #95

Merged
merged 13 commits into from Jul 27, 2015
Merged

Run on Rust stable #95

merged 13 commits into from Jul 27, 2015

Conversation

@SimonSapin
Copy link
Member

SimonSapin commented Jul 18, 2015

Without --features unstable:

  • Atom is 16 bytes instead of 8. (It has a drop flag.)
  • ns! and atom! are giant generated macros instead of plugins, and so may increase compile times.

r? @glennw, particularly c4fa256.

Needed for servo/html5ever#53

Review on Reviewable

@SimonSapin SimonSapin force-pushed the stable branch 3 times, most recently from 8cbd44a to 17ced83 Jul 18, 2015
@glennw
Copy link
Member

glennw commented Jul 20, 2015

Reviewed 13 of 14 files at r1.
Review status: 13 of 14 files reviewed at latest revision, 3 unresolved discussions, all commit checks successful.


.travis.yml, line 8 [r1] (raw file):
Is this saying we don't run the tests on anything but nightly? Is there a reason for that?


src/atom/mod.rs, line 91 [r1] (raw file):
I think this still handles the ABA case mentioned in the comments. Might be worth a double check though.


src/atom/mod.rs, line 234 [r1] (raw file):
Do we still need this check for the optimized case?


Comments from the review on Reviewable.io

@SimonSapin
Copy link
Member Author

SimonSapin commented Jul 20, 2015

Review status: 10 of 14 files reviewed at latest revision, 3 unresolved discussions, some commit checks pending.


.travis.yml, line 8 [r1] (raw file):
Yes, because benchmarks and some tests require unstable features. I’ve added a commit to disable just those when --feature unstable is not given.


src/atom/mod.rs, line 234 [r1] (raw file):
I don’t understand. Need what in what case? There is no refcount to decrement if an atom is not dynamic.


Comments from the review on Reviewable.io

@SimonSapin
Copy link
Member Author

SimonSapin commented Jul 21, 2015

Review status: 10 of 14 files reviewed at latest revision, 3 unresolved discussions, all commit checks successful.


src/atom/mod.rs, line 91 [r1] (raw file):
I believe the logic is the same as before in all three cases:

  • ptr is null: allocate a new entry and return a pointer to that entry.
  • ptr is not null, and the refcount was zero before we incremented it: decrement it again, allocate a new entry and return a pointer to that entry.
  • ptr is not null, and the refcount was positive: return ptr unchanged.

Comments from the review on Reviewable.io

@bors-servo
Copy link
Contributor

bors-servo commented Jul 24, 2015

The latest upstream changes (presumably #96) made this pull request unmergeable. Please resolve the merge conflicts.

SimonSapin added 12 commits Jul 18, 2015
We only need 2 bits to store the tag (which is 0b_00, 0b_01, or 0b_10).
This will enable using `Box::new` instead of `heap::allocate`.

@gw, was there another reason to have it at 16?
…eature flag.

Without `--features unstable`:

* `Atom` is 16 bytes instead of 8. (It has a drop flag.)
* `ns!` and `atom!` are giant generated macros instead of plugins, and
so may increase compile time.
That way, a deprecation warning won’t break dependants.
It’s not necessary, but makes it clearer to readers what’s going on.
@glennw
Copy link
Member

glennw commented Jul 26, 2015

Reviewed 1 of 14 files at r1.
Review status: 9 of 13 files reviewed at latest revision, 3 unresolved discussions, all commit checks successful.


Comments from the review on Reviewable.io

@glennw
Copy link
Member

glennw commented Jul 26, 2015

@SimonSapin looks good to me.

@SimonSapin
Copy link
Member Author

SimonSapin commented Jul 27, 2015

@bors-servo r=glennw

@bors-servo
Copy link
Contributor

bors-servo commented Jul 27, 2015

📌 Commit f7fd964 has been approved by glennw

@bors-servo
Copy link
Contributor

bors-servo commented Jul 27, 2015

Testing commit f7fd964 with merge dd1b626...

bors-servo pushed a commit that referenced this pull request Jul 27, 2015
bors-servo
Run on Rust stable

Without `--features unstable`:

* `Atom` is 16 bytes instead of 8. (It has a drop flag.)
* `ns!` and `atom!` are giant generated macros instead of plugins, and so may increase compile times.

r? @glennw, particularly c4fa256.

Needed for servo/html5ever#53

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/string-cache/95)
<!-- Reviewable:end -->
@bors-servo
Copy link
Contributor

bors-servo commented Jul 27, 2015

☀️ Test successful - travis

@bors-servo bors-servo merged commit f7fd964 into master Jul 27, 2015
2 of 3 checks passed
2 of 3 checks passed
homu Testing commit f7fd964 with merge dd1b626...
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details
continuous-integration/travis-ci/push The Travis CI build passed
Details
@SimonSapin SimonSapin deleted the stable branch Jul 27, 2015
SimonSapin added a commit to servo/servo that referenced this pull request Jul 30, 2015
josiahdaniels added a commit to josiahdaniels/servo that referenced this pull request Sep 28, 2015
@SimonSapin SimonSapin mentioned this pull request Nov 19, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

3 participants
You can’t perform that action at this time.