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

Side by Side Diff: test/cctest/test-serialize.cc

Issue 1480003002: [runtime] Replace global object link with native context link in all contexts. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Add patch from Orion for interpreter cementation test. Disable obsolete/invalid tests. Created 5 years 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
« no previous file with comments | « test/cctest/test-heap.cc ('k') | test/unittests/compiler/js-typed-lowering-unittest.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 2007-2010 the V8 project authors. All rights reserved. 1 // Copyright 2007-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 482 matching lines...) Expand 10 before | Expand all | Expand 10 after
493 Handle<JSGlobalProxy> global_proxy = 493 Handle<JSGlobalProxy> global_proxy =
494 isolate->factory()->NewUninitializedJSGlobalProxy(); 494 isolate->factory()->NewUninitializedJSGlobalProxy();
495 { 495 {
496 SnapshotData snapshot_data(Vector<const byte>(snapshot, snapshot_size)); 496 SnapshotData snapshot_data(Vector<const byte>(snapshot, snapshot_size));
497 Deserializer deserializer(&snapshot_data); 497 Deserializer deserializer(&snapshot_data);
498 root = 498 root =
499 deserializer.DeserializePartial(isolate, global_proxy, 499 deserializer.DeserializePartial(isolate, global_proxy,
500 &outdated_contexts).ToHandleChecked(); 500 &outdated_contexts).ToHandleChecked();
501 CHECK(root->IsContext()); 501 CHECK(root->IsContext());
502 CHECK(Handle<Context>::cast(root)->global_proxy() == *global_proxy); 502 CHECK(Handle<Context>::cast(root)->global_proxy() == *global_proxy);
503 CHECK_EQ(2, outdated_contexts->length()); 503 // TODO(yangguo): Introduce proper test once there's a story for the
504 // outdated_contexts (should only be about ScriptContexts IMHO).
505 // CHECK_EQ(2, outdated_contexts->length());
504 } 506 }
505 507
506 Handle<Object> root2; 508 Handle<Object> root2;
507 { 509 {
508 SnapshotData snapshot_data(Vector<const byte>(snapshot, snapshot_size)); 510 SnapshotData snapshot_data(Vector<const byte>(snapshot, snapshot_size));
509 Deserializer deserializer(&snapshot_data); 511 Deserializer deserializer(&snapshot_data);
510 root2 = 512 root2 =
511 deserializer.DeserializePartial(isolate, global_proxy, 513 deserializer.DeserializePartial(isolate, global_proxy,
512 &outdated_contexts).ToHandleChecked(); 514 &outdated_contexts).ToHandleChecked();
513 CHECK(root2->IsContext()); 515 CHECK(root2->IsContext());
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after
628 Handle<Object> root; 630 Handle<Object> root;
629 Handle<FixedArray> outdated_contexts; 631 Handle<FixedArray> outdated_contexts;
630 Handle<JSGlobalProxy> global_proxy = 632 Handle<JSGlobalProxy> global_proxy =
631 isolate->factory()->NewUninitializedJSGlobalProxy(); 633 isolate->factory()->NewUninitializedJSGlobalProxy();
632 { 634 {
633 SnapshotData snapshot_data(Vector<const byte>(snapshot, snapshot_size)); 635 SnapshotData snapshot_data(Vector<const byte>(snapshot, snapshot_size));
634 Deserializer deserializer(&snapshot_data); 636 Deserializer deserializer(&snapshot_data);
635 root = 637 root =
636 deserializer.DeserializePartial(isolate, global_proxy, 638 deserializer.DeserializePartial(isolate, global_proxy,
637 &outdated_contexts).ToHandleChecked(); 639 &outdated_contexts).ToHandleChecked();
638 if (FLAG_global_var_shortcuts) { 640 // TODO(yangguo): Introduce proper test once there's a story for the
639 CHECK_EQ(5, outdated_contexts->length()); 641 // outdated_contexts (should only be about ScriptContexts IMHO).
640 } else { 642 // if (FLAG_global_var_shortcuts) {
641 CHECK_EQ(3, outdated_contexts->length()); 643 // CHECK_EQ(5, outdated_contexts->length());
642 } 644 // } else {
645 // CHECK_EQ(3, outdated_contexts->length());
646 // }
643 CHECK(root->IsContext()); 647 CHECK(root->IsContext());
644 Handle<Context> context = Handle<Context>::cast(root); 648 Handle<Context> context = Handle<Context>::cast(root);
645 CHECK(context->global_proxy() == *global_proxy); 649 CHECK(context->global_proxy() == *global_proxy);
646 Handle<String> o = isolate->factory()->NewStringFromAsciiChecked("o"); 650 Handle<String> o = isolate->factory()->NewStringFromAsciiChecked("o");
647 Handle<JSObject> global_object(context->global_object(), isolate); 651 Handle<JSObject> global_object(context->global_object(), isolate);
648 Handle<Object> property = JSReceiver::GetDataProperty(global_object, o); 652 Handle<Object> property = JSReceiver::GetDataProperty(global_object, o);
649 CHECK(property.is_identical_to(global_proxy)); 653 CHECK(property.is_identical_to(global_proxy));
650 654
651 v8::Local<v8::Context> v8_context = v8::Utils::ToLocal(context); 655 v8::Local<v8::Context> v8_context = v8::Utils::ToLocal(context);
652 v8::Context::Scope context_scope(v8_context); 656 v8::Context::Scope context_scope(v8_context);
(...skipping 1128 matching lines...) Expand 10 before | Expand all | Expand 10 after
1781 delete script_data; 1785 delete script_data;
1782 } 1786 }
1783 1787
1784 1788
1785 TEST(SerializationMemoryStats) { 1789 TEST(SerializationMemoryStats) {
1786 FLAG_profile_deserialization = true; 1790 FLAG_profile_deserialization = true;
1787 FLAG_always_opt = false; 1791 FLAG_always_opt = false;
1788 v8::StartupData blob = v8::V8::CreateSnapshotDataBlob(); 1792 v8::StartupData blob = v8::V8::CreateSnapshotDataBlob();
1789 delete[] blob.data; 1793 delete[] blob.data;
1790 } 1794 }
OLDNEW
« no previous file with comments | « test/cctest/test-heap.cc ('k') | test/unittests/compiler/js-typed-lowering-unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698