| Index: src/interpreter/bytecode-array-builder.cc
|
| diff --git a/src/interpreter/bytecode-array-builder.cc b/src/interpreter/bytecode-array-builder.cc
|
| index c0de7c0bb1303f76f4cbb893d55efdd497a4b2df..448291c0ab969863ca3e7982f0677fcf8122771f 100644
|
| --- a/src/interpreter/bytecode-array-builder.cc
|
| +++ b/src/interpreter/bytecode-array-builder.cc
|
| @@ -444,9 +444,18 @@ BytecodeArrayBuilder& BytecodeArrayBuilder::StoreKeyedProperty(
|
|
|
|
|
| BytecodeArrayBuilder& BytecodeArrayBuilder::CreateClosure(
|
| - PretenureFlag tenured) {
|
| + Handle<SharedFunctionInfo> shared_info, PretenureFlag tenured) {
|
| + size_t entry = GetConstantPoolEntry(shared_info);
|
| DCHECK(FitsInImm8Operand(tenured));
|
| - Output(Bytecode::kCreateClosure, static_cast<uint8_t>(tenured));
|
| + if (FitsInIdx8Operand(entry)) {
|
| + Output(Bytecode::kCreateClosure, static_cast<uint8_t>(entry),
|
| + static_cast<uint8_t>(tenured));
|
| + } else if (FitsInIdx16Operand(entry)) {
|
| + Output(Bytecode::kCreateClosureWide, static_cast<uint16_t>(entry),
|
| + static_cast<uint8_t>(tenured));
|
| + } else {
|
| + UNIMPLEMENTED();
|
| + }
|
| return *this;
|
| }
|
|
|
|
|