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
Avoid bare *mut JSObject arguments in webidl codegen #26699
Conversation
Heads up! This PR modifies the following files:
|
r? @nox |
cc @kunalmohan |
@bors-servo r+ |
📌 Commit 21f0fde has been approved by |
Avoid bare *mut JSObject arguments in webidl codegen The motivation here was fixing a bug where argument type calculation did not treat inner types of sequences correctly. This required updating some logic for when to choose to use `*mut JSObject` vs. `RootedTraceableBox<Heap<*mut JSObject>`, which then was a good reason to choose `HandleObject` when possible instead. --- - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors - [x] These changes fix #13308 - [x] There are tests for these changes
💔 Test failed - status-taskcluster |
@bors-servo r+ |
📌 Commit 0a35363 has been approved by |
Avoid bare *mut JSObject arguments in webidl codegen The motivation here was fixing a bug where argument type calculation did not treat inner types of sequences correctly. This required updating some logic for when to choose to use `*mut JSObject` vs. `RootedTraceableBox<Heap<*mut JSObject>`, which then was a good reason to choose `HandleObject` when possible instead. --- - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors - [x] These changes fix #13308 - [x] There are tests for these changes
💔 Test failed - status-taskcluster |
The crashes come from creating Handle values from stack temporary pointers (ie. taking the result of |
Improve precision of sequence types for WebIDL codegen. Unlike #26699, this doesn't attempt to improve any of the resulting types and only maintains the status quo. --- - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors - [x] There are tests for these changes
Improve precision of sequence types for WebIDL codegen. Unlike #26699, this doesn't attempt to improve any of the resulting types and only maintains the status quo. --- - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors - [x] There are tests for these changes
Improve precision of sequence types for WebIDL codegen. Unlike #26699, this doesn't attempt to improve any of the resulting types and only maintains the status quo. --- - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors - [x] There are tests for these changes
☔ The latest upstream changes (presumably #26718) made this pull request unmergeable. Please resolve the merge conflicts. |
Implement GPURenderPipeline <!-- Please describe your changes on the following line: --> We need to wait for #26699 to merge before this. A significant amount of validation still needs to be added. I plan on doing that in a follow-up PR. r?@kvark --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: --> - [x] `./mach build -d` does not report any errors - [X] `./mach test-tidy` does not report any errors - [ ] These changes fix #___ (GitHub issue number if applicable) <!-- Either: --> - [ ] There are tests for these changes OR - [ ] These changes do not require tests because ___ <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
Implement GPURenderPipeline <!-- Please describe your changes on the following line: --> We need to wait for #26699 to merge before this. A significant amount of validation still needs to be added. I plan on doing that in a follow-up PR. r?@kvark --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: --> - [x] `./mach build -d` does not report any errors - [X] `./mach test-tidy` does not report any errors - [ ] These changes fix #___ (GitHub issue number if applicable) <!-- Either: --> - [ ] There are tests for these changes OR - [ ] These changes do not require tests because ___ <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
Implement GPURenderPipeline <!-- Please describe your changes on the following line: --> We need to wait for #26699 to merge before this. A significant amount of validation still needs to be added. I plan on doing that in a follow-up PR. r?@kvark --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: --> - [x] `./mach build -d` does not report any errors - [X] `./mach test-tidy` does not report any errors - [ ] These changes fix #___ (GitHub issue number if applicable) <!-- Either: --> - [ ] There are tests for these changes OR - [ ] These changes do not require tests because ___ <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
This still needs a rebase (for once that I see old stuff on which I can ping you and not the reverse… 🤡) |
It needs more than a rebase. It needs a fundamental rethink. |
The motivation here was fixing a bug where argument type calculation did not treat inner types of sequences correctly. This required updating some logic for when to choose to use
*mut JSObject
vs.RootedTraceableBox<Heap<*mut JSObject>
, which then was a good reason to chooseHandleObject
when possible instead../mach build -d
does not report any errors./mach test-tidy
does not report any errorsOption<NonZero<*mut JSObject>>
in function arguments. #13308