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

Side by Side Diff: test/cctest/interpreter/test-bytecode-generator.cc

Issue 1441043002: [proxies] Implement [[PreventExtensions]] and [[IsExtensible]]. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Various changes. Created 5 years, 1 month 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
« src/objects.cc ('K') | « src/runtime/runtime-object.cc ('k') | no next file » | 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 4441 matching lines...) Expand 10 before | Expand all | Expand 10 after
4452 helper.MakeBytecodeForFunction(snippets[i].code_snippet); 4452 helper.MakeBytecodeForFunction(snippets[i].code_snippet);
4453 CheckBytecodeArrayEqual(snippets[i], bytecode_array); 4453 CheckBytecodeArrayEqual(snippets[i], bytecode_array);
4454 } 4454 }
4455 } 4455 }
4456 4456
4457 4457
4458 TEST(IllegalRedeclaration) { 4458 TEST(IllegalRedeclaration) {
4459 InitializedHandleScope handle_scope; 4459 InitializedHandleScope handle_scope;
4460 BytecodeGeneratorHelper helper; 4460 BytecodeGeneratorHelper helper;
4461 4461
4462 ExpectedSnippet<const char*> snippets[] = { 4462 CHECK_GE(MessageTemplate::kVarRedeclaration, 128);
4463 // Must adapt bytecode if this changes.
4464
4465 ExpectedSnippet<Handle<Object>, 2> snippets[] = {
4463 {"const a = 1; { var a = 2; }", 4466 {"const a = 1; { var a = 2; }",
4464 3 * kPointerSize, 4467 3 * kPointerSize,
4465 1, 4468 1,
4466 14, 4469 14,
4467 { 4470 {
4468 B(LdaSmi8), U8(MessageTemplate::kVarRedeclaration), // 4471 B(LdaConstant), U8(0), //
4469 B(Star), R(1), // 4472 B(Star), R(1), //
4470 B(LdaConstant), U8(0), // 4473 B(LdaConstant), U8(1), //
4471 B(Star), R(2), // 4474 B(Star), R(2), //
4472 B(CallRuntime), U16(Runtime::kNewSyntaxError), R(1), U8(2), // 4475 B(CallRuntime), U16(Runtime::kNewSyntaxError), R(1), U8(2), //
4473 B(Throw), // 4476 B(Throw), //
4474 }, 4477 },
4475 1, 4478 2,
4476 {"a"}}, 4479 {helper.factory()->NewNumberFromInt(MessageTemplate::kVarRedeclaration),
4480 helper.factory()->NewStringFromAsciiChecked("a")}},
4477 }; 4481 };
4478 4482
4479 for (size_t i = 0; i < arraysize(snippets); i++) { 4483 for (size_t i = 0; i < arraysize(snippets); i++) {
4480 Handle<BytecodeArray> bytecode_array = 4484 Handle<BytecodeArray> bytecode_array =
4481 helper.MakeBytecodeForFunctionBody(snippets[i].code_snippet); 4485 helper.MakeBytecodeForFunctionBody(snippets[i].code_snippet);
4482 CheckBytecodeArrayEqual(snippets[i], bytecode_array); 4486 CheckBytecodeArrayEqual(snippets[i], bytecode_array);
4483 } 4487 }
4484 } 4488 }
4485 4489
4486 4490
(...skipping 737 matching lines...) Expand 10 before | Expand all | Expand 10 after
5224 for (size_t i = 0; i < arraysize(snippets); i++) { 5228 for (size_t i = 0; i < arraysize(snippets); i++) {
5225 Handle<BytecodeArray> bytecode_array = 5229 Handle<BytecodeArray> bytecode_array =
5226 helper.MakeBytecodeForFunctionBody(snippets[i].code_snippet); 5230 helper.MakeBytecodeForFunctionBody(snippets[i].code_snippet);
5227 CheckBytecodeArrayEqual(snippets[i], bytecode_array); 5231 CheckBytecodeArrayEqual(snippets[i], bytecode_array);
5228 } 5232 }
5229 } 5233 }
5230 5234
5231 } // namespace interpreter 5235 } // namespace interpreter
5232 } // namespace internal 5236 } // namespace internal
5233 } // namespace v8 5237 } // namespace v8
OLDNEW
« src/objects.cc ('K') | « src/runtime/runtime-object.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698