Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(609)

Side by Side Diff: runtime/vm/snapshot_test.cc

Issue 10869063: Add attributions so printf like functions can have their arguments checked. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: rebased Created 8 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « runtime/vm/scavenger.cc ('k') | runtime/vm/stack_frame.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 #include "include/dart_debugger_api.h" 5 #include "include/dart_debugger_api.h"
6 #include "platform/assert.h" 6 #include "platform/assert.h"
7 #include "vm/bigint_operations.h" 7 #include "vm/bigint_operations.h"
8 #include "vm/class_finalizer.h" 8 #include "vm/class_finalizer.h"
9 #include "vm/dart_api_impl.h" 9 #include "vm/dart_api_impl.h"
10 #include "vm/dart_api_message.h" 10 #include "vm/dart_api_message.h"
(...skipping 782 matching lines...) Expand 10 before | Expand all | Expand 10 after
793 793
794 // Start an Isolate, load a script and create a full snapshot. 794 // Start an Isolate, load a script and create a full snapshot.
795 Timer timer1(true, "Snapshot_test"); 795 Timer timer1(true, "Snapshot_test");
796 timer1.Start(); 796 timer1.Start();
797 { 797 {
798 TestIsolateScope __test_isolate__; 798 TestIsolateScope __test_isolate__;
799 799
800 // Create a test library and Load up a test script in it. 800 // Create a test library and Load up a test script in it.
801 TestCase::LoadTestScript(kScriptChars, NULL); 801 TestCase::LoadTestScript(kScriptChars, NULL);
802 timer1.Stop(); 802 timer1.Stop();
803 OS::PrintErr("Without Snapshot: %dus\n", timer1.TotalElapsedTime()); 803 OS::PrintErr("Without Snapshot: %"Pd64"us\n", timer1.TotalElapsedTime());
804 804
805 // Write snapshot with object content. 805 // Write snapshot with object content.
806 Isolate* isolate = Isolate::Current(); 806 Isolate* isolate = Isolate::Current();
807 Zone zone(isolate); 807 Zone zone(isolate);
808 HandleScope scope(isolate); 808 HandleScope scope(isolate);
809 FullSnapshotWriter writer(&buffer, &malloc_allocator); 809 FullSnapshotWriter writer(&buffer, &malloc_allocator);
810 writer.WriteFullSnapshot(); 810 writer.WriteFullSnapshot();
811 } 811 }
812 812
813 // Now Create another isolate using the snapshot and execute a method 813 // Now Create another isolate using the snapshot and execute a method
814 // from the script. 814 // from the script.
815 Timer timer2(true, "Snapshot_test"); 815 Timer timer2(true, "Snapshot_test");
816 timer2.Start(); 816 timer2.Start();
817 TestCase::CreateTestIsolateFromSnapshot(buffer); 817 TestCase::CreateTestIsolateFromSnapshot(buffer);
818 { 818 {
819 Dart_EnterScope(); // Start a Dart API scope for invoking API functions. 819 Dart_EnterScope(); // Start a Dart API scope for invoking API functions.
820 timer2.Stop(); 820 timer2.Stop();
821 OS::PrintErr("From Snapshot: %dus\n", timer2.TotalElapsedTime()); 821 OS::PrintErr("From Snapshot: %"Pd64"us\n", timer2.TotalElapsedTime());
822 822
823 // Invoke a function which returns an object. 823 // Invoke a function which returns an object.
824 Dart_Handle cls = 824 Dart_Handle cls =
825 Dart_GetClass(TestCase::lib(), Dart_NewString("FieldsTest")); 825 Dart_GetClass(TestCase::lib(), Dart_NewString("FieldsTest"));
826 result = Dart_Invoke(cls, Dart_NewString("testMain"), 0, NULL); 826 result = Dart_Invoke(cls, Dart_NewString("testMain"), 0, NULL);
827 EXPECT_VALID(result); 827 EXPECT_VALID(result);
828 Dart_ExitScope(); 828 Dart_ExitScope();
829 } 829 }
830 Dart_ShutdownIsolate(); 830 Dart_ShutdownIsolate();
831 free(buffer); 831 free(buffer);
(...skipping 18 matching lines...) Expand all
850 TestIsolateScope __test_isolate__; 850 TestIsolateScope __test_isolate__;
851 851
852 Isolate* isolate = Isolate::Current(); 852 Isolate* isolate = Isolate::Current();
853 Zone zone(isolate); 853 Zone zone(isolate);
854 HandleScope scope(isolate); 854 HandleScope scope(isolate);
855 855
856 // Create a test library and Load up a test script in it. 856 // Create a test library and Load up a test script in it.
857 Dart_Handle lib = TestCase::LoadTestScript(kScriptChars, NULL); 857 Dart_Handle lib = TestCase::LoadTestScript(kScriptChars, NULL);
858 ClassFinalizer::FinalizePendingClasses(); 858 ClassFinalizer::FinalizePendingClasses();
859 timer1.Stop(); 859 timer1.Stop();
860 OS::PrintErr("Without Snapshot: %dus\n", timer1.TotalElapsedTime()); 860 OS::PrintErr("Without Snapshot: %"Pd64"us\n", timer1.TotalElapsedTime());
861 861
862 // Write snapshot with object content. 862 // Write snapshot with object content.
863 FullSnapshotWriter writer(&buffer, &malloc_allocator); 863 FullSnapshotWriter writer(&buffer, &malloc_allocator);
864 writer.WriteFullSnapshot(); 864 writer.WriteFullSnapshot();
865 865
866 // Invoke a function which returns an object. 866 // Invoke a function which returns an object.
867 Dart_Handle cls = Dart_GetClass(lib, Dart_NewString("FieldsTest")); 867 Dart_Handle cls = Dart_GetClass(lib, Dart_NewString("FieldsTest"));
868 Dart_Handle result = Dart_Invoke(cls, Dart_NewString("testMain"), 0, NULL); 868 Dart_Handle result = Dart_Invoke(cls, Dart_NewString("testMain"), 0, NULL);
869 EXPECT_VALID(result); 869 EXPECT_VALID(result);
870 } 870 }
871 871
872 // Now Create another isolate using the snapshot and execute a method 872 // Now Create another isolate using the snapshot and execute a method
873 // from the script. 873 // from the script.
874 Timer timer2(true, "Snapshot_test"); 874 Timer timer2(true, "Snapshot_test");
875 timer2.Start(); 875 timer2.Start();
876 TestCase::CreateTestIsolateFromSnapshot(buffer); 876 TestCase::CreateTestIsolateFromSnapshot(buffer);
877 { 877 {
878 Dart_EnterScope(); // Start a Dart API scope for invoking API functions. 878 Dart_EnterScope(); // Start a Dart API scope for invoking API functions.
879 timer2.Stop(); 879 timer2.Stop();
880 OS::PrintErr("From Snapshot: %dus\n", timer2.TotalElapsedTime()); 880 OS::PrintErr("From Snapshot: %"Pd64"us\n", timer2.TotalElapsedTime());
881 881
882 // Invoke a function which returns an object. 882 // Invoke a function which returns an object.
883 Dart_Handle cls = Dart_GetClass(TestCase::lib(), 883 Dart_Handle cls = Dart_GetClass(TestCase::lib(),
884 Dart_NewString("FieldsTest")); 884 Dart_NewString("FieldsTest"));
885 Dart_Handle result = Dart_Invoke(cls, Dart_NewString("testMain"), 0, NULL); 885 Dart_Handle result = Dart_Invoke(cls, Dart_NewString("testMain"), 0, NULL);
886 if (Dart_IsError(result)) { 886 if (Dart_IsError(result)) {
887 // Print the error. It is probably an unhandled exception. 887 // Print the error. It is probably an unhandled exception.
888 fprintf(stderr, "%s\n", Dart_GetError(result)); 888 fprintf(stderr, "%s\n", Dart_GetError(result));
889 } 889 }
890 EXPECT_VALID(result); 890 EXPECT_VALID(result);
(...skipping 631 matching lines...) Expand 10 before | Expand all | Expand 10 after
1522 EXPECT(Dart_ErrorHasException(result)); 1522 EXPECT(Dart_ErrorHasException(result));
1523 EXPECT_SUBSTRING("Exception: nulltruefalse1234563.14[]100123456789\n", 1523 EXPECT_SUBSTRING("Exception: nulltruefalse1234563.14[]100123456789\n",
1524 Dart_GetError(result)); 1524 Dart_GetError(result));
1525 1525
1526 Dart_ExitScope(); 1526 Dart_ExitScope();
1527 } 1527 }
1528 1528
1529 #endif // defined(TARGET_ARCH_IA32) || defined(TARGET_ARCH_X64). 1529 #endif // defined(TARGET_ARCH_IA32) || defined(TARGET_ARCH_X64).
1530 1530
1531 } // namespace dart 1531 } // namespace dart
OLDNEW
« no previous file with comments | « runtime/vm/scavenger.cc ('k') | runtime/vm/stack_frame.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698