Skip to content
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

ES6hasInstance #1063

Merged
merged 1 commit into from
Jun 9, 2016
Merged

ES6hasInstance #1063

merged 1 commit into from
Jun 9, 2016

Conversation

suwc
Copy link

@suwc suwc commented May 29, 2016

Recuperate perf loss from existing ES6hasInstance implementation.
Perf-neutral with vs. without -es6hasinstance switch.
Add inline-cache-invalidation for user-defined Symbol.hasInstance property in function constructor.
Revamp unit tests for ES6hasInstance.

Related ECMA262 spec sections:
6.1.5.1 Well-Known Symbols
7.3.19 OrdinaryHasInstance (C, O)
12.10.4 Runtime Semantics: InstanceofOperator(O, C)
19.2.3.6 Function.prototype @@hasInstance

@suwc
Copy link
Author

suwc commented May 29, 2016

@Microsoft/chakra-es could you take a look pls?

@abchatra
Copy link
Contributor

    if (scriptContext->GetConfig()->IsES6HasInstanceEnabled())

Add Symbol.hasInstance as part of experimental flags.


Refers to: lib/Runtime/Library/JavascriptLibrary.cpp:2544 in 79f7012. [](commit_id = 79f7012, deletion_comment = False)

var x = proxy.bind();
print((x) instanceof proxy);
}
testRunner.runTests(tests, { verbose: WScript.Arguments[0] != "summary" });
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please run test262 to see if there any additional failures in Symbol.hasInstance

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Confirmed no test262 or perf regressions.


In reply to: 65278274 [](ancestors = 65278274)

@abchatra
Copy link
Contributor

:shipit:

@suwc suwc self-assigned this Jun 8, 2016
@suwc
Copy link
Author

suwc commented Jun 9, 2016

    if (scriptContext->GetConfig()->IsES6HasInstanceEnabled())

Done.


In reply to: 222847263 [](ancestors = 222847263)


Refers to: lib/Runtime/Library/JavascriptLibrary.cpp:2544 in 79f7012. [](commit_id = 79f7012, deletion_comment = False)

Recuperate perf loss from existing ES6hasInstance implementation.
Perf-neutral with vs. without -es6hasinstance switch.
Add inline-cache-invalidation for user-defined Symbol.hasInstance property in function constructor.
Revamp unit tests for ES6hasInstance.

Related ECMA262 spec sections:
6.1.5.1 Well-Known Symbols
7.3.19 OrdinaryHasInstance (C, O)
12.10.4 Runtime Semantics: InstanceofOperator(O, C)
19.2.3.6 Function.prototype [ @@hasInstance ] ( V )
@chakrabot chakrabot merged commit 49fdae3 into chakra-core:master Jun 9, 2016
chakrabot pushed a commit that referenced this pull request Jun 9, 2016
Merge pull request #1063 from suwc:build/suwc/buddy
Recuperate perf loss from existing ES6hasInstance implementation.
Perf-neutral with vs. without -es6hasinstance switch.
Add inline-cache-invalidation for user-defined Symbol.hasInstance property in function constructor.
Revamp unit tests for ES6hasInstance.

Related ECMA262 spec sections:
6.1.5.1 Well-Known Symbols
7.3.19 OrdinaryHasInstance (C, O)
12.10.4 Runtime Semantics: InstanceofOperator(O, C)
19.2.3.6 Function.prototype [ @@hasInstance ] ( V )
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