-
Notifications
You must be signed in to change notification settings - Fork 3k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Make inaccessible instead of null the default state of IC
Summary: After reviewing the strobelight data from Swayze, it is clear that the memoizations got a lot more expensive after the previous changes. The main theory behind that is, now null and inaccessible contexts create 2 separate shards in the memo caches (before it was just null) depending on the calling context. This diff makes Inaccessible as the default context. IC is not set null from anywhere. If it's needed, it can be implemented later via a www backdoor Reviewed By: jano Differential Revision: D57356181 fbshipit-source-id: c14f16adf5f5f116dbe8fc968d0ada8ff95652f2
- Loading branch information
1 parent
d3f9558
commit 3e2cf16
Showing
26 changed files
with
124 additions
and
81 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2 changes: 1 addition & 1 deletion
2
hphp/test/server/http/tests/error_page_clear_implicit_context.php.expect
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,5 @@ | ||
Sandbox: 0 (sandbox0) Version: 0 | ||
-------------------------------------------------------- | ||
Reading implicit context | ||
NULL | ||
Implicit context is set to inaccessible | ||
-------------------------------------------------------- |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
NULL | ||
Implicit context is set to inaccessible |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
NULL | ||
Implicit context is set to inaccessible |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,9 @@ | ||
Setting context to 5 | ||
in f context is 5 | ||
in g context is null | ||
back in f context is 5 | ||
in h_exception context is null | ||
in f context is 5 | ||
Implicit context is set to inaccessible | ||
in g context is null | ||
back in f context is 5 | ||
Implicit context is set to inaccessible | ||
in h_exception context is null | ||
throwing exception from h_exception() | ||
back in f context is 5 | ||
back in f context is 5 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,4 @@ | ||
NULL | ||
vec(1) { | ||
string(14) "%Inaccessible%" | ||
} | ||
string(4) "done" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,2 @@ | ||
No arg ran: 3 times | ||
With arg ran: 3 times | ||
No arg ran: 2 times | ||
With arg ran: 2 times |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,10 +1,10 @@ | ||
defaults memo_no_param hash: %Inaccessible% | ||
defaults memo_single_param hash: %Inaccessible% | ||
memo_with_leak_safe_zero_param hash: NULL | ||
memo_with_leak_safe_single_param hash: NULL | ||
memo_with_pure_zero_param hash: NULL | ||
memo_with_pure_single_param hash: NULL | ||
no_param_with_leaksafe_only hash: NULL | ||
memo_with_leak_safe_zero_param hash: %Inaccessible% | ||
memo_with_leak_safe_single_param hash: %Inaccessible% | ||
memo_with_pure_zero_param hash: %Inaccessible% | ||
memo_with_pure_single_param hash: %Inaccessible% | ||
no_param_with_leaksafe_only hash: %Inaccessible% | ||
no_param_with_leaksafe_and_defaults hash: %Inaccessible% | ||
no_param_with_leaksafe_local_only hash: %Inaccessible% | ||
no_param_with_leaksafe_shallow_only hash: %Inaccessible% |
Oops, something went wrong.