Fix timeout of test regress-1118.js
TEST=mjsunit/regress/regress-1118.js no longer times out when run in the ARM simulator. Review URL: http://codereview.chromium.org/6994010 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7843 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
parent
986ed5358e
commit
1eedd8056d
@ -25,6 +25,8 @@
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
// Flags: --allow-natives-syntax
|
||||
|
||||
// An exception thrown in a function optimized by on-stack replacement (OSR)
|
||||
// should be able to construct a receiver from all optimized stack frames.
|
||||
|
||||
@ -39,10 +41,24 @@ var o = new A();
|
||||
// inlined.
|
||||
function g() { try { return o.f(); } finally { }}
|
||||
|
||||
// Optimization status (see runtime.cc):
|
||||
// 1 - yes, 2 - no, 3 - always, 4 - never.
|
||||
|
||||
// This function should be optimized via OSR.
|
||||
function h() {
|
||||
while(false) ;
|
||||
for (var j = 0; j < 5000000; j++) g();
|
||||
var optstatus = %GetOptimizationStatus(h);
|
||||
if (optstatus == 4) {
|
||||
// Optimizations are globally disabled; just run once.
|
||||
g();
|
||||
} else {
|
||||
// Run for a bit as long as h is unoptimized.
|
||||
while (%GetOptimizationStatus(h) == 2) {
|
||||
for (var j = 0; j < 100; j++) g();
|
||||
}
|
||||
assertTrue(%GetOptimizationStatus(h) == 1 ||
|
||||
%GetOptimizationStatus(h) == 3);
|
||||
g();
|
||||
}
|
||||
}
|
||||
|
||||
h();
|
||||
|
Loading…
Reference in New Issue
Block a user