| Commit-Queue | +1 |
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
| Commit-Queue | +1 |
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
| Code-Review | +1 |
} else if (class_name.ptr() == Symbols::DebugClassName().ptr()) {We can recognize expression evaluation class by checking `library.url() == Symbols::EvalSourceUri().ptr()` without depending on the class name. VM didn't look at the class name before, and CFE can freely change it, so the new check looks inconsistent with kernel loader and more fragile than it needs to be.
Also, by checking the library uri only in case of not found class we make sure to avoid overhead of an extra check for every referenced class.
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
| Auto-Submit | +1 |
| Commit-Queue | +1 |
Thanks, Alex! Removing the new symbol invalidated the +1, so PTAL again.
Tess StricklandNit: `Fixes https://github.com/dart-lang/sdk/issues/61948`
Done
} else if (class_name.ptr() == Symbols::DebugClassName().ptr()) {We can recognize expression evaluation class by checking `library.url() == Symbols::EvalSourceUri().ptr()` without depending on the class name. VM didn't look at the class name before, and CFE can freely change it, so the new check looks inconsistent with kernel loader and more fragile than it needs to be.
Also, by checking the library uri only in case of not found class we make sure to avoid overhead of an extra check for every referenced class.
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
[vm,dyn_modules] Fix evaluation expression function self-reference.
If the evaluation expression function is for an expression in the scope
of a generic function with a parameter whose type includes one of its
type parameters, then the graph for the parameter type will contain a
self reference to the evaluation expression function.
Normally, this self reference would be resolved via the scoped_function_
field. However, while scoped_function_class_ is set to the class containing the expression evaluation function (as expected),
if ReadObject() encounters that class, it returns the "real" class
the evaluation expression should be evaluated in. This means the
self-reference isn't detected.
Add an additional check for the right name/class for the expression
evaluation function.
TEST=pkg/vm_service/test/evaluate_function_type_parameters_test
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |