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

Side by Side Diff: test/cctest/interpreter/test-bytecode-generator.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/compiler/test-js-context-specialization.cc ('k') | test/cctest/test-heap.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 2015 the V8 project authors. All rights reserved. 1 // Copyright 2015 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // TODO(rmcilroy): Remove this define after this flag is turned on globally 5 // TODO(rmcilroy): Remove this define after this flag is turned on globally
6 #define V8_IMMINENT_DEPRECATION_WARNINGS 6 #define V8_IMMINENT_DEPRECATION_WARNINGS
7 7
8 #include "src/v8.h" 8 #include "src/v8.h"
9 9
10 #include "src/compiler.h" 10 #include "src/compiler.h"
(...skipping 2690 matching lines...) Expand 10 before | Expand all | Expand 10 after
2701 } 2701 }
2702 } 2702 }
2703 2703
2704 2704
2705 TEST(GlobalDelete) { 2705 TEST(GlobalDelete) {
2706 InitializedHandleScope handle_scope; 2706 InitializedHandleScope handle_scope;
2707 BytecodeGeneratorHelper helper; 2707 BytecodeGeneratorHelper helper;
2708 Zone zone; 2708 Zone zone;
2709 2709
2710 int context = Register::function_context().index(); 2710 int context = Register::function_context().index();
2711 int global_object_index = Context::GLOBAL_OBJECT_INDEX; 2711 int native_context_index = Context::NATIVE_CONTEXT_INDEX;
2712 int global_context_index = Context::EXTENSION_INDEX;
2712 FeedbackVectorSpec feedback_spec(&zone); 2713 FeedbackVectorSpec feedback_spec(&zone);
2713 FeedbackVectorSlot slot = feedback_spec.AddLoadICSlot(); 2714 FeedbackVectorSlot slot = feedback_spec.AddLoadICSlot();
2714 2715
2715 Handle<i::TypeFeedbackVector> vector = 2716 Handle<i::TypeFeedbackVector> vector =
2716 i::NewTypeFeedbackVector(helper.isolate(), &feedback_spec); 2717 i::NewTypeFeedbackVector(helper.isolate(), &feedback_spec);
2717 2718
2718 ExpectedSnippet<InstanceType> snippets[] = { 2719 ExpectedSnippet<InstanceType> snippets[] = {
2719 {"var a = {x:13, y:14};\n function f() { return delete a.x; };\n f();", 2720 {"var a = {x:13, y:14};\n function f() { return delete a.x; };\n f();",
2720 1 * kPointerSize, 2721 1 * kPointerSize,
2721 1, 2722 1,
2722 10, 2723 10,
2723 { 2724 {B(LdaGlobalSloppy), U8(0), U8(vector->GetIndex(slot)), //
2724 B(LdaGlobalSloppy), U8(0), U8(vector->GetIndex(slot)), // 2725 B(Star), R(0), //
2725 B(Star), R(0), // 2726 B(LdaConstant), U8(1), //
2726 B(LdaConstant), U8(1), // 2727 B(DeletePropertySloppy), R(0), //
2727 B(DeletePropertySloppy), R(0), // 2728 B(Return)},
2728 B(Return)
2729 },
2730 2, 2729 2,
2731 {InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 2730 {InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
2732 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE}}, 2731 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE}},
2733 {"a = {1:13, 2:14};\n" 2732 {"a = {1:13, 2:14};\n"
2734 "function f() {'use strict'; return delete a[1];};\n f();", 2733 "function f() {'use strict'; return delete a[1];};\n f();",
2735 1 * kPointerSize, 2734 1 * kPointerSize,
2736 1, 2735 1,
2737 10, 2736 10,
2738 { 2737 {B(LdaGlobalStrict), U8(0), U8(vector->GetIndex(slot)), //
2739 B(LdaGlobalStrict), U8(0), U8(vector->GetIndex(slot)), // 2738 B(Star), R(0), //
2740 B(Star), R(0), // 2739 B(LdaSmi8), U8(1), //
2741 B(LdaSmi8), U8(1), // 2740 B(DeletePropertyStrict), R(0), //
2742 B(DeletePropertyStrict), R(0), // 2741 B(Return)},
2743 B(Return)
2744 },
2745 1, 2742 1,
2746 {InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE}}, 2743 {InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE}},
2747 {"var a = {x:13, y:14};\n function f() { return delete a; };\n f();", 2744 {"var a = {x:13, y:14};\n function f() { return delete a; };\n f();",
2748 1 * kPointerSize, 2745 2 * kPointerSize,
2749 1, 2746 1,
2750 10, 2747 15,
2751 { 2748 {B(LdaContextSlot), R(context), U8(native_context_index), //
2752 B(LdaContextSlot), R(context), U8(global_object_index), // 2749 B(Star), R(0), //
2753 B(Star), R(0), // 2750 B(LdaContextSlot), R(0), U8(global_context_index), //
2754 B(LdaConstant), U8(0), // 2751 B(Star), R(1), //
2755 B(DeletePropertySloppy), R(0), // 2752 B(LdaConstant), U8(0), //
2756 B(Return) 2753 B(DeletePropertySloppy), R(1), //
2757 }, 2754 B(Return)},
2758 1, 2755 1,
2759 {InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE}}, 2756 {InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE}},
2760 {"b = 30;\n function f() { return delete b; };\n f();", 2757 {"b = 30;\n function f() { return delete b; };\n f();",
2761 1 * kPointerSize, 2758 2 * kPointerSize,
2762 1, 2759 1,
2763 10, 2760 15,
2764 { 2761 {B(LdaContextSlot), R(context), U8(native_context_index), //
2765 B(LdaContextSlot), R(context), U8(global_object_index), // 2762 B(Star), R(0), //
2766 B(Star), R(0), // 2763 B(LdaContextSlot), R(0), U8(global_context_index), //
2767 B(LdaConstant), U8(0), // 2764 B(Star), R(1), //
2768 B(DeletePropertySloppy), R(0), // 2765 B(LdaConstant), U8(0), //
2769 B(Return) 2766 B(DeletePropertySloppy), R(1), //
2770 }, 2767 B(Return)},
2771 1, 2768 1,
2772 {InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE}}}; 2769 {InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE}}};
2773 2770
2774 for (size_t i = 0; i < arraysize(snippets); i++) { 2771 for (size_t i = 0; i < arraysize(snippets); i++) {
2775 Handle<BytecodeArray> bytecode_array = 2772 Handle<BytecodeArray> bytecode_array =
2776 helper.MakeBytecode(snippets[i].code_snippet, "f"); 2773 helper.MakeBytecode(snippets[i].code_snippet, "f");
2777 CheckBytecodeArrayEqual(snippets[i], bytecode_array); 2774 CheckBytecodeArrayEqual(snippets[i], bytecode_array);
2778 } 2775 }
2779 } 2776 }
2780 2777
(...skipping 2684 matching lines...) Expand 10 before | Expand all | Expand 10 after
5465 for (size_t i = 0; i < arraysize(snippets); i++) { 5462 for (size_t i = 0; i < arraysize(snippets); i++) {
5466 Handle<BytecodeArray> bytecode_array = 5463 Handle<BytecodeArray> bytecode_array =
5467 helper.MakeBytecodeForFunctionBody(snippets[i].code_snippet); 5464 helper.MakeBytecodeForFunctionBody(snippets[i].code_snippet);
5468 CheckBytecodeArrayEqual(snippets[i], bytecode_array); 5465 CheckBytecodeArrayEqual(snippets[i], bytecode_array);
5469 } 5466 }
5470 } 5467 }
5471 5468
5472 } // namespace interpreter 5469 } // namespace interpreter
5473 } // namespace internal 5470 } // namespace internal
5474 } // namespace v8 5471 } // namespace v8
OLDNEW
« no previous file with comments | « test/cctest/compiler/test-js-context-specialization.cc ('k') | test/cctest/test-heap.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698