OLD | NEW |
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 #include "src/interpreter/bytecode-array-builder.h" | 5 #include "src/interpreter/bytecode-array-builder.h" |
6 | 6 |
7 namespace v8 { | 7 namespace v8 { |
8 namespace internal { | 8 namespace internal { |
9 namespace interpreter { | 9 namespace interpreter { |
10 | 10 |
(...skipping 965 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
976 } | 976 } |
977 | 977 |
978 | 978 |
979 BytecodeArrayBuilder& BytecodeArrayBuilder::Delete(Register object, | 979 BytecodeArrayBuilder& BytecodeArrayBuilder::Delete(Register object, |
980 LanguageMode language_mode) { | 980 LanguageMode language_mode) { |
981 Output(BytecodeForDelete(language_mode), object.ToOperand()); | 981 Output(BytecodeForDelete(language_mode), object.ToOperand()); |
982 return *this; | 982 return *this; |
983 } | 983 } |
984 | 984 |
985 | 985 |
| 986 BytecodeArrayBuilder& BytecodeArrayBuilder::DeleteLookupSlot() { |
| 987 Output(Bytecode::kDeleteLookupSlot); |
| 988 return *this; |
| 989 } |
| 990 |
| 991 |
986 size_t BytecodeArrayBuilder::GetConstantPoolEntry(Handle<Object> object) { | 992 size_t BytecodeArrayBuilder::GetConstantPoolEntry(Handle<Object> object) { |
987 // These constants shouldn't be added to the constant pool, the should use | 993 // These constants shouldn't be added to the constant pool, the should use |
988 // specialzed bytecodes instead. | 994 // specialzed bytecodes instead. |
989 DCHECK(!object.is_identical_to(isolate_->factory()->undefined_value())); | 995 DCHECK(!object.is_identical_to(isolate_->factory()->undefined_value())); |
990 DCHECK(!object.is_identical_to(isolate_->factory()->null_value())); | 996 DCHECK(!object.is_identical_to(isolate_->factory()->null_value())); |
991 DCHECK(!object.is_identical_to(isolate_->factory()->the_hole_value())); | 997 DCHECK(!object.is_identical_to(isolate_->factory()->the_hole_value())); |
992 DCHECK(!object.is_identical_to(isolate_->factory()->true_value())); | 998 DCHECK(!object.is_identical_to(isolate_->factory()->true_value())); |
993 DCHECK(!object.is_identical_to(isolate_->factory()->false_value())); | 999 DCHECK(!object.is_identical_to(isolate_->factory()->false_value())); |
994 | 1000 |
995 size_t* entry = constants_map_.Find(object); | 1001 size_t* entry = constants_map_.Find(object); |
(...skipping 477 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1473 DCHECK_GT(next_consecutive_count_, 0); | 1479 DCHECK_GT(next_consecutive_count_, 0); |
1474 builder_->BorrowConsecutiveTemporaryRegister(next_consecutive_register_); | 1480 builder_->BorrowConsecutiveTemporaryRegister(next_consecutive_register_); |
1475 allocated_.push_back(next_consecutive_register_); | 1481 allocated_.push_back(next_consecutive_register_); |
1476 next_consecutive_count_--; | 1482 next_consecutive_count_--; |
1477 return Register(next_consecutive_register_++); | 1483 return Register(next_consecutive_register_++); |
1478 } | 1484 } |
1479 | 1485 |
1480 } // namespace interpreter | 1486 } // namespace interpreter |
1481 } // namespace internal | 1487 } // namespace internal |
1482 } // namespace v8 | 1488 } // namespace v8 |
OLD | NEW |