Skip to content

Conversation

@thomasmo
Copy link
Contributor

This change addresses the issue of Get/SetElement being used a TypedArrays from the host, which should have specialized calls
from the backend. This bug happens because, when the Inliner creates the DOMFastPathGetter instruction to replace a LdFld
instruction, it does not propagate dst's profile data. Thus, though DOMFastPathGetter avoids calling into the host, it also
introduces a new cost of making generic calls because the type is unknown.
This change ensures that the original LdFld's dst profile data is also copied to the new instruction for later type-specific
optimizations.

…tion profile data, adding overhead to inlined getter calls

This change addresses the issue of Get/SetElement being used a TypedArrays from the host, which should have specialized calls
from the backend. This bug happens because, when the Inliner creates the DOMFastPathGetter instruction to replace a LdFld
instruction, it does not propagate dst's profile data. Thus, though DOMFastPathGetter avoids calling into the host, it also
introduces a new cost of making generic calls because the type is unknown.
This change ensures that the original LdFld's dst profile data is also copied to the new instruction for later type-specific
optimizations.
@chakrabot chakrabot merged commit c9a5666 into chakra-core:release/1.6 Aug 25, 2017
chakrabot pushed a commit that referenced this pull request Aug 25, 2017
…do not propagate destination profile data, adding overhead to inlined getter calls

Merge pull request #3584 from thomasmo:domfastpathgetter_dst_profile

This change addresses the issue of Get/SetElement being used a TypedArrays from the host, which should have specialized calls
from the backend. This bug happens because, when the Inliner creates the DOMFastPathGetter instruction to replace a LdFld
instruction, it does not propagate dst's profile data. Thus, though DOMFastPathGetter avoids calling into the host, it also
introduces a new cost of making generic calls because the type is unknown.
This change ensures that the original LdFld's dst profile data is also copied to the new instruction for later type-specific
optimizations.
chakrabot pushed a commit that referenced this pull request Aug 25, 2017
…tructions do not propagate destination profile data, adding overhead to inlined getter calls

Merge pull request #3584 from thomasmo:domfastpathgetter_dst_profile

This change addresses the issue of Get/SetElement being used a TypedArrays from the host, which should have specialized calls
from the backend. This bug happens because, when the Inliner creates the DOMFastPathGetter instruction to replace a LdFld
instruction, it does not propagate dst's profile data. Thus, though DOMFastPathGetter avoids calling into the host, it also
introduces a new cost of making generic calls because the type is unknown.
This change ensures that the original LdFld's dst profile data is also copied to the new instruction for later type-specific
optimizations.
chakrabot pushed a commit that referenced this pull request Aug 25, 2017
…athGetter instructions do not propagate destination profile data, adding overhead to inlined getter calls

Merge pull request #3584 from thomasmo:domfastpathgetter_dst_profile

This change addresses the issue of Get/SetElement being used a TypedArrays from the host, which should have specialized calls
from the backend. This bug happens because, when the Inliner creates the DOMFastPathGetter instruction to replace a LdFld
instruction, it does not propagate dst's profile data. Thus, though DOMFastPathGetter avoids calling into the host, it also
introduces a new cost of making generic calls because the type is unknown.
This change ensures that the original LdFld's dst profile data is also copied to the new instruction for later type-specific
optimizations.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants