-
Notifications
You must be signed in to change notification settings - Fork 4.7k
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
[wasm] improve memory access and marshaling range checks #64845
Conversation
Tagging subscribers to 'arch-wasm': @lewing Issue Details
|
/azp run runtime-extra-platforms |
Azure Pipelines successfully started running 1 pipeline(s). |
/azp run runtime-extra-platforms |
Azure Pipelines successfully started running 1 pipeline(s). |
/azp run runtime-wasm |
Azure Pipelines successfully started running 1 pipeline(s). |
This pull request has been automatically marked |
This pull request will now be closed since it had been marked |
* removed support for long form automatic marshaler. It has impact to mono_bind_static_method
4238f0a
to
d119e50
Compare
Big fan of the I52 / I64Big split, good idea |
I implemented feedback from @kg about availability of I also had discussion with @lambdageek about 52 integral bits of Number vs Int64. We concluded that emscripten's silent usage of only lower 32 bit is bad. I also realized that silent usage of lower 52bits could be similarly bad. This is breaking change, but failing fast should be better than silent data corruption on runtime. |
I realized that all the other Or remove the range check from Int52 ? |
I think we never had |
- implemented range check on all set memory operations - implemented also uint52 - differentiated bool marshaling because it shoud have different validation and message
We agreed with @kg to range-check them all. |
/azp run runtime-wasm |
Azure Pipelines failed to run 1 pipeline(s). |
/azp run runtime-wasm |
Azure Pipelines successfully started running 1 pipeline(s). |
/azp run runtime-wasm |
Azure Pipelines successfully started running 1 pipeline(s). |
....Runtime.InteropServices.JavaScript/src/System/Runtime/InteropServices/JavaScript/Runtime.cs
Show resolved
Hide resolved
/azp run runtime-wasm |
updateGlobalBufferAndViews
setI64
,getI64
setI52
,getI52
,getU52
,setU52
getI64Big
,setI64Big
bind_static_method
to use int52 withl
signature.