microsoft / microsoft/react-native-windows

Do not call other destructor in JSValue move constructor

Open
#7,873 0 comments 0 reactions 1 assignee View on GitHub

@vmoroz is already working on this.

Since May 27, 2021.

Area: Native Modules enhancement PR Follow-up Workstream: Module Support
Dominant language
C++
Stars
17.3k
Forks
1.2k
Avg merge
1d 13h
Merged PRs (30d)
33

Description

Currently JSValue move constructor calls destructor for the other value that makes it JSValueType::Null after the call.
It introduces a slight inefficiency because the same code is called twice against the same value.
(There is no memory double deletion because we call the destructor as a function.)

We should remove the destructor call for the other value to avoid the extra destructor call.
I am a little bit reluctant to do it for the old releases because it changes the observable behavior.
The change should be good for the new upcoming versions starting with 0.65.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.