OLD | NEW |
1 // Copyright 2010 the V8 project authors. All rights reserved. | 1 // Copyright 2010 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 586 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
597 // Check that the profile tree for the script above will look like the | 597 // Check that the profile tree for the script above will look like the |
598 // following: | 598 // following: |
599 // | 599 // |
600 // [Top down]: | 600 // [Top down]: |
601 // 1062 0 (root) [-1] | 601 // 1062 0 (root) [-1] |
602 // 1054 0 start [-1] | 602 // 1054 0 start [-1] |
603 // 1054 1 foo [-1] | 603 // 1054 1 foo [-1] |
604 // 2 2 (program) [-1] | 604 // 2 2 (program) [-1] |
605 // 6 6 (garbage collector) [-1] | 605 // 6 6 (garbage collector) [-1] |
606 // | 606 // |
607 // The test checks no FP ranges are present in a deoptimized funcion. | 607 // The test checks no FP ranges are present in a deoptimized function. |
608 // If 'foo' has no ranges the samples falling into the prologue will miss the | 608 // If 'foo' has no ranges the samples falling into the prologue will miss the |
609 // 'start' function on the stack, so 'foo' will be attached to the (root). | 609 // 'start' function on the stack, so 'foo' will be attached to the (root). |
610 TEST(HotDeoptNoFrameEntry) { | 610 TEST(HotDeoptNoFrameEntry) { |
611 i::FLAG_allow_natives_syntax = true; | 611 i::FLAG_allow_natives_syntax = true; |
612 LocalContext env; | 612 LocalContext env; |
613 v8::HandleScope scope(env->GetIsolate()); | 613 v8::HandleScope scope(env->GetIsolate()); |
614 | 614 |
615 CompileRun(hot_deopt_no_frame_entry_test_source); | 615 CompileRun(hot_deopt_no_frame_entry_test_source); |
616 v8::Local<v8::Function> function = GetFunction(env.local(), "start"); | 616 v8::Local<v8::Function> function = GetFunction(env.local(), "start"); |
617 | 617 |
(...skipping 1349 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1967 iprofile->Print(); | 1967 iprofile->Print(); |
1968 v8::CpuProfile* profile = reinterpret_cast<v8::CpuProfile*>(iprofile); | 1968 v8::CpuProfile* profile = reinterpret_cast<v8::CpuProfile*>(iprofile); |
1969 | 1969 |
1970 const char* branch[] = {"", "test"}; | 1970 const char* branch[] = {"", "test"}; |
1971 const ProfileNode* itest_node = | 1971 const ProfileNode* itest_node = |
1972 GetSimpleBranch(env, profile, branch, arraysize(branch)); | 1972 GetSimpleBranch(env, profile, branch, arraysize(branch)); |
1973 CHECK_EQ(0U, itest_node->deopt_infos().size()); | 1973 CHECK_EQ(0U, itest_node->deopt_infos().size()); |
1974 | 1974 |
1975 iprofiler->DeleteProfile(iprofile); | 1975 iprofiler->DeleteProfile(iprofile); |
1976 } | 1976 } |
OLD | NEW |