REGRESSION(149636, merged in 153145): ToThis conversion doesn't work in the DFG
authorfpizlo@apple.com <fpizlo@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 6 Sep 2013 19:01:21 +0000 (19:01 +0000)
committerfpizlo@apple.com <fpizlo@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 6 Sep 2013 19:01:21 +0000 (19:01 +0000)
https://bugs.webkit.org/show_bug.cgi?id=120781

Reviewed by Mark Hahnenberg.

Roll this back in with a build fix.

- Use some method table hacks to detect if the CheckStructure optimization is
  valid for to_this.

- Introduce a FinalObjectUse and use it for ToThis->Identity conversion.

This looks like it might be perf-neutral on the major benchmarks, but it
introduces some horrible performance cliffs. For example if you add methods to
the Array prototype, you'll get horrible performance cliffs. As in virtual calls
to C++ every time you call a JS function even if it's inlined.
LongSpider/3d-cube appears to hit this.

* dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::::executeEffects):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
* dfg/DFGRepatch.cpp:
(JSC::DFG::emitPutTransitionStub):
* dfg/DFGSafeToExecute.h:
(JSC::DFG::SafeToExecuteEdge::operator()):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::speculateFinalObject):
(JSC::DFG::SpeculativeJIT::speculate):
* dfg/DFGSpeculativeJIT.h:
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGUseKind.cpp:
(WTF::printInternal):
* dfg/DFGUseKind.h:
(JSC::DFG::typeFilterFor):
(JSC::DFG::isCell):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@155201 268f45cc-cd09-0410-ab3c-d52691b4dbfc

46 files changed:
LayoutTests/fast/js/dfg-check-structure-elimination-for-non-cell-expected.txt
LayoutTests/fast/js/dfg-check-two-structures-expected.txt
LayoutTests/fast/js/dfg-compare-final-object-to-final-object-or-other-when-both-proven-final-object-expected.txt
LayoutTests/fast/js/dfg-compare-final-object-to-final-object-or-other-when-proven-final-object-expected.txt
LayoutTests/fast/js/dfg-constant-fold-first-local-read-after-block-merge-expected.txt
LayoutTests/fast/js/dfg-constant-fold-logical-not-branch-expected.txt
LayoutTests/fast/js/dfg-constant-fold-misprediction-expected.txt
LayoutTests/fast/js/dfg-constant-fold-uncaptured-variable-that-is-later-captured-expected.txt
LayoutTests/fast/js/dfg-convert-this-dom-window-expected.txt
LayoutTests/fast/js/dfg-convert-this-object-then-exit-on-other-expected.txt
LayoutTests/fast/js/dfg-convert-this-other-then-exit-on-object-expected.txt
LayoutTests/fast/js/dfg-convert-this-polymorphic-object-then-exit-on-other-expected.txt
LayoutTests/fast/js/dfg-convert-this-polymorphic-object-then-exit-on-string-expected.txt
LayoutTests/fast/js/dfg-create-inlined-arguments-in-closure-inline-expected.txt
LayoutTests/fast/js/dfg-cross-global-object-inline-new-array-literal-expected.txt
LayoutTests/fast/js/dfg-cross-global-object-inline-new-array-literal-with-variables-expected.txt
LayoutTests/fast/js/jsc-test-list
LayoutTests/fast/js/script-tests/dfg-check-structure-elimination-for-non-cell.js
LayoutTests/fast/js/script-tests/dfg-check-two-structures.js
LayoutTests/fast/js/script-tests/dfg-compare-final-object-to-final-object-or-other-when-both-proven-final-object.js
LayoutTests/fast/js/script-tests/dfg-compare-final-object-to-final-object-or-other-when-proven-final-object.js
LayoutTests/fast/js/script-tests/dfg-compare-final-object-to-final-object-or-other.js
LayoutTests/fast/js/script-tests/dfg-constant-fold-first-local-read-after-block-merge.js
LayoutTests/fast/js/script-tests/dfg-constant-fold-logical-not-branch.js
LayoutTests/fast/js/script-tests/dfg-constant-fold-misprediction.js
LayoutTests/fast/js/script-tests/dfg-constant-fold-uncaptured-variable-that-is-later-captured.js
LayoutTests/fast/js/script-tests/dfg-convert-this-dom-window.js
LayoutTests/fast/js/script-tests/dfg-convert-this-object-then-exit-on-other.js
LayoutTests/fast/js/script-tests/dfg-convert-this-other-then-exit-on-object.js
LayoutTests/fast/js/script-tests/dfg-convert-this-polymorphic-object-then-exit-on-other.js
LayoutTests/fast/js/script-tests/dfg-convert-this-polymorphic-object-then-exit-on-string.js
LayoutTests/fast/js/script-tests/dfg-create-inlined-arguments-in-closure-inline.js
LayoutTests/fast/js/script-tests/dfg-cross-global-object-inline-new-array-literal-with-variables.js
LayoutTests/fast/js/script-tests/dfg-cross-global-object-inline-new-array-literal.js
Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/dfg/DFGAbstractInterpreterInlines.h
Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp
Source/JavaScriptCore/dfg/DFGFixupPhase.cpp
Source/JavaScriptCore/dfg/DFGRepatch.cpp
Source/JavaScriptCore/dfg/DFGSafeToExecute.h
Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp
Source/JavaScriptCore/dfg/DFGSpeculativeJIT.h
Source/JavaScriptCore/dfg/DFGSpeculativeJIT32_64.cpp
Source/JavaScriptCore/dfg/DFGSpeculativeJIT64.cpp
Source/JavaScriptCore/dfg/DFGUseKind.cpp
Source/JavaScriptCore/dfg/DFGUseKind.h

index 3904082..b3d0c4f 100644 (file)
@@ -3,208 +3,8 @@ Tests that we do the right things when we prove that we can eliminate a structur
 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
 
 
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
 Caught exception: TypeError: null is not an object (evaluating 'o.g')
-PASS baz(i) is "ERROR"
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS baz(i) is 66
-PASS successfullyParsed is true
+Passed some tests silently.
 
 TEST COMPLETE
 
index 20136eb..aec710f 100644 (file)
@@ -3,207 +3,7 @@ This tests that a polymorphic structure check is actually executed.
 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
 
 
-PASS foo(o, o) is 44
-PASS foo(o, o) is 42
-PASS foo(o, o) is 44
-PASS foo(o, o) is 42
-PASS foo(o, o) is 44
-PASS foo(o, o) is 42
-PASS foo(o, o) is 44
-PASS foo(o, o) is 42
-PASS foo(o, o) is 44
-PASS foo(o, o) is 42
-PASS foo(o, o) is 44
-PASS foo(o, o) is 42
-PASS foo(o, o) is 44
-PASS foo(o, o) is 42
-PASS foo(o, o) is 44
-PASS foo(o, o) is 42
-PASS foo(o, o) is 44
-PASS foo(o, o) is 42
-PASS foo(o, o) is 44
-PASS foo(o, o) is 42
-PASS foo(o, o) is 44
-PASS foo(o, o) is 42
-PASS foo(o, o) is 44
-PASS foo(o, o) is 42
-PASS foo(o, o) is 44
-PASS foo(o, o) is 42
-PASS foo(o, o) is 44
-PASS foo(o, o) is 42
-PASS foo(o, o) is 44
-PASS foo(o, o) is 42
-PASS foo(o, o) is 44
-PASS foo(o, o) is 42
-PASS foo(o, o) is 44
-PASS foo(o, o) is 42
-PASS foo(o, o) is 44
-PASS foo(o, o) is 42
-PASS foo(o, o) is 44
-PASS foo(o, o) is 42
-PASS foo(o, o) is 44
-PASS foo(o, o) is 42
-PASS foo(o, o) is 44
-PASS foo(o, o) is 42
-PASS foo(o, o) is 44
-PASS foo(o, o) is 42
-PASS foo(o, o) is 44
-PASS foo(o, o) is 42
-PASS foo(o, o) is 44
-PASS foo(o, o) is 42
-PASS foo(o, o) is 44
-PASS foo(o, o) is 42
-PASS foo(o, o) is 44
-PASS foo(o, o) is 42
-PASS foo(o, o) is 44
-PASS foo(o, o) is 42
-PASS foo(o, o) is 44
-PASS foo(o, o) is 42
-PASS foo(o, o) is 44
-PASS foo(o, o) is 42
-PASS foo(o, o) is 44
-PASS foo(o, o) is 42
-PASS foo(o, o) is 44
-PASS foo(o, o) is 42
-PASS foo(o, o) is 44
-PASS foo(o, o) is 42
-PASS foo(o, o) is 44
-PASS foo(o, o) is 42
-PASS foo(o, o) is 44
-PASS foo(o, o) is 42
-PASS foo(o, o) is 44
-PASS foo(o, o) is 42
-PASS foo(o, o) is 44
-PASS foo(o, o) is 42
-PASS foo(o, o) is 44
-PASS foo(o, o) is 42
-PASS foo(o, o) is 44
-PASS foo(o, o) is 42
-PASS foo(o, o) is 44
-PASS foo(o, o) is 42
-PASS foo(o, o) is 44
-PASS foo(o, o) is 42
-PASS foo(o, o) is 44
-PASS foo(o, o) is 42
-PASS foo(o, o) is 44
-PASS foo(o, o) is 42
-PASS foo(o, o) is 44
-PASS foo(o, o) is 42
-PASS foo(o, o) is 44
-PASS foo(o, o) is 42
-PASS foo(o, o) is 44
-PASS foo(o, o) is 42
-PASS foo(o, o) is 44
-PASS foo(o, o) is 42
-PASS foo(o, o) is 44
-PASS foo(o, o) is 42
-PASS foo(o, o) is 44
-PASS foo(o, o) is 42
-PASS foo(o, o) is 44
-PASS foo(o, o) is 42
-PASS foo(o, o) is 44
-PASS foo(o, o) is 42
-PASS foo(o, o) is 44
-PASS foo(o, o) is 42
-PASS foo(o, o) is 44
-PASS foo(o, o) is 42
-PASS foo(o, o) is 44
-PASS foo(o, o) is 42
-PASS foo(o, o) is 44
-PASS foo(o, o) is 42
-PASS foo(o, o) is 44
-PASS foo(o, o) is 42
-PASS foo(o, o) is 44
-PASS foo(o, o) is 42
-PASS foo(o, o) is 44
-PASS foo(o, o) is 42
-PASS foo(o, o) is 44
-PASS foo(o, o) is 42
-PASS foo(o, o) is 44
-PASS foo(o, o) is 42
-PASS foo(o, o) is 44
-PASS foo(o, o) is 42
-PASS foo(o, o) is 44
-PASS foo(o, o) is 42
-PASS foo(o, o) is 44
-PASS foo(o, o) is 42
-PASS foo(o, o) is 44
-PASS foo(o, o) is 42
-PASS foo(o, o) is 44
-PASS foo(o, o) is 42
-PASS foo(o, o) is 44
-PASS foo(o, o) is 42
-PASS foo(o, o) is 44
-PASS foo(o, o) is 42
-PASS foo(o, o) is 44
-PASS foo(o, o) is 42
-PASS foo(o, o) is 44
-PASS foo(o, o) is 42
-PASS foo(o, o) is 44
-PASS foo(o, o) is 42
-PASS foo(o, o) is 44
-PASS foo(o, o) is 42
-PASS foo(o, o) is 44
-PASS foo(o, o) is 42
-PASS foo(o, o) is 44
-PASS foo(o, o) is 42
-PASS foo(o, o) is 44
-PASS foo(o, o) is 42
-PASS foo(o, o) is 44
-PASS foo(o, o) is 42
-PASS foo(o, o) is 44
-PASS foo(o, o) is 42
-PASS foo(o, o) is 46
-PASS foo(o, o) is 46
-PASS foo(o, o) is 46
-PASS foo(o, o) is 46
-PASS foo(o, o) is 46
-PASS foo(o, o) is 46
-PASS foo(o, o) is 46
-PASS foo(o, o) is 46
-PASS foo(o, o) is 46
-PASS foo(o, o) is 46
-PASS foo(o, o) is 46
-PASS foo(o, o) is 46
-PASS foo(o, o) is 46
-PASS foo(o, o) is 46
-PASS foo(o, o) is 46
-PASS foo(o, o) is 46
-PASS foo(o, o) is 46
-PASS foo(o, o) is 46
-PASS foo(o, o) is 46
-PASS foo(o, o) is 46
-PASS foo(o, o) is 46
-PASS foo(o, o) is 46
-PASS foo(o, o) is 46
-PASS foo(o, o) is 46
-PASS foo(o, o) is 46
-PASS foo(o, o) is 46
-PASS foo(o, o) is 46
-PASS foo(o, o) is 46
-PASS foo(o, o) is 46
-PASS foo(o, o) is 46
-PASS foo(o, o) is 46
-PASS foo(o, o) is 46
-PASS foo(o, o) is 46
-PASS foo(o, o) is 46
-PASS foo(o, o) is 46
-PASS foo(o, o) is 46
-PASS foo(o, o) is 46
-PASS foo(o, o) is 46
-PASS foo(o, o) is 46
-PASS foo(o, o) is 46
-PASS foo(o, o) is 46
-PASS foo(o, o) is 46
-PASS foo(o, o) is 46
-PASS foo(o, o) is 46
-PASS foo(o, o) is 46
-PASS foo(o, o) is 46
-PASS foo(o, o) is 46
-PASS foo(o, o) is 46
-PASS foo(o, o) is 46
-PASS foo(o, o) is 46
-PASS successfullyParsed is true
+Passed some tests silently.
 
 TEST COMPLETE
 
index 3147b8c..f85aafb 100644 (file)
@@ -3,107 +3,7 @@ Tests that the CompareEq optimization for the case where one side is predicted f
 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
 
 
-PASS foo({f:42}, null) threw exception TypeError: null is not an object (evaluating 'b.f').
-PASS foo(o, o) is [42, 42, true]
-PASS foo({f:42}, null) threw exception TypeError: null is not an object (evaluating 'b.f').
-PASS foo(o, o) is [42, 42, true]
-PASS foo({f:42}, null) threw exception TypeError: null is not an object (evaluating 'b.f').
-PASS foo(o, o) is [42, 42, true]
-PASS foo({f:42}, null) threw exception TypeError: null is not an object (evaluating 'b.f').
-PASS foo(o, o) is [42, 42, true]
-PASS foo({f:42}, null) threw exception TypeError: null is not an object (evaluating 'b.f').
-PASS foo(o, o) is [42, 42, true]
-PASS foo({f:42}, null) threw exception TypeError: null is not an object (evaluating 'b.f').
-PASS foo(o, o) is [42, 42, true]
-PASS foo({f:42}, null) threw exception TypeError: null is not an object (evaluating 'b.f').
-PASS foo(o, o) is [42, 42, true]
-PASS foo({f:42}, null) threw exception TypeError: null is not an object (evaluating 'b.f').
-PASS foo(o, o) is [42, 42, true]
-PASS foo({f:42}, null) threw exception TypeError: null is not an object (evaluating 'b.f').
-PASS foo(o, o) is [42, 42, true]
-PASS foo({f:42}, null) threw exception TypeError: null is not an object (evaluating 'b.f').
-PASS foo(o, o) is [42, 42, true]
-PASS foo({f:42}, null) threw exception TypeError: null is not an object (evaluating 'b.f').
-PASS foo(o, o) is [42, 42, true]
-PASS foo({f:42}, null) threw exception TypeError: null is not an object (evaluating 'b.f').
-PASS foo(o, o) is [42, 42, true]
-PASS foo({f:42}, null) threw exception TypeError: null is not an object (evaluating 'b.f').
-PASS foo(o, o) is [42, 42, true]
-PASS foo({f:42}, null) threw exception TypeError: null is not an object (evaluating 'b.f').
-PASS foo(o, o) is [42, 42, true]
-PASS foo({f:42}, null) threw exception TypeError: null is not an object (evaluating 'b.f').
-PASS foo(o, o) is [42, 42, true]
-PASS foo({f:42}, null) threw exception TypeError: null is not an object (evaluating 'b.f').
-PASS foo(o, o) is [42, 42, true]
-PASS foo({f:42}, null) threw exception TypeError: null is not an object (evaluating 'b.f').
-PASS foo(o, o) is [42, 42, true]
-PASS foo({f:42}, null) threw exception TypeError: null is not an object (evaluating 'b.f').
-PASS foo(o, o) is [42, 42, true]
-PASS foo({f:42}, null) threw exception TypeError: null is not an object (evaluating 'b.f').
-PASS foo(o, o) is [42, 42, true]
-PASS foo({f:42}, null) threw exception TypeError: null is not an object (evaluating 'b.f').
-PASS foo(o, o) is [42, 42, true]
-PASS foo({f:42}, null) threw exception TypeError: null is not an object (evaluating 'b.f').
-PASS foo(o, o) is [42, 42, true]
-PASS foo({f:42}, null) threw exception TypeError: null is not an object (evaluating 'b.f').
-PASS foo(o, o) is [42, 42, true]
-PASS foo({f:42}, null) threw exception TypeError: null is not an object (evaluating 'b.f').
-PASS foo(o, o) is [42, 42, true]
-PASS foo({f:42}, null) threw exception TypeError: null is not an object (evaluating 'b.f').
-PASS foo(o, o) is [42, 42, true]
-PASS foo({f:42}, null) threw exception TypeError: null is not an object (evaluating 'b.f').
-PASS foo(o, o) is [42, 42, true]
-PASS foo({f:42}, null) threw exception TypeError: null is not an object (evaluating 'b.f').
-PASS foo(o, o) is [42, 42, true]
-PASS foo({f:42}, null) threw exception TypeError: null is not an object (evaluating 'b.f').
-PASS foo(o, o) is [42, 42, true]
-PASS foo({f:42}, null) threw exception TypeError: null is not an object (evaluating 'b.f').
-PASS foo(o, o) is [42, 42, true]
-PASS foo({f:42}, null) threw exception TypeError: null is not an object (evaluating 'b.f').
-PASS foo(o, o) is [42, 42, true]
-PASS foo({f:42}, null) threw exception TypeError: null is not an object (evaluating 'b.f').
-PASS foo(o, o) is [42, 42, true]
-PASS foo({f:42}, null) threw exception TypeError: null is not an object (evaluating 'b.f').
-PASS foo(o, o) is [42, 42, true]
-PASS foo({f:42}, null) threw exception TypeError: null is not an object (evaluating 'b.f').
-PASS foo(o, o) is [42, 42, true]
-PASS foo({f:42}, null) threw exception TypeError: null is not an object (evaluating 'b.f').
-PASS foo(o, o) is [42, 42, true]
-PASS foo({f:42}, null) threw exception TypeError: null is not an object (evaluating 'b.f').
-PASS foo(o, o) is [42, 42, true]
-PASS foo({f:42}, null) threw exception TypeError: null is not an object (evaluating 'b.f').
-PASS foo(o, o) is [42, 42, true]
-PASS foo({f:42}, null) threw exception TypeError: null is not an object (evaluating 'b.f').
-PASS foo(o, o) is [42, 42, true]
-PASS foo({f:42}, null) threw exception TypeError: null is not an object (evaluating 'b.f').
-PASS foo(o, o) is [42, 42, true]
-PASS foo({f:42}, null) threw exception TypeError: null is not an object (evaluating 'b.f').
-PASS foo(o, o) is [42, 42, true]
-PASS foo({f:42}, null) threw exception TypeError: null is not an object (evaluating 'b.f').
-PASS foo(o, o) is [42, 42, true]
-PASS foo({f:42}, null) threw exception TypeError: null is not an object (evaluating 'b.f').
-PASS foo(o, o) is [42, 42, true]
-PASS foo({f:42}, null) threw exception TypeError: null is not an object (evaluating 'b.f').
-PASS foo(o, o) is [42, 42, true]
-PASS foo({f:42}, null) threw exception TypeError: null is not an object (evaluating 'b.f').
-PASS foo(o, o) is [42, 42, true]
-PASS foo({f:42}, null) threw exception TypeError: null is not an object (evaluating 'b.f').
-PASS foo(o, o) is [42, 42, true]
-PASS foo({f:42}, null) threw exception TypeError: null is not an object (evaluating 'b.f').
-PASS foo(o, o) is [42, 42, true]
-PASS foo({f:42}, null) threw exception TypeError: null is not an object (evaluating 'b.f').
-PASS foo(o, o) is [42, 42, true]
-PASS foo({f:42}, null) threw exception TypeError: null is not an object (evaluating 'b.f').
-PASS foo(o, o) is [42, 42, true]
-PASS foo({f:42}, null) threw exception TypeError: null is not an object (evaluating 'b.f').
-PASS foo(o, o) is [42, 42, true]
-PASS foo({f:42}, null) threw exception TypeError: null is not an object (evaluating 'b.f').
-PASS foo(o, o) is [42, 42, true]
-PASS foo({f:42}, null) threw exception TypeError: null is not an object (evaluating 'b.f').
-PASS foo(o, o) is [42, 42, true]
-PASS foo({f:42}, null) threw exception TypeError: null is not an object (evaluating 'b.f').
-PASS foo(o, o) is [42, 42, true]
-PASS successfullyParsed is true
+Passed some tests silently.
 
 TEST COMPLETE
 
index 1afefea..b8d3f95 100644 (file)
@@ -3,107 +3,7 @@ Tests that the CompareEq optimization for the case where one side is predicted f
 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
 
 
-PASS foo({f:42}, null) threw exception TypeError: null is not an object (evaluating 'b.f').
-PASS foo(o, o) is [42, true]
-PASS foo({f:42}, null) threw exception TypeError: null is not an object (evaluating 'b.f').
-PASS foo(o, o) is [42, true]
-PASS foo({f:42}, null) threw exception TypeError: null is not an object (evaluating 'b.f').
-PASS foo(o, o) is [42, true]
-PASS foo({f:42}, null) threw exception TypeError: null is not an object (evaluating 'b.f').
-PASS foo(o, o) is [42, true]
-PASS foo({f:42}, null) threw exception TypeError: null is not an object (evaluating 'b.f').
-PASS foo(o, o) is [42, true]
-PASS foo({f:42}, null) threw exception TypeError: null is not an object (evaluating 'b.f').
-PASS foo(o, o) is [42, true]
-PASS foo({f:42}, null) threw exception TypeError: null is not an object (evaluating 'b.f').
-PASS foo(o, o) is [42, true]
-PASS foo({f:42}, null) threw exception TypeError: null is not an object (evaluating 'b.f').
-PASS foo(o, o) is [42, true]
-PASS foo({f:42}, null) threw exception TypeError: null is not an object (evaluating 'b.f').
-PASS foo(o, o) is [42, true]
-PASS foo({f:42}, null) threw exception TypeError: null is not an object (evaluating 'b.f').
-PASS foo(o, o) is [42, true]
-PASS foo({f:42}, null) threw exception TypeError: null is not an object (evaluating 'b.f').
-PASS foo(o, o) is [42, true]
-PASS foo({f:42}, null) threw exception TypeError: null is not an object (evaluating 'b.f').
-PASS foo(o, o) is [42, true]
-PASS foo({f:42}, null) threw exception TypeError: null is not an object (evaluating 'b.f').
-PASS foo(o, o) is [42, true]
-PASS foo({f:42}, null) threw exception TypeError: null is not an object (evaluating 'b.f').
-PASS foo(o, o) is [42, true]
-PASS foo({f:42}, null) threw exception TypeError: null is not an object (evaluating 'b.f').
-PASS foo(o, o) is [42, true]
-PASS foo({f:42}, null) threw exception TypeError: null is not an object (evaluating 'b.f').
-PASS foo(o, o) is [42, true]
-PASS foo({f:42}, null) threw exception TypeError: null is not an object (evaluating 'b.f').
-PASS foo(o, o) is [42, true]
-PASS foo({f:42}, null) threw exception TypeError: null is not an object (evaluating 'b.f').
-PASS foo(o, o) is [42, true]
-PASS foo({f:42}, null) threw exception TypeError: null is not an object (evaluating 'b.f').
-PASS foo(o, o) is [42, true]
-PASS foo({f:42}, null) threw exception TypeError: null is not an object (evaluating 'b.f').
-PASS foo(o, o) is [42, true]
-PASS foo({f:42}, null) threw exception TypeError: null is not an object (evaluating 'b.f').
-PASS foo(o, o) is [42, true]
-PASS foo({f:42}, null) threw exception TypeError: null is not an object (evaluating 'b.f').
-PASS foo(o, o) is [42, true]
-PASS foo({f:42}, null) threw exception TypeError: null is not an object (evaluating 'b.f').
-PASS foo(o, o) is [42, true]
-PASS foo({f:42}, null) threw exception TypeError: null is not an object (evaluating 'b.f').
-PASS foo(o, o) is [42, true]
-PASS foo({f:42}, null) threw exception TypeError: null is not an object (evaluating 'b.f').
-PASS foo(o, o) is [42, true]
-PASS foo({f:42}, null) threw exception TypeError: null is not an object (evaluating 'b.f').
-PASS foo(o, o) is [42, true]
-PASS foo({f:42}, null) threw exception TypeError: null is not an object (evaluating 'b.f').
-PASS foo(o, o) is [42, true]
-PASS foo({f:42}, null) threw exception TypeError: null is not an object (evaluating 'b.f').
-PASS foo(o, o) is [42, true]
-PASS foo({f:42}, null) threw exception TypeError: null is not an object (evaluating 'b.f').
-PASS foo(o, o) is [42, true]
-PASS foo({f:42}, null) threw exception TypeError: null is not an object (evaluating 'b.f').
-PASS foo(o, o) is [42, true]
-PASS foo({f:42}, null) threw exception TypeError: null is not an object (evaluating 'b.f').
-PASS foo(o, o) is [42, true]
-PASS foo({f:42}, null) threw exception TypeError: null is not an object (evaluating 'b.f').
-PASS foo(o, o) is [42, true]
-PASS foo({f:42}, null) threw exception TypeError: null is not an object (evaluating 'b.f').
-PASS foo(o, o) is [42, true]
-PASS foo({f:42}, null) threw exception TypeError: null is not an object (evaluating 'b.f').
-PASS foo(o, o) is [42, true]
-PASS foo({f:42}, null) threw exception TypeError: null is not an object (evaluating 'b.f').
-PASS foo(o, o) is [42, true]
-PASS foo({f:42}, null) threw exception TypeError: null is not an object (evaluating 'b.f').
-PASS foo(o, o) is [42, true]
-PASS foo({f:42}, null) threw exception TypeError: null is not an object (evaluating 'b.f').
-PASS foo(o, o) is [42, true]
-PASS foo({f:42}, null) threw exception TypeError: null is not an object (evaluating 'b.f').
-PASS foo(o, o) is [42, true]
-PASS foo({f:42}, null) threw exception TypeError: null is not an object (evaluating 'b.f').
-PASS foo(o, o) is [42, true]
-PASS foo({f:42}, null) threw exception TypeError: null is not an object (evaluating 'b.f').
-PASS foo(o, o) is [42, true]
-PASS foo({f:42}, null) threw exception TypeError: null is not an object (evaluating 'b.f').
-PASS foo(o, o) is [42, true]
-PASS foo({f:42}, null) threw exception TypeError: null is not an object (evaluating 'b.f').
-PASS foo(o, o) is [42, true]
-PASS foo({f:42}, null) threw exception TypeError: null is not an object (evaluating 'b.f').
-PASS foo(o, o) is [42, true]
-PASS foo({f:42}, null) threw exception TypeError: null is not an object (evaluating 'b.f').
-PASS foo(o, o) is [42, true]
-PASS foo({f:42}, null) threw exception TypeError: null is not an object (evaluating 'b.f').
-PASS foo(o, o) is [42, true]
-PASS foo({f:42}, null) threw exception TypeError: null is not an object (evaluating 'b.f').
-PASS foo(o, o) is [42, true]
-PASS foo({f:42}, null) threw exception TypeError: null is not an object (evaluating 'b.f').
-PASS foo(o, o) is [42, true]
-PASS foo({f:42}, null) threw exception TypeError: null is not an object (evaluating 'b.f').
-PASS foo(o, o) is [42, true]
-PASS foo({f:42}, null) threw exception TypeError: null is not an object (evaluating 'b.f').
-PASS foo(o, o) is [42, true]
-PASS foo({f:42}, null) threw exception TypeError: null is not an object (evaluating 'b.f').
-PASS foo(o, o) is [42, true]
-PASS successfullyParsed is true
+Passed some tests silently.
 
 TEST COMPLETE
 
index fdcc660..16a6249 100644 (file)
@@ -3,206 +3,7 @@ Tests that the DFG doesn't crash if we constant fold the first read of a local v
 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
 
 
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
-PASS bar(5) is 42
+PASS bar(5) is 42 on all iterations including after DFG tier-up.
 PASS successfullyParsed is true
 
 TEST COMPLETE
index 5f5790e..95ad664 100644 (file)
@@ -3,2006 +3,8 @@ Tests what happens if we fail to constant fold a LogicalNot that leads into a br
 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
 
 
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
-PASS foo1(new Stuff()) is 43
-PASS foo2(new Stuff()) is 58
+PASS foo1(new Stuff()) is 43 on all iterations including after DFG tier-up.
+PASS foo2(new Stuff()) is 58 on all iterations including after DFG tier-up.
 PASS successfullyParsed is true
 
 TEST COMPLETE
index d41baf9..dd02723 100644 (file)
@@ -3,12 +3,7 @@ This tests that a constant folding on a node that has obviously mispredicted typ
 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
 
 
-PASS foo(0.5) is 1000.50025
-PASS foo(0.5) is 1000.50025
-PASS foo(0.5) is 1000.50025
-PASS foo(0.5) is 1000.50025
-PASS foo(0.5) is 1000.50025
-PASS successfullyParsed is true
+Passed some tests silently.
 
 TEST COMPLETE
 
index 35af9ab..1e0cf5e 100644 (file)
@@ -3,106 +3,7 @@ Tests that constant folding an access to an uncaptured variable that is captured
 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
 
 
-PASS foo(true, 5)[0] is 462
-PASS foo(true, 5)[0] is 462
-PASS foo(true, 5)[0] is 462
-PASS foo(true, 5)[0] is 462
-PASS foo(true, 5)[0] is 462
-PASS foo(true, 5)[0] is 462
-PASS foo(true, 5)[0] is 462
-PASS foo(true, 5)[0] is 462
-PASS foo(true, 5)[0] is 462
-PASS foo(true, 5)[0] is 462
-PASS foo(true, 5)[0] is 462
-PASS foo(true, 5)[0] is 462
-PASS foo(true, 5)[0] is 462
-PASS foo(true, 5)[0] is 462
-PASS foo(true, 5)[0] is 462
-PASS foo(true, 5)[0] is 462
-PASS foo(true, 5)[0] is 462
-PASS foo(true, 5)[0] is 462
-PASS foo(true, 5)[0] is 462
-PASS foo(true, 5)[0] is 462
-PASS foo(true, 5)[0] is 462
-PASS foo(true, 5)[0] is 462
-PASS foo(true, 5)[0] is 462
-PASS foo(true, 5)[0] is 462
-PASS foo(true, 5)[0] is 462
-PASS foo(true, 5)[0] is 462
-PASS foo(true, 5)[0] is 462
-PASS foo(true, 5)[0] is 462
-PASS foo(true, 5)[0] is 462
-PASS foo(true, 5)[0] is 462
-PASS foo(true, 5)[0] is 462
-PASS foo(true, 5)[0] is 462
-PASS foo(true, 5)[0] is 462
-PASS foo(true, 5)[0] is 462
-PASS foo(true, 5)[0] is 462
-PASS foo(true, 5)[0] is 462
-PASS foo(true, 5)[0] is 462
-PASS foo(true, 5)[0] is 462
-PASS foo(true, 5)[0] is 462
-PASS foo(true, 5)[0] is 462
-PASS foo(true, 5)[0] is 462
-PASS foo(true, 5)[0] is 462
-PASS foo(true, 5)[0] is 462
-PASS foo(true, 5)[0] is 462
-PASS foo(true, 5)[0] is 462
-PASS foo(true, 5)[0] is 462
-PASS foo(true, 5)[0] is 462
-PASS foo(true, 5)[0] is 462
-PASS foo(true, 5)[0] is 462
-PASS foo(true, 5)[0] is 462
-PASS foo(true, 5)[0] is 462
-PASS foo(true, 5)[0] is 462
-PASS foo(true, 5)[0] is 462
-PASS foo(true, 5)[0] is 462
-PASS foo(true, 5)[0] is 462
-PASS foo(true, 5)[0] is 462
-PASS foo(true, 5)[0] is 462
-PASS foo(true, 5)[0] is 462
-PASS foo(true, 5)[0] is 462
-PASS foo(true, 5)[0] is 462
-PASS foo(true, 5)[0] is 462
-PASS foo(true, 5)[0] is 462
-PASS foo(true, 5)[0] is 462
-PASS foo(true, 5)[0] is 462
-PASS foo(true, 5)[0] is 462
-PASS foo(true, 5)[0] is 462
-PASS foo(true, 5)[0] is 462
-PASS foo(true, 5)[0] is 462
-PASS foo(true, 5)[0] is 462
-PASS foo(true, 5)[0] is 462
-PASS foo(true, 5)[0] is 462
-PASS foo(true, 5)[0] is 462
-PASS foo(true, 5)[0] is 462
-PASS foo(true, 5)[0] is 462
-PASS foo(true, 5)[0] is 462
-PASS foo(true, 5)[0] is 462
-PASS foo(true, 5)[0] is 462
-PASS foo(true, 5)[0] is 462
-PASS foo(true, 5)[0] is 462
-PASS foo(true, 5)[0] is 462
-PASS foo(true, 5)[0] is 462
-PASS foo(true, 5)[0] is 462
-PASS foo(true, 5)[0] is 462
-PASS foo(true, 5)[0] is 462
-PASS foo(true, 5)[0] is 462
-PASS foo(true, 5)[0] is 462
-PASS foo(true, 5)[0] is 462
-PASS foo(true, 5)[0] is 462
-PASS foo(true, 5)[0] is 462
-PASS foo(true, 5)[0] is 462
-PASS foo(true, 5)[0] is 462
-PASS foo(true, 5)[0] is 462
-PASS foo(true, 5)[0] is 462
-PASS foo(true, 5)[0] is 462
-PASS foo(true, 5)[0] is 462
-PASS foo(true, 5)[0] is 462
-PASS foo(true, 5)[0] is 462
-PASS foo(true, 5)[0] is 462
-PASS foo(true, 5)[0] is 462
-PASS foo(true, 5)[0] is 462
+PASS foo(true, 5)[0] is 462 on all iterations including after DFG tier-up.
 PASS successfullyParsed is true
 
 TEST COMPLETE
index 4208d60..c78f6c6 100644 (file)
@@ -3,1206 +3,18 @@ This tests that we can correctly call Function.prototype.call in the DFG, but mo
 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
 
 
-PASS myObject.call() is [myObject, "myObject.call"]
-PASS myFunction('arg1') is [this, "myFunction", "arg1"]
-PASS myFunction.call(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.call() is [this, "myFunction", undefined]
-PASS myFunction.call(null) is [this, "myFunction", undefined]
-PASS myFunction.call(undefined) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.aliasedCall() is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(null) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(undefined) is [this, "myFunction", undefined]
-PASS myFunctionWithCall.call(myObject, 'arg1') is [myFunctionWithCall, "myFunctionWithCall.call", myObject]
-PASS myFunctionWithCall.aliasedCall(myObject, 'arg1') is [myObject, "myFunctionWithCall", "arg1"]
-PASS myObject.call() is [myObject, "myObject.call"]
-PASS myFunction('arg1') is [this, "myFunction", "arg1"]
-PASS myFunction.call(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.call() is [this, "myFunction", undefined]
-PASS myFunction.call(null) is [this, "myFunction", undefined]
-PASS myFunction.call(undefined) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.aliasedCall() is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(null) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(undefined) is [this, "myFunction", undefined]
-PASS myFunctionWithCall.call(myObject, 'arg1') is [myFunctionWithCall, "myFunctionWithCall.call", myObject]
-PASS myFunctionWithCall.aliasedCall(myObject, 'arg1') is [myObject, "myFunctionWithCall", "arg1"]
-PASS myObject.call() is [myObject, "myObject.call"]
-PASS myFunction('arg1') is [this, "myFunction", "arg1"]
-PASS myFunction.call(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.call() is [this, "myFunction", undefined]
-PASS myFunction.call(null) is [this, "myFunction", undefined]
-PASS myFunction.call(undefined) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.aliasedCall() is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(null) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(undefined) is [this, "myFunction", undefined]
-PASS myFunctionWithCall.call(myObject, 'arg1') is [myFunctionWithCall, "myFunctionWithCall.call", myObject]
-PASS myFunctionWithCall.aliasedCall(myObject, 'arg1') is [myObject, "myFunctionWithCall", "arg1"]
-PASS myObject.call() is [myObject, "myObject.call"]
-PASS myFunction('arg1') is [this, "myFunction", "arg1"]
-PASS myFunction.call(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.call() is [this, "myFunction", undefined]
-PASS myFunction.call(null) is [this, "myFunction", undefined]
-PASS myFunction.call(undefined) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.aliasedCall() is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(null) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(undefined) is [this, "myFunction", undefined]
-PASS myFunctionWithCall.call(myObject, 'arg1') is [myFunctionWithCall, "myFunctionWithCall.call", myObject]
-PASS myFunctionWithCall.aliasedCall(myObject, 'arg1') is [myObject, "myFunctionWithCall", "arg1"]
-PASS myObject.call() is [myObject, "myObject.call"]
-PASS myFunction('arg1') is [this, "myFunction", "arg1"]
-PASS myFunction.call(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.call() is [this, "myFunction", undefined]
-PASS myFunction.call(null) is [this, "myFunction", undefined]
-PASS myFunction.call(undefined) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.aliasedCall() is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(null) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(undefined) is [this, "myFunction", undefined]
-PASS myFunctionWithCall.call(myObject, 'arg1') is [myFunctionWithCall, "myFunctionWithCall.call", myObject]
-PASS myFunctionWithCall.aliasedCall(myObject, 'arg1') is [myObject, "myFunctionWithCall", "arg1"]
-PASS myObject.call() is [myObject, "myObject.call"]
-PASS myFunction('arg1') is [this, "myFunction", "arg1"]
-PASS myFunction.call(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.call() is [this, "myFunction", undefined]
-PASS myFunction.call(null) is [this, "myFunction", undefined]
-PASS myFunction.call(undefined) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.aliasedCall() is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(null) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(undefined) is [this, "myFunction", undefined]
-PASS myFunctionWithCall.call(myObject, 'arg1') is [myFunctionWithCall, "myFunctionWithCall.call", myObject]
-PASS myFunctionWithCall.aliasedCall(myObject, 'arg1') is [myObject, "myFunctionWithCall", "arg1"]
-PASS myObject.call() is [myObject, "myObject.call"]
-PASS myFunction('arg1') is [this, "myFunction", "arg1"]
-PASS myFunction.call(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.call() is [this, "myFunction", undefined]
-PASS myFunction.call(null) is [this, "myFunction", undefined]
-PASS myFunction.call(undefined) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.aliasedCall() is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(null) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(undefined) is [this, "myFunction", undefined]
-PASS myFunctionWithCall.call(myObject, 'arg1') is [myFunctionWithCall, "myFunctionWithCall.call", myObject]
-PASS myFunctionWithCall.aliasedCall(myObject, 'arg1') is [myObject, "myFunctionWithCall", "arg1"]
-PASS myObject.call() is [myObject, "myObject.call"]
-PASS myFunction('arg1') is [this, "myFunction", "arg1"]
-PASS myFunction.call(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.call() is [this, "myFunction", undefined]
-PASS myFunction.call(null) is [this, "myFunction", undefined]
-PASS myFunction.call(undefined) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.aliasedCall() is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(null) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(undefined) is [this, "myFunction", undefined]
-PASS myFunctionWithCall.call(myObject, 'arg1') is [myFunctionWithCall, "myFunctionWithCall.call", myObject]
-PASS myFunctionWithCall.aliasedCall(myObject, 'arg1') is [myObject, "myFunctionWithCall", "arg1"]
-PASS myObject.call() is [myObject, "myObject.call"]
-PASS myFunction('arg1') is [this, "myFunction", "arg1"]
-PASS myFunction.call(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.call() is [this, "myFunction", undefined]
-PASS myFunction.call(null) is [this, "myFunction", undefined]
-PASS myFunction.call(undefined) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.aliasedCall() is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(null) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(undefined) is [this, "myFunction", undefined]
-PASS myFunctionWithCall.call(myObject, 'arg1') is [myFunctionWithCall, "myFunctionWithCall.call", myObject]
-PASS myFunctionWithCall.aliasedCall(myObject, 'arg1') is [myObject, "myFunctionWithCall", "arg1"]
-PASS myObject.call() is [myObject, "myObject.call"]
-PASS myFunction('arg1') is [this, "myFunction", "arg1"]
-PASS myFunction.call(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.call() is [this, "myFunction", undefined]
-PASS myFunction.call(null) is [this, "myFunction", undefined]
-PASS myFunction.call(undefined) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.aliasedCall() is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(null) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(undefined) is [this, "myFunction", undefined]
-PASS myFunctionWithCall.call(myObject, 'arg1') is [myFunctionWithCall, "myFunctionWithCall.call", myObject]
-PASS myFunctionWithCall.aliasedCall(myObject, 'arg1') is [myObject, "myFunctionWithCall", "arg1"]
-PASS myObject.call() is [myObject, "myObject.call"]
-PASS myFunction('arg1') is [this, "myFunction", "arg1"]
-PASS myFunction.call(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.call() is [this, "myFunction", undefined]
-PASS myFunction.call(null) is [this, "myFunction", undefined]
-PASS myFunction.call(undefined) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.aliasedCall() is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(null) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(undefined) is [this, "myFunction", undefined]
-PASS myFunctionWithCall.call(myObject, 'arg1') is [myFunctionWithCall, "myFunctionWithCall.call", myObject]
-PASS myFunctionWithCall.aliasedCall(myObject, 'arg1') is [myObject, "myFunctionWithCall", "arg1"]
-PASS myObject.call() is [myObject, "myObject.call"]
-PASS myFunction('arg1') is [this, "myFunction", "arg1"]
-PASS myFunction.call(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.call() is [this, "myFunction", undefined]
-PASS myFunction.call(null) is [this, "myFunction", undefined]
-PASS myFunction.call(undefined) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.aliasedCall() is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(null) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(undefined) is [this, "myFunction", undefined]
-PASS myFunctionWithCall.call(myObject, 'arg1') is [myFunctionWithCall, "myFunctionWithCall.call", myObject]
-PASS myFunctionWithCall.aliasedCall(myObject, 'arg1') is [myObject, "myFunctionWithCall", "arg1"]
-PASS myObject.call() is [myObject, "myObject.call"]
-PASS myFunction('arg1') is [this, "myFunction", "arg1"]
-PASS myFunction.call(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.call() is [this, "myFunction", undefined]
-PASS myFunction.call(null) is [this, "myFunction", undefined]
-PASS myFunction.call(undefined) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.aliasedCall() is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(null) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(undefined) is [this, "myFunction", undefined]
-PASS myFunctionWithCall.call(myObject, 'arg1') is [myFunctionWithCall, "myFunctionWithCall.call", myObject]
-PASS myFunctionWithCall.aliasedCall(myObject, 'arg1') is [myObject, "myFunctionWithCall", "arg1"]
-PASS myObject.call() is [myObject, "myObject.call"]
-PASS myFunction('arg1') is [this, "myFunction", "arg1"]
-PASS myFunction.call(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.call() is [this, "myFunction", undefined]
-PASS myFunction.call(null) is [this, "myFunction", undefined]
-PASS myFunction.call(undefined) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.aliasedCall() is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(null) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(undefined) is [this, "myFunction", undefined]
-PASS myFunctionWithCall.call(myObject, 'arg1') is [myFunctionWithCall, "myFunctionWithCall.call", myObject]
-PASS myFunctionWithCall.aliasedCall(myObject, 'arg1') is [myObject, "myFunctionWithCall", "arg1"]
-PASS myObject.call() is [myObject, "myObject.call"]
-PASS myFunction('arg1') is [this, "myFunction", "arg1"]
-PASS myFunction.call(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.call() is [this, "myFunction", undefined]
-PASS myFunction.call(null) is [this, "myFunction", undefined]
-PASS myFunction.call(undefined) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.aliasedCall() is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(null) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(undefined) is [this, "myFunction", undefined]
-PASS myFunctionWithCall.call(myObject, 'arg1') is [myFunctionWithCall, "myFunctionWithCall.call", myObject]
-PASS myFunctionWithCall.aliasedCall(myObject, 'arg1') is [myObject, "myFunctionWithCall", "arg1"]
-PASS myObject.call() is [myObject, "myObject.call"]
-PASS myFunction('arg1') is [this, "myFunction", "arg1"]
-PASS myFunction.call(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.call() is [this, "myFunction", undefined]
-PASS myFunction.call(null) is [this, "myFunction", undefined]
-PASS myFunction.call(undefined) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.aliasedCall() is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(null) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(undefined) is [this, "myFunction", undefined]
-PASS myFunctionWithCall.call(myObject, 'arg1') is [myFunctionWithCall, "myFunctionWithCall.call", myObject]
-PASS myFunctionWithCall.aliasedCall(myObject, 'arg1') is [myObject, "myFunctionWithCall", "arg1"]
-PASS myObject.call() is [myObject, "myObject.call"]
-PASS myFunction('arg1') is [this, "myFunction", "arg1"]
-PASS myFunction.call(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.call() is [this, "myFunction", undefined]
-PASS myFunction.call(null) is [this, "myFunction", undefined]
-PASS myFunction.call(undefined) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.aliasedCall() is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(null) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(undefined) is [this, "myFunction", undefined]
-PASS myFunctionWithCall.call(myObject, 'arg1') is [myFunctionWithCall, "myFunctionWithCall.call", myObject]
-PASS myFunctionWithCall.aliasedCall(myObject, 'arg1') is [myObject, "myFunctionWithCall", "arg1"]
-PASS myObject.call() is [myObject, "myObject.call"]
-PASS myFunction('arg1') is [this, "myFunction", "arg1"]
-PASS myFunction.call(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.call() is [this, "myFunction", undefined]
-PASS myFunction.call(null) is [this, "myFunction", undefined]
-PASS myFunction.call(undefined) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.aliasedCall() is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(null) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(undefined) is [this, "myFunction", undefined]
-PASS myFunctionWithCall.call(myObject, 'arg1') is [myFunctionWithCall, "myFunctionWithCall.call", myObject]
-PASS myFunctionWithCall.aliasedCall(myObject, 'arg1') is [myObject, "myFunctionWithCall", "arg1"]
-PASS myObject.call() is [myObject, "myObject.call"]
-PASS myFunction('arg1') is [this, "myFunction", "arg1"]
-PASS myFunction.call(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.call() is [this, "myFunction", undefined]
-PASS myFunction.call(null) is [this, "myFunction", undefined]
-PASS myFunction.call(undefined) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.aliasedCall() is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(null) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(undefined) is [this, "myFunction", undefined]
-PASS myFunctionWithCall.call(myObject, 'arg1') is [myFunctionWithCall, "myFunctionWithCall.call", myObject]
-PASS myFunctionWithCall.aliasedCall(myObject, 'arg1') is [myObject, "myFunctionWithCall", "arg1"]
-PASS myObject.call() is [myObject, "myObject.call"]
-PASS myFunction('arg1') is [this, "myFunction", "arg1"]
-PASS myFunction.call(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.call() is [this, "myFunction", undefined]
-PASS myFunction.call(null) is [this, "myFunction", undefined]
-PASS myFunction.call(undefined) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.aliasedCall() is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(null) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(undefined) is [this, "myFunction", undefined]
-PASS myFunctionWithCall.call(myObject, 'arg1') is [myFunctionWithCall, "myFunctionWithCall.call", myObject]
-PASS myFunctionWithCall.aliasedCall(myObject, 'arg1') is [myObject, "myFunctionWithCall", "arg1"]
-PASS myObject.call() is [myObject, "myObject.call"]
-PASS myFunction('arg1') is [this, "myFunction", "arg1"]
-PASS myFunction.call(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.call() is [this, "myFunction", undefined]
-PASS myFunction.call(null) is [this, "myFunction", undefined]
-PASS myFunction.call(undefined) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.aliasedCall() is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(null) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(undefined) is [this, "myFunction", undefined]
-PASS myFunctionWithCall.call(myObject, 'arg1') is [myFunctionWithCall, "myFunctionWithCall.call", myObject]
-PASS myFunctionWithCall.aliasedCall(myObject, 'arg1') is [myObject, "myFunctionWithCall", "arg1"]
-PASS myObject.call() is [myObject, "myObject.call"]
-PASS myFunction('arg1') is [this, "myFunction", "arg1"]
-PASS myFunction.call(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.call() is [this, "myFunction", undefined]
-PASS myFunction.call(null) is [this, "myFunction", undefined]
-PASS myFunction.call(undefined) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.aliasedCall() is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(null) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(undefined) is [this, "myFunction", undefined]
-PASS myFunctionWithCall.call(myObject, 'arg1') is [myFunctionWithCall, "myFunctionWithCall.call", myObject]
-PASS myFunctionWithCall.aliasedCall(myObject, 'arg1') is [myObject, "myFunctionWithCall", "arg1"]
-PASS myObject.call() is [myObject, "myObject.call"]
-PASS myFunction('arg1') is [this, "myFunction", "arg1"]
-PASS myFunction.call(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.call() is [this, "myFunction", undefined]
-PASS myFunction.call(null) is [this, "myFunction", undefined]
-PASS myFunction.call(undefined) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.aliasedCall() is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(null) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(undefined) is [this, "myFunction", undefined]
-PASS myFunctionWithCall.call(myObject, 'arg1') is [myFunctionWithCall, "myFunctionWithCall.call", myObject]
-PASS myFunctionWithCall.aliasedCall(myObject, 'arg1') is [myObject, "myFunctionWithCall", "arg1"]
-PASS myObject.call() is [myObject, "myObject.call"]
-PASS myFunction('arg1') is [this, "myFunction", "arg1"]
-PASS myFunction.call(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.call() is [this, "myFunction", undefined]
-PASS myFunction.call(null) is [this, "myFunction", undefined]
-PASS myFunction.call(undefined) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.aliasedCall() is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(null) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(undefined) is [this, "myFunction", undefined]
-PASS myFunctionWithCall.call(myObject, 'arg1') is [myFunctionWithCall, "myFunctionWithCall.call", myObject]
-PASS myFunctionWithCall.aliasedCall(myObject, 'arg1') is [myObject, "myFunctionWithCall", "arg1"]
-PASS myObject.call() is [myObject, "myObject.call"]
-PASS myFunction('arg1') is [this, "myFunction", "arg1"]
-PASS myFunction.call(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.call() is [this, "myFunction", undefined]
-PASS myFunction.call(null) is [this, "myFunction", undefined]
-PASS myFunction.call(undefined) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.aliasedCall() is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(null) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(undefined) is [this, "myFunction", undefined]
-PASS myFunctionWithCall.call(myObject, 'arg1') is [myFunctionWithCall, "myFunctionWithCall.call", myObject]
-PASS myFunctionWithCall.aliasedCall(myObject, 'arg1') is [myObject, "myFunctionWithCall", "arg1"]
-PASS myObject.call() is [myObject, "myObject.call"]
-PASS myFunction('arg1') is [this, "myFunction", "arg1"]
-PASS myFunction.call(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.call() is [this, "myFunction", undefined]
-PASS myFunction.call(null) is [this, "myFunction", undefined]
-PASS myFunction.call(undefined) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.aliasedCall() is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(null) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(undefined) is [this, "myFunction", undefined]
-PASS myFunctionWithCall.call(myObject, 'arg1') is [myFunctionWithCall, "myFunctionWithCall.call", myObject]
-PASS myFunctionWithCall.aliasedCall(myObject, 'arg1') is [myObject, "myFunctionWithCall", "arg1"]
-PASS myObject.call() is [myObject, "myObject.call"]
-PASS myFunction('arg1') is [this, "myFunction", "arg1"]
-PASS myFunction.call(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.call() is [this, "myFunction", undefined]
-PASS myFunction.call(null) is [this, "myFunction", undefined]
-PASS myFunction.call(undefined) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.aliasedCall() is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(null) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(undefined) is [this, "myFunction", undefined]
-PASS myFunctionWithCall.call(myObject, 'arg1') is [myFunctionWithCall, "myFunctionWithCall.call", myObject]
-PASS myFunctionWithCall.aliasedCall(myObject, 'arg1') is [myObject, "myFunctionWithCall", "arg1"]
-PASS myObject.call() is [myObject, "myObject.call"]
-PASS myFunction('arg1') is [this, "myFunction", "arg1"]
-PASS myFunction.call(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.call() is [this, "myFunction", undefined]
-PASS myFunction.call(null) is [this, "myFunction", undefined]
-PASS myFunction.call(undefined) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.aliasedCall() is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(null) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(undefined) is [this, "myFunction", undefined]
-PASS myFunctionWithCall.call(myObject, 'arg1') is [myFunctionWithCall, "myFunctionWithCall.call", myObject]
-PASS myFunctionWithCall.aliasedCall(myObject, 'arg1') is [myObject, "myFunctionWithCall", "arg1"]
-PASS myObject.call() is [myObject, "myObject.call"]
-PASS myFunction('arg1') is [this, "myFunction", "arg1"]
-PASS myFunction.call(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.call() is [this, "myFunction", undefined]
-PASS myFunction.call(null) is [this, "myFunction", undefined]
-PASS myFunction.call(undefined) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.aliasedCall() is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(null) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(undefined) is [this, "myFunction", undefined]
-PASS myFunctionWithCall.call(myObject, 'arg1') is [myFunctionWithCall, "myFunctionWithCall.call", myObject]
-PASS myFunctionWithCall.aliasedCall(myObject, 'arg1') is [myObject, "myFunctionWithCall", "arg1"]
-PASS myObject.call() is [myObject, "myObject.call"]
-PASS myFunction('arg1') is [this, "myFunction", "arg1"]
-PASS myFunction.call(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.call() is [this, "myFunction", undefined]
-PASS myFunction.call(null) is [this, "myFunction", undefined]
-PASS myFunction.call(undefined) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.aliasedCall() is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(null) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(undefined) is [this, "myFunction", undefined]
-PASS myFunctionWithCall.call(myObject, 'arg1') is [myFunctionWithCall, "myFunctionWithCall.call", myObject]
-PASS myFunctionWithCall.aliasedCall(myObject, 'arg1') is [myObject, "myFunctionWithCall", "arg1"]
-PASS myObject.call() is [myObject, "myObject.call"]
-PASS myFunction('arg1') is [this, "myFunction", "arg1"]
-PASS myFunction.call(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.call() is [this, "myFunction", undefined]
-PASS myFunction.call(null) is [this, "myFunction", undefined]
-PASS myFunction.call(undefined) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.aliasedCall() is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(null) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(undefined) is [this, "myFunction", undefined]
-PASS myFunctionWithCall.call(myObject, 'arg1') is [myFunctionWithCall, "myFunctionWithCall.call", myObject]
-PASS myFunctionWithCall.aliasedCall(myObject, 'arg1') is [myObject, "myFunctionWithCall", "arg1"]
-PASS myObject.call() is [myObject, "myObject.call"]
-PASS myFunction('arg1') is [this, "myFunction", "arg1"]
-PASS myFunction.call(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.call() is [this, "myFunction", undefined]
-PASS myFunction.call(null) is [this, "myFunction", undefined]
-PASS myFunction.call(undefined) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.aliasedCall() is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(null) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(undefined) is [this, "myFunction", undefined]
-PASS myFunctionWithCall.call(myObject, 'arg1') is [myFunctionWithCall, "myFunctionWithCall.call", myObject]
-PASS myFunctionWithCall.aliasedCall(myObject, 'arg1') is [myObject, "myFunctionWithCall", "arg1"]
-PASS myObject.call() is [myObject, "myObject.call"]
-PASS myFunction('arg1') is [this, "myFunction", "arg1"]
-PASS myFunction.call(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.call() is [this, "myFunction", undefined]
-PASS myFunction.call(null) is [this, "myFunction", undefined]
-PASS myFunction.call(undefined) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.aliasedCall() is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(null) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(undefined) is [this, "myFunction", undefined]
-PASS myFunctionWithCall.call(myObject, 'arg1') is [myFunctionWithCall, "myFunctionWithCall.call", myObject]
-PASS myFunctionWithCall.aliasedCall(myObject, 'arg1') is [myObject, "myFunctionWithCall", "arg1"]
-PASS myObject.call() is [myObject, "myObject.call"]
-PASS myFunction('arg1') is [this, "myFunction", "arg1"]
-PASS myFunction.call(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.call() is [this, "myFunction", undefined]
-PASS myFunction.call(null) is [this, "myFunction", undefined]
-PASS myFunction.call(undefined) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.aliasedCall() is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(null) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(undefined) is [this, "myFunction", undefined]
-PASS myFunctionWithCall.call(myObject, 'arg1') is [myFunctionWithCall, "myFunctionWithCall.call", myObject]
-PASS myFunctionWithCall.aliasedCall(myObject, 'arg1') is [myObject, "myFunctionWithCall", "arg1"]
-PASS myObject.call() is [myObject, "myObject.call"]
-PASS myFunction('arg1') is [this, "myFunction", "arg1"]
-PASS myFunction.call(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.call() is [this, "myFunction", undefined]
-PASS myFunction.call(null) is [this, "myFunction", undefined]
-PASS myFunction.call(undefined) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.aliasedCall() is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(null) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(undefined) is [this, "myFunction", undefined]
-PASS myFunctionWithCall.call(myObject, 'arg1') is [myFunctionWithCall, "myFunctionWithCall.call", myObject]
-PASS myFunctionWithCall.aliasedCall(myObject, 'arg1') is [myObject, "myFunctionWithCall", "arg1"]
-PASS myObject.call() is [myObject, "myObject.call"]
-PASS myFunction('arg1') is [this, "myFunction", "arg1"]
-PASS myFunction.call(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.call() is [this, "myFunction", undefined]
-PASS myFunction.call(null) is [this, "myFunction", undefined]
-PASS myFunction.call(undefined) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.aliasedCall() is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(null) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(undefined) is [this, "myFunction", undefined]
-PASS myFunctionWithCall.call(myObject, 'arg1') is [myFunctionWithCall, "myFunctionWithCall.call", myObject]
-PASS myFunctionWithCall.aliasedCall(myObject, 'arg1') is [myObject, "myFunctionWithCall", "arg1"]
-PASS myObject.call() is [myObject, "myObject.call"]
-PASS myFunction('arg1') is [this, "myFunction", "arg1"]
-PASS myFunction.call(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.call() is [this, "myFunction", undefined]
-PASS myFunction.call(null) is [this, "myFunction", undefined]
-PASS myFunction.call(undefined) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.aliasedCall() is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(null) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(undefined) is [this, "myFunction", undefined]
-PASS myFunctionWithCall.call(myObject, 'arg1') is [myFunctionWithCall, "myFunctionWithCall.call", myObject]
-PASS myFunctionWithCall.aliasedCall(myObject, 'arg1') is [myObject, "myFunctionWithCall", "arg1"]
-PASS myObject.call() is [myObject, "myObject.call"]
-PASS myFunction('arg1') is [this, "myFunction", "arg1"]
-PASS myFunction.call(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.call() is [this, "myFunction", undefined]
-PASS myFunction.call(null) is [this, "myFunction", undefined]
-PASS myFunction.call(undefined) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.aliasedCall() is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(null) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(undefined) is [this, "myFunction", undefined]
-PASS myFunctionWithCall.call(myObject, 'arg1') is [myFunctionWithCall, "myFunctionWithCall.call", myObject]
-PASS myFunctionWithCall.aliasedCall(myObject, 'arg1') is [myObject, "myFunctionWithCall", "arg1"]
-PASS myObject.call() is [myObject, "myObject.call"]
-PASS myFunction('arg1') is [this, "myFunction", "arg1"]
-PASS myFunction.call(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.call() is [this, "myFunction", undefined]
-PASS myFunction.call(null) is [this, "myFunction", undefined]
-PASS myFunction.call(undefined) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.aliasedCall() is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(null) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(undefined) is [this, "myFunction", undefined]
-PASS myFunctionWithCall.call(myObject, 'arg1') is [myFunctionWithCall, "myFunctionWithCall.call", myObject]
-PASS myFunctionWithCall.aliasedCall(myObject, 'arg1') is [myObject, "myFunctionWithCall", "arg1"]
-PASS myObject.call() is [myObject, "myObject.call"]
-PASS myFunction('arg1') is [this, "myFunction", "arg1"]
-PASS myFunction.call(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.call() is [this, "myFunction", undefined]
-PASS myFunction.call(null) is [this, "myFunction", undefined]
-PASS myFunction.call(undefined) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.aliasedCall() is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(null) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(undefined) is [this, "myFunction", undefined]
-PASS myFunctionWithCall.call(myObject, 'arg1') is [myFunctionWithCall, "myFunctionWithCall.call", myObject]
-PASS myFunctionWithCall.aliasedCall(myObject, 'arg1') is [myObject, "myFunctionWithCall", "arg1"]
-PASS myObject.call() is [myObject, "myObject.call"]
-PASS myFunction('arg1') is [this, "myFunction", "arg1"]
-PASS myFunction.call(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.call() is [this, "myFunction", undefined]
-PASS myFunction.call(null) is [this, "myFunction", undefined]
-PASS myFunction.call(undefined) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.aliasedCall() is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(null) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(undefined) is [this, "myFunction", undefined]
-PASS myFunctionWithCall.call(myObject, 'arg1') is [myFunctionWithCall, "myFunctionWithCall.call", myObject]
-PASS myFunctionWithCall.aliasedCall(myObject, 'arg1') is [myObject, "myFunctionWithCall", "arg1"]
-PASS myObject.call() is [myObject, "myObject.call"]
-PASS myFunction('arg1') is [this, "myFunction", "arg1"]
-PASS myFunction.call(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.call() is [this, "myFunction", undefined]
-PASS myFunction.call(null) is [this, "myFunction", undefined]
-PASS myFunction.call(undefined) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.aliasedCall() is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(null) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(undefined) is [this, "myFunction", undefined]
-PASS myFunctionWithCall.call(myObject, 'arg1') is [myFunctionWithCall, "myFunctionWithCall.call", myObject]
-PASS myFunctionWithCall.aliasedCall(myObject, 'arg1') is [myObject, "myFunctionWithCall", "arg1"]
-PASS myObject.call() is [myObject, "myObject.call"]
-PASS myFunction('arg1') is [this, "myFunction", "arg1"]
-PASS myFunction.call(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.call() is [this, "myFunction", undefined]
-PASS myFunction.call(null) is [this, "myFunction", undefined]
-PASS myFunction.call(undefined) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.aliasedCall() is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(null) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(undefined) is [this, "myFunction", undefined]
-PASS myFunctionWithCall.call(myObject, 'arg1') is [myFunctionWithCall, "myFunctionWithCall.call", myObject]
-PASS myFunctionWithCall.aliasedCall(myObject, 'arg1') is [myObject, "myFunctionWithCall", "arg1"]
-PASS myObject.call() is [myObject, "myObject.call"]
-PASS myFunction('arg1') is [this, "myFunction", "arg1"]
-PASS myFunction.call(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.call() is [this, "myFunction", undefined]
-PASS myFunction.call(null) is [this, "myFunction", undefined]
-PASS myFunction.call(undefined) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.aliasedCall() is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(null) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(undefined) is [this, "myFunction", undefined]
-PASS myFunctionWithCall.call(myObject, 'arg1') is [myFunctionWithCall, "myFunctionWithCall.call", myObject]
-PASS myFunctionWithCall.aliasedCall(myObject, 'arg1') is [myObject, "myFunctionWithCall", "arg1"]
-PASS myObject.call() is [myObject, "myObject.call"]
-PASS myFunction('arg1') is [this, "myFunction", "arg1"]
-PASS myFunction.call(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.call() is [this, "myFunction", undefined]
-PASS myFunction.call(null) is [this, "myFunction", undefined]
-PASS myFunction.call(undefined) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.aliasedCall() is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(null) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(undefined) is [this, "myFunction", undefined]
-PASS myFunctionWithCall.call(myObject, 'arg1') is [myFunctionWithCall, "myFunctionWithCall.call", myObject]
-PASS myFunctionWithCall.aliasedCall(myObject, 'arg1') is [myObject, "myFunctionWithCall", "arg1"]
-PASS myObject.call() is [myObject, "myObject.call"]
-PASS myFunction('arg1') is [this, "myFunction", "arg1"]
-PASS myFunction.call(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.call() is [this, "myFunction", undefined]
-PASS myFunction.call(null) is [this, "myFunction", undefined]
-PASS myFunction.call(undefined) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.aliasedCall() is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(null) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(undefined) is [this, "myFunction", undefined]
-PASS myFunctionWithCall.call(myObject, 'arg1') is [myFunctionWithCall, "myFunctionWithCall.call", myObject]
-PASS myFunctionWithCall.aliasedCall(myObject, 'arg1') is [myObject, "myFunctionWithCall", "arg1"]
-PASS myObject.call() is [myObject, "myObject.call"]
-PASS myFunction('arg1') is [this, "myFunction", "arg1"]
-PASS myFunction.call(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.call() is [this, "myFunction", undefined]
-PASS myFunction.call(null) is [this, "myFunction", undefined]
-PASS myFunction.call(undefined) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.aliasedCall() is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(null) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(undefined) is [this, "myFunction", undefined]
-PASS myFunctionWithCall.call(myObject, 'arg1') is [myFunctionWithCall, "myFunctionWithCall.call", myObject]
-PASS myFunctionWithCall.aliasedCall(myObject, 'arg1') is [myObject, "myFunctionWithCall", "arg1"]
-PASS myObject.call() is [myObject, "myObject.call"]
-PASS myFunction('arg1') is [this, "myFunction", "arg1"]
-PASS myFunction.call(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.call() is [this, "myFunction", undefined]
-PASS myFunction.call(null) is [this, "myFunction", undefined]
-PASS myFunction.call(undefined) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.aliasedCall() is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(null) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(undefined) is [this, "myFunction", undefined]
-PASS myFunctionWithCall.call(myObject, 'arg1') is [myFunctionWithCall, "myFunctionWithCall.call", myObject]
-PASS myFunctionWithCall.aliasedCall(myObject, 'arg1') is [myObject, "myFunctionWithCall", "arg1"]
-PASS myObject.call() is [myObject, "myObject.call"]
-PASS myFunction('arg1') is [this, "myFunction", "arg1"]
-PASS myFunction.call(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.call() is [this, "myFunction", undefined]
-PASS myFunction.call(null) is [this, "myFunction", undefined]
-PASS myFunction.call(undefined) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.aliasedCall() is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(null) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(undefined) is [this, "myFunction", undefined]
-PASS myFunctionWithCall.call(myObject, 'arg1') is [myFunctionWithCall, "myFunctionWithCall.call", myObject]
-PASS myFunctionWithCall.aliasedCall(myObject, 'arg1') is [myObject, "myFunctionWithCall", "arg1"]
-PASS myObject.call() is [myObject, "myObject.call"]
-PASS myFunction('arg1') is [this, "myFunction", "arg1"]
-PASS myFunction.call(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.call() is [this, "myFunction", undefined]
-PASS myFunction.call(null) is [this, "myFunction", undefined]
-PASS myFunction.call(undefined) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.aliasedCall() is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(null) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(undefined) is [this, "myFunction", undefined]
-PASS myFunctionWithCall.call(myObject, 'arg1') is [myFunctionWithCall, "myFunctionWithCall.call", myObject]
-PASS myFunctionWithCall.aliasedCall(myObject, 'arg1') is [myObject, "myFunctionWithCall", "arg1"]
-PASS myObject.call() is [myObject, "myObject.call"]
-PASS myFunction('arg1') is [this, "myFunction", "arg1"]
-PASS myFunction.call(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.call() is [this, "myFunction", undefined]
-PASS myFunction.call(null) is [this, "myFunction", undefined]
-PASS myFunction.call(undefined) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.aliasedCall() is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(null) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(undefined) is [this, "myFunction", undefined]
-PASS myFunctionWithCall.call(myObject, 'arg1') is [myFunctionWithCall, "myFunctionWithCall.call", myObject]
-PASS myFunctionWithCall.aliasedCall(myObject, 'arg1') is [myObject, "myFunctionWithCall", "arg1"]
-PASS myObject.call() is [myObject, "myObject.call"]
-PASS myFunction('arg1') is [this, "myFunction", "arg1"]
-PASS myFunction.call(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.call() is [this, "myFunction", undefined]
-PASS myFunction.call(null) is [this, "myFunction", undefined]
-PASS myFunction.call(undefined) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.aliasedCall() is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(null) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(undefined) is [this, "myFunction", undefined]
-PASS myFunctionWithCall.call(myObject, 'arg1') is [myFunctionWithCall, "myFunctionWithCall.call", myObject]
-PASS myFunctionWithCall.aliasedCall(myObject, 'arg1') is [myObject, "myFunctionWithCall", "arg1"]
-PASS myObject.call() is [myObject, "myObject.call"]
-PASS myFunction('arg1') is [this, "myFunction", "arg1"]
-PASS myFunction.call(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.call() is [this, "myFunction", undefined]
-PASS myFunction.call(null) is [this, "myFunction", undefined]
-PASS myFunction.call(undefined) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.aliasedCall() is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(null) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(undefined) is [this, "myFunction", undefined]
-PASS myFunctionWithCall.call(myObject, 'arg1') is [myFunctionWithCall, "myFunctionWithCall.call", myObject]
-PASS myFunctionWithCall.aliasedCall(myObject, 'arg1') is [myObject, "myFunctionWithCall", "arg1"]
-PASS myObject.call() is [myObject, "myObject.call"]
-PASS myFunction('arg1') is [this, "myFunction", "arg1"]
-PASS myFunction.call(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.call() is [this, "myFunction", undefined]
-PASS myFunction.call(null) is [this, "myFunction", undefined]
-PASS myFunction.call(undefined) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.aliasedCall() is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(null) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(undefined) is [this, "myFunction", undefined]
-PASS myFunctionWithCall.call(myObject, 'arg1') is [myFunctionWithCall, "myFunctionWithCall.call", myObject]
-PASS myFunctionWithCall.aliasedCall(myObject, 'arg1') is [myObject, "myFunctionWithCall", "arg1"]
-PASS myObject.call() is [myObject, "myObject.call"]
-PASS myFunction('arg1') is [this, "myFunction", "arg1"]
-PASS myFunction.call(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.call() is [this, "myFunction", undefined]
-PASS myFunction.call(null) is [this, "myFunction", undefined]
-PASS myFunction.call(undefined) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.aliasedCall() is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(null) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(undefined) is [this, "myFunction", undefined]
-PASS myFunctionWithCall.call(myObject, 'arg1') is [myFunctionWithCall, "myFunctionWithCall.call", myObject]
-PASS myFunctionWithCall.aliasedCall(myObject, 'arg1') is [myObject, "myFunctionWithCall", "arg1"]
-PASS myObject.call() is [myObject, "myObject.call"]
-PASS myFunction('arg1') is [this, "myFunction", "arg1"]
-PASS myFunction.call(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.call() is [this, "myFunction", undefined]
-PASS myFunction.call(null) is [this, "myFunction", undefined]
-PASS myFunction.call(undefined) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.aliasedCall() is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(null) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(undefined) is [this, "myFunction", undefined]
-PASS myFunctionWithCall.call(myObject, 'arg1') is [myFunctionWithCall, "myFunctionWithCall.call", myObject]
-PASS myFunctionWithCall.aliasedCall(myObject, 'arg1') is [myObject, "myFunctionWithCall", "arg1"]
-PASS myObject.call() is [myObject, "myObject.call"]
-PASS myFunction('arg1') is [this, "myFunction", "arg1"]
-PASS myFunction.call(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.call() is [this, "myFunction", undefined]
-PASS myFunction.call(null) is [this, "myFunction", undefined]
-PASS myFunction.call(undefined) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.aliasedCall() is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(null) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(undefined) is [this, "myFunction", undefined]
-PASS myFunctionWithCall.call(myObject, 'arg1') is [myFunctionWithCall, "myFunctionWithCall.call", myObject]
-PASS myFunctionWithCall.aliasedCall(myObject, 'arg1') is [myObject, "myFunctionWithCall", "arg1"]
-PASS myObject.call() is [myObject, "myObject.call"]
-PASS myFunction('arg1') is [this, "myFunction", "arg1"]
-PASS myFunction.call(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.call() is [this, "myFunction", undefined]
-PASS myFunction.call(null) is [this, "myFunction", undefined]
-PASS myFunction.call(undefined) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.aliasedCall() is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(null) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(undefined) is [this, "myFunction", undefined]
-PASS myFunctionWithCall.call(myObject, 'arg1') is [myFunctionWithCall, "myFunctionWithCall.call", myObject]
-PASS myFunctionWithCall.aliasedCall(myObject, 'arg1') is [myObject, "myFunctionWithCall", "arg1"]
-PASS myObject.call() is [myObject, "myObject.call"]
-PASS myFunction('arg1') is [this, "myFunction", "arg1"]
-PASS myFunction.call(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.call() is [this, "myFunction", undefined]
-PASS myFunction.call(null) is [this, "myFunction", undefined]
-PASS myFunction.call(undefined) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.aliasedCall() is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(null) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(undefined) is [this, "myFunction", undefined]
-PASS myFunctionWithCall.call(myObject, 'arg1') is [myFunctionWithCall, "myFunctionWithCall.call", myObject]
-PASS myFunctionWithCall.aliasedCall(myObject, 'arg1') is [myObject, "myFunctionWithCall", "arg1"]
-PASS myObject.call() is [myObject, "myObject.call"]
-PASS myFunction('arg1') is [this, "myFunction", "arg1"]
-PASS myFunction.call(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.call() is [this, "myFunction", undefined]
-PASS myFunction.call(null) is [this, "myFunction", undefined]
-PASS myFunction.call(undefined) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.aliasedCall() is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(null) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(undefined) is [this, "myFunction", undefined]
-PASS myFunctionWithCall.call(myObject, 'arg1') is [myFunctionWithCall, "myFunctionWithCall.call", myObject]
-PASS myFunctionWithCall.aliasedCall(myObject, 'arg1') is [myObject, "myFunctionWithCall", "arg1"]
-PASS myObject.call() is [myObject, "myObject.call"]
-PASS myFunction('arg1') is [this, "myFunction", "arg1"]
-PASS myFunction.call(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.call() is [this, "myFunction", undefined]
-PASS myFunction.call(null) is [this, "myFunction", undefined]
-PASS myFunction.call(undefined) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.aliasedCall() is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(null) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(undefined) is [this, "myFunction", undefined]
-PASS myFunctionWithCall.call(myObject, 'arg1') is [myFunctionWithCall, "myFunctionWithCall.call", myObject]
-PASS myFunctionWithCall.aliasedCall(myObject, 'arg1') is [myObject, "myFunctionWithCall", "arg1"]
-PASS myObject.call() is [myObject, "myObject.call"]
-PASS myFunction('arg1') is [this, "myFunction", "arg1"]
-PASS myFunction.call(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.call() is [this, "myFunction", undefined]
-PASS myFunction.call(null) is [this, "myFunction", undefined]
-PASS myFunction.call(undefined) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.aliasedCall() is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(null) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(undefined) is [this, "myFunction", undefined]
-PASS myFunctionWithCall.call(myObject, 'arg1') is [myFunctionWithCall, "myFunctionWithCall.call", myObject]
-PASS myFunctionWithCall.aliasedCall(myObject, 'arg1') is [myObject, "myFunctionWithCall", "arg1"]
-PASS myObject.call() is [myObject, "myObject.call"]
-PASS myFunction('arg1') is [this, "myFunction", "arg1"]
-PASS myFunction.call(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.call() is [this, "myFunction", undefined]
-PASS myFunction.call(null) is [this, "myFunction", undefined]
-PASS myFunction.call(undefined) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.aliasedCall() is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(null) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(undefined) is [this, "myFunction", undefined]
-PASS myFunctionWithCall.call(myObject, 'arg1') is [myFunctionWithCall, "myFunctionWithCall.call", myObject]
-PASS myFunctionWithCall.aliasedCall(myObject, 'arg1') is [myObject, "myFunctionWithCall", "arg1"]
-PASS myObject.call() is [myObject, "myObject.call"]
-PASS myFunction('arg1') is [this, "myFunction", "arg1"]
-PASS myFunction.call(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.call() is [this, "myFunction", undefined]
-PASS myFunction.call(null) is [this, "myFunction", undefined]
-PASS myFunction.call(undefined) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.aliasedCall() is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(null) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(undefined) is [this, "myFunction", undefined]
-PASS myFunctionWithCall.call(myObject, 'arg1') is [myFunctionWithCall, "myFunctionWithCall.call", myObject]
-PASS myFunctionWithCall.aliasedCall(myObject, 'arg1') is [myObject, "myFunctionWithCall", "arg1"]
-PASS myObject.call() is [myObject, "myObject.call"]
-PASS myFunction('arg1') is [this, "myFunction", "arg1"]
-PASS myFunction.call(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.call() is [this, "myFunction", undefined]
-PASS myFunction.call(null) is [this, "myFunction", undefined]
-PASS myFunction.call(undefined) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.aliasedCall() is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(null) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(undefined) is [this, "myFunction", undefined]
-PASS myFunctionWithCall.call(myObject, 'arg1') is [myFunctionWithCall, "myFunctionWithCall.call", myObject]
-PASS myFunctionWithCall.aliasedCall(myObject, 'arg1') is [myObject, "myFunctionWithCall", "arg1"]
-PASS myObject.call() is [myObject, "myObject.call"]
-PASS myFunction('arg1') is [this, "myFunction", "arg1"]
-PASS myFunction.call(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.call() is [this, "myFunction", undefined]
-PASS myFunction.call(null) is [this, "myFunction", undefined]
-PASS myFunction.call(undefined) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.aliasedCall() is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(null) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(undefined) is [this, "myFunction", undefined]
-PASS myFunctionWithCall.call(myObject, 'arg1') is [myFunctionWithCall, "myFunctionWithCall.call", myObject]
-PASS myFunctionWithCall.aliasedCall(myObject, 'arg1') is [myObject, "myFunctionWithCall", "arg1"]
-PASS myObject.call() is [myObject, "myObject.call"]
-PASS myFunction('arg1') is [this, "myFunction", "arg1"]
-PASS myFunction.call(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.call() is [this, "myFunction", undefined]
-PASS myFunction.call(null) is [this, "myFunction", undefined]
-PASS myFunction.call(undefined) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.aliasedCall() is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(null) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(undefined) is [this, "myFunction", undefined]
-PASS myFunctionWithCall.call(myObject, 'arg1') is [myFunctionWithCall, "myFunctionWithCall.call", myObject]
-PASS myFunctionWithCall.aliasedCall(myObject, 'arg1') is [myObject, "myFunctionWithCall", "arg1"]
-PASS myObject.call() is [myObject, "myObject.call"]
-PASS myFunction('arg1') is [this, "myFunction", "arg1"]
-PASS myFunction.call(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.call() is [this, "myFunction", undefined]
-PASS myFunction.call(null) is [this, "myFunction", undefined]
-PASS myFunction.call(undefined) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.aliasedCall() is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(null) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(undefined) is [this, "myFunction", undefined]
-PASS myFunctionWithCall.call(myObject, 'arg1') is [myFunctionWithCall, "myFunctionWithCall.call", myObject]
-PASS myFunctionWithCall.aliasedCall(myObject, 'arg1') is [myObject, "myFunctionWithCall", "arg1"]
-PASS myObject.call() is [myObject, "myObject.call"]
-PASS myFunction('arg1') is [this, "myFunction", "arg1"]
-PASS myFunction.call(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.call() is [this, "myFunction", undefined]
-PASS myFunction.call(null) is [this, "myFunction", undefined]
-PASS myFunction.call(undefined) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.aliasedCall() is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(null) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(undefined) is [this, "myFunction", undefined]
-PASS myFunctionWithCall.call(myObject, 'arg1') is [myFunctionWithCall, "myFunctionWithCall.call", myObject]
-PASS myFunctionWithCall.aliasedCall(myObject, 'arg1') is [myObject, "myFunctionWithCall", "arg1"]
-PASS myObject.call() is [myObject, "myObject.call"]
-PASS myFunction('arg1') is [this, "myFunction", "arg1"]
-PASS myFunction.call(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.call() is [this, "myFunction", undefined]
-PASS myFunction.call(null) is [this, "myFunction", undefined]
-PASS myFunction.call(undefined) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.aliasedCall() is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(null) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(undefined) is [this, "myFunction", undefined]
-PASS myFunctionWithCall.call(myObject, 'arg1') is [myFunctionWithCall, "myFunctionWithCall.call", myObject]
-PASS myFunctionWithCall.aliasedCall(myObject, 'arg1') is [myObject, "myFunctionWithCall", "arg1"]
-PASS myObject.call() is [myObject, "myObject.call"]
-PASS myFunction('arg1') is [this, "myFunction", "arg1"]
-PASS myFunction.call(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.call() is [this, "myFunction", undefined]
-PASS myFunction.call(null) is [this, "myFunction", undefined]
-PASS myFunction.call(undefined) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.aliasedCall() is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(null) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(undefined) is [this, "myFunction", undefined]
-PASS myFunctionWithCall.call(myObject, 'arg1') is [myFunctionWithCall, "myFunctionWithCall.call", myObject]
-PASS myFunctionWithCall.aliasedCall(myObject, 'arg1') is [myObject, "myFunctionWithCall", "arg1"]
-PASS myObject.call() is [myObject, "myObject.call"]
-PASS myFunction('arg1') is [this, "myFunction", "arg1"]
-PASS myFunction.call(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.call() is [this, "myFunction", undefined]
-PASS myFunction.call(null) is [this, "myFunction", undefined]
-PASS myFunction.call(undefined) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.aliasedCall() is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(null) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(undefined) is [this, "myFunction", undefined]
-PASS myFunctionWithCall.call(myObject, 'arg1') is [myFunctionWithCall, "myFunctionWithCall.call", myObject]
-PASS myFunctionWithCall.aliasedCall(myObject, 'arg1') is [myObject, "myFunctionWithCall", "arg1"]
-PASS myObject.call() is [myObject, "myObject.call"]
-PASS myFunction('arg1') is [this, "myFunction", "arg1"]
-PASS myFunction.call(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.call() is [this, "myFunction", undefined]
-PASS myFunction.call(null) is [this, "myFunction", undefined]
-PASS myFunction.call(undefined) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.aliasedCall() is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(null) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(undefined) is [this, "myFunction", undefined]
-PASS myFunctionWithCall.call(myObject, 'arg1') is [myFunctionWithCall, "myFunctionWithCall.call", myObject]
-PASS myFunctionWithCall.aliasedCall(myObject, 'arg1') is [myObject, "myFunctionWithCall", "arg1"]
-PASS myObject.call() is [myObject, "myObject.call"]
-PASS myFunction('arg1') is [this, "myFunction", "arg1"]
-PASS myFunction.call(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.call() is [this, "myFunction", undefined]
-PASS myFunction.call(null) is [this, "myFunction", undefined]
-PASS myFunction.call(undefined) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.aliasedCall() is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(null) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(undefined) is [this, "myFunction", undefined]
-PASS myFunctionWithCall.call(myObject, 'arg1') is [myFunctionWithCall, "myFunctionWithCall.call", myObject]
-PASS myFunctionWithCall.aliasedCall(myObject, 'arg1') is [myObject, "myFunctionWithCall", "arg1"]
-PASS myObject.call() is [myObject, "myObject.call"]
-PASS myFunction('arg1') is [this, "myFunction", "arg1"]
-PASS myFunction.call(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.call() is [this, "myFunction", undefined]
-PASS myFunction.call(null) is [this, "myFunction", undefined]
-PASS myFunction.call(undefined) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.aliasedCall() is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(null) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(undefined) is [this, "myFunction", undefined]
-PASS myFunctionWithCall.call(myObject, 'arg1') is [myFunctionWithCall, "myFunctionWithCall.call", myObject]
-PASS myFunctionWithCall.aliasedCall(myObject, 'arg1') is [myObject, "myFunctionWithCall", "arg1"]
-PASS myObject.call() is [myObject, "myObject.call"]
-PASS myFunction('arg1') is [this, "myFunction", "arg1"]
-PASS myFunction.call(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.call() is [this, "myFunction", undefined]
-PASS myFunction.call(null) is [this, "myFunction", undefined]
-PASS myFunction.call(undefined) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.aliasedCall() is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(null) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(undefined) is [this, "myFunction", undefined]
-PASS myFunctionWithCall.call(myObject, 'arg1') is [myFunctionWithCall, "myFunctionWithCall.call", myObject]
-PASS myFunctionWithCall.aliasedCall(myObject, 'arg1') is [myObject, "myFunctionWithCall", "arg1"]
-PASS myObject.call() is [myObject, "myObject.call"]
-PASS myFunction('arg1') is [this, "myFunction", "arg1"]
-PASS myFunction.call(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.call() is [this, "myFunction", undefined]
-PASS myFunction.call(null) is [this, "myFunction", undefined]
-PASS myFunction.call(undefined) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.aliasedCall() is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(null) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(undefined) is [this, "myFunction", undefined]
-PASS myFunctionWithCall.call(myObject, 'arg1') is [myFunctionWithCall, "myFunctionWithCall.call", myObject]
-PASS myFunctionWithCall.aliasedCall(myObject, 'arg1') is [myObject, "myFunctionWithCall", "arg1"]
-PASS myObject.call() is [myObject, "myObject.call"]
-PASS myFunction('arg1') is [this, "myFunction", "arg1"]
-PASS myFunction.call(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.call() is [this, "myFunction", undefined]
-PASS myFunction.call(null) is [this, "myFunction", undefined]
-PASS myFunction.call(undefined) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.aliasedCall() is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(null) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(undefined) is [this, "myFunction", undefined]
-PASS myFunctionWithCall.call(myObject, 'arg1') is [myFunctionWithCall, "myFunctionWithCall.call", myObject]
-PASS myFunctionWithCall.aliasedCall(myObject, 'arg1') is [myObject, "myFunctionWithCall", "arg1"]
-PASS myObject.call() is [myObject, "myObject.call"]
-PASS myFunction('arg1') is [this, "myFunction", "arg1"]
-PASS myFunction.call(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.call() is [this, "myFunction", undefined]
-PASS myFunction.call(null) is [this, "myFunction", undefined]
-PASS myFunction.call(undefined) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.aliasedCall() is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(null) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(undefined) is [this, "myFunction", undefined]
-PASS myFunctionWithCall.call(myObject, 'arg1') is [myFunctionWithCall, "myFunctionWithCall.call", myObject]
-PASS myFunctionWithCall.aliasedCall(myObject, 'arg1') is [myObject, "myFunctionWithCall", "arg1"]
-PASS myObject.call() is [myObject, "myObject.call"]
-PASS myFunction('arg1') is [this, "myFunction", "arg1"]
-PASS myFunction.call(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.call() is [this, "myFunction", undefined]
-PASS myFunction.call(null) is [this, "myFunction", undefined]
-PASS myFunction.call(undefined) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.aliasedCall() is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(null) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(undefined) is [this, "myFunction", undefined]
-PASS myFunctionWithCall.call(myObject, 'arg1') is [myFunctionWithCall, "myFunctionWithCall.call", myObject]
-PASS myFunctionWithCall.aliasedCall(myObject, 'arg1') is [myObject, "myFunctionWithCall", "arg1"]
-PASS myObject.call() is [myObject, "myObject.call"]
-PASS myFunction('arg1') is [this, "myFunction", "arg1"]
-PASS myFunction.call(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.call() is [this, "myFunction", undefined]
-PASS myFunction.call(null) is [this, "myFunction", undefined]
-PASS myFunction.call(undefined) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.aliasedCall() is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(null) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(undefined) is [this, "myFunction", undefined]
-PASS myFunctionWithCall.call(myObject, 'arg1') is [myFunctionWithCall, "myFunctionWithCall.call", myObject]
-PASS myFunctionWithCall.aliasedCall(myObject, 'arg1') is [myObject, "myFunctionWithCall", "arg1"]
-PASS myObject.call() is [myObject, "myObject.call"]
-PASS myFunction('arg1') is [this, "myFunction", "arg1"]
-PASS myFunction.call(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.call() is [this, "myFunction", undefined]
-PASS myFunction.call(null) is [this, "myFunction", undefined]
-PASS myFunction.call(undefined) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.aliasedCall() is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(null) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(undefined) is [this, "myFunction", undefined]
-PASS myFunctionWithCall.call(myObject, 'arg1') is [myFunctionWithCall, "myFunctionWithCall.call", myObject]
-PASS myFunctionWithCall.aliasedCall(myObject, 'arg1') is [myObject, "myFunctionWithCall", "arg1"]
-PASS myObject.call() is [myObject, "myObject.call"]
-PASS myFunction('arg1') is [this, "myFunction", "arg1"]
-PASS myFunction.call(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.call() is [this, "myFunction", undefined]
-PASS myFunction.call(null) is [this, "myFunction", undefined]
-PASS myFunction.call(undefined) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.aliasedCall() is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(null) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(undefined) is [this, "myFunction", undefined]
-PASS myFunctionWithCall.call(myObject, 'arg1') is [myFunctionWithCall, "myFunctionWithCall.call", myObject]
-PASS myFunctionWithCall.aliasedCall(myObject, 'arg1') is [myObject, "myFunctionWithCall", "arg1"]
-PASS myObject.call() is [myObject, "myObject.call"]
-PASS myFunction('arg1') is [this, "myFunction", "arg1"]
-PASS myFunction.call(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.call() is [this, "myFunction", undefined]
-PASS myFunction.call(null) is [this, "myFunction", undefined]
-PASS myFunction.call(undefined) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.aliasedCall() is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(null) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(undefined) is [this, "myFunction", undefined]
-PASS myFunctionWithCall.call(myObject, 'arg1') is [myFunctionWithCall, "myFunctionWithCall.call", myObject]
-PASS myFunctionWithCall.aliasedCall(myObject, 'arg1') is [myObject, "myFunctionWithCall", "arg1"]
-PASS myObject.call() is [myObject, "myObject.call"]
-PASS myFunction('arg1') is [this, "myFunction", "arg1"]
-PASS myFunction.call(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.call() is [this, "myFunction", undefined]
-PASS myFunction.call(null) is [this, "myFunction", undefined]
-PASS myFunction.call(undefined) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.aliasedCall() is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(null) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(undefined) is [this, "myFunction", undefined]
-PASS myFunctionWithCall.call(myObject, 'arg1') is [myFunctionWithCall, "myFunctionWithCall.call", myObject]
-PASS myFunctionWithCall.aliasedCall(myObject, 'arg1') is [myObject, "myFunctionWithCall", "arg1"]
-PASS myObject.call() is [myObject, "myObject.call"]
-PASS myFunction('arg1') is [this, "myFunction", "arg1"]
-PASS myFunction.call(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.call() is [this, "myFunction", undefined]
-PASS myFunction.call(null) is [this, "myFunction", undefined]
-PASS myFunction.call(undefined) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.aliasedCall() is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(null) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(undefined) is [this, "myFunction", undefined]
-PASS myFunctionWithCall.call(myObject, 'arg1') is [myFunctionWithCall, "myFunctionWithCall.call", myObject]
-PASS myFunctionWithCall.aliasedCall(myObject, 'arg1') is [myObject, "myFunctionWithCall", "arg1"]
-PASS myObject.call() is [myObject, "myObject.call"]
-PASS myFunction('arg1') is [this, "myFunction", "arg1"]
-PASS myFunction.call(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.call() is [this, "myFunction", undefined]
-PASS myFunction.call(null) is [this, "myFunction", undefined]
-PASS myFunction.call(undefined) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.aliasedCall() is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(null) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(undefined) is [this, "myFunction", undefined]
-PASS myFunctionWithCall.call(myObject, 'arg1') is [myFunctionWithCall, "myFunctionWithCall.call", myObject]
-PASS myFunctionWithCall.aliasedCall(myObject, 'arg1') is [myObject, "myFunctionWithCall", "arg1"]
-PASS myObject.call() is [myObject, "myObject.call"]
-PASS myFunction('arg1') is [this, "myFunction", "arg1"]
-PASS myFunction.call(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.call() is [this, "myFunction", undefined]
-PASS myFunction.call(null) is [this, "myFunction", undefined]
-PASS myFunction.call(undefined) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.aliasedCall() is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(null) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(undefined) is [this, "myFunction", undefined]
-PASS myFunctionWithCall.call(myObject, 'arg1') is [myFunctionWithCall, "myFunctionWithCall.call", myObject]
-PASS myFunctionWithCall.aliasedCall(myObject, 'arg1') is [myObject, "myFunctionWithCall", "arg1"]
-PASS myObject.call() is [myObject, "myObject.call"]
-PASS myFunction('arg1') is [this, "myFunction", "arg1"]
-PASS myFunction.call(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.call() is [this, "myFunction", undefined]
-PASS myFunction.call(null) is [this, "myFunction", undefined]
-PASS myFunction.call(undefined) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.aliasedCall() is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(null) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(undefined) is [this, "myFunction", undefined]
-PASS myFunctionWithCall.call(myObject, 'arg1') is [myFunctionWithCall, "myFunctionWithCall.call", myObject]
-PASS myFunctionWithCall.aliasedCall(myObject, 'arg1') is [myObject, "myFunctionWithCall", "arg1"]
-PASS myObject.call() is [myObject, "myObject.call"]
-PASS myFunction('arg1') is [this, "myFunction", "arg1"]
-PASS myFunction.call(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.call() is [this, "myFunction", undefined]
-PASS myFunction.call(null) is [this, "myFunction", undefined]
-PASS myFunction.call(undefined) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.aliasedCall() is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(null) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(undefined) is [this, "myFunction", undefined]
-PASS myFunctionWithCall.call(myObject, 'arg1') is [myFunctionWithCall, "myFunctionWithCall.call", myObject]
-PASS myFunctionWithCall.aliasedCall(myObject, 'arg1') is [myObject, "myFunctionWithCall", "arg1"]
-PASS myObject.call() is [myObject, "myObject.call"]
-PASS myFunction('arg1') is [this, "myFunction", "arg1"]
-PASS myFunction.call(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.call() is [this, "myFunction", undefined]
-PASS myFunction.call(null) is [this, "myFunction", undefined]
-PASS myFunction.call(undefined) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.aliasedCall() is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(null) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(undefined) is [this, "myFunction", undefined]
-PASS myFunctionWithCall.call(myObject, 'arg1') is [myFunctionWithCall, "myFunctionWithCall.call", myObject]
-PASS myFunctionWithCall.aliasedCall(myObject, 'arg1') is [myObject, "myFunctionWithCall", "arg1"]
-PASS myObject.call() is [myObject, "myObject.call"]
-PASS myFunction('arg1') is [this, "myFunction", "arg1"]
-PASS myFunction.call(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.call() is [this, "myFunction", undefined]
-PASS myFunction.call(null) is [this, "myFunction", undefined]
-PASS myFunction.call(undefined) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.aliasedCall() is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(null) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(undefined) is [this, "myFunction", undefined]
-PASS myFunctionWithCall.call(myObject, 'arg1') is [myFunctionWithCall, "myFunctionWithCall.call", myObject]
-PASS myFunctionWithCall.aliasedCall(myObject, 'arg1') is [myObject, "myFunctionWithCall", "arg1"]
-PASS myObject.call() is [myObject, "myObject.call"]
-PASS myFunction('arg1') is [this, "myFunction", "arg1"]
-PASS myFunction.call(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.call() is [this, "myFunction", undefined]
-PASS myFunction.call(null) is [this, "myFunction", undefined]
-PASS myFunction.call(undefined) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.aliasedCall() is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(null) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(undefined) is [this, "myFunction", undefined]
-PASS myFunctionWithCall.call(myObject, 'arg1') is [myFunctionWithCall, "myFunctionWithCall.call", myObject]
-PASS myFunctionWithCall.aliasedCall(myObject, 'arg1') is [myObject, "myFunctionWithCall", "arg1"]
-PASS myObject.call() is [myObject, "myObject.call"]
-PASS myFunction('arg1') is [this, "myFunction", "arg1"]
-PASS myFunction.call(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.call() is [this, "myFunction", undefined]
-PASS myFunction.call(null) is [this, "myFunction", undefined]
-PASS myFunction.call(undefined) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.aliasedCall() is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(null) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(undefined) is [this, "myFunction", undefined]
-PASS myFunctionWithCall.call(myObject, 'arg1') is [myFunctionWithCall, "myFunctionWithCall.call", myObject]
-PASS myFunctionWithCall.aliasedCall(myObject, 'arg1') is [myObject, "myFunctionWithCall", "arg1"]
-PASS myObject.call() is [myObject, "myObject.call"]
-PASS myFunction('arg1') is [this, "myFunction", "arg1"]
-PASS myFunction.call(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.call() is [this, "myFunction", undefined]
-PASS myFunction.call(null) is [this, "myFunction", undefined]
-PASS myFunction.call(undefined) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.aliasedCall() is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(null) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(undefined) is [this, "myFunction", undefined]
-PASS myFunctionWithCall.call(myObject, 'arg1') is [myFunctionWithCall, "myFunctionWithCall.call", myObject]
-PASS myFunctionWithCall.aliasedCall(myObject, 'arg1') is [myObject, "myFunctionWithCall", "arg1"]
-PASS myObject.call() is [myObject, "myObject.call"]
-PASS myFunction('arg1') is [this, "myFunction", "arg1"]
-PASS myFunction.call(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.call() is [this, "myFunction", undefined]
-PASS myFunction.call(null) is [this, "myFunction", undefined]
-PASS myFunction.call(undefined) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.aliasedCall() is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(null) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(undefined) is [this, "myFunction", undefined]
-PASS myFunctionWithCall.call(myObject, 'arg1') is [myFunctionWithCall, "myFunctionWithCall.call", myObject]
-PASS myFunctionWithCall.aliasedCall(myObject, 'arg1') is [myObject, "myFunctionWithCall", "arg1"]
-PASS myObject.call() is [myObject, "myObject.call"]
-PASS myFunction('arg1') is [this, "myFunction", "arg1"]
-PASS myFunction.call(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.call() is [this, "myFunction", undefined]
-PASS myFunction.call(null) is [this, "myFunction", undefined]
-PASS myFunction.call(undefined) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.aliasedCall() is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(null) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(undefined) is [this, "myFunction", undefined]
-PASS myFunctionWithCall.call(myObject, 'arg1') is [myFunctionWithCall, "myFunctionWithCall.call", myObject]
-PASS myFunctionWithCall.aliasedCall(myObject, 'arg1') is [myObject, "myFunctionWithCall", "arg1"]
-PASS myObject.call() is [myObject, "myObject.call"]
-PASS myFunction('arg1') is [this, "myFunction", "arg1"]
-PASS myFunction.call(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.call() is [this, "myFunction", undefined]
-PASS myFunction.call(null) is [this, "myFunction", undefined]
-PASS myFunction.call(undefined) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.aliasedCall() is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(null) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(undefined) is [this, "myFunction", undefined]
-PASS myFunctionWithCall.call(myObject, 'arg1') is [myFunctionWithCall, "myFunctionWithCall.call", myObject]
-PASS myFunctionWithCall.aliasedCall(myObject, 'arg1') is [myObject, "myFunctionWithCall", "arg1"]
-PASS myObject.call() is [myObject, "myObject.call"]
-PASS myFunction('arg1') is [this, "myFunction", "arg1"]
-PASS myFunction.call(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.call() is [this, "myFunction", undefined]
-PASS myFunction.call(null) is [this, "myFunction", undefined]
-PASS myFunction.call(undefined) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.aliasedCall() is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(null) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(undefined) is [this, "myFunction", undefined]
-PASS myFunctionWithCall.call(myObject, 'arg1') is [myFunctionWithCall, "myFunctionWithCall.call", myObject]
-PASS myFunctionWithCall.aliasedCall(myObject, 'arg1') is [myObject, "myFunctionWithCall", "arg1"]
-PASS myObject.call() is [myObject, "myObject.call"]
-PASS myFunction('arg1') is [this, "myFunction", "arg1"]
-PASS myFunction.call(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.call() is [this, "myFunction", undefined]
-PASS myFunction.call(null) is [this, "myFunction", undefined]
-PASS myFunction.call(undefined) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(myObject, 'arg1') is [myObject, "myFunction", "arg1"]
-PASS myFunction.aliasedCall() is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(null) is [this, "myFunction", undefined]
-PASS myFunction.aliasedCall(undefined) is [this, "myFunction", undefined]
-PASS myFunctionWithCall.call(myObject, 'arg1') is [myFunctionWithCall, "myFunctionWithCall.call", myObject]
-PASS myFunctionWithCall.aliasedCall(myObject, 'arg1') is [myObject, "myFunctionWithCall", "arg1"]
+PASS myObject.call() is [myObject, "myObject.call"] on all iterations including after DFG tier-up.
+PASS myFunction('arg1') is [this, "myFunction", "arg1"] on all iterations including after DFG tier-up.
+PASS myFunction.call(myObject, 'arg1') is [myObject, "myFunction", "arg1"] on all iterations including after DFG tier-up.
+PASS myFunction.call() is [this, "myFunction", undefined] on all iterations including after DFG tier-up.
+PASS myFunction.call(null) is [this, "myFunction", undefined] on all iterations including after DFG tier-up.
+PASS myFunction.call(undefined) is [this, "myFunction", undefined] on all iterations including after DFG tier-up.
+PASS myFunction.aliasedCall(myObject, 'arg1') is [myObject, "myFunction", "arg1"] on all iterations including after DFG tier-up.
+PASS myFunction.aliasedCall() is [this, "myFunction", undefined] on all iterations including after DFG tier-up.
+PASS myFunction.aliasedCall(null) is [this, "myFunction", undefined] on all iterations including after DFG tier-up.
+PASS myFunction.aliasedCall(undefined) is [this, "myFunction", undefined] on all iterations including after DFG tier-up.
+PASS myFunctionWithCall.call(myObject, 'arg1') is [myFunctionWithCall, "myFunctionWithCall.call", myObject] on all iterations including after DFG tier-up.
+PASS myFunctionWithCall.aliasedCall(myObject, 'arg1') is [myObject, "myFunctionWithCall", "arg1"] on all iterations including after DFG tier-up.
 PASS successfullyParsed is true
 
 TEST COMPLETE
index 1b40fde..574948f 100644 (file)
@@ -3,207 +3,7 @@ Tests that a convert_this optimized for the case where this is an object behaves
 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
 
 
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS successfullyParsed is true
+Passed some tests silently.
 
 TEST COMPLETE
 
index 566e088..5a54b9f 100644 (file)
@@ -3,207 +3,7 @@ Tests that a convert_this optimized for the case where this is null behaves corr
 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
 
 
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS successfullyParsed is true
+Passed some tests silently.
 
 TEST COMPLETE
 
index 99b8f28..f00e8db 100644 (file)
@@ -3,1007 +3,7 @@ Tests that a convert_this optimized for the case where this is an object with po
 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
 
 
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS successfullyParsed is true
+Passed some tests silently.
 
 TEST COMPLETE
 
index 9c2abbb..8e1395a 100644 (file)
@@ -3,1007 +3,7 @@ Tests that a convert_this optimized for the case where this is an object with po
 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
 
 
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS foo.call(me) is 42
-PASS successfullyParsed is true
+Passed some tests silently.
 
 TEST COMPLETE
 
index 023b9b3..c217527 100644 (file)
@@ -3,207 +3,7 @@ Tests that if the DFG tries to create inlined arguments from within a inlined ca
 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
 
 
-PASS value is 5
-PASS value is 6
-PASS value is 7
-PASS value is 8
-PASS value is 9
-PASS value is 10
-PASS value is 11
-PASS value is 12
-PASS value is 13
-PASS value is 14
-PASS value is 15
-PASS value is 16
-PASS value is 17
-PASS value is 18
-PASS value is 19
-PASS value is 20
-PASS value is 21
-PASS value is 22
-PASS value is 23
-PASS value is 24
-PASS value is 25
-PASS value is 26
-PASS value is 27
-PASS value is 28
-PASS value is 29
-PASS value is 30
-PASS value is 31
-PASS value is 32
-PASS value is 33
-PASS value is 34
-PASS value is 35
-PASS value is 36
-PASS value is 37
-PASS value is 38
-PASS value is 39
-PASS value is 40
-PASS value is 41
-PASS value is 42
-PASS value is 43
-PASS value is 44
-PASS value is 45
-PASS value is 46
-PASS value is 47
-PASS value is 48
-PASS value is 49
-PASS value is 50
-PASS value is 51
-PASS value is 52
-PASS value is 53
-PASS value is 54
-PASS value is 55
-PASS value is 56
-PASS value is 57
-PASS value is 58
-PASS value is 59
-PASS value is 60
-PASS value is 61
-PASS value is 62
-PASS value is 63
-PASS value is 64
-PASS value is 65
-PASS value is 66
-PASS value is 67
-PASS value is 68
-PASS value is 69
-PASS value is 70
-PASS value is 71
-PASS value is 72
-PASS value is 73
-PASS value is 74
-PASS value is 75
-PASS value is 76
-PASS value is 77
-PASS value is 78
-PASS value is 79
-PASS value is 80
-PASS value is 81
-PASS value is 82
-PASS value is 83
-PASS value is 84
-PASS value is 85
-PASS value is 86
-PASS value is 87
-PASS value is 88
-PASS value is 89
-PASS value is 90
-PASS value is 91
-PASS value is 92
-PASS value is 93
-PASS value is 94
-PASS value is 95
-PASS value is 96
-PASS value is 97
-PASS value is 98
-PASS value is 99
-PASS value is 100
-PASS value is 101
-PASS value is 102
-PASS value is 103
-PASS value is 104
-PASS value is 105
-PASS value is 106
-PASS value is 107
-PASS value is 108
-PASS value is 109
-PASS value is 110
-PASS value is 111
-PASS value is 112
-PASS value is 113
-PASS value is 114
-PASS value is 115
-PASS value is 116
-PASS value is 117
-PASS value is 118
-PASS value is 119
-PASS value is 120
-PASS value is 121
-PASS value is 122
-PASS value is 123
-PASS value is 124
-PASS value is 125
-PASS value is 126
-PASS value is 127
-PASS value is 128
-PASS value is 129
-PASS value is 130
-PASS value is 131
-PASS value is 132
-PASS value is 133
-PASS value is 134
-PASS value is 135
-PASS value is 136
-PASS value is 137
-PASS value is 138
-PASS value is 139
-PASS value is 140
-PASS value is 141
-PASS value is 142
-PASS value is 143
-PASS value is 144
-PASS value is 145
-PASS value is 146
-PASS value is 147
-PASS value is 148
-PASS value is 149
-PASS value is 150
-PASS value is 151
-PASS value is 152
-PASS value is 153
-PASS value is 154
-PASS value is 155
-PASS value is 156
-PASS value is 157
-PASS value is 158
-PASS value is 159
-PASS value is 160
-PASS value is 161
-PASS value is 162
-PASS value is 163
-PASS value is 164
-PASS value is 165
-PASS value is 166
-PASS value is 167
-PASS value is 168
-PASS value is 169
-PASS value is 170
-PASS value is 171
-PASS value is 172
-PASS value is 173
-PASS value is 174
-PASS value is 175
-PASS value is 176
-PASS value is 177
-PASS value is 178
-PASS value is 179
-PASS value is 180
-PASS value is 181
-PASS value is 182
-PASS value is 183
-PASS value is 184
-PASS value is 185
-PASS value is 186
-PASS value is 187
-PASS value is 188
-PASS value is 189
-PASS value is 190
-PASS value is 191
-PASS value is 192
-PASS value is 193
-PASS value is 194
-PASS value is 5.5
-PASS value is 5.5
-PASS value is 5.5
-PASS value is 5.5
-PASS value is 5.5
-PASS value is 5.5
-PASS value is 5.5
-PASS value is 5.5
-PASS value is 5.5
-PASS value is 5.5
-PASS successfullyParsed is true
+Passed some tests silently.
 
 TEST COMPLETE
 
index abecec0..229ed68 100644 (file)
@@ -3,7 +3,7 @@ This tests that function inlining in the DFG JIT doesn't get confused about the
 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
 
 
-PASS done() called with 6600
+FAIL done() called with 33, but expected 30
 PASS successfullyParsed is true
 
 TEST COMPLETE
index 9910578..07f5f0a 100644 (file)
@@ -3,7 +3,7 @@ This tests that function inlining in the DFG JIT doesn't get confused about the
 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
 
 
-PASS done() called with 85200
+FAIL done() called with 32, but expected 30
 PASS successfullyParsed is true
 
 TEST COMPLETE
index 10afc02..4bb5f4d 100644 (file)
@@ -116,6 +116,10 @@ fast/js/dfg-cfg-simplify-redundant-dead-get-local
 fast/js/dfg-check-function-change-structure
 fast/js/dfg-check-structure-elimination-for-non-cell
 fast/js/dfg-check-two-structures
+fast/js/dfg-compare-final-object-to-final-object-or-other-when-both-proven-final-object
+fast/js/dfg-compare-final-object-to-final-object-or-other-when-proven-final-object
+fast/js/dfg-constant-fold-logical-not-branch
+fast/js/dfg-constant-fold-misprediction
 fast/js/dfg-constant-fold-first-local-read-after-block-merge
 fast/js/dfg-constant-fold-uncaptured-variable-that-is-later-captured
 fast/js/dfg-convert-this-dom-window
index 8734e04..4cfba83 100644 (file)
@@ -22,5 +22,8 @@ function baz(i) {
     }
 }
 
-for (var i = 0; i < 200; ++i)
+silentTestPass = true;
+noInline(foo);
+
+for (var i = 0; i < 200; i = dfgIncrement({f:foo, i:i + 1, n:100}))
     shouldBe("baz(i)", i == 190 ? "\"ERROR\"" : "66");
index 896a32c..db008b3 100644 (file)
@@ -13,7 +13,10 @@ var o1 = {f:42, g:43};
 var o2 = {f:44};
 var o3 = {e:45, f:46};
 
-for (var i = 0; i < 200; ++i) {
+silentTestPass = true;
+noInline(foo);
+
+for (var i = 0; i < 200; i = dfgIncrement({f:foo, i:i + 1, n:100})) {
     var o;
     var expected;
     if (i < 150) {
index 1744075..f1ad97c 100644 (file)
@@ -6,7 +6,10 @@ function foo(a, b) {
     return [a.f, b.f, a == b];
 }
 
-for (var i = 0; i < 100; ++i) {
+silentTestPass = true;
+noInline(foo);
+
+for (var i = 0; i < 100; i = dfgIncrement({f:foo, i:i + 1, n:50})) {
     if (i%2) {
         var o = {f:42};
         shouldBe("foo(o, o)", "[42, 42, true]");
index e6c0aca..3774716 100644 (file)
@@ -6,7 +6,10 @@ function foo(a, b) {
     return [b.f, a == b];
 }
 
-for (var i = 0; i < 100; ++i) {
+silentTestPass = true;
+noInline(foo);
+
+for (var i = 0; i < 100; i = dfgIncrement({f:foo, i:i + 1, n:50})) {
     if (i%2) {
         var o = {f:42};
         shouldBe("foo(o, o)", "[42, true]");
index e6933d5..44ac252 100644 (file)
@@ -17,7 +17,10 @@ function foo(a, b) {
     return result;
 }
 
-for (var i = 0; i < 100; ++i) {
+silentTestPass = true;
+noInline(foo);
+
+for (var i = 0; i < 100; i = dfgIncrement({f:foo, i:i + 1, n:50})) {
     if (i%2) {
         var o = {f:42};
         shouldBe("foo(o, o)", "true");
index 299aa2e..e526931 100644 (file)
@@ -24,9 +24,5 @@ Stuff.prototype = {
     otherThingy: function(x) { return x - 1; }
 };
 
-for (var i = 0; i < 1000; ++i) {
-    shouldBe("foo1(new Stuff())", "43");
-    shouldBe("foo2(new Stuff())", "58");
-}
-
-
+dfgShouldBe(foo1, "foo1(new Stuff())", "43");
+dfgShouldBe(foo2, "foo2(new Stuff())", "58");
index 2a93dc4..8544d22 100644 (file)
@@ -30,8 +30,11 @@ function foo(x) {
     return c + d;
 }
 
-// Call foo() enough times to make totally sure that we optimize.
-for (var i = 0; i < 5; ++i)
+silentTestPass = true;
+noInline(foo);
+
+// Call foo() enough times to make it optimize three times.
+for (var i = 0; i < 2; i = dfgIncrement({f:foo, i:i + 1, n:1, compiles:2}))
     shouldBe("foo(0.5)", "1000.50025");
 
 
index d7f53d0..9a6ea2a 100644 (file)
@@ -8,17 +8,16 @@ var myFunctionWithCall = function (arg1) { return [this, "myFunctionWithCall", a
 myFunctionWithCall.call = function (arg1) { return [this, "myFunctionWithCall.call", arg1] };
 Function.prototype.aliasedCall = Function.prototype.call;
 
-for (var i = 0; i < 100; ++i) {
-    shouldBe("myObject.call()", '[myObject, "myObject.call"]');
-    shouldBe("myFunction('arg1')", '[this, "myFunction", "arg1"]');
-    shouldBe("myFunction.call(myObject, 'arg1')", '[myObject, "myFunction", "arg1"]');
-    shouldBe("myFunction.call()", '[this, "myFunction", undefined]');
-    shouldBe("myFunction.call(null)", '[this, "myFunction", undefined]');
-    shouldBe("myFunction.call(undefined)", '[this, "myFunction", undefined]');
-    shouldBe("myFunction.aliasedCall(myObject, 'arg1')", '[myObject, "myFunction", "arg1"]');
-    shouldBe("myFunction.aliasedCall()", '[this, "myFunction", undefined]');
-    shouldBe("myFunction.aliasedCall(null)", '[this, "myFunction", undefined]');
-    shouldBe("myFunction.aliasedCall(undefined)", '[this, "myFunction", undefined]');
-    shouldBe("myFunctionWithCall.call(myObject, 'arg1')", '[myFunctionWithCall, "myFunctionWithCall.call", myObject]');
-    shouldBe("myFunctionWithCall.aliasedCall(myObject, 'arg1')", '[myObject, "myFunctionWithCall", "arg1"]');
-}
+dfgShouldBe(myObject.call, "myObject.call()", '[myObject, "myObject.call"]');
+dfgShouldBe(myFunction, "myFunction('arg1')", '[this, "myFunction", "arg1"]');
+dfgShouldBe(myFunction, "myFunction.call(myObject, 'arg1')", '[myObject, "myFunction", "arg1"]');
+dfgShouldBe(myFunction, "myFunction.call()", '[this, "myFunction", undefined]');
+dfgShouldBe(myFunction, "myFunction.call(null)", '[this, "myFunction", undefined]');
+dfgShouldBe(myFunction, "myFunction.call(undefined)", '[this, "myFunction", undefined]');
+dfgShouldBe(myFunction, "myFunction.aliasedCall(myObject, 'arg1')", '[myObject, "myFunction", "arg1"]');
+dfgShouldBe(myFunction, "myFunction.aliasedCall()", '[this, "myFunction", undefined]');
+dfgShouldBe(myFunction, "myFunction.aliasedCall(null)", '[this, "myFunction", undefined]');
+dfgShouldBe(myFunction, "myFunction.aliasedCall(undefined)", '[this, "myFunction", undefined]');
+dfgShouldBe(myFunctionWithCall.call, "myFunctionWithCall.call(myObject, 'arg1')", '[myFunctionWithCall, "myFunctionWithCall.call", myObject]');
+dfgShouldBe(myFunctionWithCall.aliasedCall, "myFunctionWithCall.aliasedCall(myObject, 'arg1')", '[myObject, "myFunctionWithCall", "arg1"]');
+
index 7b6c5ce..0fa324e 100644 (file)
@@ -8,7 +8,10 @@ function foo() {
 
 x = 42;
 
-for (var i = 0; i < 200; ++i) {
+silentTestPass = true;
+noInline(foo);
+
+for (var i = 0; i < 200; i = dfgIncrement({f:foo, i:i + 1, n:100})) {
     var me;
     if (i < 150)
         me = this;
index 8ed26c1..2e80a13 100644 (file)
@@ -8,7 +8,10 @@ function foo() {
 
 x = 42;
 
-for (var i = 0; i < 200; ++i) {
+silentTestPass = true;
+noInline(foo);
+
+for (var i = 0; i < 200; i = dfgIncrement({f:foo, i:i + 1, n:100})) {
     var me;
     if (i < 150)
         me = null;
index f9dded4..3efca45 100644 (file)
@@ -8,7 +8,10 @@ function foo() {
 
 x = 42;
 
-for (var i = 0; i < 1000; ++i) {
+silentTestPass = true;
+noInline(foo);
+
+for (var i = 0; i < 1000; i = dfgIncrement({f:foo, i:dfgIncrement({f:foo, i:i + 1, n:100}), n:500, compiles:2})) {
     var me;
     if (i < 150)
         me = this;
index ed5c1d3..071efcf 100644 (file)
@@ -10,7 +10,10 @@ x = 42;
 
 String.prototype.x = 42;
 
-for (var i = 0; i < 1000; ++i) {
+silentTestPass = true;
+noInline(foo);
+
+for (var i = 0; i < 1000; i = dfgIncrement({f:foo, i:dfgIncrement({f:foo, i:i + 1, n:100}), n:500, compiles:2})) {
     var me;
     if (i < 150)
         me = this;
index cc09db0..1086e89 100644 (file)
@@ -6,7 +6,10 @@ function foo(x, f) {
     return f(x, 5)[0];
 }
 
-for (var i = 0; i < 200; ++i) {
+silentTestPass = true;
+noInline(foo);
+
+for (var i = 0; i < 200; i = dfgIncrement({f:foo, i:i + 1, n:100})) {
     var value = foo(i < 190 ? i : 0.5, function() {
         var result = 0;
         for (var j = 0; j < arguments.length; ++j)
index fe75cb8..2a85d97 100644 (file)
@@ -11,7 +11,7 @@ function foo(x) {
 Array.prototype.thingy = 24;
 
 function done(value) {
-    var expected = (24 + 3) * 200 + 19900 + 20100 + 39800;
+    var expected = 1 + 2 + 2 + 3 + 24;
     if (value == expected)
         testPassed("done() called with " + expected);
     else
@@ -30,11 +30,11 @@ function doit() {
     code += "function bar(x) {\n";
     code += "    return window.parent.foo(x);\n";
     code += "}\n";
-    code += "var result = 0;\n";
-    code += "for (var i = 0; i < 200; ++i) {\n";
-    code += "    var theArray = bar(i);\n";
-    code += "    result += theArray.thingy + theArray.length + theArray[0] + theArray[1] + theArray[2];\n";
-    code += "}\n";
+    code += "window.parent.noInline(bar);\n";
+    code += "var theArray;\n";
+    code += "while (!window.parent.dfgCompiled({f:bar}))\n";
+    code += "    theArray = bar(1);\n";
+    code += "var result = theArray.thingy + theArray.length + theArray[0] + theArray[1] + theArray[2];\n";
     code += "window.parent.done(result);\n";
     code += "</script></body></html>";
     
@@ -42,5 +42,5 @@ function doit() {
     testFrame.contentDocument.close();
 }
 
-window.setTimeout(doit, 10);
+window.setTimeout(doit, 0);
 
index 61e839b..7d8f264 100644 (file)
@@ -11,7 +11,7 @@ function foo() {
 Array.prototype.thingy = 24;
 
 function done(value) {
-    var expected = (24 + 3 + 1 + 2 + 3) * 200;
+    var expected = 1 + 2 + 3 + 3 + 24;
     if (value == expected)
         testPassed("done() called with " + expected);
     else
@@ -30,11 +30,11 @@ function doit() {
     code += "function bar() {\n";
     code += "    return window.parent.foo();\n";
     code += "}\n";
-    code += "var result = 0;\n";
-    code += "for (var i = 0; i < 200; ++i) {\n";
-    code += "    var theArray = bar();\n";
-    code += "    result += theArray.thingy + theArray.length + theArray[0] + theArray[1] + theArray[2];\n";
-    code += "}\n";
+    code += "window.parent.noInline(bar);\n";
+    code += "var theArray;\n";
+    code += "while (!window.parent.dfgCompiled({f:bar}))\n";
+    code += "    theArray = bar();\n";
+    code += "var result = theArray.thingy + theArray.length + theArray[0] + theArray[1] + theArray[2];\n";
     code += "window.parent.done(result);\n";
     code += "</script></body></html>";
     
@@ -42,5 +42,5 @@ function doit() {
     testFrame.contentDocument.close();
 }
 
-window.setTimeout(doit, 10);
+window.setTimeout(doit, 0);
 
index 933db41..751304f 100644 (file)
@@ -1,3 +1,47 @@
+2013-09-06  Filip Pizlo  <fpizlo@apple.com>
+
+        REGRESSION(149636, merged in 153145): ToThis conversion doesn't work in the DFG
+        https://bugs.webkit.org/show_bug.cgi?id=120781
+
+        Reviewed by Mark Hahnenberg.
+        
+        Roll this back in with a build fix.
+        
+        - Use some method table hacks to detect if the CheckStructure optimization is
+          valid for to_this.
+        
+        - Introduce a FinalObjectUse and use it for ToThis->Identity conversion.
+        
+        This looks like it might be perf-neutral on the major benchmarks, but it
+        introduces some horrible performance cliffs. For example if you add methods to
+        the Array prototype, you'll get horrible performance cliffs. As in virtual calls
+        to C++ every time you call a JS function even if it's inlined.
+        LongSpider/3d-cube appears to hit this.
+
+        * dfg/DFGAbstractInterpreterInlines.h:
+        (JSC::DFG::::executeEffects):
+        * dfg/DFGByteCodeParser.cpp:
+        (JSC::DFG::ByteCodeParser::parseBlock):
+        * dfg/DFGFixupPhase.cpp:
+        (JSC::DFG::FixupPhase::fixupNode):
+        * dfg/DFGRepatch.cpp:
+        (JSC::DFG::emitPutTransitionStub):
+        * dfg/DFGSafeToExecute.h:
+        (JSC::DFG::SafeToExecuteEdge::operator()):
+        * dfg/DFGSpeculativeJIT.cpp:
+        (JSC::DFG::SpeculativeJIT::speculateFinalObject):
+        (JSC::DFG::SpeculativeJIT::speculate):
+        * dfg/DFGSpeculativeJIT.h:
+        * dfg/DFGSpeculativeJIT32_64.cpp:
+        (JSC::DFG::SpeculativeJIT::compile):
+        * dfg/DFGSpeculativeJIT64.cpp:
+        (JSC::DFG::SpeculativeJIT::compile):
+        * dfg/DFGUseKind.cpp:
+        (WTF::printInternal):
+        * dfg/DFGUseKind.h:
+        (JSC::DFG::typeFilterFor):
+        (JSC::DFG::isCell):
+
 2013-09-05  Filip Pizlo  <fpizlo@apple.com>
 
         Introduce a way to run benchmarks and JSRegress as stress tests with different jsc command-line options
         (JSC::JSGlobalObject::visitChildren):
         * runtime/JSGlobalObject.h:
 
+2013-09-05  Mark Rowe  <mrowe@apple.com>
+        
+        Roll out r155149 since it broke the build.
+
 2013-09-05  Michael Saboff  <msaboff@apple.com>
 
         Cleanup formatting of byte code debug output
         (JSC::CodeBlock::printLocationAndOp):
         (JSC::CodeBlock::printLocationOpAndRegisterOperand):
 
+2013-09-05  Filip Pizlo  <fpizlo@apple.com>
+
+        REGRESSION(149636, merged in 153145): ToThis conversion doesn't work in the DFG
+        https://bugs.webkit.org/show_bug.cgi?id=120781
+
+        Reviewed by Mark Hahnenberg.
+        
+        - Use some method table hacks to detect if the CheckStructure optimization is
+          valid for to_this.
+        
+        - Introduce a FinalObjectUse and use it for ToThis->Identity conversion.
+        
+        This looks like it might be perf-neutral on the major benchmarks, but it
+        introduces some horrible performance cliffs. For example if you add methods to
+        the Array prototype, you'll get horrible performance cliffs. As in virtual calls
+        to C++ every time you call a JS function even if it's inlined.
+        LongSpider/3d-cube appears to hit this.
+
+        * dfg/DFGAbstractInterpreterInlines.h:
+        (JSC::DFG::::executeEffects):
+        * dfg/DFGByteCodeParser.cpp:
+        (JSC::DFG::ByteCodeParser::parseBlock):
+        * dfg/DFGFixupPhase.cpp:
+        (JSC::DFG::FixupPhase::fixupNode):
+        * dfg/DFGSafeToExecute.h:
+        (JSC::DFG::SafeToExecuteEdge::operator()):
+        * dfg/DFGSpeculativeJIT.cpp:
+        (JSC::DFG::SpeculativeJIT::speculateFinalObject):
+        (JSC::DFG::SpeculativeJIT::speculate):
+        * dfg/DFGSpeculativeJIT.h:
+        * dfg/DFGSpeculativeJIT32_64.cpp:
+        (JSC::DFG::SpeculativeJIT::compile):
+        * dfg/DFGSpeculativeJIT64.cpp:
+        (JSC::DFG::SpeculativeJIT::compile):
+        * dfg/DFGUseKind.cpp:
+        (WTF::printInternal):
+        * dfg/DFGUseKind.h:
+        (JSC::DFG::typeFilterFor):
+        (JSC::DFG::isCell):
+
 2013-09-05  Anders Carlsson  <andersca@apple.com>
 
         GCAssertions.h should use STL type traits and static_assert
index e7ba132..6087007 100644 (file)
@@ -1086,7 +1086,7 @@ bool AbstractInterpreter<AbstractStateType>::executeEffects(unsigned clobberLimi
         AbstractValue& destination = forNode(node);
             
         destination = source;
-        destination.merge(SpecObjectOther);
+        destination.merge(SpecObject);
         break;
     }
 
index 833092f..a13707c 100644 (file)
@@ -1902,7 +1902,8 @@ bool ByteCodeParser::parseBlock(unsigned limit)
                 if (profile->m_singletonValueIsTop
                     || !profile->m_singletonValue
                     || !profile->m_singletonValue.isCell()
-                    || profile->m_singletonValue.asCell()->classInfo() != Structure::info())
+                    || profile->m_singletonValue.asCell()->classInfo() != Structure::info()
+                    || static_cast<Structure*>(profile->m_singletonValue.asCell())->classInfo()->methodTable.toThis != JSObject::info()->methodTable.toThis)
                     setThis(addToGraph(ToThis, op1));
                 else {
                     addToGraph(
index feb27c0..7ff78a9 100644 (file)
@@ -706,7 +706,7 @@ private:
             }
             
             if (isFinalObjectSpeculation(node->child1()->prediction())) {
-                setUseKindAndUnboxIfProfitable<ObjectUse>(node->child1());
+                setUseKindAndUnboxIfProfitable<FinalObjectUse>(node->child1());
                 node->convertToIdentity();
                 break;
             }
index 154f3dd..87ab40f 100644 (file)
@@ -875,7 +875,7 @@ static void emitPutTransitionStub(
         stubJit.store32(valueTagGPR, MacroAssembler::Address(scratchGPR1, offsetInButterfly(slot.cachedOffset()) * sizeof(JSValue) + OBJECT_OFFSETOF(EncodedValueDescriptor, asBits.tag)));
     }
 #endif
-            
+    
     MacroAssembler::Jump success;
     MacroAssembler::Jump failure;
             
index 15a6c18..2491c35 100644 (file)
@@ -53,6 +53,7 @@ public:
         case BooleanUse:
         case CellUse:
         case ObjectUse:
+        case FinalObjectUse:
         case ObjectOrOtherUse:
         case StringIdentUse:
         case StringUse:
index cea4c6e..c88bd8c 100644 (file)
@@ -4612,6 +4612,23 @@ void SpeculativeJIT::speculateObject(Edge edge)
             MacroAssembler::TrustedImmPtr(m_jit.vm()->stringStructure.get())));
 }
 
+void SpeculativeJIT::speculateFinalObject(Edge edge)
+{
+    if (!needsTypeCheck(edge, SpecFinalObject))
+        return;
+    
+    SpeculateCellOperand operand(this, edge);
+    GPRTemporary structure(this);
+    GPRReg gpr = operand.gpr();
+    GPRReg structureGPR = structure.gpr();
+    m_jit.loadPtr(MacroAssembler::Address(gpr, JSCell::structureOffset()), structureGPR);
+    DFG_TYPE_CHECK(
+        JSValueSource::unboxedCell(gpr), edge, SpecFinalObject, m_jit.branch8(
+            MacroAssembler::NotEqual,
+            MacroAssembler::Address(structureGPR, Structure::typeInfoTypeOffset()),
+            TrustedImm32(FinalObjectType)));
+}
+
 void SpeculativeJIT::speculateObjectOrOther(Edge edge)
 {
     if (!needsTypeCheck(edge, SpecObject | SpecOther))
@@ -4848,6 +4865,9 @@ void SpeculativeJIT::speculate(Node*, Edge edge)
     case ObjectUse:
         speculateObject(edge);
         break;
+    case FinalObjectUse:
+        speculateFinalObject(edge);
+        break;
     case ObjectOrOtherUse:
         speculateObjectOrOther(edge);
         break;
index 54cefb7..ae212de 100644 (file)
@@ -2118,6 +2118,7 @@ public:
     void speculateBoolean(Edge);
     void speculateCell(Edge);
     void speculateObject(Edge);
+    void speculateFinalObject(Edge);
     void speculateObjectOrOther(Edge);
     void speculateString(Edge edge, GPRReg cell);
     void speculateStringIdentAndLoadStorage(Edge edge, GPRReg string, GPRReg storage);
index 48057e5..1b3f560 100644 (file)
@@ -3649,18 +3649,31 @@ void SpeculativeJIT::compile(Node* node)
         
     case ToThis: {
         ASSERT(node->child1().useKind() == UntypedUse);
-
         JSValueOperand thisValue(this, node->child1());
-        GPRReg thisValueTagGPR = thisValue.tagGPR();
+        GPRTemporary temp(this);
+        GPRTemporary tempTag(this);
         GPRReg thisValuePayloadGPR = thisValue.payloadGPR();
-        
-        flushRegisters();
-        
-        GPRResult2 resultTag(this);
-        GPRResult resultPayload(this);
-        callOperation(operationToThis, resultTag.gpr(), resultPayload.gpr(), thisValueTagGPR, thisValuePayloadGPR);
-        
-        cellResult(resultPayload.gpr(), node);
+        GPRReg thisValueTagGPR = thisValue.tagGPR();
+        GPRReg tempGPR = temp.gpr();
+        GPRReg tempTagGPR = tempTag.gpr();
+        
+        MacroAssembler::JumpList slowCases;
+        slowCases.append(m_jit.branch32(
+            MacroAssembler::NotEqual, thisValueTagGPR, TrustedImm32(JSValue::CellTag)));
+        m_jit.loadPtr(
+            MacroAssembler::Address(thisValuePayloadGPR, JSCell::structureOffset()), tempGPR);
+        slowCases.append(m_jit.branch8(
+            MacroAssembler::NotEqual,
+            MacroAssembler::Address(tempGPR, Structure::typeInfoTypeOffset()),
+            TrustedImm32(FinalObjectType)));
+        m_jit.move(thisValuePayloadGPR, tempGPR);
+        m_jit.move(thisValueTagGPR, tempTagGPR);
+        addSlowPathGenerator(
+            slowPathCall(
+                slowCases, this, operationToThis,
+                JSValueRegs(tempTagGPR, tempGPR), thisValueTagGPR, thisValuePayloadGPR));
+
+        jsValueResult(tempTagGPR, tempGPR, node);
         break;
     }
 
index d2c51b7..6dd2bd3 100644 (file)
@@ -3570,14 +3570,24 @@ void SpeculativeJIT::compile(Node* node)
     case ToThis: {
         ASSERT(node->child1().useKind() == UntypedUse);
         JSValueOperand thisValue(this, node->child1());
+        GPRTemporary temp(this);
         GPRReg thisValueGPR = thisValue.gpr();
+        GPRReg tempGPR = temp.gpr();
         
-        flushRegisters();
-        
-        GPRResult result(this);
-        callOperation(operationToThis, result.gpr(), thisValueGPR);
+        MacroAssembler::JumpList slowCases;
+        slowCases.append(m_jit.branchTest64(
+            MacroAssembler::NonZero, thisValueGPR, GPRInfo::tagMaskRegister));
+        m_jit.loadPtr(
+            MacroAssembler::Address(thisValueGPR, JSCell::structureOffset()), tempGPR);
+        slowCases.append(m_jit.branch8(
+            MacroAssembler::NotEqual,
+            MacroAssembler::Address(tempGPR, Structure::typeInfoTypeOffset()),
+            TrustedImm32(FinalObjectType)));
+        m_jit.move(thisValueGPR, tempGPR);
+        addSlowPathGenerator(
+            slowPathCall(slowCases, this, operationToThis, tempGPR, thisValueGPR));
 
-        cellResult(result.gpr(), node);
+        jsValueResult(tempGPR, node);
         break;
     }
 
index f854b5b..56ae6ad 100644 (file)
@@ -65,6 +65,9 @@ void printInternal(PrintStream& out, UseKind useKind)
     case ObjectUse:
         out.print("Object");
         break;
+    case FinalObjectUse:
+        out.print("FinalObject");
+        break;
     case ObjectOrOtherUse:
         out.print("ObjectOrOther");
         break;
index 135c77c..881ed6d 100644 (file)
@@ -46,6 +46,7 @@ enum UseKind {
     CellUse,
     KnownCellUse,
     ObjectUse,
+    FinalObjectUse,
     ObjectOrOtherUse,
     StringIdentUse,
     StringUse,
@@ -77,6 +78,8 @@ ALWAYS_INLINE SpeculatedType typeFilterFor(UseKind useKind)
         return SpecCell;
     case ObjectUse:
         return SpecObject;
+    case FinalObjectUse:
+        return SpecFinalObject;
     case ObjectOrOtherUse:
         return SpecObject | SpecOther;
     case StringIdentUse:
@@ -150,6 +153,7 @@ ALWAYS_INLINE bool isCell(UseKind kind)
     case CellUse:
     case KnownCellUse:
     case ObjectUse:
+    case FinalObjectUse:
     case StringIdentUse:
     case StringUse:
     case KnownStringUse: