This adds support for mshtml host object accessor to jscript, with necessary fixes along the way.
For the last patch I decided to go with flags (i.e. PROPF_METHOD) instead of introducing a type field, which makes it simpler, less fields to track off and less changes.
--
v2: jscript|mshtml: Add support for host object accessor props.
mshtml: Move the hook invocations inside of the builtin_prop* helpers.
mshtml: Fix builtin style translation in removeAttribute for IE9+ modes.
mshtml: Move lookup_dispid and get_dispid calls out of get_builtin_id.
mshtml: Don't make hidden props enumerable.
https://gitlab.winehq.org/wine/wine/-/merge_requests/6609
The problem is that registry save is a very heavy operation (scheduled each 30sec in wineserver) during which server doesn't process any requests and the whole prefix is stalled for the duration of the operation.
For some reference, the process takes from 50-100ms here up to 1-1.5sec with default initial registry (after some registry modifications which trigger actual registry flush), depending on the filesystem type and state (as huge time may be spent in file close / rename). With the same registry after this patchset the server part (flush_key returning the whole registry data) is taking ~4-5mcs, measured from the client side so that already includes data transfer.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/3124