Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign upAvoid bare *mut JSObject arguments in webidl codegen #26699
Conversation
highfive
commented
May 28, 2020
|
Heads up! This PR modifies the following files:
|
|
r? @nox |
|
cc @kunalmohan |
|
@bors-servo r+ |
|
|
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
|
|
…uments.
|
@bors-servo r+ |
|
|
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
|
|
|
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
|
|
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. |
jdm commentedMay 28, 2020
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 JSObjectvs.RootedTraceableBox<Heap<*mut JSObject>, which then was a good reason to chooseHandleObjectwhen possible instead../mach build -ddoes not report any errors./mach test-tidydoes not report any errors