Commit 5e8f8d4e authored by oth's avatar oth Committed by Commit bot

[interpreter] Bytecode register optimizer.

Online optimization stage for reducing redundant transfers between registers.

BUG=V8:4280
LOG=N

Review-Url: https://codereview.chromium.org/1997653002
Cr-Commit-Position: refs/heads/master@{#36551}
parent bcf520ef
......@@ -1238,6 +1238,8 @@ v8_source_set("v8_base") {
"src/interpreter/bytecode-pipeline.h",
"src/interpreter/bytecode-register-allocator.cc",
"src/interpreter/bytecode-register-allocator.h",
"src/interpreter/bytecode-register-optimizer.cc",
"src/interpreter/bytecode-register-optimizer.h",
"src/interpreter/bytecode-traits.h",
"src/interpreter/bytecodes.cc",
"src/interpreter/bytecodes.h",
......
......@@ -303,6 +303,7 @@ DEFINE_BOOL(ignition_generators, false,
"enable experimental ignition support for generators")
DEFINE_STRING(ignition_filter, "*", "filter for ignition interpreter")
DEFINE_BOOL(ignition_peephole, true, "use ignition peephole optimizer")
DEFINE_BOOL(ignition_reo, true, "use ignition register equivalence optimizer")
DEFINE_BOOL(print_bytecode, false,
"print bytecode generated by ignition interpreter")
DEFINE_BOOL(trace_ignition, false,
......
......@@ -325,6 +325,8 @@ class InterpreterFrameConstants : public AllStatic {
// FP-relative.
static const int kLastParamFromFp = StandardFrameConstants::kCallerSPOffset;
static const int kCallerPCOffsetFromFp =
StandardFrameConstants::kCallerPCOffset;
static const int kNewTargetFromFp =
-StandardFrameConstants::kFixedFrameSizeFromFp - 1 * kPointerSize;
static const int kBytecodeArrayFromFp =
......
......@@ -7,6 +7,7 @@
#include "src/compiler.h"
#include "src/interpreter/bytecode-array-writer.h"
#include "src/interpreter/bytecode-peephole-optimizer.h"
#include "src/interpreter/bytecode-register-optimizer.h"
#include "src/interpreter/interpreter-intrinsics.h"
namespace v8 {
......@@ -40,6 +41,11 @@ BytecodeArrayBuilder::BytecodeArrayBuilder(Isolate* isolate, Zone* zone,
BytecodePeepholeOptimizer(&constant_array_builder_, pipeline_);
}
if (FLAG_ignition_reo) {
pipeline_ = new (zone) BytecodeRegisterOptimizer(
zone, &temporary_allocator_, parameter_count, pipeline_);
}
return_position_ =
literal ? std::max(literal->start_position(), literal->end_position() - 1)
: RelocInfo::kNoPosition;
......
......@@ -54,10 +54,12 @@ void BytecodeArrayWriter::EmitBytecode(const BytecodeNode* const node) {
int register_operand_bitmap = Bytecodes::GetRegisterOperandBitmap(bytecode);
const uint32_t* const operands = node->operands();
const OperandSize* operand_sizes =
Bytecodes::GetOperandSizes(bytecode, operand_scale);
const OperandType* operand_types = Bytecodes::GetOperandTypes(bytecode);
for (int i = 0; operand_types[i] != OperandType::kNone; ++i) {
OperandType operand_type = operand_types[i];
switch (Bytecodes::SizeOfOperand(operand_type, operand_scale)) {
switch (operand_sizes[i]) {
case OperandSize::kNone:
UNREACHABLE();
break;
......
......@@ -12,6 +12,8 @@ namespace internal {
namespace interpreter {
void BytecodeSourceInfo::Update(const BytecodeSourceInfo& entry) {
if (!entry.is_valid()) return;
if (!is_valid() || (entry.is_statement() && !is_statement()) ||
(entry.is_statement() && is_statement() &&
entry.source_position() > source_position())) {
......@@ -75,6 +77,15 @@ BytecodeNode::BytecodeNode(Bytecode bytecode, uint32_t operand0,
operand_scale_ = operand_scale;
}
BytecodeNode::BytecodeNode(const BytecodeNode& other) {
memcpy(this, &other, sizeof(other));
}
BytecodeNode& BytecodeNode::operator=(const BytecodeNode& other) {
memcpy(this, &other, sizeof(other));
return *this;
}
void BytecodeNode::set_bytecode(Bytecode bytecode) {
DCHECK_EQ(Bytecodes::NumberOfOperands(bytecode), 0);
bytecode_ = bytecode;
......
......@@ -88,6 +88,9 @@ class BytecodeNode final : ZoneObject {
uint32_t operand2, uint32_t operand3,
OperandScale operand_scale);
BytecodeNode(const BytecodeNode& other);
BytecodeNode& operator=(const BytecodeNode& other);
void set_bytecode(Bytecode bytecode);
void set_bytecode(Bytecode bytecode, uint32_t operand0,
OperandScale operand_scale);
......@@ -117,6 +120,9 @@ class BytecodeNode final : ZoneObject {
int operand_count() const { return Bytecodes::NumberOfOperands(bytecode_); }
OperandScale operand_scale() const { return operand_scale_; }
void set_operand_scale(OperandScale operand_scale) {
operand_scale_ = operand_scale;
}
const BytecodeSourceInfo& source_info() const { return source_info_; }
BytecodeSourceInfo& source_info() { return source_info_; }
......
......@@ -14,7 +14,8 @@ TemporaryRegisterAllocator::TemporaryRegisterAllocator(Zone* zone,
int allocation_base)
: free_temporaries_(zone),
allocation_base_(allocation_base),
allocation_count_(0) {}
allocation_count_(0),
observer_(nullptr) {}
Register TemporaryRegisterAllocator::first_temporary_register() const {
DCHECK(allocation_count() > 0);
......@@ -26,6 +27,12 @@ Register TemporaryRegisterAllocator::last_temporary_register() const {
return Register(allocation_base() + allocation_count() - 1);
}
void TemporaryRegisterAllocator::set_observer(
TemporaryRegisterObserver* observer) {
DCHECK(observer_ == nullptr);
observer_ = observer;
}
int TemporaryRegisterAllocator::AllocateTemporaryRegister() {
allocation_count_ += 1;
return allocation_base() + allocation_count() - 1;
......@@ -140,6 +147,9 @@ void TemporaryRegisterAllocator::BorrowConsecutiveTemporaryRegister(
void TemporaryRegisterAllocator::ReturnTemporaryRegister(int reg_index) {
DCHECK(free_temporaries_.find(reg_index) == free_temporaries_.end());
free_temporaries_.insert(reg_index);
if (observer_) {
observer_->TemporaryRegisterFreeEvent(Register(reg_index));
}
}
BytecodeRegisterAllocator::BytecodeRegisterAllocator(
......@@ -156,7 +166,6 @@ BytecodeRegisterAllocator::~BytecodeRegisterAllocator() {
allocated_.clear();
}
Register BytecodeRegisterAllocator::NewRegister() {
int allocated = -1;
if (next_consecutive_count_ <= 0) {
......@@ -170,7 +179,6 @@ Register BytecodeRegisterAllocator::NewRegister() {
return Register(allocated);
}
bool BytecodeRegisterAllocator::RegisterIsAllocatedInThisScope(
Register reg) const {
for (auto i = allocated_.begin(); i != allocated_.end(); i++) {
......@@ -179,7 +187,6 @@ bool BytecodeRegisterAllocator::RegisterIsAllocatedInThisScope(
return false;
}
void BytecodeRegisterAllocator::PrepareForConsecutiveAllocations(size_t count) {
if (static_cast<int>(count) > next_consecutive_count_) {
next_consecutive_register_ =
......@@ -188,7 +195,6 @@ void BytecodeRegisterAllocator::PrepareForConsecutiveAllocations(size_t count) {
}
}
Register BytecodeRegisterAllocator::NextConsecutiveRegister() {
DCHECK_GE(next_consecutive_register_, 0);
DCHECK_GT(next_consecutive_count_, 0);
......
......@@ -14,6 +14,7 @@ namespace interpreter {
class BytecodeArrayBuilder;
class Register;
class TemporaryRegisterObserver;
class TemporaryRegisterAllocator final {
public:
......@@ -54,6 +55,9 @@ class TemporaryRegisterAllocator final {
// Returns the number of temporary register allocations made.
int allocation_count() const { return allocation_count_; }
// Sets an observer for temporary register events.
void set_observer(TemporaryRegisterObserver* observer);
private:
// Allocate a temporary register.
int AllocateTemporaryRegister();
......@@ -61,10 +65,17 @@ class TemporaryRegisterAllocator final {
ZoneSet<int> free_temporaries_;
int allocation_base_;
int allocation_count_;
TemporaryRegisterObserver* observer_;
DISALLOW_COPY_AND_ASSIGN(TemporaryRegisterAllocator);
};
class TemporaryRegisterObserver {
public:
virtual ~TemporaryRegisterObserver() {}
virtual void TemporaryRegisterFreeEvent(Register reg) = 0;
};
// A class that allows the instantiator to allocate temporary registers that are
// cleaned up when scope is closed.
class BytecodeRegisterAllocator final {
......
// Copyright 2016 the V8 project authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "src/interpreter/bytecode-register-optimizer.h"
namespace v8 {
namespace internal {
namespace interpreter {
// A class for tracking the state of a register. This class tracks
// which equivalence set a register is a member of and also whether a
// register is materialized in the bytecode stream.
class BytecodeRegisterOptimizer::RegisterInfo final : public ZoneObject {
public:
RegisterInfo(Register reg, uint32_t equivalence_id, bool materialized)
: register_(reg),
equivalence_id_(equivalence_id),
materialized_(materialized),
next_(this),
prev_(this) {}
void AddToEquivalenceSetOf(RegisterInfo* info);
void MoveToNewEquivalenceSet(uint32_t equivalence_id, bool materialized);
bool IsOnlyMemberOfEquivalenceSet() const;
bool IsOnlyMaterializedMemberOfEquivalenceSet() const;
bool IsInSameEquivalenceSet(RegisterInfo* info) const;
// Get a member of this register's equivalence set that is
// materialized. The materialized equivalent will be this register
// if it is materialized. Returns nullptr if no materialized
// equivalent exists.
RegisterInfo* GetMaterializedEquivalent();
// Get a member of this register's equivalence set that is
// materialized and not register |reg|. The materialized equivalent
// will be this register if it is materialized. Returns nullptr if
// no materialized equivalent exists.
RegisterInfo* GetMaterializedEquivalentOtherThan(Register reg);
// Get a member of this register's equivalence set that is intended
// to be materialized in place of this register (which is currently
// materialized). The best candidate is deemed to be the register
// with the lowest index as this permits temporary registers to be
// removed from the bytecode stream. Returns nullptr if no candidate
// exists.
RegisterInfo* GetEquivalentToMaterialize();
Register register_value() const { return register_; }
bool materialized() const { return materialized_; }
void set_materialized(bool materialized) { materialized_ = materialized; }
void set_equivalence_id(uint32_t equivalence_id) {
equivalence_id_ = equivalence_id;
}
uint32_t equivalence_id() const { return equivalence_id_; }
private:
Register register_;
uint32_t equivalence_id_;
bool materialized_;
// Equivalence set pointers.
RegisterInfo* next_;
RegisterInfo* prev_;
DISALLOW_COPY_AND_ASSIGN(RegisterInfo);
};
void BytecodeRegisterOptimizer::RegisterInfo::AddToEquivalenceSetOf(
RegisterInfo* info) {
// Fix old list
next_->prev_ = prev_;
prev_->next_ = next_;
// Add to new list.
next_ = info->next_;
prev_ = info;
prev_->next_ = this;
next_->prev_ = this;
set_equivalence_id(info->equivalence_id());
set_materialized(false);
}
void BytecodeRegisterOptimizer::RegisterInfo::MoveToNewEquivalenceSet(
uint32_t equivalence_id, bool materialized) {
next_->prev_ = prev_;
prev_->next_ = next_;
next_ = prev_ = this;
equivalence_id_ = equivalence_id;
materialized_ = materialized;
}
bool BytecodeRegisterOptimizer::RegisterInfo::IsOnlyMemberOfEquivalenceSet()
const {
return this->next_ == this;
}
bool BytecodeRegisterOptimizer::RegisterInfo::
IsOnlyMaterializedMemberOfEquivalenceSet() const {
DCHECK(materialized());
const RegisterInfo* visitor = this->next_;
while (visitor != this) {
if (visitor->materialized()) {
return false;
}
visitor = visitor->next_;
}
return true;
}
bool BytecodeRegisterOptimizer::RegisterInfo::IsInSameEquivalenceSet(
RegisterInfo* info) const {
return equivalence_id() == info->equivalence_id();
}
BytecodeRegisterOptimizer::RegisterInfo*
BytecodeRegisterOptimizer::RegisterInfo::GetMaterializedEquivalent() {
RegisterInfo* visitor = this;
do {
if (visitor->materialized()) {
return visitor;
}
visitor = visitor->next_;
} while (visitor != this);
return nullptr;
}
BytecodeRegisterOptimizer::RegisterInfo*
BytecodeRegisterOptimizer::RegisterInfo::GetMaterializedEquivalentOtherThan(
Register reg) {
RegisterInfo* visitor = this;
do {
if (visitor->materialized() && visitor->register_value() != reg) {
return visitor;
}
visitor = visitor->next_;
} while (visitor != this);
return nullptr;
}
BytecodeRegisterOptimizer::RegisterInfo*
BytecodeRegisterOptimizer::RegisterInfo::GetEquivalentToMaterialize() {
DCHECK(this->materialized());
RegisterInfo* visitor = this->next_;
RegisterInfo* best_info = nullptr;
while (visitor != this) {
if (visitor->materialized()) {
return nullptr;
}
if (best_info == nullptr ||
visitor->register_value() < best_info->register_value()) {
best_info = visitor;
}
visitor = visitor->next_;
}
return best_info;
}
BytecodeRegisterOptimizer::BytecodeRegisterOptimizer(
Zone* zone, TemporaryRegisterAllocator* register_allocator,
int parameter_count, BytecodePipelineStage* next_stage)
: accumulator_(Register::virtual_accumulator()),
temporary_base_(register_allocator->allocation_base()),
register_info_table_(zone),
equivalence_id_(0),
next_stage_(next_stage),
flushed_(false),
zone_(zone) {
register_allocator->set_observer(this);
// Calculate offset so register index values can be mapped into
// a vector of register metadata.
if (parameter_count != 0) {
register_info_table_offset_ =
-Register::FromParameterIndex(0, parameter_count).index();
} else {
// TODO(oth): This path shouldn't be necessary in bytecode generated
// from Javascript, but a set of tests do not include the JS receiver.
register_info_table_offset_ = -accumulator_.index();
}
// Initialize register map for parameters, locals, and the
// accumulator.
register_info_table_.resize(register_info_table_offset_ +
static_cast<size_t>(temporary_base_.index()));
for (size_t i = 0; i < register_info_table_.size(); ++i) {
register_info_table_[i] = new (zone) RegisterInfo(
RegisterFromRegisterInfoTableIndex(i), NextEquivalenceId(), true);
DCHECK_EQ(register_info_table_[i]->register_value().index(),
RegisterFromRegisterInfoTableIndex(i).index());
}
accumulator_info_ = GetRegisterInfo(accumulator_);
DCHECK(accumulator_info_->register_value() == accumulator_);
}
void BytecodeRegisterOptimizer::FlushState() {
if (flushed_) {
return;
}
// Materialize all live registers.
size_t count = register_info_table_.size();
for (size_t i = 0; i < count; ++i) {
RegisterInfo* reg_info = register_info_table_[i];
if (!reg_info->IsOnlyMemberOfEquivalenceSet() &&
!reg_info->materialized()) {
DCHECK(RegisterIsTemporary(reg_info->register_value()) ||
reg_info->register_value() == accumulator_);
Materialize(reg_info);
}
}
// Break all existing equivalences.
for (size_t i = 0; i < count; ++i) {
RegisterInfo* reg_info = register_info_table_[i];
if (!reg_info->IsOnlyMemberOfEquivalenceSet()) {
reg_info->MoveToNewEquivalenceSet(NextEquivalenceId(), true);
}
}
flushed_ = true;
}
// override
void BytecodeRegisterOptimizer::FlushBasicBlock() {
FlushState();
next_stage_->FlushBasicBlock();
}
// override
size_t BytecodeRegisterOptimizer::FlushForOffset() {
FlushState();
return next_stage_->FlushForOffset();
}
// override
void BytecodeRegisterOptimizer::Write(BytecodeNode* node) {
flushed_ = false;
//
// Transfers with observable registers as the destination will be
// immediately materialized so the source position information will
// be ordered correctly.
//
// Transfers without observable destination registers will initially
// be emitted as Nop's with the source position. They may, or may
// not, be materialized by the optimizer. However, the source
// position is not lost and being attached to a Nop is fine as the
// destination register is not observable in the debugger.
//
switch (node->bytecode()) {
case Bytecode::kLdar: {
DoLdar(node);
return;
}
case Bytecode::kStar: {
DoStar(node);
return;
}
case Bytecode::kMov: {
DoMov(node);
return;
}
default:
break;
}
if (Bytecodes::IsJump(node->bytecode()) ||
node->bytecode() == Bytecode::kDebugger) {
// The debugger can manipulate locals and parameters, flush
// everything before handing over to it. Similarly, all state must
// be flushed before emitting a jump due to how bytecode offsets
// for jumps are evaluated.
FlushState();
}
PrepareOperands(node);
WriteToNextStage(node);
}
void BytecodeRegisterOptimizer::WriteToNextStage(BytecodeNode* node) const {
next_stage_->Write(node);
}
void BytecodeRegisterOptimizer::WriteToNextStage(
BytecodeNode* node, const BytecodeSourceInfo& source_info) const {
node->source_info().Update(source_info);
next_stage_->Write(node);
}
void BytecodeRegisterOptimizer::OutputRegisterTransfer(
RegisterInfo* input_info, RegisterInfo* output_info,
const BytecodeSourceInfo& source_info) {
Register input = input_info->register_value();
Register output = output_info->register_value();
DCHECK_NE(input.index(), output.index());
if (input == accumulator_) {
uint32_t operand = static_cast<uint32_t>(output.ToOperand());
OperandScale scale = Bytecodes::OperandSizesToScale(output.SizeOfOperand());
BytecodeNode node(Bytecode::kStar, operand, scale);
WriteToNextStage(&node, source_info);
} else if (output == accumulator_) {
uint32_t operand = static_cast<uint32_t>(input.ToOperand());
OperandScale scale = Bytecodes::OperandSizesToScale(input.SizeOfOperand());
BytecodeNode node(Bytecode::kLdar, operand, scale);
WriteToNextStage(&node, source_info);
} else {
uint32_t operand0 = static_cast<uint32_t>(input.ToOperand());
uint32_t operand1 = static_cast<uint32_t>(output.ToOperand());
OperandScale scale = Bytecodes::OperandSizesToScale(input.SizeOfOperand(),
output.SizeOfOperand());
BytecodeNode node(Bytecode::kMov, operand0, operand1, scale);
WriteToNextStage(&node, source_info);
}
output_info->set_materialized(true);
}
void BytecodeRegisterOptimizer::CreateMaterializedEquivalent(
RegisterInfo* info) {
DCHECK(info->materialized());
RegisterInfo* unmaterialized = info->GetEquivalentToMaterialize();
if (unmaterialized) {
OutputRegisterTransfer(info, unmaterialized);
}
}
BytecodeRegisterOptimizer::RegisterInfo*
BytecodeRegisterOptimizer::GetMaterializedEquivalent(RegisterInfo* info) {
return info->materialized() ? info : info->GetMaterializedEquivalent();
}
BytecodeRegisterOptimizer::RegisterInfo*
BytecodeRegisterOptimizer::GetMaterializedEquivalentNotAccumulator(
RegisterInfo* info) {
if (info->materialized()) {
return info;
}
RegisterInfo* result = info->GetMaterializedEquivalentOtherThan(accumulator_);
if (result == nullptr) {
Materialize(info);
result = info;
}
DCHECK(result->register_value() != accumulator_);
return result;
}
void BytecodeRegisterOptimizer::Materialize(RegisterInfo* info) {
if (!info->materialized()) {
RegisterInfo* materialized = info->GetMaterializedEquivalent();
OutputRegisterTransfer(materialized, info);
}
}
void BytecodeRegisterOptimizer::RegisterTransfer(
RegisterInfo* input_info, RegisterInfo* output_info,
const BytecodeSourceInfo& source_info) {
// Materialize an alternate in the equivalence set that
// |output_info| is leaving.
if (output_info->materialized()) {
CreateMaterializedEquivalent(output_info);
}
// Add |output_info| to new equivalence set.
if (!output_info->IsInSameEquivalenceSet(input_info)) {
output_info->AddToEquivalenceSetOf(input_info);
}
bool output_is_observable =
RegisterIsObservable(output_info->register_value());
if (output_is_observable) {
// Force store to be emitted when register is observable.
output_info->set_materialized(false);
RegisterInfo* materialized_info = input_info->GetMaterializedEquivalent();
OutputRegisterTransfer(materialized_info, output_info, source_info);
} else if (source_info.is_valid()) {
// Emit a placeholder nop to maintain source position info.
EmitNopForSourceInfo(source_info);
}
}
void BytecodeRegisterOptimizer::EmitNopForSourceInfo(
const BytecodeSourceInfo& source_info) const {
BytecodeNode nop(Bytecode::kNop);
nop.source_info().Update(source_info);
WriteToNextStage(&nop);
}
void BytecodeRegisterOptimizer::DoLdar(const BytecodeNode* const node) {
Register input = GetRegisterInputOperand(
0, node->bytecode(), node->operands(), node->operand_count());
RegisterInfo* input_info = GetRegisterInfo(input);
RegisterTransfer(input_info, accumulator_info_, node->source_info());
}
void BytecodeRegisterOptimizer::DoMov(const BytecodeNode* const node) {
Register input = GetRegisterInputOperand(
0, node->bytecode(), node->operands(), node->operand_count());
RegisterInfo* input_info = GetRegisterInfo(input);
Register output = GetRegisterOutputOperand(
1, node->bytecode(), node->operands(), node->operand_count());
RegisterInfo* output_info = GetOrCreateRegisterInfo(output);
RegisterTransfer(input_info, output_info, node->source_info());
}
void BytecodeRegisterOptimizer::DoStar(const BytecodeNode* const node) {
Register output = GetRegisterOutputOperand(
0, node->bytecode(), node->operands(), node->operand_count());
RegisterInfo* output_info = GetOrCreateRegisterInfo(output);
RegisterTransfer(accumulator_info_, output_info, node->source_info());
}
void BytecodeRegisterOptimizer::PrepareRegisterOutputOperand(
RegisterInfo* reg_info) {
if (reg_info->materialized()) {
CreateMaterializedEquivalent(reg_info);
}
reg_info->MoveToNewEquivalenceSet(NextEquivalenceId(), true);
}
void BytecodeRegisterOptimizer::PrepareRegisterRangeOutputOperand(
Register start, int count) {
for (int i = 0; i < count; ++i) {
Register reg(start.index() + i);
RegisterInfo* reg_info = GetOrCreateRegisterInfo(reg);
PrepareRegisterOutputOperand(reg_info);
}
}
Register BytecodeRegisterOptimizer::GetEquivalentRegisterForInputOperand(
Register reg) {
// For a temporary register, RegInfo state may need be created. For
// locals and parameters, the RegInfo state is created in the
// BytecodeRegisterOptimizer constructor.
RegisterInfo* reg_info = GetOrCreateRegisterInfo(reg);
if (reg_info->materialized()) {
return reg;
} else {
RegisterInfo* equivalent_info =
GetMaterializedEquivalentNotAccumulator(reg_info);
return equivalent_info->register_value();
}
}
void BytecodeRegisterOptimizer::PrepareRegisterInputOperand(
BytecodeNode* const node, Register reg, int operand_index) {
Register equivalent = GetEquivalentRegisterForInputOperand(reg);
node->operands()[operand_index] =
static_cast<uint32_t>(equivalent.ToOperand());
// Update operand scale as equivalent may be different.
OperandScale operand_scale =
Bytecodes::OperandSizesToScale(equivalent.SizeOfOperand());
if (operand_scale > node->operand_scale()) {
node->set_operand_scale(operand_scale);
}
}
void BytecodeRegisterOptimizer::PrepareRegisterRangeInputOperand(Register start,
int count) {
for (int i = 0; i < count; ++i) {
Register current(start.index() + i);
RegisterInfo* input_info = GetRegisterInfo(current);
Materialize(input_info);
}
}
void BytecodeRegisterOptimizer::PrepareRegisterOperands(
BytecodeNode* const node) {
//
// For each input operand, get a materialized equivalent if it is
// just a single register, otherwise materialize register range.
// Update operand_scale if necessary.
//
// For each output register about to be clobbered, materialize an
// equivalent if it exists. Put each register in it's own equivalence set.
//
int register_operand_bitmap =
Bytecodes::GetRegisterOperandBitmap(node->bytecode());
const OperandType* operand_types =
Bytecodes::GetOperandTypes(node->bytecode());
uint32_t* operands = node->operands();
for (int i = 0; register_operand_bitmap != 0;
++i, register_operand_bitmap >>= 1) {
if ((register_operand_bitmap & 1) == 0) {
continue;
}
OperandType operand_type = operand_types[i];
int count = 0;
if (operand_types[i + 1] == OperandType::kRegCount) {
count = static_cast<int>(operands[i + 1]);
if (count == 0) {
continue;
}
} else {
count = Bytecodes::GetNumberOfRegistersRepresentedBy(operand_type);
}
Register reg = Register::FromOperand(static_cast<int32_t>(operands[i]));
if (Bytecodes::IsRegisterInputOperandType(operand_type)) {
if (count == 1) {
PrepareRegisterInputOperand(node, reg, i);
} else if (count > 1) {
PrepareRegisterRangeInputOperand(reg, count);
}
} else if (Bytecodes::IsRegisterOutputOperandType(operand_type)) {
PrepareRegisterRangeOutputOperand(reg, count);
}
}
}
void BytecodeRegisterOptimizer::PrepareAccumulator(BytecodeNode* const node) {
// Materialize the accumulator if it is read by the bytecode. The
// accumulator is special and no other register can be materialized
// in it's place.
if (Bytecodes::ReadsAccumulator(node->bytecode()) &&
!accumulator_info_->materialized()) {
Materialize(accumulator_info_);
}
// Materialize an equivalent to the accumulator if it will be
// clobbered when the bytecode is dispatched.
if (Bytecodes::WritesAccumulator(node->bytecode())) {
PrepareRegisterOutputOperand(accumulator_info_);
}
}
void BytecodeRegisterOptimizer::PrepareOperands(BytecodeNode* const node) {
PrepareAccumulator(node);
PrepareRegisterOperands(node);
}
// static
Register BytecodeRegisterOptimizer::GetRegisterInputOperand(
int index, Bytecode bytecode, const uint32_t* operands, int operand_count) {
DCHECK_LT(index, operand_count);
DCHECK(Bytecodes::IsRegisterInputOperandType(
Bytecodes::GetOperandType(bytecode, index)));
return OperandToRegister(operands[index]);
}
// static
Register BytecodeRegisterOptimizer::GetRegisterOutputOperand(
int index, Bytecode bytecode, const uint32_t* operands, int operand_count) {
DCHECK_LT(index, operand_count);
DCHECK(Bytecodes::IsRegisterOutputOperandType(
Bytecodes::GetOperandType(bytecode, index)));
return OperandToRegister(operands[index]);
}
BytecodeRegisterOptimizer::RegisterInfo*
BytecodeRegisterOptimizer::GetRegisterInfo(Register reg) {
size_t index = GetRegisterInfoTableIndex(reg);
return (index < register_info_table_.size()) ? register_info_table_[index]
: nullptr;
}
BytecodeRegisterOptimizer::RegisterInfo*
BytecodeRegisterOptimizer::GetOrCreateRegisterInfo(Register reg) {
size_t index = GetRegisterInfoTableIndex(reg);
return index < register_info_table_.size() ? register_info_table_[index]
: NewRegisterInfo(reg);
}
BytecodeRegisterOptimizer::RegisterInfo*
BytecodeRegisterOptimizer::NewRegisterInfo(Register reg) {
size_t index = GetRegisterInfoTableIndex(reg);
DCHECK_GE(index, register_info_table_.size());
GrowRegisterMap(reg);
return register_info_table_[index];
}
void BytecodeRegisterOptimizer::GrowRegisterMap(Register reg) {
DCHECK(RegisterIsTemporary(reg));
size_t index = GetRegisterInfoTableIndex(reg);
DCHECK_GE(index, register_info_table_.size());
size_t new_size = index + 1;
size_t old_size = register_info_table_.size();
register_info_table_.resize(new_size);
for (size_t i = old_size; i < new_size; ++i) {
register_info_table_[i] = new (zone()) RegisterInfo(
RegisterFromRegisterInfoTableIndex(i), NextEquivalenceId(), false);
}
}
void BytecodeRegisterOptimizer::TemporaryRegisterFreeEvent(Register reg) {
RegisterInfo* info = GetRegisterInfo(reg);
if (info != nullptr) {
// If register is materialized and part of equivalence set, make
// sure another member of the set holds the value before the
// temporary register is removed.
if (info->materialized()) {
CreateMaterializedEquivalent(info);
}
info->MoveToNewEquivalenceSet(kInvalidEquivalenceId, false);
}
}
} // namespace interpreter
} // namespace internal
} // namespace v8
// Copyright 2016 the V8 project authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef V8_INTERPRETER_BYTECODE_REGISTER_OPTIMIZER_H_
#define V8_INTERPRETER_BYTECODE_REGISTER_OPTIMIZER_H_
#include "src/interpreter/bytecode-pipeline.h"
namespace v8 {
namespace internal {
namespace interpreter {
// An optimization stage for eliminating unnecessary transfers between
// registers. The bytecode generator uses temporary registers
// liberally for correctness and convenience and this stage removes
// transfers that are not required and preserves correctness.
class BytecodeRegisterOptimizer final : public BytecodePipelineStage,
public TemporaryRegisterObserver,
public ZoneObject {
public:
BytecodeRegisterOptimizer(Zone* zone,
TemporaryRegisterAllocator* register_allocator,
int parameter_count,
BytecodePipelineStage* next_stage);
virtual ~BytecodeRegisterOptimizer() {}
// BytecodePipelineStage interface.
size_t FlushForOffset() override;
void FlushBasicBlock() override;
void Write(BytecodeNode* node) override;
private:
const uint32_t kInvalidEquivalenceId = kMaxUInt32;
class RegisterInfo;
// TemporaryRegisterObserver interface.
void TemporaryRegisterFreeEvent(Register reg) override;
// Helpers for BytecodePipelineStage interface.
void FlushState();
void WriteToNextStage(BytecodeNode* node) const;
void WriteToNextStage(BytecodeNode* node,
const BytecodeSourceInfo& output_info) const;
// Update internal state for register transfer from |input| to
// |output| using |source_info| as source position information if
// any bytecodes are emitted due to transfer.
void RegisterTransfer(RegisterInfo* input, RegisterInfo* output,
const BytecodeSourceInfo& source_info);
// Emit a register transfer bytecode from |input| to |output|.
void OutputRegisterTransfer(
RegisterInfo* input, RegisterInfo* output,
const BytecodeSourceInfo& source_info = BytecodeSourceInfo());
// Emits a Nop to preserve source position information in the
// bytecode pipeline.
void EmitNopForSourceInfo(const BytecodeSourceInfo& source_info) const;
// Handlers for bytecode nodes for register to register transfers.
void DoLdar(const BytecodeNode* const node);
void DoMov(const BytecodeNode* const node);
void DoStar(const BytecodeNode* const node);
// Operand processing methods for bytecodes other than those
// performing register to register transfers.
void PrepareOperands(BytecodeNode* const node);
void PrepareAccumulator(BytecodeNode* const node);
void PrepareRegisterOperands(BytecodeNode* const node);
void PrepareRegisterOutputOperand(RegisterInfo* reg_info);
void PrepareRegisterRangeOutputOperand(Register start, int count);
void PrepareRegisterInputOperand(BytecodeNode* const node, Register reg,
int operand_index);
void PrepareRegisterRangeInputOperand(Register start, int count);
Register GetEquivalentRegisterForInputOperand(Register reg);
static Register GetRegisterInputOperand(int index, Bytecode bytecode,
const uint32_t* operands,
int operand_count);
static Register GetRegisterOutputOperand(int index, Bytecode bytecode,
const uint32_t* operands,
int operand_count);
void CreateMaterializedEquivalent(RegisterInfo* info);
RegisterInfo* GetMaterializedEquivalent(RegisterInfo* info);
RegisterInfo* GetMaterializedEquivalentNotAccumulator(RegisterInfo* info);
void Materialize(RegisterInfo* info);
// Methods for finding and creating metadata for each register.
RegisterInfo* GetOrCreateRegisterInfo(Register reg);
RegisterInfo* GetRegisterInfo(Register reg);
RegisterInfo* NewRegisterInfo(Register reg);
void GrowRegisterMap(Register reg);
bool RegisterIsTemporary(Register reg) const {
return reg >= temporary_base_;
}
bool RegisterIsObservable(Register reg) const {
return reg != accumulator_ && !RegisterIsTemporary(reg);
}
static Register OperandToRegister(uint32_t operand) {
return Register::FromOperand(static_cast<int32_t>(operand));
}
size_t GetRegisterInfoTableIndex(Register reg) const {
return static_cast<size_t>(reg.index() + register_info_table_offset_);
}
Register RegisterFromRegisterInfoTableIndex(size_t index) const {
return Register(static_cast<int>(index) - register_info_table_offset_);
}
uint32_t NextEquivalenceId() {
equivalence_id_++;
CHECK_NE(equivalence_id_, kInvalidEquivalenceId);
return equivalence_id_;
}
Zone* zone() { return zone_; }
const Register accumulator_;
RegisterInfo* accumulator_info_;
const Register temporary_base_;
// Direct mapping to register info.
ZoneVector<RegisterInfo*> register_info_table_;
int register_info_table_offset_;
// Counter for equivalence sets identifiers.
int equivalence_id_;
BytecodePipelineStage* next_stage_;
bool flushed_;
Zone* zone_;
DISALLOW_COPY_AND_ASSIGN(BytecodeRegisterOptimizer);
};
} // namespace interpreter
} // namespace internal
} // namespace v8
#endif // V8_INTERPRETER_BYTECODE_REGISTER_OPTIMIZER_H_
......@@ -89,7 +89,7 @@ struct BytecodeTraits<accumulator_use, operand_0, operand_1, operand_2,
return operand_types;
}
static OperandSize GetOperandSize(int i, OperandScale operand_scale) {
static const OperandSize* GetOperandSizes(OperandScale operand_scale) {
switch (operand_scale) {
#define CASE(Name, _) \
case OperandScale::k##Name: { \
......@@ -99,14 +99,13 @@ struct BytecodeTraits<accumulator_use, operand_0, operand_1, operand_2,
OperandScaler<operand_2, OperandScale::k##Name>::kOperandSize, \
OperandScaler<operand_3, OperandScale::k##Name>::kOperandSize, \
}; \
DCHECK_LT(static_cast<size_t>(i), arraysize(kOperandSizes)); \
return kOperandSizes[i]; \
return kOperandSizes; \
}
OPERAND_SCALE_LIST(CASE)
#undef CASE
}
UNREACHABLE();
return OperandSize::kNone;
return nullptr;
}
template <OperandType ot>
......@@ -145,7 +144,7 @@ struct BytecodeTraits<accumulator_use, operand_0, operand_1, operand_2> {
return operand_types;
}
static OperandSize GetOperandSize(int i, OperandScale operand_scale) {
static const OperandSize* GetOperandSizes(OperandScale operand_scale) {
switch (operand_scale) {
#define CASE(Name, _) \
case OperandScale::k##Name: { \
......@@ -154,14 +153,13 @@ struct BytecodeTraits<accumulator_use, operand_0, operand_1, operand_2> {
OperandScaler<operand_1, OperandScale::k##Name>::kOperandSize, \
OperandScaler<operand_2, OperandScale::k##Name>::kOperandSize, \
}; \
DCHECK_LT(static_cast<size_t>(i), arraysize(kOperandSizes)); \
return kOperandSizes[i]; \
return kOperandSizes; \
}
OPERAND_SCALE_LIST(CASE)
#undef CASE
}
UNREACHABLE();
return OperandSize::kNone;
return nullptr;
}
template <OperandType ot>
......@@ -196,7 +194,7 @@ struct BytecodeTraits<accumulator_use, operand_0, operand_1> {
return operand_types;
}
static OperandSize GetOperandSize(int i, OperandScale operand_scale) {
static const OperandSize* GetOperandSizes(OperandScale operand_scale) {
switch (operand_scale) {
#define CASE(Name, _) \
case OperandScale::k##Name: { \
......@@ -204,14 +202,13 @@ struct BytecodeTraits<accumulator_use, operand_0, operand_1> {
OperandScaler<operand_0, OperandScale::k##Name>::kOperandSize, \
OperandScaler<operand_1, OperandScale::k##Name>::kOperandSize, \
}; \
DCHECK_LT(static_cast<size_t>(i), arraysize(kOperandSizes)); \
return kOperandSizes[i]; \
return kOperandSizes; \
}
OPERAND_SCALE_LIST(CASE)
#undef CASE
}
UNREACHABLE();
return OperandSize::kNone;
return nullptr;
}
template <OperandType ot>
......@@ -241,21 +238,20 @@ struct BytecodeTraits<accumulator_use, operand_0> {
return operand_types;
}
static OperandSize GetOperandSize(int i, OperandScale operand_scale) {
static const OperandSize* GetOperandSizes(OperandScale operand_scale) {
switch (operand_scale) {
#define CASE(Name, _) \
case OperandScale::k##Name: { \
static const OperandSize kOperandSizes[] = { \
OperandScaler<operand_0, OperandScale::k##Name>::kOperandSize, \
}; \
DCHECK_LT(static_cast<size_t>(i), arraysize(kOperandSizes)); \
return kOperandSizes[i]; \
return kOperandSizes; \
}
OPERAND_SCALE_LIST(CASE)
#undef CASE
}
UNREACHABLE();
return OperandSize::kNone;
return nullptr;
}
template <OperandType ot>
......@@ -282,9 +278,8 @@ struct BytecodeTraits<accumulator_use> {
return operand_types;
}
static OperandSize GetOperandSize(int i, OperandScale operand_scale) {
UNREACHABLE();
return OperandSize::kNone;
static const OperandSize* GetOperandSizes(OperandScale operand_scale) {
return nullptr;
}
template <OperandType ot>
......
......@@ -301,16 +301,23 @@ const OperandType* Bytecodes::GetOperandTypes(Bytecode bytecode) {
// static
OperandSize Bytecodes::GetOperandSize(Bytecode bytecode, int i,
OperandScale operand_scale) {
DCHECK_LT(i, NumberOfOperands(bytecode));
return GetOperandSizes(bytecode, operand_scale)[i];
}
// static
const OperandSize* Bytecodes::GetOperandSizes(Bytecode bytecode,
OperandScale operand_scale) {
DCHECK(bytecode <= Bytecode::kLast);
switch (bytecode) {
#define CASE(Name, ...) \
case Bytecode::k##Name: \
return BytecodeTraits<__VA_ARGS__>::GetOperandSize(i, operand_scale);
return BytecodeTraits<__VA_ARGS__>::GetOperandSizes(operand_scale);
BYTECODE_LIST(CASE)
#undef CASE
}
UNREACHABLE();
return OperandSize::kNone;
return nullptr;
}
// static
......@@ -619,6 +626,33 @@ OperandSize Bytecodes::SizeForUnsignedOperand(size_t value) {
}
}
OperandScale Bytecodes::OperandSizesToScale(OperandSize size0) {
OperandScale operand_scale = static_cast<OperandScale>(size0);
DCHECK(operand_scale == OperandScale::kSingle ||
operand_scale == OperandScale::kDouble ||
operand_scale == OperandScale::kQuadruple);
return operand_scale;
}
OperandScale Bytecodes::OperandSizesToScale(OperandSize size0,
OperandSize size1) {
OperandSize operand_size = std::max(size0, size1);
// Operand sizes have been scaled before calling this function.
// Currently all scalable operands are byte sized at
// OperandScale::kSingle.
STATIC_ASSERT(static_cast<int>(OperandSize::kByte) ==
static_cast<int>(OperandScale::kSingle) &&
static_cast<int>(OperandSize::kShort) ==
static_cast<int>(OperandScale::kDouble) &&
static_cast<int>(OperandSize::kQuad) ==
static_cast<int>(OperandScale::kQuadruple));
OperandScale operand_scale = static_cast<OperandScale>(operand_size);
DCHECK(operand_scale == OperandScale::kSingle ||
operand_scale == OperandScale::kDouble ||
operand_scale == OperandScale::kQuadruple);
return operand_scale;
}
OperandScale Bytecodes::OperandSizesToScale(OperandSize size0,
OperandSize size1,
OperandSize size2,
......@@ -830,6 +864,10 @@ static const int kBytecodeOffsetRegisterIndex =
(InterpreterFrameConstants::kRegisterFileFromFp -
InterpreterFrameConstants::kBytecodeOffsetFromFp) /
kPointerSize;
static const int kCallerPCOffsetRegisterIndex =
(InterpreterFrameConstants::kRegisterFileFromFp -
InterpreterFrameConstants::kCallerPCOffsetFromFp) /
kPointerSize;
Register Register::FromParameterIndex(int index, int parameter_count) {
DCHECK_GE(index, 0);
......@@ -882,6 +920,11 @@ bool Register::is_bytecode_offset() const {
return index() == kBytecodeOffsetRegisterIndex;
}
// static
Register Register::virtual_accumulator() {
return Register(kCallerPCOffsetRegisterIndex);
}
OperandSize Register::SizeOfOperand() const {
int32_t operand = ToOperand();
if (operand >= kMinInt8 && operand <= kMaxInt8) {
......
......@@ -387,6 +387,11 @@ class Register final {
static Register bytecode_offset();
bool is_bytecode_offset() const;
// Returns a register that can be used to represent the accumulator
// within code in the interpreter, but should never be emitted in
// bytecode.
static Register virtual_accumulator();
OperandSize SizeOfOperand() const;
int32_t ToOperand() const { return kRegisterFileStartOffset - index_; }
......@@ -505,6 +510,10 @@ class Bytecodes {
static OperandSize GetOperandSize(Bytecode bytecode, int i,
OperandScale operand_scale);
// Returns a pointer to an array of the operand sizes for |bytecode|.
static const OperandSize* GetOperandSizes(Bytecode bytecode,
OperandScale operand_scale);
// Returns the offset of the i-th operand of |bytecode| relative to the start
// of the bytecode.
static int GetOperandOffset(Bytecode bytecode, int i,
......@@ -642,9 +651,10 @@ class Bytecodes {
// Return the OperandScale required for bytecode emission of
// operand sizes.
static OperandScale OperandSizesToScale(OperandSize size0);
static OperandScale OperandSizesToScale(OperandSize size0, OperandSize size1);
static OperandScale OperandSizesToScale(
OperandSize size0, OperandSize size1 = OperandSize::kByte,
OperandSize size2 = OperandSize::kByte,
OperandSize size0, OperandSize size1, OperandSize size2,
OperandSize size3 = OperandSize::kByte);
private:
......
......@@ -904,6 +904,8 @@
'interpreter/bytecode-pipeline.h',
'interpreter/bytecode-register-allocator.cc',
'interpreter/bytecode-register-allocator.h',
'interpreter/bytecode-register-optimizer.cc',
'interpreter/bytecode-register-optimizer.h',
'interpreter/bytecode-generator.cc',
'interpreter/bytecode-generator.h',
'interpreter/bytecode-traits.h',
......
......@@ -29,9 +29,9 @@ handlers: [
snippet: "
var a = 1; return [ a, a + 1 ];
"
frame size: 4
frame size: 3
parameter count: 1
bytecode array length: 39
bytecode array length: 35
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), U8(1),
......@@ -44,10 +44,8 @@ bytecodes: [
B(StaKeyedPropertySloppy), R(2), R(1), U8(1),
B(LdaSmi), U8(1),
B(Star), R(1),
/* 57 E> */ B(Ldar), R(0),
B(Star), R(3),
B(LdaSmi), U8(1),
B(Add), R(3),
/* 57 E> */ B(LdaSmi), U8(1),
B(Add), R(0),
B(StaKeyedPropertySloppy), R(2), R(1), U8(1),
B(Ldar), R(2),
/* 66 S> */ B(Return),
......@@ -80,9 +78,9 @@ handlers: [
snippet: "
var a = 1; return [ [ a, 2 ], [ a + 2 ] ];
"
frame size: 6
frame size: 5
parameter count: 1
bytecode array length: 69
bytecode array length: 65
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), U8(1),
......@@ -105,10 +103,8 @@ bytecodes: [
B(Star), R(4),
B(LdaZero),
B(Star), R(3),
/* 66 E> */ B(Ldar), R(0),
B(Star), R(5),
B(LdaSmi), U8(2),
B(Add), R(5),
/* 66 E> */ B(LdaSmi), U8(2),
B(Add), R(0),
B(StaKeyedPropertySloppy), R(4), R(3), U8(3),
B(Ldar), R(4),
B(StaKeyedPropertySloppy), R(2), R(1), U8(5),
......
......@@ -68,13 +68,13 @@ snippet: "
"
frame size: 3
parameter count: 1
bytecode array length: 25
bytecode array length: 26
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), U8(55),
B(Star), R(0),
/* 46 S> */ B(Star), R(1),
B(LdaSmi), U8(100),
/* 46 S> */ B(LdaSmi), U8(100),
B(Mov), R(0), R(1),
/* 57 E> */ B(Star), R(0),
B(Add), R(1),
B(Star), R(2),
......@@ -99,16 +99,14 @@ snippet: "
"
frame size: 3
parameter count: 1
bytecode array length: 33
bytecode array length: 29
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), U8(55),
B(Star), R(0),
/* 46 S> */ B(LdaSmi), U8(56),
/* 53 E> */ B(Star), R(0),
B(Star), R(1),
/* 61 E> */ B(Ldar), R(0),
B(Sub), R(1),
/* 61 E> */ B(Sub), R(0),
B(Star), R(2),
B(LdaSmi), U8(57),
/* 68 E> */ B(Star), R(0),
......@@ -134,13 +132,13 @@ snippet: "
"
frame size: 4
parameter count: 1
bytecode array length: 33
bytecode array length: 34
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), U8(55),
B(Star), R(0),
/* 76 S> */ B(Star), R(2),
B(LdaSmi), U8(1),
/* 76 S> */ B(LdaSmi), U8(1),
B(Mov), R(0), R(2),
/* 61 E> */ B(Star), R(0),
B(Add), R(2),
B(Star), R(3),
......@@ -168,13 +166,13 @@ snippet: "
"
frame size: 3
parameter count: 1
bytecode array length: 33
bytecode array length: 34
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), U8(55),
B(Star), R(0),
/* 76 S> */ B(Star), R(1),
B(LdaSmi), U8(1),
/* 76 S> */ B(LdaSmi), U8(1),
B(Mov), R(0), R(1),
/* 61 E> */ B(Star), R(0),
B(Add), R(1),
B(Star), R(2),
......@@ -201,23 +199,20 @@ snippet: "
"
frame size: 5
parameter count: 1
bytecode array length: 70
bytecode array length: 65
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), U8(10),
B(Star), R(0),
/* 50 S> */ B(LdaSmi), U8(20),
B(Star), R(1),
/* 54 S> */ B(Ldar), R(0),
B(Star), R(2),
B(LdaSmi), U8(1),
/* 54 S> */ B(LdaSmi), U8(1),
B(Mov), R(0), R(2),
/* 68 E> */ B(Star), R(0),
B(Add), R(2),
B(Star), R(3),
/* 76 E> */ B(Ldar), R(0),
B(Star), R(2),
B(LdaSmi), U8(1),
B(Add), R(2),
/* 76 E> */ B(LdaSmi), U8(1),
B(Add), R(0),
B(Star), R(4),
B(LdaSmi), U8(2),
/* 88 E> */ B(Star), R(1),
......
......@@ -11,18 +11,16 @@ wrap: yes
snippet: "
var a = 1; if (a || a < 0) { return 1; }
"
frame size: 2
frame size: 1
parameter count: 1
bytecode array length: 21
bytecode array length: 17
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), U8(1),
B(Star), R(0),
/* 45 S> */ B(JumpIfToBooleanTrue), U8(9),
/* 54 E> */ B(Ldar), R(0),
B(Star), R(1),
B(LdaZero),
/* 56 E> */ B(TestLessThan), R(1),
/* 45 S> */ B(JumpIfToBooleanTrue), U8(5),
/* 54 E> */ B(LdaZero),
/* 56 E> */ B(TestLessThan), R(0),
B(JumpIfToBooleanFalse), U8(5),
/* 63 S> */ B(LdaSmi), U8(1),
/* 75 S> */ B(Return),
......@@ -38,18 +36,16 @@ handlers: [
snippet: "
var a = 1; if (a && a < 0) { return 1; }
"
frame size: 2
frame size: 1
parameter count: 1
bytecode array length: 21
bytecode array length: 17
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), U8(1),
B(Star), R(0),
/* 45 S> */ B(JumpIfToBooleanFalse), U8(9),
/* 54 E> */ B(Ldar), R(0),
B(Star), R(1),
B(LdaZero),
/* 56 E> */ B(TestLessThan), R(1),
/* 45 S> */ B(JumpIfToBooleanFalse), U8(5),
/* 54 E> */ B(LdaZero),
/* 56 E> */ B(TestLessThan), R(0),
B(JumpIfToBooleanFalse), U8(5),
/* 63 S> */ B(LdaSmi), U8(1),
/* 75 S> */ B(Return),
......@@ -65,18 +61,16 @@ handlers: [
snippet: "
var a = 1; a = (a || a < 0) ? 2 : 3;
"
frame size: 2
frame size: 1
parameter count: 1
bytecode array length: 26
bytecode array length: 22
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), U8(1),
B(Star), R(0),
/* 45 S> */ B(JumpIfToBooleanTrue), U8(9),
/* 55 E> */ B(Ldar), R(0),
B(Star), R(1),
B(LdaZero),
/* 57 E> */ B(TestLessThan), R(1),
/* 45 S> */ B(JumpIfToBooleanTrue), U8(5),
/* 55 E> */ B(LdaZero),
/* 57 E> */ B(TestLessThan), R(0),
B(JumpIfToBooleanFalse), U8(6),
B(LdaSmi), U8(2),
B(Jump), U8(4),
......
......@@ -63,43 +63,34 @@ snippet: "
}
return y;
"
frame size: 3
frame size: 2
parameter count: 1
bytecode array length: 66
bytecode array length: 48
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaZero),
B(Star), R(0),
/* 53 S> */ B(LdaSmi), U8(1),
/* 53 E> */ B(Star), R(1),
/* 65 S> */ B(Ldar), R(0),
B(Star), R(2),
B(LdaSmi), U8(10),
/* 65 E> */ B(TestLessThan), R(2),
B(JumpIfFalse), U8(47),
/* 65 S> */ B(LdaSmi), U8(10),
/* 65 E> */ B(TestLessThan), R(0),
B(JumpIfFalse), U8(33),
/* 56 E> */ B(StackCheck),
/* 75 S> */ B(Ldar), R(1),
B(Star), R(2),
B(LdaSmi), U8(12),
B(Mul), R(2),
/* 75 S> */ B(LdaSmi), U8(12),
B(Mul), R(1),
B(Star), R(1),
/* 89 S> */ B(Ldar), R(0),
B(Star), R(2),
B(LdaSmi), U8(1),
B(Add), R(2),
/* 89 S> */ B(LdaSmi), U8(1),
B(Add), R(0),
B(Star), R(0),
/* 102 S> */ B(Star), R(2),
B(LdaSmi), U8(3),
/* 108 E> */ B(TestEqual), R(2),
/* 102 S> */ B(LdaSmi), U8(3),
/* 108 E> */ B(TestEqual), R(0),
B(JumpIfFalse), U8(4),
/* 114 S> */ B(Jump), U8(14),
/* 126 S> */ B(Ldar), R(0),
B(Star), R(2),
B(LdaSmi), U8(4),
/* 132 E> */ B(TestEqual), R(2),
/* 114 S> */ B(Jump), U8(10),
/* 126 S> */ B(LdaSmi), U8(4),
/* 132 E> */ B(TestEqual), R(0),
B(JumpIfFalse), U8(4),
/* 138 S> */ B(Jump), U8(4),
B(Jump), U8(-53),
B(Jump), U8(-35),
/* 147 S> */ B(Ldar), R(1),
/* 157 S> */ B(Return),
]
......@@ -121,50 +112,38 @@ snippet: "
}
return i;
"
frame size: 2
frame size: 1
parameter count: 1
bytecode array length: 79
bytecode array length: 55
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaZero),
/* 42 E> */ B(Star), R(0),
/* 45 E> */ B(StackCheck),
/* 62 S> */ B(Ldar), R(0),
B(Star), R(1),
B(LdaZero),
/* 68 E> */ B(TestLessThan), R(1),
/* 62 S> */ B(LdaZero),
/* 68 E> */ B(TestLessThan), R(0),
B(JumpIfFalse), U8(4),
/* 73 S> */ B(Jump), U8(60),
/* 85 S> */ B(Ldar), R(0),
B(Star), R(1),
B(LdaSmi), U8(3),
/* 91 E> */ B(TestEqual), R(1),
/* 73 S> */ B(Jump), U8(40),
/* 85 S> */ B(LdaSmi), U8(3),
/* 91 E> */ B(TestEqual), R(0),
B(JumpIfFalse), U8(4),
/* 97 S> */ B(Jump), U8(50),
/* 106 S> */ B(Ldar), R(0),
B(Star), R(1),
B(LdaSmi), U8(4),
/* 112 E> */ B(TestEqual), R(1),
/* 97 S> */ B(Jump), U8(34),
/* 106 S> */ B(LdaSmi), U8(4),
/* 112 E> */ B(TestEqual), R(0),
B(JumpIfFalse), U8(4),
/* 118 S> */ B(Jump), U8(38),
/* 127 S> */ B(Ldar), R(0),
B(Star), R(1),
B(LdaSmi), U8(10),
/* 133 E> */ B(TestEqual), R(1),
/* 118 S> */ B(Jump), U8(26),
/* 127 S> */ B(LdaSmi), U8(10),
/* 133 E> */ B(TestEqual), R(0),
B(JumpIfFalse), U8(4),
/* 140 S> */ B(Jump), U8(24),
/* 152 S> */ B(Ldar), R(0),
B(Star), R(1),
B(LdaSmi), U8(5),
/* 158 E> */ B(TestEqual), R(1),
/* 140 S> */ B(Jump), U8(16),
/* 152 S> */ B(LdaSmi), U8(5),
/* 158 E> */ B(TestEqual), R(0),
B(JumpIfFalse), U8(4),
/* 164 S> */ B(Jump), U8(14),
/* 173 S> */ B(Ldar), R(0),
B(Star), R(1),
B(LdaSmi), U8(1),
B(Add), R(1),
/* 164 S> */ B(Jump), U8(10),
/* 173 S> */ B(LdaSmi), U8(1),
B(Add), R(0),
/* 175 E> */ B(Star), R(0),
B(Jump), U8(-70),
B(Jump), U8(-46),
/* 186 S> */ B(Ldar), R(0),
/* 196 S> */ B(Return),
]
......@@ -186,39 +165,31 @@ snippet: "
}
return i;
"
frame size: 2
frame size: 1
parameter count: 1
bytecode array length: 57
bytecode array length: 41
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaZero),
/* 42 E> */ B(Star), R(0),
/* 45 E> */ B(StackCheck),
/* 71 S> */ B(Ldar), R(0),
B(Star), R(1),
B(LdaSmi), U8(3),
/* 71 E> */ B(TestLessThan), R(1),
B(JumpIfFalse), U8(27),
/* 71 S> */ B(LdaSmi), U8(3),
/* 71 E> */ B(TestLessThan), R(0),
B(JumpIfFalse), U8(19),
/* 62 E> */ B(StackCheck),
/* 82 S> */ B(Ldar), R(0),
B(Star), R(1),
B(LdaSmi), U8(2),
/* 88 E> */ B(TestEqual), R(1),
/* 82 S> */ B(LdaSmi), U8(2),
/* 88 E> */ B(TestEqual), R(0),
B(JumpIfFalse), U8(4),
/* 94 S> */ B(Jump), U8(14),
/* 105 S> */ B(Ldar), R(0),
B(Star), R(1),
B(LdaSmi), U8(1),
B(Add), R(1),
/* 94 S> */ B(Jump), U8(10),
/* 105 S> */ B(LdaSmi), U8(1),
B(Add), R(0),
/* 107 E> */ B(Star), R(0),
B(Jump), U8(-33),
/* 122 S> */ B(Ldar), R(0),
B(Star), R(1),
B(LdaSmi), U8(1),
B(Add), R(1),
B(Jump), U8(-21),
/* 122 S> */ B(LdaSmi), U8(1),
B(Add), R(0),
B(Star), R(0),
/* 135 S> */ B(Jump), U8(4),
B(Jump), U8(-48),
B(Jump), U8(-32),
/* 144 S> */ B(Ldar), R(0),
/* 154 S> */ B(Return),
]
......@@ -237,9 +208,9 @@ snippet: "
}
return y;
"
frame size: 3
frame size: 2
parameter count: 1
bytecode array length: 39
bytecode array length: 31
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), U8(10),
......@@ -247,19 +218,15 @@ bytecodes: [
/* 54 S> */ B(LdaSmi), U8(1),
/* 54 E> */ B(Star), R(1),
/* 64 S> */ B(Ldar), R(0),
B(JumpIfToBooleanFalse), U8(25),
B(JumpIfToBooleanFalse), U8(17),
/* 57 E> */ B(StackCheck),
/* 71 S> */ B(Ldar), R(1),
B(Star), R(2),
B(LdaSmi), U8(12),
B(Mul), R(2),
/* 71 S> */ B(LdaSmi), U8(12),
B(Mul), R(1),
B(Star), R(1),
/* 85 S> */ B(Ldar), R(0),
B(Star), R(2),
B(LdaSmi), U8(1),
B(Sub), R(2),
/* 85 S> */ B(LdaSmi), U8(1),
B(Sub), R(0),
/* 87 E> */ B(Star), R(0),
B(Jump), U8(-25),
B(Jump), U8(-17),
/* 98 S> */ B(Ldar), R(1),
/* 108 S> */ B(Return),
]
......@@ -279,9 +246,9 @@ snippet: "
} while (x < 10);
return y;
"
frame size: 3
frame size: 2
parameter count: 1
bytecode array length: 66
bytecode array length: 46
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaZero),
......@@ -289,33 +256,23 @@ bytecodes: [
/* 53 S> */ B(LdaSmi), U8(1),
/* 53 E> */ B(Star), R(1),
/* 56 E> */ B(StackCheck),
/* 63 S> */ B(Ldar), R(1),
B(Star), R(2),
B(LdaSmi), U8(10),
B(Mul), R(2),
/* 63 S> */ B(LdaSmi), U8(10),
B(Mul), R(1),
B(Star), R(1),
/* 77 S> */ B(Ldar), R(0),
B(Star), R(2),
B(LdaSmi), U8(5),
/* 83 E> */ B(TestEqual), R(2),
/* 77 S> */ B(LdaSmi), U8(5),
/* 83 E> */ B(TestEqual), R(0),
B(JumpIfFalse), U8(4),
/* 89 S> */ B(Jump), U8(34),
/* 98 S> */ B(Ldar), R(0),
B(Star), R(2),
B(LdaSmi), U8(6),
/* 104 E> */ B(TestEqual), R(2),
/* 89 S> */ B(Jump), U8(22),
/* 98 S> */ B(LdaSmi), U8(6),
/* 104 E> */ B(TestEqual), R(0),
B(JumpIfFalse), U8(4),
/* 110 S> */ B(Jump), U8(12),
/* 122 S> */ B(Ldar), R(0),
B(Star), R(2),
B(LdaSmi), U8(1),
B(Add), R(2),
/* 110 S> */ B(Jump), U8(8),
/* 122 S> */ B(LdaSmi), U8(1),
B(Add), R(0),
/* 124 E> */ B(Star), R(0),
/* 144 S> */ B(Ldar), R(0),
B(Star), R(2),
B(LdaSmi), U8(10),
/* 144 E> */ B(TestLessThan), R(2),
B(JumpIfTrue), U8(-53),
/* 144 S> */ B(LdaSmi), U8(10),
/* 144 E> */ B(TestLessThan), R(0),
B(JumpIfTrue), U8(-33),
/* 151 S> */ B(Ldar), R(1),
/* 161 S> */ B(Return),
]
......@@ -334,9 +291,9 @@ snippet: "
} while (x);
return y;
"
frame size: 3
frame size: 2
parameter count: 1
bytecode array length: 37
bytecode array length: 29
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), U8(10),
......@@ -344,18 +301,14 @@ bytecodes: [
/* 54 S> */ B(LdaSmi), U8(1),
/* 54 E> */ B(Star), R(1),
/* 57 E> */ B(StackCheck),
/* 64 S> */ B(Ldar), R(1),
B(Star), R(2),
B(LdaSmi), U8(12),
B(Mul), R(2),
/* 64 S> */ B(LdaSmi), U8(12),
B(Mul), R(1),
B(Star), R(1),
/* 78 S> */ B(Ldar), R(0),
B(Star), R(2),
B(LdaSmi), U8(1),
B(Sub), R(2),
/* 78 S> */ B(LdaSmi), U8(1),
B(Sub), R(0),
/* 80 E> */ B(Star), R(0),
/* 98 S> */ B(Ldar), R(0),
B(JumpIfToBooleanTrue), U8(-23),
B(JumpIfToBooleanTrue), U8(-15),
/* 102 S> */ B(Ldar), R(1),
/* 112 S> */ B(Return),
]
......@@ -375,9 +328,9 @@ snippet: "
} while (false);
return y;
"
frame size: 3
frame size: 2
parameter count: 1
bytecode array length: 54
bytecode array length: 40
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaZero),
......@@ -385,25 +338,18 @@ bytecodes: [
/* 53 S> */ B(LdaSmi), U8(1),
/* 53 E> */ B(Star), R(1),
/* 56 E> */ B(StackCheck),
/* 63 S> */ B(Ldar), R(1),
B(Star), R(2),
B(LdaSmi), U8(10),
B(Mul), R(2),
/* 63 S> */ B(LdaSmi), U8(10),
B(Mul), R(1),
B(Star), R(1),
/* 77 S> */ B(Ldar), R(0),
B(Star), R(2),
B(LdaSmi), U8(5),
/* 83 E> */ B(TestEqual), R(2),
/* 77 S> */ B(LdaSmi), U8(5),
/* 83 E> */ B(TestEqual), R(0),
B(JumpIfFalse), U8(4),
/* 89 S> */ B(Jump), U8(22),
/* 98 S> */ B(Ldar), R(0),
B(Star), R(2),
B(LdaSmi), U8(1),
B(Add), R(2),
/* 89 S> */ B(Jump), U8(16),
/* 98 S> */ B(LdaSmi), U8(1),
B(Add), R(0),
B(Star), R(0),
/* 111 S> */ B(Star), R(2),
B(LdaSmi), U8(6),
/* 117 E> */ B(TestEqual), R(2),
/* 111 S> */ B(LdaSmi), U8(6),
/* 117 E> */ B(TestEqual), R(0),
B(JumpIfFalse), U8(4),
/* 123 S> */ B(Jump), U8(2),
/* 150 S> */ B(Ldar), R(1),
......@@ -425,9 +371,9 @@ snippet: "
} while (true);
return y;
"
frame size: 3
frame size: 2
parameter count: 1
bytecode array length: 56
bytecode array length: 42
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaZero),
......@@ -435,28 +381,21 @@ bytecodes: [
/* 53 S> */ B(LdaSmi), U8(1),
/* 53 E> */ B(Star), R(1),
/* 56 E> */ B(StackCheck),
/* 63 S> */ B(Ldar), R(1),
B(Star), R(2),
B(LdaSmi), U8(10),
B(Mul), R(2),
/* 63 S> */ B(LdaSmi), U8(10),
B(Mul), R(1),
B(Star), R(1),
/* 77 S> */ B(Ldar), R(0),
B(Star), R(2),
B(LdaSmi), U8(5),
/* 83 E> */ B(TestEqual), R(2),
/* 77 S> */ B(LdaSmi), U8(5),
/* 83 E> */ B(TestEqual), R(0),
B(JumpIfFalse), U8(4),
/* 89 S> */ B(Jump), U8(24),
/* 98 S> */ B(Ldar), R(0),
B(Star), R(2),
B(LdaSmi), U8(1),
B(Add), R(2),
/* 89 S> */ B(Jump), U8(18),
/* 98 S> */ B(LdaSmi), U8(1),
B(Add), R(0),
B(Star), R(0),
/* 111 S> */ B(Star), R(2),
B(LdaSmi), U8(6),
/* 117 E> */ B(TestEqual), R(2),
/* 111 S> */ B(LdaSmi), U8(6),
/* 117 E> */ B(TestEqual), R(0),
B(JumpIfFalse), U8(4),
/* 123 S> */ B(Jump), U8(2),
B(Jump), U8(-43),
B(Jump), U8(-29),
/* 149 S> */ B(Ldar), R(1),
/* 159 S> */ B(Return),
]
......@@ -474,32 +413,26 @@ snippet: "
x = x + 1;
}
"
frame size: 2
frame size: 1
parameter count: 1
bytecode array length: 43
bytecode array length: 31
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaZero),
/* 42 E> */ B(Star), R(0),
/* 45 E> */ B(StackCheck),
/* 58 S> */ B(Ldar), R(0),
B(Star), R(1),
B(LdaSmi), U8(1),
/* 64 E> */ B(TestEqual), R(1),
/* 58 S> */ B(LdaSmi), U8(1),
/* 64 E> */ B(TestEqual), R(0),
B(JumpIfFalse), U8(4),
/* 70 S> */ B(Jump), U8(26),
/* 79 S> */ B(Ldar), R(0),
B(Star), R(1),
B(LdaSmi), U8(2),
/* 85 E> */ B(TestEqual), R(1),
/* 70 S> */ B(Jump), U8(18),
/* 79 S> */ B(LdaSmi), U8(2),
/* 85 E> */ B(TestEqual), R(0),
B(JumpIfFalse), U8(4),
/* 91 S> */ B(Jump), U8(12),
/* 103 S> */ B(Ldar), R(0),
B(Star), R(1),
B(LdaSmi), U8(1),
B(Add), R(1),
/* 91 S> */ B(Jump), U8(8),
/* 103 S> */ B(LdaSmi), U8(1),
B(Add), R(0),
/* 105 E> */ B(Star), R(0),
B(Jump), U8(-35),
B(Jump), U8(-23),
B(LdaUndefined),
/* 116 S> */ B(Return),
]
......@@ -516,32 +449,26 @@ snippet: "
x = x + 1;
}
"
frame size: 2
frame size: 1
parameter count: 1
bytecode array length: 43
bytecode array length: 31
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 47 S> */ B(LdaZero),
/* 47 E> */ B(Star), R(0),
/* 34 E> */ B(StackCheck),
/* 56 S> */ B(Ldar), R(0),
B(Star), R(1),
B(LdaSmi), U8(1),
/* 62 E> */ B(TestEqual), R(1),
/* 56 S> */ B(LdaSmi), U8(1),
/* 62 E> */ B(TestEqual), R(0),
B(JumpIfFalse), U8(4),
/* 68 S> */ B(Jump), U8(26),
/* 77 S> */ B(Ldar), R(0),
B(Star), R(1),
B(LdaSmi), U8(2),
/* 83 E> */ B(TestEqual), R(1),
/* 68 S> */ B(Jump), U8(18),
/* 77 S> */ B(LdaSmi), U8(2),
/* 83 E> */ B(TestEqual), R(0),
B(JumpIfFalse), U8(4),
/* 89 S> */ B(Jump), U8(12),
/* 101 S> */ B(Ldar), R(0),
B(Star), R(1),
B(LdaSmi), U8(1),
B(Add), R(1),
/* 89 S> */ B(Jump), U8(8),
/* 101 S> */ B(LdaSmi), U8(1),
B(Add), R(0),
/* 103 E> */ B(Star), R(0),
B(Jump), U8(-35),
B(Jump), U8(-23),
B(LdaUndefined),
/* 114 S> */ B(Return),
]
......@@ -558,32 +485,26 @@ snippet: "
if (x == 2) continue;
}
"
frame size: 2
frame size: 1
parameter count: 1
bytecode array length: 43
bytecode array length: 31
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaZero),
/* 42 E> */ B(Star), R(0),
/* 45 E> */ B(StackCheck),
/* 68 S> */ B(Ldar), R(0),
B(Star), R(1),
B(LdaSmi), U8(1),
/* 74 E> */ B(TestEqual), R(1),
/* 68 S> */ B(LdaSmi), U8(1),
/* 74 E> */ B(TestEqual), R(0),
B(JumpIfFalse), U8(4),
/* 80 S> */ B(Jump), U8(26),
/* 89 S> */ B(Ldar), R(0),
B(Star), R(1),
B(LdaSmi), U8(2),
/* 95 E> */ B(TestEqual), R(1),
/* 80 S> */ B(Jump), U8(18),
/* 89 S> */ B(LdaSmi), U8(2),
/* 95 E> */ B(TestEqual), R(0),
B(JumpIfFalse), U8(4),
/* 101 S> */ B(Jump), U8(2),
/* 55 S> */ B(Ldar), R(0),
B(Star), R(1),
B(LdaSmi), U8(1),
B(Add), R(1),
/* 55 S> */ B(LdaSmi), U8(1),
B(Add), R(0),
/* 55 E> */ B(Star), R(0),
B(Jump), U8(-35),
B(Jump), U8(-23),
B(LdaUndefined),
/* 113 S> */ B(Return),
]
......@@ -599,32 +520,26 @@ snippet: "
if (x == 2) continue;
}
"
frame size: 2
frame size: 1
parameter count: 1
bytecode array length: 43
bytecode array length: 31
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 47 S> */ B(LdaZero),
/* 47 E> */ B(Star), R(0),
/* 34 E> */ B(StackCheck),
/* 66 S> */ B(Ldar), R(0),
B(Star), R(1),
B(LdaSmi), U8(1),
/* 72 E> */ B(TestEqual), R(1),
/* 66 S> */ B(LdaSmi), U8(1),
/* 72 E> */ B(TestEqual), R(0),
B(JumpIfFalse), U8(4),
/* 78 S> */ B(Jump), U8(26),
/* 87 S> */ B(Ldar), R(0),
B(Star), R(1),
B(LdaSmi), U8(2),
/* 93 E> */ B(TestEqual), R(1),
/* 78 S> */ B(Jump), U8(18),
/* 87 S> */ B(LdaSmi), U8(2),
/* 93 E> */ B(TestEqual), R(0),
B(JumpIfFalse), U8(4),
/* 99 S> */ B(Jump), U8(2),
/* 53 S> */ B(Ldar), R(0),
B(Star), R(1),
B(LdaSmi), U8(1),
B(Add), R(1),
/* 53 S> */ B(LdaSmi), U8(1),
B(Add), R(0),
/* 53 E> */ B(Star), R(0),
B(Jump), U8(-35),
B(Jump), U8(-23),
B(LdaUndefined),
/* 111 S> */ B(Return),
]
......@@ -641,33 +556,27 @@ snippet: "
continue;
}
"
frame size: 3
frame size: 2
parameter count: 1
bytecode array length: 44
bytecode array length: 32
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaZero),
B(Star), R(0),
/* 58 S> */ B(LdaZero),
/* 58 E> */ B(Star), R(1),
/* 63 S> */ B(Ldar), R(1),
B(Star), R(2),
B(LdaSmi), U8(100),
/* 63 E> */ B(TestLessThan), R(2),
B(JumpIfFalse), U8(27),
/* 63 S> */ B(LdaSmi), U8(100),
/* 63 E> */ B(TestLessThan), R(1),
B(JumpIfFalse), U8(19),
/* 45 E> */ B(StackCheck),
/* 85 S> */ B(Ldar), R(0),
B(Star), R(2),
B(LdaSmi), U8(1),
B(Add), R(2),
/* 85 S> */ B(LdaSmi), U8(1),
B(Add), R(0),
B(Star), R(0),
/* 98 S> */ B(Jump), U8(2),
/* 72 S> */ B(Ldar), R(1),
B(Star), R(2),
B(LdaSmi), U8(1),
B(Add), R(2),
/* 72 S> */ B(LdaSmi), U8(1),
B(Add), R(1),
/* 72 E> */ B(Star), R(1),
B(Jump), U8(-33),
B(Jump), U8(-21),
B(LdaUndefined),
/* 110 S> */ B(Return),
]
......@@ -684,9 +593,9 @@ snippet: "
}
return y;
"
frame size: 3
frame size: 2
parameter count: 1
bytecode array length: 34
bytecode array length: 30
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), U8(1),
......@@ -694,17 +603,15 @@ bytecodes: [
/* 58 S> */ B(LdaSmi), U8(10),
/* 58 E> */ B(Star), R(1),
/* 62 S> */ B(Ldar), R(1),
B(JumpIfToBooleanFalse), U8(20),
B(JumpIfToBooleanFalse), U8(16),
/* 45 E> */ B(StackCheck),
/* 74 S> */ B(Ldar), R(0),
B(Star), R(2),
B(LdaSmi), U8(12),
B(Mul), R(2),
/* 74 S> */ B(LdaSmi), U8(12),
B(Mul), R(0),
/* 76 E> */ B(Star), R(0),
/* 67 S> */ B(Ldar), R(1),
B(Dec),
/* 67 E> */ B(Star), R(1),
B(Jump), U8(-20),
B(Jump), U8(-16),
/* 88 S> */ B(Ldar), R(0),
/* 98 S> */ B(Return),
]
......@@ -747,9 +654,9 @@ snippet: "
};
return x;
"
frame size: 3
frame size: 2
parameter count: 1
bytecode array length: 38
bytecode array length: 32
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaZero),
......@@ -757,20 +664,17 @@ bytecodes: [
/* 58 S> */ B(LdaZero),
/* 58 E> */ B(Star), R(1),
/* 45 E> */ B(StackCheck),
/* 76 S> */ B(Ldar), R(0),
B(Star), R(2),
B(LdaSmi), U8(1),
B(Add), R(2),
/* 76 S> */ B(LdaSmi), U8(1),
B(Add), R(0),
B(Star), R(0),
/* 89 S> */ B(Star), R(2),
B(LdaSmi), U8(20),
/* 95 E> */ B(TestEqual), R(2),
/* 89 S> */ B(LdaSmi), U8(20),
/* 95 E> */ B(TestEqual), R(0),
B(JumpIfFalse), U8(4),
/* 102 S> */ B(Jump), U8(9),
/* 69 S> */ B(Ldar), R(1),
B(Inc),
/* 69 E> */ B(Star), R(1),
B(Jump), U8(-26),
B(Jump), U8(-20),
/* 112 S> */ B(Ldar), R(0),
/* 122 S> */ B(Return),
]
......@@ -793,18 +697,17 @@ snippet: "
"
frame size: 7
parameter count: 1
bytecode array length: 120
bytecode array length: 119
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaZero),
/* 42 E> */ B(Star), R(1),
/* 52 S> */ B(Ldar), R(1),
B(JumpIfToBooleanFalse), U8(112),
B(JumpIfToBooleanFalse), U8(111),
/* 45 E> */ B(StackCheck),
B(LdaConstant), U8(0),
B(Star), R(4),
B(Ldar), R(closure),
B(Star), R(5),
B(Mov), R(closure), R(5),
B(CallRuntime), U16(Runtime::kPushBlockContext), R(4), U8(2),
B(PushContext), R(3),
B(LdaTheHole),
......@@ -845,7 +748,7 @@ bytecodes: [
B(Ldar), R(5),
B(StaContextSlot), R(context), U8(4),
B(PopContext), R(3),
B(Jump), U8(-112),
B(Jump), U8(-111),
B(LdaUndefined),
/* 137 S> */ B(Return),
]
......
......@@ -17,16 +17,15 @@ snippet: "
}
return x;
"
frame size: 2
frame size: 1
parameter count: 1
bytecode array length: 17
bytecode array length: 15
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaZero),
B(Star), R(0),
/* 56 S> */ B(Star), R(1),
B(LdaSmi), U8(1),
B(Add), R(1),
/* 56 S> */ B(LdaSmi), U8(1),
B(Add), R(0),
B(Star), R(0),
/* 69 S> */ B(Jump), U8(2),
/* 97 S> */ B(Ldar), R(0),
......@@ -52,34 +51,29 @@ snippet: "
"
frame size: 5
parameter count: 1
bytecode array length: 72
bytecode array length: 61
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 44 S> */ B(LdaZero),
B(Star), R(0),
/* 71 S> */ B(LdaZero),
/* 71 E> */ B(Star), R(1),
/* 76 S> */ B(Ldar), R(1),
B(Star), R(3),
B(LdaSmi), U8(10),
/* 76 E> */ B(TestLessThan), R(3),
B(JumpIfFalse), U8(54),
/* 76 S> */ B(LdaSmi), U8(10),
/* 76 E> */ B(TestLessThan), R(1),
B(JumpIfFalse), U8(47),
/* 58 E> */ B(StackCheck),
/* 106 S> */ B(LdaZero),
/* 106 E> */ B(Star), R(2),
/* 111 S> */ B(Ldar), R(2),
B(Star), R(3),
B(LdaSmi), U8(3),
/* 111 E> */ B(TestLessThan), R(3),
B(JumpIfFalse), U8(33),
/* 111 S> */ B(LdaSmi), U8(3),
/* 111 E> */ B(TestLessThan), R(2),
B(JumpIfFalse), U8(30),
/* 93 E> */ B(StackCheck),
/* 129 S> */ B(Ldar), R(0),
B(Inc),
B(Star), R(0),
/* 142 S> */ B(Ldar), R(1),
B(Star), R(3),
/* 142 S> */ B(Nop),
/* 150 E> */ B(Ldar), R(2),
B(Add), R(3),
B(Add), R(1),
B(Star), R(4),
B(LdaSmi), U8(12),
/* 152 E> */ B(TestEqual), R(4),
......@@ -88,11 +82,11 @@ bytecodes: [
/* 118 S> */ B(Ldar), R(2),
B(Inc),
/* 118 E> */ B(Star), R(2),
B(Jump), U8(-39),
B(Jump), U8(-32),
/* 84 S> */ B(Ldar), R(1),
B(Inc),
/* 84 E> */ B(Star), R(1),
B(Jump), U8(-60),
B(Jump), U8(-49),
/* 188 S> */ B(Ldar), R(0),
/* 200 S> */ B(Return),
]
......@@ -111,13 +105,12 @@ snippet: "
"
frame size: 5
parameter count: 1
bytecode array length: 51
bytecode array length: 50
bytecodes: [
/* 30 E> */ B(StackCheck),
B(LdaConstant), U8(0),
B(Star), R(3),
B(Ldar), R(closure),
B(Star), R(4),
B(Mov), R(closure), R(4),
B(CallRuntime), U16(Runtime::kPushBlockContext), R(3), U8(2),
B(PushContext), R(2),
B(LdaTheHole),
......@@ -160,7 +153,7 @@ snippet: "
"
frame size: 6
parameter count: 1
bytecode array length: 131
bytecode array length: 130
bytecodes: [
B(CallRuntime), U16(Runtime::kNewFunctionContext), R(closure), U8(1),
B(PushContext), R(2),
......@@ -171,8 +164,7 @@ bytecodes: [
/* 42 E> */ B(StaContextSlot), R(context), U8(4),
B(LdaConstant), U8(0),
B(Star), R(4),
B(Ldar), R(closure),
B(Star), R(5),
B(Mov), R(closure), R(5),
B(CallRuntime), U16(Runtime::kPushBlockContext), R(4), U8(2),
B(PushContext), R(3),
B(LdaTheHole),
......
......@@ -31,15 +31,15 @@ bytecodes: [
B(CallRuntimeForPair), U16(Runtime::kLoadLookupSlotForCall), R(3), U8(1), R(1),
B(LdaConstant), U8(3),
B(Star), R(3),
B(Mov), R(1), R(4),
B(Mov), R(3), R(5),
B(Mov), R(closure), R(6),
B(LdaZero),
B(Star), R(7),
B(LdaSmi), U8(30),
B(Star), R(8),
B(LdaSmi), U8(52),
B(Star), R(9),
B(Mov), R(1), R(4),
B(Mov), R(3), R(5),
B(Mov), R(closure), R(6),
B(CallRuntime), U16(Runtime::kResolvePossiblyDirectEval), R(4), U8(6),
B(Star), R(1),
/* 52 E> */ B(Call), R(1), R(2), U8(2), U8(0),
......
......@@ -32,14 +32,12 @@ snippet: "
function f(a) { return %IsArray(a) }
f(undefined);
"
frame size: 1
frame size: 0
parameter count: 2
bytecode array length: 11
bytecode array length: 7
bytecodes: [
/* 10 E> */ B(StackCheck),
/* 16 S> */ B(Ldar), R(arg0),
B(Star), R(0),
B(CallRuntime), U16(Runtime::kIsArray), R(0), U8(1),
/* 16 S> */ B(CallRuntime), U16(Runtime::kIsArray), R(arg0), U8(1),
/* 35 S> */ B(Return),
]
constant pool: [
......
......@@ -24,14 +24,13 @@ snippet: "
"
frame size: 7
parameter count: 1
bytecode array length: 56
bytecode array length: 55
bytecodes: [
B(Ldar), R(closure),
B(Star), R(0),
B(Mov), R(closure), R(0),
/* 99 E> */ B(StackCheck),
/* 104 S> */ B(Ldar), R(this),
B(Star), R(3),
/* 111 E> */ B(Ldar), R(0),
/* 104 S> */ B(Nop),
/* 111 E> */ B(Ldar), R(closure),
B(Mov), R(this), R(3),
B(JumpIfNotHole), U8(11),
B(LdaConstant), U8(0),
B(Star), R(6),
......@@ -75,14 +74,13 @@ snippet: "
"
frame size: 6
parameter count: 1
bytecode array length: 78
bytecode array length: 77
bytecodes: [
B(Ldar), R(closure),
B(Star), R(0),
B(Mov), R(closure), R(0),
/* 125 E> */ B(StackCheck),
/* 130 S> */ B(Ldar), R(this),
B(Star), R(1),
/* 130 E> */ B(Ldar), R(0),
/* 130 S> */ B(Nop),
/* 130 E> */ B(Ldar), R(closure),
B(Mov), R(this), R(1),
B(JumpIfNotHole), U8(11),
B(LdaConstant), U8(0),
B(Star), R(5),
......@@ -95,9 +93,9 @@ bytecodes: [
B(LdaSmi), U8(2),
/* 138 E> */ B(Star), R(4),
B(CallRuntime), U16(Runtime::kStoreToSuper_Strict), R(1), U8(4),
/* 143 S> */ B(Ldar), R(this),
B(Star), R(1),
/* 143 S> */ B(Nop),
/* 150 E> */ B(Ldar), R(0),
B(Mov), R(this), R(1),
B(JumpIfNotHole), U8(11),
B(LdaConstant), U8(0),
B(Star), R(4),
......@@ -133,14 +131,12 @@ snippet: "
"
frame size: 5
parameter count: 1
bytecode array length: 106
bytecode array length: 105
bytecodes: [
B(Ldar), R(closure),
B(Star), R(1),
B(Ldar), R(new_target),
B(Star), R(0),
B(Mov), R(closure), R(1),
B(Mov), R(new_target), R(0),
/* 113 E> */ B(StackCheck),
/* 118 S> */ B(Ldar), R(1),
/* 118 S> */ B(Ldar), R(closure),
B(JumpIfNotHole), U8(11),
B(LdaConstant), U8(0),
B(Star), R(3),
......@@ -163,9 +159,9 @@ bytecodes: [
B(LdaConstant), U8(2),
B(Star), R(3),
B(CallRuntime), U16(Runtime::kThrowReferenceError), R(3), U8(1),
B(Ldar), R(2),
B(Star), R(this),
/* 128 S> */ B(JumpIfNotHole), U8(11),
B(Mov), R(2), R(this),
/* 128 S> */ B(Ldar), R(this),
B(JumpIfNotHole), U8(11),
B(LdaConstant), U8(2),
B(Star), R(2),
B(CallRuntime), U16(Runtime::kThrowReferenceError), R(2), U8(1),
......@@ -203,14 +199,12 @@ snippet: "
"
frame size: 4
parameter count: 1
bytecode array length: 102
bytecode array length: 101
bytecodes: [
B(Ldar), R(closure),
B(Star), R(1),
B(Ldar), R(new_target),
B(Star), R(0),
B(Mov), R(closure), R(1),
B(Mov), R(new_target), R(0),
/* 112 E> */ B(StackCheck),
/* 117 S> */ B(Ldar), R(1),
/* 117 S> */ B(Ldar), R(closure),
B(JumpIfNotHole), U8(11),
B(LdaConstant), U8(0),
B(Star), R(3),
......@@ -231,9 +225,9 @@ bytecodes: [
B(LdaConstant), U8(2),
B(Star), R(3),
B(CallRuntime), U16(Runtime::kThrowReferenceError), R(3), U8(1),
B(Ldar), R(2),
B(Star), R(this),
/* 126 S> */ B(JumpIfNotHole), U8(11),
B(Mov), R(2), R(this),
/* 126 S> */ B(Ldar), R(this),
B(JumpIfNotHole), U8(11),
B(LdaConstant), U8(2),
B(Star), R(2),
B(CallRuntime), U16(Runtime::kThrowReferenceError), R(2), U8(1),
......
......@@ -16,7 +16,7 @@ snippet: "
"
frame size: 9
parameter count: 1
bytecode array length: 74
bytecode array length: 72
bytecodes: [
B(LdaTheHole),
B(Star), R(1),
......@@ -34,8 +34,6 @@ bytecodes: [
B(CallRuntime), U16(Runtime::kDefineClass), R(2), U8(4),
B(Star), R(2),
B(LdrNamedProperty), R(2), U8(1), U8(1), R(3),
B(Ldar), R(3),
B(Mov), R(3), R(4),
B(LdaConstant), U8(2),
B(Star), R(5),
B(CreateClosure), U8(3), U8(0),
......@@ -44,6 +42,7 @@ bytecodes: [
B(Star), R(7),
B(LdaZero),
B(Star), R(8),
B(Mov), R(3), R(4),
B(CallRuntime), U16(Runtime::kDefineDataPropertyInLiteral), R(4), U8(5),
B(CallRuntime), U16(Runtime::kToFastProperties), R(2), U8(1),
B(Star), R(0),
......@@ -69,7 +68,7 @@ snippet: "
"
frame size: 9
parameter count: 1
bytecode array length: 74
bytecode array length: 72
bytecodes: [
B(LdaTheHole),
B(Star), R(1),
......@@ -87,8 +86,6 @@ bytecodes: [
B(CallRuntime), U16(Runtime::kDefineClass), R(2), U8(4),
B(Star), R(2),
B(LdrNamedProperty), R(2), U8(1), U8(1), R(3),
B(Ldar), R(3),
B(Mov), R(3), R(4),
B(LdaConstant), U8(2),
B(Star), R(5),
B(CreateClosure), U8(3), U8(0),
......@@ -97,6 +94,7 @@ bytecodes: [
B(Star), R(7),
B(LdaZero),
B(Star), R(8),
B(Mov), R(3), R(4),
B(CallRuntime), U16(Runtime::kDefineDataPropertyInLiteral), R(4), U8(5),
B(CallRuntime), U16(Runtime::kToFastProperties), R(2), U8(1),
B(Star), R(0),
......@@ -124,7 +122,7 @@ snippet: "
"
frame size: 10
parameter count: 1
bytecode array length: 128
bytecode array length: 126
bytecodes: [
B(CallRuntime), U16(Runtime::kNewFunctionContext), R(closure), U8(1),
B(PushContext), R(2),
......@@ -148,8 +146,6 @@ bytecodes: [
B(CallRuntime), U16(Runtime::kDefineClass), R(3), U8(4),
B(Star), R(3),
B(LdrNamedProperty), R(3), U8(3), U8(1), R(4),
B(Ldar), R(4),
B(Mov), R(4), R(5),
/* 75 E> */ B(LdaContextSlot), R(context), U8(4),
B(ToName),
B(Star), R(6),
......@@ -159,14 +155,15 @@ bytecodes: [
B(Star), R(8),
B(LdaSmi), U8(1),
B(Star), R(9),
B(Mov), R(4), R(5),
B(CallRuntime), U16(Runtime::kDefineDataPropertyInLiteral), R(5), U8(5),
B(Mov), R(3), R(5),
/* 106 E> */ B(LdaContextSlot), R(context), U8(5),
B(ToName),
B(Star), R(6),
B(LdaConstant), U8(3),
B(TestEqualStrict), R(6),
B(JumpIfFalse), U8(7),
B(Mov), R(3), R(5),
B(JumpIfToBooleanFalse), U8(7),
B(CallRuntime), U16(Runtime::kThrowStaticPrototypeError), R(0), U8(0),
B(CreateClosure), U8(5), U8(0),
B(Star), R(7),
......
......@@ -13,14 +13,14 @@ snippet: "
"
frame size: 2
parameter count: 1
bytecode array length: 15
bytecode array length: 16
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), U8(1),
B(Star), R(0),
/* 45 S> */ B(Star), R(1),
B(LdaSmi), U8(2),
B(Add), R(1),
/* 45 S> */ B(LdaSmi), U8(2),
B(Add), R(0),
B(Mov), R(0), R(1),
/* 47 E> */ B(Star), R(0),
B(LdaUndefined),
/* 53 S> */ B(Return),
......@@ -36,14 +36,14 @@ snippet: "
"
frame size: 2
parameter count: 1
bytecode array length: 15
bytecode array length: 16
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), U8(1),
B(Star), R(0),
/* 45 S> */ B(Star), R(1),
B(LdaSmi), U8(2),
B(Div), R(1),
/* 45 S> */ B(LdaSmi), U8(2),
B(Div), R(0),
B(Mov), R(0), R(1),
/* 47 E> */ B(Star), R(0),
B(LdaUndefined),
/* 53 S> */ B(Return),
......@@ -59,17 +59,16 @@ snippet: "
"
frame size: 3
parameter count: 1
bytecode array length: 26
bytecode array length: 24
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(CreateObjectLiteral), U8(0), U8(0), U8(1),
B(Star), R(1),
B(Star), R(0),
/* 54 S> */ B(Star), R(1),
B(LdrNamedProperty), R(1), U8(1), U8(1), R(2),
/* 54 S> */ B(LdrNamedProperty), R(0), U8(1), U8(1), R(2),
B(LdaSmi), U8(2),
B(Mul), R(2),
/* 61 E> */ B(StaNamedPropertySloppy), R(1), U8(1), U8(3),
/* 61 E> */ B(StaNamedPropertySloppy), R(0), U8(1), U8(3),
B(LdaUndefined),
/* 67 S> */ B(Return),
]
......@@ -86,19 +85,18 @@ snippet: "
"
frame size: 4
parameter count: 1
bytecode array length: 29
bytecode array length: 27
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(CreateObjectLiteral), U8(0), U8(0), U8(1),
B(Star), R(1),
B(Star), R(0),
/* 52 S> */ B(Star), R(1),
B(LdaSmi), U8(1),
/* 52 S> */ B(LdaSmi), U8(1),
B(Star), R(2),
B(LdrKeyedProperty), R(1), U8(1), R(3),
B(LdrKeyedProperty), R(0), U8(1), R(3),
B(LdaSmi), U8(2),
B(BitwiseXor), R(3),
/* 57 E> */ B(StaKeyedPropertySloppy), R(1), R(2), U8(3),
/* 57 E> */ B(StaKeyedPropertySloppy), R(0), R(2), U8(3),
B(LdaUndefined),
/* 63 S> */ B(Return),
]
......
......@@ -59,7 +59,7 @@ snippet: "
"
frame size: 3
parameter count: 1
bytecode array length: 32
bytecode array length: 33
bytecodes: [
B(LdaTheHole),
B(Star), R(0),
......@@ -72,8 +72,8 @@ bytecodes: [
B(Star), R(2),
B(CallRuntime), U16(Runtime::kThrowReferenceError), R(2), U8(1),
B(CallRuntime), U16(Runtime::kThrowConstAssignError), R(0), U8(0),
B(Ldar), R(1),
B(Star), R(0),
B(Mov), R(1), R(0),
B(Ldar), R(0),
B(LdaUndefined),
/* 55 S> */ B(Return),
]
......@@ -89,7 +89,7 @@ snippet: "
"
frame size: 3
parameter count: 1
bytecode array length: 36
bytecode array length: 35
bytecodes: [
B(LdaTheHole),
B(Star), R(0),
......@@ -104,8 +104,7 @@ bytecodes: [
B(Star), R(2),
B(CallRuntime), U16(Runtime::kThrowReferenceError), R(2), U8(1),
B(CallRuntime), U16(Runtime::kThrowConstAssignError), R(0), U8(0),
B(Ldar), R(1),
B(Star), R(0),
B(Mov), R(1), R(0),
B(LdaUndefined),
/* 56 S> */ B(Return),
]
......
......@@ -105,7 +105,7 @@ snippet: "
"
frame size: 4
parameter count: 1
bytecode array length: 47
bytecode array length: 46
bytecodes: [
B(CallRuntime), U16(Runtime::kNewFunctionContext), R(closure), U8(1),
B(PushContext), R(0),
......@@ -116,8 +116,7 @@ bytecodes: [
/* 56 E> */ B(StaContextSlot), R(context), U8(4),
B(LdaConstant), U8(0),
B(Star), R(2),
B(Ldar), R(closure),
B(Star), R(3),
B(Mov), R(closure), R(3),
B(CallRuntime), U16(Runtime::kPushBlockContext), R(2), U8(2),
B(PushContext), R(1),
B(LdaTheHole),
......
......@@ -99,18 +99,17 @@ snippet: "
"
frame size: 3
parameter count: 1
bytecode array length: 26
bytecode array length: 24
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(CreateObjectLiteral), U8(0), U8(0), U8(1),
B(Star), R(1),
B(Star), R(0),
/* 54 S> */ B(Star), R(1),
B(LdaNamedProperty), R(1), U8(1), U8(1),
/* 54 S> */ B(LdaNamedProperty), R(0), U8(1), U8(1),
B(ToNumber),
B(Star), R(2),
B(Inc),
/* 66 E> */ B(StaNamedPropertySloppy), R(1), U8(1), U8(3),
/* 66 E> */ B(StaNamedPropertySloppy), R(0), U8(1), U8(3),
B(Ldar), R(2),
/* 70 S> */ B(Return),
]
......@@ -127,16 +126,15 @@ snippet: "
"
frame size: 2
parameter count: 1
bytecode array length: 21
bytecode array length: 19
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(CreateObjectLiteral), U8(0), U8(0), U8(1),
B(Star), R(1),
B(Star), R(0),
/* 54 S> */ B(Star), R(1),
B(LdaNamedProperty), R(1), U8(1), U8(1),
/* 54 S> */ B(LdaNamedProperty), R(0), U8(1), U8(1),
B(Dec),
/* 65 E> */ B(StaNamedPropertySloppy), R(1), U8(1), U8(3),
/* 65 E> */ B(StaNamedPropertySloppy), R(0), U8(1), U8(3),
/* 70 S> */ B(Return),
]
constant pool: [
......@@ -152,7 +150,7 @@ snippet: "
"
frame size: 5
parameter count: 1
bytecode array length: 33
bytecode array length: 30
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 45 S> */ B(LdaConstant), U8(0),
......@@ -160,14 +158,13 @@ bytecodes: [
/* 60 S> */ B(CreateObjectLiteral), U8(1), U8(0), U8(1),
B(Star), R(2),
B(Star), R(1),
/* 72 S> */ B(Star), R(2),
/* 72 S> */ B(Nop),
/* 81 E> */ B(Ldar), R(0),
B(Star), R(3),
B(LdaKeyedProperty), R(2), U8(1),
B(LdaKeyedProperty), R(1), U8(1),
B(ToNumber),
B(Star), R(4),
B(Dec),
/* 86 E> */ B(StaKeyedPropertySloppy), R(2), R(3), U8(3),
/* 86 E> */ B(StaKeyedPropertySloppy), R(1), R(0), U8(3),
B(Ldar), R(4),
/* 90 S> */ B(Return),
]
......@@ -182,9 +179,9 @@ handlers: [
snippet: "
var name = 'var'; var a = { val: 1 }; return ++a[name];
"
frame size: 4
frame size: 3
parameter count: 1
bytecode array length: 28
bytecode array length: 25
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 45 S> */ B(LdaConstant), U8(0),
......@@ -192,12 +189,11 @@ bytecodes: [
/* 60 S> */ B(CreateObjectLiteral), U8(1), U8(0), U8(1),
B(Star), R(2),
B(Star), R(1),
/* 72 S> */ B(Star), R(2),
/* 72 S> */ B(Nop),
/* 83 E> */ B(Ldar), R(0),
B(Star), R(3),
B(LdaKeyedProperty), R(2), U8(1),
B(LdaKeyedProperty), R(1), U8(1),
B(Inc),
/* 87 E> */ B(StaKeyedPropertySloppy), R(2), R(3), U8(3),
/* 87 E> */ B(StaKeyedPropertySloppy), R(1), R(0), U8(3),
/* 90 S> */ B(Return),
]
constant pool: [
......@@ -268,21 +264,20 @@ snippet: "
"
frame size: 4
parameter count: 1
bytecode array length: 28
bytecode array length: 26
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 44 S> */ B(LdaSmi), U8(1),
B(Star), R(0),
/* 55 S> */ B(CreateArrayLiteral), U8(0), U8(0), U8(3),
B(Star), R(1),
/* 63 S> */ B(Star), R(2),
B(Ldar), R(0),
/* 63 S> */ B(Ldar), R(0),
B(ToNumber),
B(Star), R(3),
B(Inc),
/* 75 E> */ B(Star), R(0),
B(LdaSmi), U8(2),
/* 79 E> */ B(StaKeyedPropertySloppy), R(2), R(3), U8(1),
/* 79 E> */ B(StaKeyedPropertySloppy), R(1), R(3), U8(1),
/* 84 S> */ B(Return),
]
constant pool: [
......
......@@ -15,12 +15,12 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 7
bytecode array length: 6
bytecodes: [
B(CreateMappedArguments),
B(Star), R(0),
/* 10 E> */ B(StackCheck),
/* 15 S> */ B(Ldar), R(0),
/* 15 S> */ B(Nop),
/* 33 S> */ B(Return),
]
constant pool: [
......@@ -33,17 +33,16 @@ snippet: "
function f() { return arguments[0]; }
f();
"
frame size: 2
frame size: 1
parameter count: 1
bytecode array length: 13
bytecode array length: 10
bytecodes: [
B(CreateMappedArguments),
B(Star), R(0),
/* 10 E> */ B(StackCheck),
/* 15 S> */ B(Ldar), R(0),
B(Star), R(1),
/* 15 S> */ B(Nop),
/* 31 E> */ B(LdaZero),
B(LdaKeyedProperty), R(1), U8(1),
B(LdaKeyedProperty), R(0), U8(1),
/* 36 S> */ B(Return),
]
constant pool: [
......@@ -58,12 +57,12 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 7
bytecode array length: 6
bytecodes: [
B(CreateUnmappedArguments),
B(Star), R(0),
/* 10 E> */ B(StackCheck),
/* 29 S> */ B(Ldar), R(0),
/* 29 S> */ B(Nop),
/* 47 S> */ B(Return),
]
constant pool: [
......@@ -76,9 +75,9 @@ snippet: "
function f(a) { return arguments[0]; }
f();
"
frame size: 3
frame size: 2
parameter count: 2
bytecode array length: 25
bytecode array length: 22
bytecodes: [
B(CallRuntime), U16(Runtime::kNewFunctionContext), R(closure), U8(1),
B(PushContext), R(1),
......@@ -87,10 +86,9 @@ bytecodes: [
B(CreateMappedArguments),
B(Star), R(0),
/* 10 E> */ B(StackCheck),
/* 16 S> */ B(Ldar), R(0),
B(Star), R(2),
/* 16 S> */ B(Nop),
/* 32 E> */ B(LdaZero),
B(LdaKeyedProperty), R(2), U8(1),
B(LdaKeyedProperty), R(0), U8(1),
/* 37 S> */ B(Return),
]
constant pool: [
......@@ -105,7 +103,7 @@ snippet: "
"
frame size: 2
parameter count: 4
bytecode array length: 29
bytecode array length: 28
bytecodes: [
B(CallRuntime), U16(Runtime::kNewFunctionContext), R(closure), U8(1),
B(PushContext), R(1),
......@@ -118,7 +116,7 @@ bytecodes: [
B(CreateMappedArguments),
B(Star), R(0),
/* 10 E> */ B(StackCheck),
/* 22 S> */ B(Ldar), R(0),
/* 22 S> */ B(Nop),
/* 40 S> */ B(Return),
]
constant pool: [
......@@ -133,12 +131,12 @@ snippet: "
"
frame size: 1
parameter count: 4
bytecode array length: 7
bytecode array length: 6
bytecodes: [
B(CreateUnmappedArguments),
B(Star), R(0),
/* 10 E> */ B(StackCheck),
/* 36 S> */ B(Ldar), R(0),
/* 36 S> */ B(Nop),
/* 54 S> */ B(Return),
]
constant pool: [
......
......@@ -15,12 +15,12 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 7
bytecode array length: 6
bytecodes: [
B(CreateRestParameter),
B(Star), R(0),
/* 10 E> */ B(StackCheck),
/* 26 S> */ B(Ldar), R(0),
/* 26 S> */ B(Nop),
/* 43 S> */ B(Return),
]
constant pool: [
......@@ -35,15 +35,14 @@ snippet: "
"
frame size: 2
parameter count: 2
bytecode array length: 14
bytecode array length: 13
bytecodes: [
B(CreateRestParameter),
B(Star), R(0),
B(LdaTheHole),
B(Star), R(1),
/* 10 E> */ B(StackCheck),
B(Ldar), R(arg0),
B(Star), R(1),
B(Mov), R(arg0), R(1),
/* 29 S> */ B(Ldar), R(0),
/* 46 S> */ B(Return),
]
......@@ -57,21 +56,19 @@ snippet: "
function f(a, ...restArgs) { return restArgs[0]; }
f();
"
frame size: 3
frame size: 2
parameter count: 2
bytecode array length: 20
bytecode array length: 16
bytecodes: [
B(CreateRestParameter),
B(Star), R(0),
B(LdaTheHole),
B(Star), R(1),
/* 10 E> */ B(StackCheck),
B(Ldar), R(arg0),
B(Star), R(1),
/* 29 S> */ B(Ldar), R(0),
B(Star), R(2),
B(Mov), R(arg0), R(1),
/* 29 S> */ B(Nop),
/* 44 E> */ B(LdaZero),
B(LdaKeyedProperty), R(2), U8(1),
B(LdaKeyedProperty), R(0), U8(1),
/* 49 S> */ B(Return),
]
constant pool: [
......@@ -86,7 +83,7 @@ snippet: "
"
frame size: 5
parameter count: 2
bytecode array length: 34
bytecode array length: 29
bytecodes: [
B(CreateUnmappedArguments),
B(Star), R(0),
......@@ -95,16 +92,14 @@ bytecodes: [
B(LdaTheHole),
B(Star), R(2),
/* 10 E> */ B(StackCheck),
B(Ldar), R(arg0),
B(Star), R(2),
/* 29 S> */ B(Ldar), R(1),
B(Star), R(3),
B(Mov), R(arg0), R(2),
/* 29 S> */ B(Nop),
/* 44 E> */ B(LdaZero),
B(LdrKeyedProperty), R(3), U8(1), R(4),
/* 50 E> */ B(Ldar), R(0),
B(Star), R(3),
B(LdrKeyedProperty), R(1), U8(1), R(4),
B(Ldar), R(4),
/* 50 E> */ B(Nop),
/* 59 E> */ B(LdaZero),
B(LdaKeyedProperty), R(3), U8(3),
B(LdaKeyedProperty), R(0), U8(3),
B(Add), R(4),
/* 64 S> */ B(Return),
]
......
......@@ -13,15 +13,14 @@ snippet: "
"
frame size: 2
parameter count: 1
bytecode array length: 16
bytecode array length: 14
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(CreateObjectLiteral), U8(0), U8(0), U8(1),
B(Star), R(1),
B(Star), R(0),
/* 56 S> */ B(Star), R(1),
B(LdaConstant), U8(1),
B(DeletePropertySloppy), R(1),
/* 56 S> */ B(LdaConstant), U8(1),
B(DeletePropertySloppy), R(0),
/* 75 S> */ B(Return),
]
constant pool: [
......@@ -37,15 +36,14 @@ snippet: "
"
frame size: 2
parameter count: 1
bytecode array length: 16
bytecode array length: 14
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 56 S> */ B(CreateObjectLiteral), U8(0), U8(0), U8(1),
B(Star), R(1),
B(Star), R(0),
/* 70 S> */ B(Star), R(1),
B(LdaConstant), U8(1),
B(DeletePropertyStrict), R(1),
/* 70 S> */ B(LdaConstant), U8(1),
B(DeletePropertyStrict), R(0),
/* 89 S> */ B(Return),
]
constant pool: [
......@@ -61,15 +59,14 @@ snippet: "
"
frame size: 2
parameter count: 1
bytecode array length: 16
bytecode array length: 14
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(CreateObjectLiteral), U8(0), U8(0), U8(1),
B(Star), R(1),
B(Star), R(0),
/* 56 S> */ B(Star), R(1),
B(LdaSmi), U8(2),
B(DeletePropertySloppy), R(1),
/* 56 S> */ B(LdaSmi), U8(2),
B(DeletePropertySloppy), R(0),
/* 76 S> */ B(Return),
]
constant pool: [
......
......@@ -14,12 +14,12 @@ snippet: "
"
frame size: 2
parameter count: 1
bytecode array length: 7
bytecode array length: 8
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(Ldar), R(0),
B(Star), R(1),
/* 50 S> */ B(Nop),
/* 42 S> */ B(Nop),
B(Mov), R(0), R(1),
/* 50 S> */ B(Ldar), R(1),
/* 60 S> */ B(Return),
]
constant pool: [
......@@ -66,8 +66,8 @@ bytecodes: [
/* 71 E> */ B(Star), R(1),
B(Star), R(0),
/* 74 S> */ B(Jump), U8(12),
/* 64 E> */ B(Ldar), R(0),
B(Star), R(1),
/* 64 E> */ B(Nop),
B(Mov), R(0), R(1),
/* 84 S> */ B(LdaSmi), U8(20),
/* 86 E> */ B(Star), R(1),
B(Jump), U8(-20),
......
......@@ -29,15 +29,15 @@ bytecodes: [
B(CallRuntimeForPair), U16(Runtime::kLoadLookupSlotForCall), R(3), U8(1), R(1),
B(LdaConstant), U8(1),
B(Star), R(3),
B(Mov), R(1), R(4),
B(Mov), R(3), R(5),
B(Mov), R(closure), R(6),
B(LdaZero),
B(Star), R(7),
B(LdaSmi), U8(30),
B(Star), R(8),
B(LdaSmi), U8(41),
B(Star), R(9),
B(Mov), R(1), R(4),
B(Mov), R(3), R(5),
B(Mov), R(closure), R(6),
B(CallRuntime), U16(Runtime::kResolvePossiblyDirectEval), R(4), U8(6),
B(Star), R(1),
/* 41 E> */ B(Call), R(1), R(2), U8(2), U8(0),
......
......@@ -65,31 +65,30 @@ snippet: "
"
frame size: 8
parameter count: 1
bytecode array length: 46
bytecode array length: 44
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaConstant), U8(0),
B(Star), R(1),
/* 68 S> */ B(JumpIfUndefined), U8(39),
B(JumpIfNull), U8(37),
/* 68 S> */ B(JumpIfUndefined), U8(37),
B(JumpIfNull), U8(35),
B(ToObject),
B(Star), R(3),
B(ForInPrepare), R(4),
B(Star), R(3),
B(LdaZero),
B(Star), R(7),
/* 63 S> */ B(ForInDone), R(7), R(6),
B(JumpIfTrue), U8(24),
B(JumpIfTrue), U8(22),
B(ForInNext), R(3), R(7), R(4), U8(1),
B(JumpIfUndefined), U8(11),
B(JumpIfUndefined), U8(9),
B(Star), R(0),
/* 54 E> */ B(StackCheck),
B(Ldar), R(0),
B(Star), R(2),
/* 73 S> */ B(Nop),
/* 85 S> */ B(Return),
B(ForInStep), R(7),
B(Star), R(7),
B(Jump), U8(-25),
B(Jump), U8(-23),
B(LdaUndefined),
/* 85 S> */ B(Return),
]
......@@ -106,35 +105,34 @@ snippet: "
"
frame size: 9
parameter count: 1
bytecode array length: 57
bytecode array length: 55
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaZero),
B(Star), R(1),
/* 59 S> */ B(CreateArrayLiteral), U8(0), U8(0), U8(3),
B(JumpIfUndefined), U8(47),
B(JumpIfNull), U8(45),
B(JumpIfUndefined), U8(45),
B(JumpIfNull), U8(43),
B(ToObject),
B(Star), R(3),
B(ForInPrepare), R(4),
B(Star), R(3),
B(LdaZero),
B(Star), R(7),
/* 54 S> */ B(ForInDone), R(7), R(6),
B(JumpIfTrue), U8(32),
B(JumpIfTrue), U8(30),
B(ForInNext), R(3), R(7), R(4), U8(1),
B(JumpIfUndefined), U8(19),
B(JumpIfUndefined), U8(17),
B(Star), R(0),
/* 45 E> */ B(StackCheck),
B(Ldar), R(0),
B(Star), R(2),
/* 70 S> */ B(Ldar), R(1),
B(Star), R(8),
/* 75 E> */ B(Ldar), R(2),
B(Add), R(8),
/* 70 S> */ B(Nop),
/* 75 E> */ B(Ldar), R(0),
B(Add), R(1),
B(Mov), R(1), R(8),
/* 72 E> */ B(Star), R(1),
B(ForInStep), R(7),
B(Star), R(7),
B(Jump), U8(-33),
B(Jump), U8(-31),
B(LdaUndefined),
/* 80 S> */ B(Return),
]
......@@ -154,47 +152,43 @@ snippet: "
"
frame size: 8
parameter count: 1
bytecode array length: 92
bytecode array length: 82
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(CreateObjectLiteral), U8(0), U8(0), U8(1),
B(Star), R(1),
B(Star), R(0),
/* 77 S> */ B(CreateArrayLiteral), U8(1), U8(1), U8(3),
B(JumpIfUndefined), U8(77),
B(JumpIfNull), U8(75),
B(JumpIfUndefined), U8(67),
B(JumpIfNull), U8(65),
B(ToObject),
B(Star), R(1),
B(ForInPrepare), R(2),
B(Star), R(1),
B(LdaZero),
B(Star), R(5),
/* 68 S> */ B(ForInDone), R(5), R(4),
B(JumpIfTrue), U8(62),
B(JumpIfTrue), U8(52),
B(ForInNext), R(1), R(5), R(2), U8(9),
B(JumpIfUndefined), U8(49),
B(JumpIfUndefined), U8(39),
B(Star), R(6),
/* 67 E> */ B(Ldar), R(0),
B(Star), R(7),
B(Ldar), R(6),
B(StaNamedPropertySloppy), R(7), U8(2), U8(7),
/* 67 E> */ B(Ldar), R(6),
B(StaNamedPropertySloppy), R(0), U8(2), U8(7),
/* 62 E> */ B(StackCheck),
/* 95 S> */ B(Ldar), R(0),
B(Star), R(6),
/* 100 E> */ B(LdrNamedProperty), R(6), U8(2), U8(3), R(7),
/* 95 S> */ B(Nop),
/* 100 E> */ B(LdrNamedProperty), R(0), U8(2), U8(3), R(7),
B(LdaSmi), U8(10),
/* 106 E> */ B(TestEqual), R(7),
B(JumpIfFalse), U8(4),
/* 113 S> */ B(Jump), U8(19),
/* 125 S> */ B(Ldar), R(0),
B(Star), R(6),
/* 130 E> */ B(LdrNamedProperty), R(6), U8(2), U8(5), R(7),
/* 113 S> */ B(Jump), U8(16),
/* 125 S> */ B(Nop),
/* 130 E> */ B(LdrNamedProperty), R(0), U8(2), U8(5), R(7),
B(LdaSmi), U8(20),
/* 136 E> */ B(TestEqual), R(7),
B(JumpIfFalse), U8(4),
/* 143 S> */ B(Jump), U8(8),
B(ForInStep), R(5),
B(Star), R(5),
B(Jump), U8(-63),
B(Jump), U8(-53),
B(LdaUndefined),
/* 152 S> */ B(Return),
]
......@@ -213,39 +207,36 @@ snippet: "
"
frame size: 9
parameter count: 1
bytecode array length: 69
bytecode array length: 62
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(CreateArrayLiteral), U8(0), U8(0), U8(3),
B(Star), R(0),
/* 72 S> */ B(CreateArrayLiteral), U8(1), U8(1), U8(3),
B(JumpIfUndefined), U8(56),
B(JumpIfNull), U8(54),
B(JumpIfUndefined), U8(49),
B(JumpIfNull), U8(47),
B(ToObject),
B(Star), R(1),
B(ForInPrepare), R(2),
B(Star), R(1),
B(LdaZero),
B(Star), R(5),
/* 65 S> */ B(ForInDone), R(5), R(4),
B(JumpIfTrue), U8(41),
B(JumpIfTrue), U8(34),
B(ForInNext), R(1), R(5), R(2), U8(7),
B(JumpIfUndefined), U8(28),
B(JumpIfUndefined), U8(21),
B(Star), R(6),
/* 64 E> */ B(Ldar), R(0),
B(Star), R(7),
B(LdaZero),
/* 64 E> */ B(LdaZero),
B(Star), R(8),
B(Ldar), R(6),
B(StaKeyedPropertySloppy), R(7), R(8), U8(5),
B(StaKeyedPropertySloppy), R(0), R(8), U8(5),
/* 59 E> */ B(StackCheck),
/* 83 S> */ B(Ldar), R(0),
B(Star), R(6),
/* 83 S> */ B(Nop),
/* 91 E> */ B(LdaSmi), U8(3),
B(LdaKeyedProperty), R(6), U8(3),
B(LdaKeyedProperty), R(0), U8(3),
/* 98 S> */ B(Return),
B(ForInStep), R(5),
B(Star), R(5),
B(Jump), U8(-42),
B(Jump), U8(-35),
B(LdaUndefined),
/* 98 S> */ B(Return),
]
......
......@@ -13,7 +13,7 @@ snippet: "
"
frame size: 16
parameter count: 1
bytecode array length: 343
bytecode array length: 288
bytecodes: [
/* 30 E> */ B(StackCheck),
B(LdrUndefined), R(4),
......@@ -27,47 +27,34 @@ bytecodes: [
B(LdrKeyedProperty), R(14), U8(3), R(13),
/* 48 E> */ B(Call), R(13), R(14), U8(1), U8(1),
/* 48 E> */ B(Star), R(1),
/* 45 S> */ B(Ldar), R(1),
B(Star), R(15),
B(LdrNamedProperty), R(15), U8(2), U8(7), R(14),
/* 45 E> */ B(Call), R(14), R(15), U8(1), U8(5),
/* 45 S> */ B(LdrNamedProperty), R(1), U8(2), U8(7), R(14),
/* 45 E> */ B(Call), R(14), R(1), U8(1), U8(5),
/* 45 E> */ B(Star), R(2),
B(Star), R(13),
B(InvokeIntrinsic), U16(Runtime::k_IsJSReceiver), R(13), U8(1),
B(InvokeIntrinsic), U16(Runtime::k_IsJSReceiver), R(2), U8(1),
B(ToBooleanLogicalNot),
B(JumpIfFalse), U8(11),
B(Ldar), R(2),
B(Star), R(13),
B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(13), U8(1),
B(Ldar), R(2),
B(Star), R(13),
B(LdaNamedProperty), R(13), U8(3), U8(9),
B(JumpIfToBooleanTrue), U8(27),
B(JumpIfFalse), U8(7),
B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(2), U8(1),
B(LdaNamedProperty), R(2), U8(3), U8(9),
B(JumpIfToBooleanTrue), U8(22),
B(LdaSmi), U8(2),
B(Star), R(3),
B(Ldar), R(2),
B(Star), R(13),
B(LdrNamedProperty), R(13), U8(4), U8(11), R(0),
B(Ldar), R(4),
/* 34 E> */ B(StackCheck),
B(LdrNamedProperty), R(2), U8(4), U8(11), R(0),
B(Ldar), R(0),
B(Star), R(7),
/* 34 E> */ B(StackCheck),
B(Mov), R(0), R(7),
B(LdaZero),
B(Star), R(3),
B(Jump), U8(-68),
B(Jump), U8(46),
B(Jump), U8(-49),
B(Jump), U8(41),
B(Star), R(14),
B(LdaConstant), U8(5),
B(Star), R(13),
B(Ldar), R(closure),
B(Star), R(15),
B(Mov), R(closure), R(15),
B(CallRuntime), U16(Runtime::kPushCatchContext), R(13), U8(3),
B(Star), R(12),
B(PushContext), R(8),
B(Ldar), R(3),
B(Star), R(13),
B(LdaSmi), U8(2),
B(TestEqualStrict), R(13),
B(TestEqualStrict), R(3),
B(JumpIfFalse), U8(6),
B(LdaSmi), U8(1),
B(Star), R(3),
......@@ -82,31 +69,21 @@ bytecodes: [
B(Star), R(9),
B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R(0), U8(0),
B(Star), R(11),
B(Ldar), R(3),
B(Star), R(12),
B(LdaZero),
B(TestEqualStrict), R(12),
B(JumpIfTrue), U8(9),
B(Ldar), R(1),
B(Star), R(12),
B(TestEqualStrict), R(3),
B(JumpIfTrue), U8(5),
B(LdaUndefined),
B(TestEqualStrict), R(12),
B(TestEqualStrict), R(1),
B(ToBooleanLogicalNot),
B(JumpIfFalseConstant), U8(9),
B(Ldar), R(1),
B(Star), R(12),
B(LdrNamedProperty), R(12), U8(6), U8(13), R(5),
B(Ldar), R(5),
B(Star), R(12),
B(JumpIfFalse), U8(121),
B(LdrNamedProperty), R(1), U8(6), U8(13), R(5),
B(LdaNull),
B(TestEqual), R(12),
B(TestEqual), R(5),
B(JumpIfFalse), U8(4),
B(Jump), U8(124),
B(Ldar), R(3),
B(Star), R(12),
B(Jump), U8(109),
B(LdaSmi), U8(1),
B(TestEqualStrict), R(12),
B(JumpIfFalse), U8(79),
B(TestEqualStrict), R(3),
B(JumpIfFalse), U8(76),
B(Ldar), R(5),
B(TypeOf),
B(Star), R(12),
......@@ -121,37 +98,29 @@ bytecodes: [
B(CallRuntime), U16(Runtime::kNewTypeError), R(12), U8(2),
B(Throw),
B(Mov), R(context), R(12),
B(Ldar), R(5),
B(Star), R(13),
B(Ldar), R(1),
B(Star), R(14),
B(Mov), R(5), R(13),
B(Mov), R(1), R(14),
B(CallRuntime), U16(Runtime::k_Call), R(13), U8(2),
B(Jump), U8(30),
B(Jump), U8(29),
B(Star), R(14),
B(LdaConstant), U8(5),
B(Star), R(13),
B(Ldar), R(closure),
B(Star), R(15),
B(Mov), R(closure), R(15),
B(CallRuntime), U16(Runtime::kPushCatchContext), R(13), U8(3),
B(Star), R(12),
B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R(0), U8(0),
B(Ldar), R(12),
B(PushContext), R(8),
B(PopContext), R(8),
B(Jump), U8(37),
B(Ldar), R(5),
B(Star), R(12),
B(Ldar), R(1),
B(Star), R(13),
B(Jump), U8(29),
B(Mov), R(5), R(12),
B(Mov), R(1), R(13),
B(CallRuntime), U16(Runtime::k_Call), R(12), U8(2),
B(Star), R(6),
B(Star), R(12),
B(InvokeIntrinsic), U16(Runtime::k_IsJSReceiver), R(12), U8(1),
B(InvokeIntrinsic), U16(Runtime::k_IsJSReceiver), R(6), U8(1),
B(JumpIfToBooleanFalse), U8(4),
B(Jump), U8(11),
B(Ldar), R(6),
B(Star), R(12),
B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(12), U8(1),
B(Jump), U8(7),
B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(6), U8(1),
B(CallRuntime), U16(Runtime::kInterpreterSetPendingMessage), R(11), U8(1),
B(LdaZero),
B(TestEqualStrict), R(9),
......@@ -172,12 +141,11 @@ constant pool: [
InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
kInstanceTypeDontCare,
]
handlers: [
[9, 147, 153],
[12, 101, 103],
[246, 259, 261],
[9, 123, 129],
[12, 82, 84],
[202, 213, 215],
]
---
......@@ -187,7 +155,7 @@ snippet: "
"
frame size: 17
parameter count: 1
bytecode array length: 359
bytecode array length: 302
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaConstant), U8(0),
......@@ -197,55 +165,41 @@ bytecodes: [
B(Star), R(3),
B(Mov), R(context), R(12),
B(Mov), R(context), R(13),
/* 68 S> */ B(Ldar), R(7),
B(Star), R(15),
/* 68 S> */ B(Nop),
/* 68 E> */ B(LdaConstant), U8(1),
B(LdrKeyedProperty), R(15), U8(3), R(14),
/* 68 E> */ B(Call), R(14), R(15), U8(1), U8(1),
B(LdrKeyedProperty), R(7), U8(3), R(14),
/* 68 E> */ B(Call), R(14), R(7), U8(1), U8(1),
/* 68 E> */ B(Star), R(1),
/* 65 S> */ B(Ldar), R(1),
B(Star), R(16),
B(LdrNamedProperty), R(16), U8(2), U8(7), R(15),
/* 65 E> */ B(Call), R(15), R(16), U8(1), U8(5),
/* 65 S> */ B(LdrNamedProperty), R(1), U8(2), U8(7), R(15),
/* 65 E> */ B(Call), R(15), R(1), U8(1), U8(5),
/* 65 E> */ B(Star), R(2),
B(Star), R(14),
B(InvokeIntrinsic), U16(Runtime::k_IsJSReceiver), R(14), U8(1),
B(InvokeIntrinsic), U16(Runtime::k_IsJSReceiver), R(2), U8(1),
B(ToBooleanLogicalNot),
B(JumpIfFalse), U8(11),
B(Ldar), R(2),
B(Star), R(14),
B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(14), U8(1),
B(Ldar), R(2),
B(Star), R(14),
B(LdaNamedProperty), R(14), U8(3), U8(9),
B(JumpIfToBooleanTrue), U8(31),
B(JumpIfFalse), U8(7),
B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(2), U8(1),
B(LdaNamedProperty), R(2), U8(3), U8(9),
B(JumpIfToBooleanTrue), U8(27),
B(LdaSmi), U8(2),
B(Star), R(3),
B(Ldar), R(2),
B(Star), R(14),
B(LdrNamedProperty), R(14), U8(4), U8(11), R(0),
B(Ldar), R(4),
/* 54 E> */ B(StackCheck),
B(LdrNamedProperty), R(2), U8(4), U8(11), R(0),
B(Ldar), R(0),
B(Star), R(8),
/* 73 S> */ B(Star), R(11),
B(LdaZero),
/* 54 E> */ B(StackCheck),
B(Mov), R(0), R(8),
/* 73 S> */ B(LdaZero),
B(Star), R(10),
B(Jump), U8(62),
B(Jump), U8(-72),
B(Jump), U8(46),
B(Mov), R(8), R(11),
B(Jump), U8(57),
B(Jump), U8(-54),
B(Jump), U8(41),
B(Star), R(15),
B(LdaConstant), U8(5),
B(Star), R(14),
B(Ldar), R(closure),
B(Star), R(16),
B(Mov), R(closure), R(16),
B(CallRuntime), U16(Runtime::kPushCatchContext), R(14), U8(3),
B(Star), R(13),
B(PushContext), R(9),
B(Ldar), R(3),
B(Star), R(14),
B(LdaSmi), U8(2),
B(TestEqualStrict), R(14),
B(TestEqualStrict), R(3),
B(JumpIfFalse), U8(6),
B(LdaSmi), U8(1),
B(Star), R(3),
......@@ -260,31 +214,21 @@ bytecodes: [
B(Star), R(10),
B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R(0), U8(0),
B(Star), R(12),
B(Ldar), R(3),
B(Star), R(13),
B(LdaZero),
B(TestEqualStrict), R(13),
B(JumpIfTrue), U8(9),
B(Ldar), R(1),
B(Star), R(13),
B(TestEqualStrict), R(3),
B(JumpIfTrue), U8(5),
B(LdaUndefined),
B(TestEqualStrict), R(13),
B(TestEqualStrict), R(1),
B(ToBooleanLogicalNot),
B(JumpIfFalseConstant), U8(9),
B(Ldar), R(1),
B(Star), R(13),
B(LdrNamedProperty), R(13), U8(6), U8(13), R(5),
B(Ldar), R(5),
B(Star), R(13),
B(JumpIfFalse), U8(121),
B(LdrNamedProperty), R(1), U8(6), U8(13), R(5),
B(LdaNull),
B(TestEqual), R(13),
B(TestEqual), R(5),
B(JumpIfFalse), U8(4),
B(Jump), U8(124),
B(Ldar), R(3),
B(Star), R(13),
B(Jump), U8(109),
B(LdaSmi), U8(1),
B(TestEqualStrict), R(13),
B(JumpIfFalse), U8(79),
B(TestEqualStrict), R(3),
B(JumpIfFalse), U8(76),
B(Ldar), R(5),
B(TypeOf),
B(Star), R(13),
......@@ -299,37 +243,29 @@ bytecodes: [
B(CallRuntime), U16(Runtime::kNewTypeError), R(13), U8(2),
B(Throw),
B(Mov), R(context), R(13),
B(Ldar), R(5),
B(Star), R(14),
B(Ldar), R(1),
B(Star), R(15),
B(Mov), R(5), R(14),
B(Mov), R(1), R(15),
B(CallRuntime), U16(Runtime::k_Call), R(14), U8(2),
B(Jump), U8(30),
B(Jump), U8(29),
B(Star), R(15),
B(LdaConstant), U8(5),
B(Star), R(14),
B(Ldar), R(closure),
B(Star), R(16),
B(Mov), R(closure), R(16),
B(CallRuntime), U16(Runtime::kPushCatchContext), R(14), U8(3),
B(Star), R(13),
B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R(0), U8(0),
B(Ldar), R(13),
B(PushContext), R(9),
B(PopContext), R(9),
B(Jump), U8(37),
B(Ldar), R(5),
B(Star), R(13),
B(Ldar), R(1),
B(Star), R(14),
B(Jump), U8(29),
B(Mov), R(5), R(13),
B(Mov), R(1), R(14),
B(CallRuntime), U16(Runtime::k_Call), R(13), U8(2),
B(Star), R(6),
B(Star), R(13),
B(InvokeIntrinsic), U16(Runtime::k_IsJSReceiver), R(13), U8(1),
B(InvokeIntrinsic), U16(Runtime::k_IsJSReceiver), R(6), U8(1),
B(JumpIfToBooleanFalse), U8(4),
B(Jump), U8(11),
B(Ldar), R(6),
B(Star), R(13),
B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(13), U8(1),
B(Jump), U8(7),
B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(6), U8(1),
B(CallRuntime), U16(Runtime::kInterpreterSetPendingMessage), R(12), U8(1),
B(LdaZero),
B(TestEqualStrict), R(10),
......@@ -355,12 +291,11 @@ constant pool: [
InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
kInstanceTypeDontCare,
]
handlers: [
[13, 153, 159],
[16, 107, 109],
[253, 266, 268],
[13, 127, 133],
[16, 86, 88],
[207, 218, 220],
]
---
......@@ -372,7 +307,7 @@ snippet: "
"
frame size: 16
parameter count: 1
bytecode array length: 365
bytecode array length: 304
bytecodes: [
/* 30 E> */ B(StackCheck),
B(LdrUndefined), R(4),
......@@ -386,58 +321,42 @@ bytecodes: [
B(LdrKeyedProperty), R(14), U8(3), R(13),
/* 48 E> */ B(Call), R(13), R(14), U8(1), U8(1),
/* 48 E> */ B(Star), R(1),
/* 45 S> */ B(Ldar), R(1),
B(Star), R(15),
B(LdrNamedProperty), R(15), U8(2), U8(7), R(14),
/* 45 E> */ B(Call), R(14), R(15), U8(1), U8(5),
/* 45 S> */ B(LdrNamedProperty), R(1), U8(2), U8(7), R(14),
/* 45 E> */ B(Call), R(14), R(1), U8(1), U8(5),
/* 45 E> */ B(Star), R(2),
B(Star), R(13),
B(InvokeIntrinsic), U16(Runtime::k_IsJSReceiver), R(13), U8(1),
B(InvokeIntrinsic), U16(Runtime::k_IsJSReceiver), R(2), U8(1),
B(ToBooleanLogicalNot),
B(JumpIfFalse), U8(11),
B(Ldar), R(2),
B(Star), R(13),
B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(13), U8(1),
B(Ldar), R(2),
B(Star), R(13),
B(LdaNamedProperty), R(13), U8(3), U8(9),
B(JumpIfToBooleanTrue), U8(49),
B(JumpIfFalse), U8(7),
B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(2), U8(1),
B(LdaNamedProperty), R(2), U8(3), U8(9),
B(JumpIfToBooleanTrue), U8(38),
B(LdaSmi), U8(2),
B(Star), R(3),
B(Ldar), R(2),
B(Star), R(13),
B(LdrNamedProperty), R(13), U8(4), U8(11), R(0),
B(Ldar), R(4),
/* 34 E> */ B(StackCheck),
B(LdrNamedProperty), R(2), U8(4), U8(11), R(0),
B(Ldar), R(0),
B(Star), R(7),
/* 66 S> */ B(Star), R(13),
B(LdaSmi), U8(10),
/* 72 E> */ B(TestEqual), R(13),
/* 34 E> */ B(StackCheck),
B(Mov), R(0), R(7),
/* 66 S> */ B(LdaSmi), U8(10),
/* 72 E> */ B(TestEqual), R(7),
B(JumpIfFalse), U8(4),
/* 79 S> */ B(Jump), U8(17),
/* 91 S> */ B(Ldar), R(7),
B(Star), R(13),
B(LdaSmi), U8(20),
/* 97 E> */ B(TestEqual), R(13),
/* 79 S> */ B(Jump), U8(13),
/* 91 S> */ B(LdaSmi), U8(20),
/* 97 E> */ B(TestEqual), R(7),
B(JumpIfFalse), U8(4),
/* 104 S> */ B(Jump), U8(7),
B(LdaZero),
B(Star), R(3),
B(Jump), U8(-90),
B(Jump), U8(46),
B(Jump), U8(-65),
B(Jump), U8(41),
B(Star), R(14),
B(LdaConstant), U8(5),
B(Star), R(13),
B(Ldar), R(closure),
B(Star), R(15),
B(Mov), R(closure), R(15),
B(CallRuntime), U16(Runtime::kPushCatchContext), R(13), U8(3),
B(Star), R(12),
B(PushContext), R(8),
B(Ldar), R(3),
B(Star), R(13),
B(LdaSmi), U8(2),
B(TestEqualStrict), R(13),
B(TestEqualStrict), R(3),
B(JumpIfFalse), U8(6),
B(LdaSmi), U8(1),
B(Star), R(3),
......@@ -452,31 +371,21 @@ bytecodes: [
B(Star), R(9),
B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R(0), U8(0),
B(Star), R(11),
B(Ldar), R(3),
B(Star), R(12),
B(LdaZero),
B(TestEqualStrict), R(12),
B(JumpIfTrue), U8(9),
B(Ldar), R(1),
B(Star), R(12),
B(TestEqualStrict), R(3),
B(JumpIfTrue), U8(5),
B(LdaUndefined),
B(TestEqualStrict), R(12),
B(TestEqualStrict), R(1),
B(ToBooleanLogicalNot),
B(JumpIfFalseConstant), U8(9),
B(Ldar), R(1),
B(Star), R(12),
B(LdrNamedProperty), R(12), U8(6), U8(13), R(5),
B(Ldar), R(5),
B(Star), R(12),
B(JumpIfFalse), U8(121),
B(LdrNamedProperty), R(1), U8(6), U8(13), R(5),
B(LdaNull),
B(TestEqual), R(12),
B(TestEqual), R(5),
B(JumpIfFalse), U8(4),
B(Jump), U8(124),
B(Ldar), R(3),
B(Star), R(12),
B(Jump), U8(109),
B(LdaSmi), U8(1),
B(TestEqualStrict), R(12),
B(JumpIfFalse), U8(79),
B(TestEqualStrict), R(3),
B(JumpIfFalse), U8(76),
B(Ldar), R(5),
B(TypeOf),
B(Star), R(12),
......@@ -491,37 +400,29 @@ bytecodes: [
B(CallRuntime), U16(Runtime::kNewTypeError), R(12), U8(2),
B(Throw),
B(Mov), R(context), R(12),
B(Ldar), R(5),
B(Star), R(13),
B(Ldar), R(1),
B(Star), R(14),
B(Mov), R(5), R(13),
B(Mov), R(1), R(14),
B(CallRuntime), U16(Runtime::k_Call), R(13), U8(2),
B(Jump), U8(30),
B(Jump), U8(29),
B(Star), R(14),
B(LdaConstant), U8(5),
B(Star), R(13),
B(Ldar), R(closure),
B(Star), R(15),
B(Mov), R(closure), R(15),
B(CallRuntime), U16(Runtime::kPushCatchContext), R(13), U8(3),
B(Star), R(12),
B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R(0), U8(0),
B(Ldar), R(12),
B(PushContext), R(8),
B(PopContext), R(8),
B(Jump), U8(37),
B(Ldar), R(5),
B(Star), R(12),
B(Ldar), R(1),
B(Star), R(13),
B(Jump), U8(29),
B(Mov), R(5), R(12),
B(Mov), R(1), R(13),
B(CallRuntime), U16(Runtime::k_Call), R(12), U8(2),
B(Star), R(6),
B(Star), R(12),
B(InvokeIntrinsic), U16(Runtime::k_IsJSReceiver), R(12), U8(1),
B(InvokeIntrinsic), U16(Runtime::k_IsJSReceiver), R(6), U8(1),
B(JumpIfToBooleanFalse), U8(4),
B(Jump), U8(11),
B(Ldar), R(6),
B(Star), R(12),
B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(12), U8(1),
B(Jump), U8(7),
B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(6), U8(1),
B(CallRuntime), U16(Runtime::kInterpreterSetPendingMessage), R(11), U8(1),
B(LdaZero),
B(TestEqualStrict), R(9),
......@@ -542,12 +443,11 @@ constant pool: [
InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
kInstanceTypeDontCare,
]
handlers: [
[9, 169, 175],
[12, 123, 125],
[268, 281, 283],
[9, 139, 145],
[12, 98, 100],
[218, 229, 231],
]
---
......@@ -557,7 +457,7 @@ snippet: "
"
frame size: 15
parameter count: 1
bytecode array length: 375
bytecode array length: 312
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(CreateObjectLiteral), U8(0), U8(0), U8(1),
......@@ -574,52 +474,36 @@ bytecodes: [
B(LdrKeyedProperty), R(13), U8(3), R(12),
/* 77 E> */ B(Call), R(12), R(13), U8(1), U8(1),
/* 77 E> */ B(Star), R(0),
/* 74 S> */ B(Ldar), R(0),
B(Star), R(14),
B(LdrNamedProperty), R(14), U8(3), U8(7), R(13),
/* 74 E> */ B(Call), R(13), R(14), U8(1), U8(5),
/* 74 S> */ B(LdrNamedProperty), R(0), U8(3), U8(7), R(13),
/* 74 E> */ B(Call), R(13), R(0), U8(1), U8(5),
/* 74 E> */ B(Star), R(1),
B(Star), R(12),
B(InvokeIntrinsic), U16(Runtime::k_IsJSReceiver), R(12), U8(1),
B(InvokeIntrinsic), U16(Runtime::k_IsJSReceiver), R(1), U8(1),
B(ToBooleanLogicalNot),
B(JumpIfFalse), U8(11),
B(Ldar), R(1),
B(Star), R(12),
B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(12), U8(1),
B(Ldar), R(1),
B(Star), R(12),
B(LdaNamedProperty), R(12), U8(4), U8(9),
B(JumpIfToBooleanTrue), U8(41),
B(JumpIfFalse), U8(7),
B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(1), U8(1),
B(LdaNamedProperty), R(1), U8(4), U8(9),
B(JumpIfToBooleanTrue), U8(28),
B(LdaSmi), U8(2),
B(Star), R(2),
/* 67 E> */ B(Ldar), R(6),
B(Star), R(12),
B(Ldar), R(1),
B(Star), R(13),
B(LdaNamedProperty), R(13), U8(5), U8(11),
B(StaNamedPropertySloppy), R(12), U8(6), U8(13),
B(Ldar), R(3),
/* 67 E> */ B(LdaNamedProperty), R(1), U8(5), U8(11),
B(StaNamedPropertySloppy), R(6), U8(6), U8(13),
/* 62 E> */ B(StackCheck),
/* 88 S> */ B(Ldar), R(6),
B(Star), R(12),
/* 96 E> */ B(LdrNamedProperty), R(12), U8(6), U8(15), R(9),
/* 88 S> */ B(Nop),
/* 96 E> */ B(LdrNamedProperty), R(6), U8(6), U8(15), R(9),
B(LdaZero),
B(Star), R(8),
B(Jump), U8(62),
B(Jump), U8(-82),
B(Jump), U8(46),
B(Jump), U8(57),
B(Jump), U8(-55),
B(Jump), U8(41),
B(Star), R(13),
B(LdaConstant), U8(7),
B(Star), R(12),
B(Ldar), R(closure),
B(Star), R(14),
B(Mov), R(closure), R(14),
B(CallRuntime), U16(Runtime::kPushCatchContext), R(12), U8(3),
B(Star), R(11),
B(PushContext), R(7),
B(Ldar), R(2),
B(Star), R(12),
B(LdaSmi), U8(2),
B(TestEqualStrict), R(12),
B(TestEqualStrict), R(2),
B(JumpIfFalse), U8(6),
B(LdaSmi), U8(1),
B(Star), R(2),
......@@ -634,31 +518,21 @@ bytecodes: [
B(Star), R(8),
B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R(0), U8(0),
B(Star), R(10),
B(Ldar), R(2),
B(Star), R(11),
B(LdaZero),
B(TestEqualStrict), R(11),
B(JumpIfTrue), U8(9),
B(Ldar), R(0),
B(Star), R(11),
B(TestEqualStrict), R(2),
B(JumpIfTrue), U8(5),
B(LdaUndefined),
B(TestEqualStrict), R(11),
B(TestEqualStrict), R(0),
B(ToBooleanLogicalNot),
B(JumpIfFalseConstant), U8(11),
B(Ldar), R(0),
B(Star), R(11),
B(LdrNamedProperty), R(11), U8(8), U8(17), R(4),
B(Ldar), R(4),
B(Star), R(11),
B(JumpIfFalse), U8(121),
B(LdrNamedProperty), R(0), U8(8), U8(17), R(4),
B(LdaNull),
B(TestEqual), R(11),
B(TestEqual), R(4),
B(JumpIfFalse), U8(4),
B(Jump), U8(124),
B(Ldar), R(2),
B(Star), R(11),
B(Jump), U8(109),
B(LdaSmi), U8(1),
B(TestEqualStrict), R(11),
B(JumpIfFalse), U8(79),
B(TestEqualStrict), R(2),
B(JumpIfFalse), U8(76),
B(Ldar), R(4),
B(TypeOf),
B(Star), R(11),
......@@ -673,37 +547,29 @@ bytecodes: [
B(CallRuntime), U16(Runtime::kNewTypeError), R(11), U8(2),
B(Throw),
B(Mov), R(context), R(11),
B(Ldar), R(4),
B(Star), R(12),
B(Ldar), R(0),
B(Star), R(13),
B(Mov), R(4), R(12),
B(Mov), R(0), R(13),
B(CallRuntime), U16(Runtime::k_Call), R(12), U8(2),
B(Jump), U8(30),
B(Jump), U8(29),
B(Star), R(13),
B(LdaConstant), U8(7),
B(Star), R(12),
B(Ldar), R(closure),
B(Star), R(14),
B(Mov), R(closure), R(14),
B(CallRuntime), U16(Runtime::kPushCatchContext), R(12), U8(3),
B(Star), R(11),
B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R(0), U8(0),
B(Ldar), R(11),
B(PushContext), R(7),
B(PopContext), R(7),
B(Jump), U8(37),
B(Ldar), R(4),
B(Star), R(11),
B(Ldar), R(0),
B(Star), R(12),
B(Jump), U8(29),
B(Mov), R(4), R(11),
B(Mov), R(0), R(12),
B(CallRuntime), U16(Runtime::k_Call), R(11), U8(2),
B(Star), R(5),
B(Star), R(11),
B(InvokeIntrinsic), U16(Runtime::k_IsJSReceiver), R(11), U8(1),
B(InvokeIntrinsic), U16(Runtime::k_IsJSReceiver), R(5), U8(1),
B(JumpIfToBooleanFalse), U8(4),
B(Jump), U8(11),
B(Ldar), R(5),
B(Star), R(11),
B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(11), U8(1),
B(Jump), U8(7),
B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(5), U8(1),
B(CallRuntime), U16(Runtime::kInterpreterSetPendingMessage), R(10), U8(1),
B(LdaZero),
B(TestEqualStrict), R(8),
......@@ -731,11 +597,10 @@ constant pool: [
InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
kInstanceTypeDontCare,
]
handlers: [
[17, 169, 175],
[20, 123, 125],
[269, 282, 284],
[17, 137, 143],
[20, 96, 98],
[217, 228, 230],
]
......@@ -16,7 +16,7 @@ snippet: "
"
frame size: 11
parameter count: 1
bytecode array length: 199
bytecode array length: 200
bytecodes: [
B(Ldar), R(new_target),
B(JumpIfUndefined), U8(20),
......@@ -24,7 +24,7 @@ bytecodes: [
B(Star), R(1),
B(LdaZero),
B(TestEqualStrict), R(1),
B(JumpIfTrue), U8(55),
B(JumpIfTrue), U8(56),
B(LdaSmi), U8(76),
B(Star), R(2),
B(CallRuntime), U16(Runtime::kAbort), R(2), U8(1),
......@@ -34,9 +34,9 @@ bytecodes: [
B(StaContextSlot), R(context), U8(4),
/* 11 E> */ B(StackCheck),
B(Mov), R(context), R(4),
B(Ldar), R(closure),
B(Star), R(5),
B(LdrContextSlot), R(context), U8(4), R(6),
B(Ldar), R(6),
B(Mov), R(closure), R(5),
B(CallRuntime), U16(Runtime::kCreateJSGeneratorObject), R(5), U8(2),
B(StaContextSlot), R(context), U8(5),
B(Star), R(5),
......@@ -58,9 +58,9 @@ bytecodes: [
B(TestEqualStrict), R(8),
B(JumpIfTrue), U8(22),
B(Jump), U8(2),
B(Mov), R(7), R(9),
B(LdaTrue),
B(Star), R(10),
B(Mov), R(7), R(9),
B(CallRuntime), U16(Runtime::k_CreateIterResultObject), R(9), U8(2),
B(Star), R(3),
B(LdaZero),
......@@ -109,7 +109,7 @@ bytecodes: [
constant pool: [
]
handlers: [
[38, 136, 142],
[38, 137, 143],
]
---
......@@ -119,7 +119,7 @@ snippet: "
"
frame size: 11
parameter count: 1
bytecode array length: 292
bytecode array length: 293
bytecodes: [
B(Ldar), R(new_target),
B(JumpIfUndefined), U8(26),
......@@ -127,7 +127,7 @@ bytecodes: [
B(Star), R(1),
B(LdaZero),
B(TestEqualStrict), R(1),
B(JumpIfTrue), U8(61),
B(JumpIfTrue), U8(62),
B(LdaSmi), U8(1),
B(TestEqualStrict), R(1),
B(JumpIfTrueConstant), U8(0),
......@@ -140,9 +140,9 @@ bytecodes: [
B(StaContextSlot), R(context), U8(4),
/* 11 E> */ B(StackCheck),
B(Mov), R(context), R(4),
B(Ldar), R(closure),
B(Star), R(5),
B(LdrContextSlot), R(context), U8(4), R(6),
B(Ldar), R(6),
B(Mov), R(closure), R(5),
B(CallRuntime), U16(Runtime::kCreateJSGeneratorObject), R(5), U8(2),
B(StaContextSlot), R(context), U8(5),
B(Star), R(5),
......@@ -164,9 +164,9 @@ bytecodes: [
B(TestEqualStrict), R(8),
B(JumpIfTrue), U8(22),
B(Jump), U8(2),
B(Mov), R(7), R(9),
B(LdaTrue),
B(Star), R(10),
B(Mov), R(7), R(9),
B(CallRuntime), U16(Runtime::k_CreateIterResultObject), R(9), U8(2),
B(Star), R(3),
B(LdaZero),
......@@ -198,9 +198,9 @@ bytecodes: [
B(TestEqualStrict), R(8),
B(JumpIfTrue), U8(23),
B(Jump), U8(2),
B(Mov), R(6), R(9),
B(LdaTrue),
B(Star), R(10),
B(Mov), R(6), R(9),
B(CallRuntime), U16(Runtime::k_CreateIterResultObject), R(9), U8(2),
B(Star), R(3),
B(LdaSmi), U8(1),
......@@ -255,7 +255,7 @@ constant pool: [
kInstanceTypeDontCare,
]
handlers: [
[44, 220, 226],
[44, 221, 227],
]
---
......@@ -265,7 +265,7 @@ snippet: "
"
frame size: 17
parameter count: 1
bytecode array length: 784
bytecode array length: 779
bytecodes: [
B(Ldar), R(new_target),
B(JumpIfUndefined), U8(26),
......@@ -273,7 +273,7 @@ bytecodes: [
B(Star), R(3),
B(LdaZero),
B(TestEqualStrict), R(3),
B(JumpIfTrue), U8(61),
B(JumpIfTrue), U8(62),
B(LdaSmi), U8(1),
B(TestEqualStrict), R(3),
B(JumpIfTrueConstant), U8(3),
......@@ -286,9 +286,9 @@ bytecodes: [
B(StaContextSlot), R(context), U8(4),
/* 11 E> */ B(StackCheck),
B(Mov), R(context), R(6),
B(Ldar), R(closure),
B(Star), R(7),
B(LdrContextSlot), R(context), U8(4), R(8),
B(Ldar), R(8),
B(Mov), R(closure), R(7),
B(CallRuntime), U16(Runtime::kCreateJSGeneratorObject), R(7), U8(2),
B(StaContextSlot), R(context), U8(5),
B(Star), R(7),
......@@ -310,20 +310,19 @@ bytecodes: [
B(TestEqualStrict), R(10),
B(JumpIfTrue), U8(22),
B(Jump), U8(2),
B(Mov), R(9), R(11),
B(LdaTrue),
B(Star), R(12),
B(Mov), R(9), R(11),
B(CallRuntime), U16(Runtime::k_CreateIterResultObject), R(11), U8(2),
B(Star), R(5),
B(LdaZero),
B(Star), R(4),
B(JumpConstant), U8(17),
B(JumpConstant), U8(16),
B(Ldar), R(9),
B(Throw),
B(LdaConstant), U8(0),
B(Star), R(7),
B(Ldar), R(closure),
B(Star), R(8),
B(Mov), R(closure), R(8),
B(CallRuntime), U16(Runtime::kPushBlockContext), R(7), U8(2),
B(PushContext), R(1),
B(LdaTheHole),
......@@ -371,8 +370,7 @@ bytecodes: [
/* 16 E> */ B(StackCheck),
B(LdaConstant), U8(7),
B(Star), R(11),
B(Ldar), R(closure),
B(Star), R(12),
B(Mov), R(closure), R(12),
B(CallRuntime), U16(Runtime::kPushBlockContext), R(11), U8(2),
B(PushContext), R(2),
B(LdaTheHole),
......@@ -407,9 +405,9 @@ bytecodes: [
B(TestEqualStrict), R(14),
B(JumpIfTrue), U8(36),
B(Jump), U8(2),
B(Mov), R(12), R(15),
B(LdaTrue),
B(Star), R(16),
B(Mov), R(12), R(15),
B(CallRuntime), U16(Runtime::k_CreateIterResultObject), R(15), U8(2),
B(PopContext), R(2),
B(PopContext), R(2),
......@@ -421,20 +419,19 @@ bytecodes: [
B(Star), R(8),
B(LdaZero),
B(Star), R(7),
B(Jump), U8(76),
B(Jump), U8(75),
B(Ldar), R(12),
B(Throw),
B(Ldar), R(12),
B(PopContext), R(2),
B(LdaZero),
B(StaContextSlot), R(1), U8(9),
B(Wide), B(Jump), U16(-224),
B(Jump), U8(47),
B(Wide), B(Jump), U16(-223),
B(Jump), U8(46),
B(Star), R(12),
B(LdaConstant), U8(11),
B(Star), R(11),
B(Ldar), R(closure),
B(Star), R(13),
B(Mov), R(closure), R(13),
B(CallRuntime), U16(Runtime::kPushCatchContext), R(11), U8(3),
B(Star), R(10),
B(PushContext), R(2),
......@@ -463,7 +460,7 @@ bytecodes: [
B(LdaUndefined),
B(TestEqualStrict), R(10),
B(ToBooleanLogicalNot),
B(JumpIfFalseConstant), U8(16),
B(JumpIfFalseConstant), U8(15),
B(LdrContextSlot), R(1), U8(7), R(10),
B(LdaNamedProperty), R(10), U8(12), U8(13),
B(StaContextSlot), R(1), U8(11),
......@@ -471,11 +468,11 @@ bytecodes: [
B(LdaNull),
B(TestEqual), R(10),
B(JumpIfFalse), U8(4),
B(JumpConstant), U8(15),
B(Jump), U8(127),
B(LdrContextSlot), R(1), U8(9), R(10),
B(LdaSmi), U8(1),
B(TestEqualStrict), R(10),
B(JumpIfFalse), U8(80),
B(JumpIfFalse), U8(79),
B(LdaContextSlot), R(1), U8(11),
B(TypeOf),
B(Star), R(10),
......@@ -493,12 +490,11 @@ bytecodes: [
B(LdrContextSlot), R(1), U8(11), R(11),
B(LdrContextSlot), R(1), U8(7), R(12),
B(CallRuntime), U16(Runtime::k_Call), R(11), U8(2),
B(Jump), U8(30),
B(Jump), U8(29),
B(Star), R(12),
B(LdaConstant), U8(11),
B(Star), R(11),
B(Ldar), R(closure),
B(Star), R(13),
B(Mov), R(closure), R(13),
B(CallRuntime), U16(Runtime::kPushCatchContext), R(11), U8(3),
B(Star), R(10),
B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R(0), U8(0),
......@@ -522,21 +518,19 @@ bytecodes: [
B(JumpIfTrue), U8(10),
B(LdaSmi), U8(1),
B(TestEqualStrict), R(7),
B(JumpIfTrue), U8(18),
B(Jump), U8(30),
B(Ldar), R(8),
B(JumpIfTrue), U8(17),
B(Jump), U8(28),
B(PopContext), R(1),
B(PopContext), R(1),
B(Star), R(5),
B(LdaSmi), U8(1),
B(Star), R(4),
B(Jump), U8(48),
B(Ldar), R(8),
B(Mov), R(8), R(5),
B(Jump), U8(47),
B(PopContext), R(1),
B(PopContext), R(1),
B(Star), R(5),
B(LdaSmi), U8(2),
B(Star), R(4),
B(Mov), R(8), R(5),
B(Jump), U8(34),
B(PopContext), R(1),
B(LdrUndefined), R(7),
......@@ -605,12 +599,11 @@ constant pool: [
InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
kInstanceTypeDontCare,
kInstanceTypeDontCare,
kInstanceTypeDontCare,
]
handlers: [
[44, 703, 709],
[154, 451, 457],
[157, 404, 406],
[554, 567, 569],
[44, 698, 704],
[154, 449, 455],
[157, 403, 405],
[552, 565, 567],
]
......@@ -116,16 +116,15 @@ snippet: "
"
frame size: 2
parameter count: 1
bytecode array length: 24
bytecode array length: 23
bytecodes: [
/* 10 E> */ B(StackCheck),
/* 25 S> */ B(LdaSmi), U8(1),
B(Star), R(0),
/* 30 S> */ B(JumpIfToBooleanFalse), U8(14),
/* 43 S> */ B(Ldar), R(0),
B(Star), R(1),
B(LdaSmi), U8(1),
B(Add), R(1),
/* 30 S> */ B(JumpIfToBooleanFalse), U8(13),
/* 43 S> */ B(LdaSmi), U8(1),
B(Add), R(0),
B(Mov), R(0), R(1),
/* 45 E> */ B(Star), R(0),
B(Jump), U8(5),
/* 66 S> */ B(LdaSmi), U8(2),
......@@ -149,15 +148,13 @@ snippet: "
};
f(99);
"
frame size: 1
frame size: 0
parameter count: 2
bytecode array length: 22
bytecode array length: 18
bytecodes: [
/* 10 E> */ B(StackCheck),
/* 18 S> */ B(Ldar), R(arg0),
B(Star), R(0),
B(LdaZero),
/* 24 E> */ B(TestLessThanOrEqual), R(0),
/* 18 S> */ B(LdaZero),
/* 24 E> */ B(TestLessThanOrEqual), R(arg0),
B(JumpIfFalse), U8(7),
/* 36 S> */ B(Wide), B(LdaSmi), U16(200),
/* 80 S> */ B(Return),
......@@ -175,15 +172,14 @@ handlers: [
snippet: "
function f(a, b) { if (a in b) { return 200; } }f('prop', { prop: 'yes'});
"
frame size: 1
frame size: 0
parameter count: 3
bytecode array length: 18
bytecode array length: 15
bytecodes: [
/* 10 E> */ B(StackCheck),
/* 19 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 19 S> */ B(Nop),
/* 28 E> */ B(Ldar), R(arg1),
/* 25 E> */ B(TestIn), R(0),
/* 25 E> */ B(TestIn), R(arg0),
B(JumpIfFalse), U8(7),
/* 33 S> */ B(Wide), B(LdaSmi), U16(200),
/* 47 S> */ B(Return),
......@@ -264,276 +260,274 @@ snippet: "
b = a; a = b;
return 200; } else { return -200; } } f(0.001);
"
frame size: 3
frame size: 2
parameter count: 2
bytecode array length: 414
bytecode array length: 537
bytecodes: [
/* 10 E> */ B(StackCheck),
/* 24 S> */ B(LdaZero),
B(Star), R(0),
/* 35 S> */ B(LdaZero),
B(Star), R(1),
/* 38 S> */ B(Ldar), R(0),
B(Star), R(2),
B(LdaConstant), U8(0),
/* 44 E> */ B(TestEqualStrict), R(2),
/* 38 S> */ B(LdaConstant), U8(0),
/* 44 E> */ B(TestEqualStrict), R(0),
B(JumpIfFalseConstant), U8(1),
/* 58 S> */ B(Ldar), R(0),
B(Star), R(1),
/* 58 S> */ B(Nop),
B(Mov), R(0), R(1),
/* 65 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 74 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 81 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 90 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 97 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 106 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 113 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 122 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 129 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 138 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 145 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 154 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 161 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 170 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 177 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 186 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 193 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 202 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 209 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 218 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 225 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 234 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 241 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 250 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 257 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 266 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 273 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 282 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 289 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 298 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 305 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 314 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 321 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 330 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 337 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 346 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 353 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 362 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 369 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 378 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 385 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 394 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 401 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 410 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 417 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 426 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 433 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 442 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 449 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 458 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 465 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 474 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 481 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 490 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 497 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 506 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 513 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 522 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 529 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 538 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 545 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 554 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 561 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 570 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 577 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 586 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 593 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 602 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 609 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 618 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 625 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 634 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 641 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 650 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 657 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 666 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 673 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 682 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 689 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 698 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 705 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 714 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 721 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 730 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 737 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 746 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 753 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 762 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 769 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 778 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 785 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 794 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 801 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 810 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 817 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 826 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 833 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 842 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 849 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 858 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 865 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 874 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 881 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 890 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 897 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 906 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 913 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 922 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 929 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 938 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 945 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 954 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 961 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 970 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 977 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 986 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 993 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 1002 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 1009 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 1018 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 1025 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 1034 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 1041 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 1050 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 1057 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 1066 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 1073 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 1081 S> */ B(Wide), B(LdaSmi), U16(200),
/* 1117 S> */ B(Return),
/* 1102 S> */ B(Wide), B(LdaSmi), U16(-200),
......@@ -623,7 +617,7 @@ snippet: "
"
frame size: 2
parameter count: 1
bytecode array length: 408
bytecode array length: 535
bytecodes: [
/* 10 E> */ B(StackCheck),
/* 25 S> */ B(LdaZero),
......@@ -632,262 +626,262 @@ bytecodes: [
B(Star), R(1),
/* 41 S> */ B(Ldar), R(0),
B(JumpIfToBooleanFalseConstant), U8(0),
/* 52 S> */ B(Ldar), R(0),
B(Star), R(1),
/* 52 S> */ B(Nop),
B(Mov), R(0), R(1),
/* 59 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 68 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 75 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 84 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 91 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 100 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 107 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 116 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 123 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 132 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 139 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 148 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 155 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 164 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 171 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 180 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 187 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 196 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 203 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 212 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 219 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 228 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 235 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 244 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 251 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 260 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 267 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 276 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 283 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 292 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 299 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 308 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 315 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 324 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 331 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 340 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 347 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 356 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 363 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 372 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 379 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 388 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 395 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 404 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 411 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 420 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 427 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 436 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 443 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 452 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 459 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 468 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 475 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 484 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 491 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 500 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 507 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 516 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 523 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 532 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 539 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 548 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 555 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 564 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 571 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 580 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 587 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 596 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 603 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 612 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 619 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 628 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 635 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 644 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 651 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 660 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 667 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 676 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 683 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 692 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 699 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 708 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 715 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 724 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 731 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 740 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 747 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 756 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 763 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 772 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 779 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 788 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 795 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 804 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 811 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 820 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 827 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 836 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 843 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 852 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 859 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 868 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 875 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 884 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 891 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 900 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 907 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 916 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 923 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 932 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 939 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 948 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 955 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 964 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 971 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 980 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 987 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 996 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 1003 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 1012 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 1019 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 1028 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 1035 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 1044 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 1051 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 1060 S> */ B(Nop),
B(Star), R(1),
B(Mov), R(0), R(1),
/* 1067 S> */ B(Nop),
B(Star), R(0),
B(Mov), R(1), R(0),
/* 1076 S> */ B(Wide), B(LdaSmi), U16(200),
/* 1112 S> */ B(Return),
/* 1097 S> */ B(Wide), B(LdaSmi), U16(-200),
......@@ -916,64 +910,56 @@ snippet: "
}
f(1, 1);
"
frame size: 1
frame size: 0
parameter count: 3
bytecode array length: 107
bytecode array length: 83
bytecodes: [
/* 10 E> */ B(StackCheck),
/* 21 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 21 S> */ B(Nop),
/* 30 E> */ B(Ldar), R(arg1),
/* 27 E> */ B(TestEqual), R(0),
/* 27 E> */ B(TestEqual), R(arg0),
B(JumpIfFalse), U8(5),
/* 35 S> */ B(LdaSmi), U8(1),
/* 262 S> */ B(Return),
/* 49 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 49 S> */ B(Nop),
/* 59 E> */ B(Ldar), R(arg1),
/* 55 E> */ B(TestEqualStrict), R(0),
/* 55 E> */ B(TestEqualStrict), R(arg0),
B(JumpIfFalse), U8(5),
/* 64 S> */ B(LdaSmi), U8(1),
/* 262 S> */ B(Return),
/* 78 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 78 S> */ B(Nop),
/* 86 E> */ B(Ldar), R(arg1),
/* 84 E> */ B(TestLessThan), R(0),
/* 84 E> */ B(TestLessThan), R(arg0),
B(JumpIfFalse), U8(5),
/* 91 S> */ B(LdaSmi), U8(1),
/* 262 S> */ B(Return),
/* 105 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 105 S> */ B(Nop),
/* 113 E> */ B(Ldar), R(arg1),
/* 111 E> */ B(TestGreaterThan), R(0),
/* 111 E> */ B(TestGreaterThan), R(arg0),
B(JumpIfFalse), U8(5),
/* 118 S> */ B(LdaSmi), U8(1),
/* 262 S> */ B(Return),
/* 132 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 132 S> */ B(Nop),
/* 141 E> */ B(Ldar), R(arg1),
/* 138 E> */ B(TestLessThanOrEqual), R(0),
/* 138 E> */ B(TestLessThanOrEqual), R(arg0),
B(JumpIfFalse), U8(5),
/* 146 S> */ B(LdaSmi), U8(1),
/* 262 S> */ B(Return),
/* 160 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 160 S> */ B(Nop),
/* 169 E> */ B(Ldar), R(arg1),
/* 166 E> */ B(TestGreaterThanOrEqual), R(0),
/* 166 E> */ B(TestGreaterThanOrEqual), R(arg0),
B(JumpIfFalse), U8(5),
/* 174 S> */ B(LdaSmi), U8(1),
/* 262 S> */ B(Return),
/* 188 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 188 S> */ B(Nop),
/* 197 E> */ B(Ldar), R(arg1),
/* 194 E> */ B(TestIn), R(0),
/* 194 E> */ B(TestIn), R(arg0),
B(JumpIfFalse), U8(5),
/* 202 S> */ B(LdaSmi), U8(1),
/* 262 S> */ B(Return),
/* 216 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 216 S> */ B(Nop),
/* 233 E> */ B(Ldar), R(arg1),
/* 222 E> */ B(TestInstanceOf), R(0),
/* 222 E> */ B(TestInstanceOf), R(arg0),
B(JumpIfFalse), U8(5),
/* 238 S> */ B(LdaSmi), U8(1),
/* 262 S> */ B(Return),
......
......@@ -329,7 +329,7 @@ snippet: "
"
frame size: 3
parameter count: 1
bytecode array length: 1422
bytecode array length: 1410
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaConstant), U8(0),
......@@ -958,22 +958,16 @@ bytecodes: [
B(Star), R(0),
/* 4103 S> */ B(LdaZero),
/* 4103 E> */ B(Star), R(1),
/* 4108 S> */ B(Ldar), R(1),
B(Star), R(2),
B(LdaSmi), U8(3),
/* 4108 E> */ B(TestLessThan), R(2),
B(Wide), B(JumpIfFalse), U16(46),
/* 4108 S> */ B(LdaSmi), U8(3),
/* 4108 E> */ B(TestLessThan), R(1),
B(Wide), B(JumpIfFalse), U16(38),
/* 4090 E> */ B(StackCheck),
/* 4122 S> */ B(Ldar), R(1),
B(Star), R(2),
B(LdaSmi), U8(1),
/* 4128 E> */ B(TestEqual), R(2),
/* 4122 S> */ B(LdaSmi), U8(1),
/* 4128 E> */ B(TestEqual), R(1),
B(Wide), B(JumpIfFalse), U16(7),
/* 4134 S> */ B(Wide), B(Jump), U16(19),
/* 4146 S> */ B(Ldar), R(1),
B(Star), R(2),
B(LdaSmi), U8(2),
/* 4152 E> */ B(TestEqual), R(2),
/* 4134 S> */ B(Wide), B(Jump), U16(15),
/* 4146 S> */ B(LdaSmi), U8(2),
/* 4152 E> */ B(TestEqual), R(1),
B(Wide), B(JumpIfFalse), U16(7),
/* 4158 S> */ B(Wide), B(Jump), U16(13),
/* 4114 S> */ B(Ldar), R(1),
......@@ -981,7 +975,7 @@ bytecodes: [
B(Star), R(2),
B(Inc),
/* 4114 E> */ B(Star), R(1),
B(Jump), U8(-53),
B(Jump), U8(-41),
/* 4167 S> */ B(LdaSmi), U8(3),
/* 4177 S> */ B(Return),
]
......
......@@ -59,7 +59,7 @@ snippet: "
"
frame size: 3
parameter count: 1
bytecode array length: 27
bytecode array length: 28
bytecodes: [
B(LdaTheHole),
B(Star), R(0),
......@@ -71,8 +71,8 @@ bytecodes: [
B(LdaConstant), U8(0),
B(Star), R(2),
B(CallRuntime), U16(Runtime::kThrowReferenceError), R(2), U8(1),
B(Ldar), R(1),
B(Star), R(0),
B(Mov), R(1), R(0),
B(Ldar), R(0),
B(LdaUndefined),
/* 52 S> */ B(Return),
]
......@@ -88,7 +88,7 @@ snippet: "
"
frame size: 3
parameter count: 1
bytecode array length: 31
bytecode array length: 30
bytecodes: [
B(LdaTheHole),
B(Star), R(0),
......@@ -102,8 +102,7 @@ bytecodes: [
B(LdaConstant), U8(0),
B(Star), R(2),
B(CallRuntime), U16(Runtime::kThrowReferenceError), R(2), U8(1),
B(Ldar), R(1),
B(Star), R(0),
B(Mov), R(1), R(0),
B(LdaUndefined),
/* 54 S> */ B(Return),
]
......
......@@ -204,395 +204,267 @@ snippet: "
}
f({name: 1});
"
frame size: 1
frame size: 0
parameter count: 2
bytecode array length: 1032
bytecode array length: 648
bytecodes: [
/* 17 E> */ B(StackCheck),
/* 25 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 26 E> */ B(LdaNamedProperty), R(0), U8(0), U8(1),
/* 35 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 36 E> */ B(LdaNamedProperty), R(0), U8(0), U8(3),
/* 45 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 46 E> */ B(LdaNamedProperty), R(0), U8(0), U8(5),
/* 55 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 56 E> */ B(LdaNamedProperty), R(0), U8(0), U8(7),
/* 65 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 66 E> */ B(LdaNamedProperty), R(0), U8(0), U8(9),
/* 75 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 76 E> */ B(LdaNamedProperty), R(0), U8(0), U8(11),
/* 85 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 86 E> */ B(LdaNamedProperty), R(0), U8(0), U8(13),
/* 95 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 96 E> */ B(LdaNamedProperty), R(0), U8(0), U8(15),
/* 105 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 106 E> */ B(LdaNamedProperty), R(0), U8(0), U8(17),
/* 115 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 116 E> */ B(LdaNamedProperty), R(0), U8(0), U8(19),
/* 125 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 126 E> */ B(LdaNamedProperty), R(0), U8(0), U8(21),
/* 135 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 136 E> */ B(LdaNamedProperty), R(0), U8(0), U8(23),
/* 145 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 146 E> */ B(LdaNamedProperty), R(0), U8(0), U8(25),
/* 155 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 156 E> */ B(LdaNamedProperty), R(0), U8(0), U8(27),
/* 165 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 166 E> */ B(LdaNamedProperty), R(0), U8(0), U8(29),
/* 175 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 176 E> */ B(LdaNamedProperty), R(0), U8(0), U8(31),
/* 185 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 186 E> */ B(LdaNamedProperty), R(0), U8(0), U8(33),
/* 195 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 196 E> */ B(LdaNamedProperty), R(0), U8(0), U8(35),
/* 205 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 206 E> */ B(LdaNamedProperty), R(0), U8(0), U8(37),
/* 215 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 216 E> */ B(LdaNamedProperty), R(0), U8(0), U8(39),
/* 225 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 226 E> */ B(LdaNamedProperty), R(0), U8(0), U8(41),
/* 235 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 236 E> */ B(LdaNamedProperty), R(0), U8(0), U8(43),
/* 245 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 246 E> */ B(LdaNamedProperty), R(0), U8(0), U8(45),
/* 255 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 256 E> */ B(LdaNamedProperty), R(0), U8(0), U8(47),
/* 265 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 266 E> */ B(LdaNamedProperty), R(0), U8(0), U8(49),
/* 275 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 276 E> */ B(LdaNamedProperty), R(0), U8(0), U8(51),
/* 285 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 286 E> */ B(LdaNamedProperty), R(0), U8(0), U8(53),
/* 295 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 296 E> */ B(LdaNamedProperty), R(0), U8(0), U8(55),
/* 305 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 306 E> */ B(LdaNamedProperty), R(0), U8(0), U8(57),
/* 315 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 316 E> */ B(LdaNamedProperty), R(0), U8(0), U8(59),
/* 325 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 326 E> */ B(LdaNamedProperty), R(0), U8(0), U8(61),
/* 335 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 336 E> */ B(LdaNamedProperty), R(0), U8(0), U8(63),
/* 345 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 346 E> */ B(LdaNamedProperty), R(0), U8(0), U8(65),
/* 355 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 356 E> */ B(LdaNamedProperty), R(0), U8(0), U8(67),
/* 365 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 366 E> */ B(LdaNamedProperty), R(0), U8(0), U8(69),
/* 375 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 376 E> */ B(LdaNamedProperty), R(0), U8(0), U8(71),
/* 385 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 386 E> */ B(LdaNamedProperty), R(0), U8(0), U8(73),
/* 395 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 396 E> */ B(LdaNamedProperty), R(0), U8(0), U8(75),
/* 405 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 406 E> */ B(LdaNamedProperty), R(0), U8(0), U8(77),
/* 415 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 416 E> */ B(LdaNamedProperty), R(0), U8(0), U8(79),
/* 425 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 426 E> */ B(LdaNamedProperty), R(0), U8(0), U8(81),
/* 435 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 436 E> */ B(LdaNamedProperty), R(0), U8(0), U8(83),
/* 445 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 446 E> */ B(LdaNamedProperty), R(0), U8(0), U8(85),
/* 455 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 456 E> */ B(LdaNamedProperty), R(0), U8(0), U8(87),
/* 465 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 466 E> */ B(LdaNamedProperty), R(0), U8(0), U8(89),
/* 475 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 476 E> */ B(LdaNamedProperty), R(0), U8(0), U8(91),
/* 485 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 486 E> */ B(LdaNamedProperty), R(0), U8(0), U8(93),
/* 495 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 496 E> */ B(LdaNamedProperty), R(0), U8(0), U8(95),
/* 505 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 506 E> */ B(LdaNamedProperty), R(0), U8(0), U8(97),
/* 515 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 516 E> */ B(LdaNamedProperty), R(0), U8(0), U8(99),
/* 525 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 526 E> */ B(LdaNamedProperty), R(0), U8(0), U8(101),
/* 535 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 536 E> */ B(LdaNamedProperty), R(0), U8(0), U8(103),
/* 545 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 546 E> */ B(LdaNamedProperty), R(0), U8(0), U8(105),
/* 555 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 556 E> */ B(LdaNamedProperty), R(0), U8(0), U8(107),
/* 565 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 566 E> */ B(LdaNamedProperty), R(0), U8(0), U8(109),
/* 575 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 576 E> */ B(LdaNamedProperty), R(0), U8(0), U8(111),
/* 585 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 586 E> */ B(LdaNamedProperty), R(0), U8(0), U8(113),
/* 595 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 596 E> */ B(LdaNamedProperty), R(0), U8(0), U8(115),
/* 605 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 606 E> */ B(LdaNamedProperty), R(0), U8(0), U8(117),
/* 615 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 616 E> */ B(LdaNamedProperty), R(0), U8(0), U8(119),
/* 625 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 626 E> */ B(LdaNamedProperty), R(0), U8(0), U8(121),
/* 635 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 636 E> */ B(LdaNamedProperty), R(0), U8(0), U8(123),
/* 645 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 646 E> */ B(LdaNamedProperty), R(0), U8(0), U8(125),
/* 655 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 656 E> */ B(LdaNamedProperty), R(0), U8(0), U8(127),
/* 665 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 666 E> */ B(LdaNamedProperty), R(0), U8(0), U8(129),
/* 675 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 676 E> */ B(LdaNamedProperty), R(0), U8(0), U8(131),
/* 685 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 686 E> */ B(LdaNamedProperty), R(0), U8(0), U8(133),
/* 695 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 696 E> */ B(LdaNamedProperty), R(0), U8(0), U8(135),
/* 705 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 706 E> */ B(LdaNamedProperty), R(0), U8(0), U8(137),
/* 715 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 716 E> */ B(LdaNamedProperty), R(0), U8(0), U8(139),
/* 725 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 726 E> */ B(LdaNamedProperty), R(0), U8(0), U8(141),
/* 735 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 736 E> */ B(LdaNamedProperty), R(0), U8(0), U8(143),
/* 745 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 746 E> */ B(LdaNamedProperty), R(0), U8(0), U8(145),
/* 755 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 756 E> */ B(LdaNamedProperty), R(0), U8(0), U8(147),
/* 765 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 766 E> */ B(LdaNamedProperty), R(0), U8(0), U8(149),
/* 775 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 776 E> */ B(LdaNamedProperty), R(0), U8(0), U8(151),
/* 785 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 786 E> */ B(LdaNamedProperty), R(0), U8(0), U8(153),
/* 795 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 796 E> */ B(LdaNamedProperty), R(0), U8(0), U8(155),
/* 805 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 806 E> */ B(LdaNamedProperty), R(0), U8(0), U8(157),
/* 815 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 816 E> */ B(LdaNamedProperty), R(0), U8(0), U8(159),
/* 825 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 826 E> */ B(LdaNamedProperty), R(0), U8(0), U8(161),
/* 835 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 836 E> */ B(LdaNamedProperty), R(0), U8(0), U8(163),
/* 845 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 846 E> */ B(LdaNamedProperty), R(0), U8(0), U8(165),
/* 855 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 856 E> */ B(LdaNamedProperty), R(0), U8(0), U8(167),
/* 865 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 866 E> */ B(LdaNamedProperty), R(0), U8(0), U8(169),
/* 875 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 876 E> */ B(LdaNamedProperty), R(0), U8(0), U8(171),
/* 885 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 886 E> */ B(LdaNamedProperty), R(0), U8(0), U8(173),
/* 895 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 896 E> */ B(LdaNamedProperty), R(0), U8(0), U8(175),
/* 905 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 906 E> */ B(LdaNamedProperty), R(0), U8(0), U8(177),
/* 915 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 916 E> */ B(LdaNamedProperty), R(0), U8(0), U8(179),
/* 925 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 926 E> */ B(LdaNamedProperty), R(0), U8(0), U8(181),
/* 935 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 936 E> */ B(LdaNamedProperty), R(0), U8(0), U8(183),
/* 945 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 946 E> */ B(LdaNamedProperty), R(0), U8(0), U8(185),
/* 955 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 956 E> */ B(LdaNamedProperty), R(0), U8(0), U8(187),
/* 965 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 966 E> */ B(LdaNamedProperty), R(0), U8(0), U8(189),
/* 975 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 976 E> */ B(LdaNamedProperty), R(0), U8(0), U8(191),
/* 985 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 986 E> */ B(LdaNamedProperty), R(0), U8(0), U8(193),
/* 995 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 996 E> */ B(LdaNamedProperty), R(0), U8(0), U8(195),
/* 1005 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1006 E> */ B(LdaNamedProperty), R(0), U8(0), U8(197),
/* 1015 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1016 E> */ B(LdaNamedProperty), R(0), U8(0), U8(199),
/* 1025 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1026 E> */ B(LdaNamedProperty), R(0), U8(0), U8(201),
/* 1035 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1036 E> */ B(LdaNamedProperty), R(0), U8(0), U8(203),
/* 1045 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1046 E> */ B(LdaNamedProperty), R(0), U8(0), U8(205),
/* 1055 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1056 E> */ B(LdaNamedProperty), R(0), U8(0), U8(207),
/* 1065 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1066 E> */ B(LdaNamedProperty), R(0), U8(0), U8(209),
/* 1075 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1076 E> */ B(LdaNamedProperty), R(0), U8(0), U8(211),
/* 1085 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1086 E> */ B(LdaNamedProperty), R(0), U8(0), U8(213),
/* 1095 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1096 E> */ B(LdaNamedProperty), R(0), U8(0), U8(215),
/* 1105 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1106 E> */ B(LdaNamedProperty), R(0), U8(0), U8(217),
/* 1115 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1116 E> */ B(LdaNamedProperty), R(0), U8(0), U8(219),
/* 1125 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1126 E> */ B(LdaNamedProperty), R(0), U8(0), U8(221),
/* 1135 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1136 E> */ B(LdaNamedProperty), R(0), U8(0), U8(223),
/* 1145 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1146 E> */ B(LdaNamedProperty), R(0), U8(0), U8(225),
/* 1155 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1156 E> */ B(LdaNamedProperty), R(0), U8(0), U8(227),
/* 1165 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1166 E> */ B(LdaNamedProperty), R(0), U8(0), U8(229),
/* 1175 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1176 E> */ B(LdaNamedProperty), R(0), U8(0), U8(231),
/* 1185 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1186 E> */ B(LdaNamedProperty), R(0), U8(0), U8(233),
/* 1195 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1196 E> */ B(LdaNamedProperty), R(0), U8(0), U8(235),
/* 1205 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1206 E> */ B(LdaNamedProperty), R(0), U8(0), U8(237),
/* 1215 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1216 E> */ B(LdaNamedProperty), R(0), U8(0), U8(239),
/* 1225 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1226 E> */ B(LdaNamedProperty), R(0), U8(0), U8(241),
/* 1235 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1236 E> */ B(LdaNamedProperty), R(0), U8(0), U8(243),
/* 1245 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1246 E> */ B(LdaNamedProperty), R(0), U8(0), U8(245),
/* 1255 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1256 E> */ B(LdaNamedProperty), R(0), U8(0), U8(247),
/* 1265 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1266 E> */ B(LdaNamedProperty), R(0), U8(0), U8(249),
/* 1275 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1276 E> */ B(LdaNamedProperty), R(0), U8(0), U8(251),
/* 1285 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1286 E> */ B(LdaNamedProperty), R(0), U8(0), U8(253),
/* 1295 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1296 E> */ B(LdaNamedProperty), R(0), U8(0), U8(255),
/* 25 S> */ B(Nop),
/* 26 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(1),
/* 35 S> */ B(Nop),
/* 36 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(3),
/* 45 S> */ B(Nop),
/* 46 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(5),
/* 55 S> */ B(Nop),
/* 56 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(7),
/* 65 S> */ B(Nop),
/* 66 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(9),
/* 75 S> */ B(Nop),
/* 76 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(11),
/* 85 S> */ B(Nop),
/* 86 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(13),
/* 95 S> */ B(Nop),
/* 96 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(15),
/* 105 S> */ B(Nop),
/* 106 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(17),
/* 115 S> */ B(Nop),
/* 116 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(19),
/* 125 S> */ B(Nop),
/* 126 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(21),
/* 135 S> */ B(Nop),
/* 136 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(23),
/* 145 S> */ B(Nop),
/* 146 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(25),
/* 155 S> */ B(Nop),
/* 156 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(27),
/* 165 S> */ B(Nop),
/* 166 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(29),
/* 175 S> */ B(Nop),
/* 176 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(31),
/* 185 S> */ B(Nop),
/* 186 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(33),
/* 195 S> */ B(Nop),
/* 196 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(35),
/* 205 S> */ B(Nop),
/* 206 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(37),
/* 215 S> */ B(Nop),
/* 216 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(39),
/* 225 S> */ B(Nop),
/* 226 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(41),
/* 235 S> */ B(Nop),
/* 236 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(43),
/* 245 S> */ B(Nop),
/* 246 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(45),
/* 255 S> */ B(Nop),
/* 256 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(47),
/* 265 S> */ B(Nop),
/* 266 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(49),
/* 275 S> */ B(Nop),
/* 276 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(51),
/* 285 S> */ B(Nop),
/* 286 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(53),
/* 295 S> */ B(Nop),
/* 296 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(55),
/* 305 S> */ B(Nop),
/* 306 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(57),
/* 315 S> */ B(Nop),
/* 316 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(59),
/* 325 S> */ B(Nop),
/* 326 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(61),
/* 335 S> */ B(Nop),
/* 336 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(63),
/* 345 S> */ B(Nop),
/* 346 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(65),
/* 355 S> */ B(Nop),
/* 356 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(67),
/* 365 S> */ B(Nop),
/* 366 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(69),
/* 375 S> */ B(Nop),
/* 376 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(71),
/* 385 S> */ B(Nop),
/* 386 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(73),
/* 395 S> */ B(Nop),
/* 396 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(75),
/* 405 S> */ B(Nop),
/* 406 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(77),
/* 415 S> */ B(Nop),
/* 416 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(79),
/* 425 S> */ B(Nop),
/* 426 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(81),
/* 435 S> */ B(Nop),
/* 436 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(83),
/* 445 S> */ B(Nop),
/* 446 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(85),
/* 455 S> */ B(Nop),
/* 456 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(87),
/* 465 S> */ B(Nop),
/* 466 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(89),
/* 475 S> */ B(Nop),
/* 476 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(91),
/* 485 S> */ B(Nop),
/* 486 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(93),
/* 495 S> */ B(Nop),
/* 496 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(95),
/* 505 S> */ B(Nop),
/* 506 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(97),
/* 515 S> */ B(Nop),
/* 516 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(99),
/* 525 S> */ B(Nop),
/* 526 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(101),
/* 535 S> */ B(Nop),
/* 536 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(103),
/* 545 S> */ B(Nop),
/* 546 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(105),
/* 555 S> */ B(Nop),
/* 556 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(107),
/* 565 S> */ B(Nop),
/* 566 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(109),
/* 575 S> */ B(Nop),
/* 576 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(111),
/* 585 S> */ B(Nop),
/* 586 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(113),
/* 595 S> */ B(Nop),
/* 596 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(115),
/* 605 S> */ B(Nop),
/* 606 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(117),
/* 615 S> */ B(Nop),
/* 616 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(119),
/* 625 S> */ B(Nop),
/* 626 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(121),
/* 635 S> */ B(Nop),
/* 636 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(123),
/* 645 S> */ B(Nop),
/* 646 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(125),
/* 655 S> */ B(Nop),
/* 656 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(127),
/* 665 S> */ B(Nop),
/* 666 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(129),
/* 675 S> */ B(Nop),
/* 676 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(131),
/* 685 S> */ B(Nop),
/* 686 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(133),
/* 695 S> */ B(Nop),
/* 696 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(135),
/* 705 S> */ B(Nop),
/* 706 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(137),
/* 715 S> */ B(Nop),
/* 716 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(139),
/* 725 S> */ B(Nop),
/* 726 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(141),
/* 735 S> */ B(Nop),
/* 736 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(143),
/* 745 S> */ B(Nop),
/* 746 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(145),
/* 755 S> */ B(Nop),
/* 756 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(147),
/* 765 S> */ B(Nop),
/* 766 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(149),
/* 775 S> */ B(Nop),
/* 776 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(151),
/* 785 S> */ B(Nop),
/* 786 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(153),
/* 795 S> */ B(Nop),
/* 796 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(155),
/* 805 S> */ B(Nop),
/* 806 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(157),
/* 815 S> */ B(Nop),
/* 816 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(159),
/* 825 S> */ B(Nop),
/* 826 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(161),
/* 835 S> */ B(Nop),
/* 836 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(163),
/* 845 S> */ B(Nop),
/* 846 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(165),
/* 855 S> */ B(Nop),
/* 856 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(167),
/* 865 S> */ B(Nop),
/* 866 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(169),
/* 875 S> */ B(Nop),
/* 876 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(171),
/* 885 S> */ B(Nop),
/* 886 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(173),
/* 895 S> */ B(Nop),
/* 896 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(175),
/* 905 S> */ B(Nop),
/* 906 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(177),
/* 915 S> */ B(Nop),
/* 916 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(179),
/* 925 S> */ B(Nop),
/* 926 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(181),
/* 935 S> */ B(Nop),
/* 936 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(183),
/* 945 S> */ B(Nop),
/* 946 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(185),
/* 955 S> */ B(Nop),
/* 956 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(187),
/* 965 S> */ B(Nop),
/* 966 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(189),
/* 975 S> */ B(Nop),
/* 976 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(191),
/* 985 S> */ B(Nop),
/* 986 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(193),
/* 995 S> */ B(Nop),
/* 996 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(195),
/* 1005 S> */ B(Nop),
/* 1006 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(197),
/* 1015 S> */ B(Nop),
/* 1016 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(199),
/* 1025 S> */ B(Nop),
/* 1026 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(201),
/* 1035 S> */ B(Nop),
/* 1036 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(203),
/* 1045 S> */ B(Nop),
/* 1046 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(205),
/* 1055 S> */ B(Nop),
/* 1056 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(207),
/* 1065 S> */ B(Nop),
/* 1066 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(209),
/* 1075 S> */ B(Nop),
/* 1076 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(211),
/* 1085 S> */ B(Nop),
/* 1086 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(213),
/* 1095 S> */ B(Nop),
/* 1096 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(215),
/* 1105 S> */ B(Nop),
/* 1106 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(217),
/* 1115 S> */ B(Nop),
/* 1116 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(219),
/* 1125 S> */ B(Nop),
/* 1126 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(221),
/* 1135 S> */ B(Nop),
/* 1136 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(223),
/* 1145 S> */ B(Nop),
/* 1146 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(225),
/* 1155 S> */ B(Nop),
/* 1156 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(227),
/* 1165 S> */ B(Nop),
/* 1166 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(229),
/* 1175 S> */ B(Nop),
/* 1176 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(231),
/* 1185 S> */ B(Nop),
/* 1186 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(233),
/* 1195 S> */ B(Nop),
/* 1196 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(235),
/* 1205 S> */ B(Nop),
/* 1206 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(237),
/* 1215 S> */ B(Nop),
/* 1216 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(239),
/* 1225 S> */ B(Nop),
/* 1226 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(241),
/* 1235 S> */ B(Nop),
/* 1236 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(243),
/* 1245 S> */ B(Nop),
/* 1246 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(245),
/* 1255 S> */ B(Nop),
/* 1256 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(247),
/* 1265 S> */ B(Nop),
/* 1266 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(249),
/* 1275 S> */ B(Nop),
/* 1276 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(251),
/* 1285 S> */ B(Nop),
/* 1286 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(253),
/* 1295 S> */ B(Nop),
/* 1296 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(255),
/* 1305 S> */ B(Wide), B(LdaGlobal), U16(1), U16(257),
/* 1315 S> */ B(Return),
]
......
......@@ -31,16 +31,15 @@ handlers: [
snippet: "
var x = 0; return (x == 1) || 3;
"
frame size: 2
frame size: 1
parameter count: 1
bytecode array length: 15
bytecode array length: 13
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaZero),
B(Star), R(0),
/* 45 S> */ B(Star), R(1),
B(LdaSmi), U8(1),
/* 55 E> */ B(TestEqual), R(1),
/* 45 S> */ B(LdaSmi), U8(1),
/* 55 E> */ B(TestEqual), R(0),
B(JumpIfTrue), U8(4),
B(LdaSmi), U8(3),
/* 67 S> */ B(Return),
......@@ -74,16 +73,15 @@ handlers: [
snippet: "
var x = 0; return (x == 0) && 3;
"
frame size: 2
frame size: 1
parameter count: 1
bytecode array length: 14
bytecode array length: 12
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaZero),
B(Star), R(0),
/* 45 S> */ B(Star), R(1),
B(LdaZero),
/* 55 E> */ B(TestEqual), R(1),
/* 45 S> */ B(LdaZero),
/* 55 E> */ B(TestEqual), R(0),
B(JumpIfFalse), U8(4),
B(LdaSmi), U8(3),
/* 67 S> */ B(Return),
......@@ -119,7 +117,7 @@ snippet: "
"
frame size: 3
parameter count: 1
bytecode array length: 30
bytecode array length: 27
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), U8(2),
......@@ -129,10 +127,10 @@ bytecodes: [
/* 56 S> */ B(LdaSmi), U8(4),
B(Star), R(2),
/* 59 S> */ B(Ldar), R(0),
B(JumpIfToBooleanTrue), U8(14),
/* 72 E> */ B(Ldar), R(0),
/* 75 E> */ B(Ldar), R(1),
/* 78 E> */ B(Ldar), R(0),
B(JumpIfToBooleanTrue), U8(11),
/* 72 E> */ B(Nop),
/* 75 E> */ B(Nop),
/* 78 E> */ B(Nop),
/* 81 E> */ B(LdaSmi), U8(5),
/* 86 E> */ B(Star), R(2),
B(LdaSmi), U8(3),
......@@ -551,9 +549,9 @@ snippet: "
a = 1, b = 2,
a = 1, b = 2, 3);
"
frame size: 4
frame size: 3
parameter count: 1
bytecode array length: 282
bytecode array length: 278
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), U8(1),
......@@ -562,10 +560,8 @@ bytecodes: [
B(Star), R(1),
/* 60 S> */ B(LdaSmi), U8(3),
B(Star), R(2),
/* 63 S> */ B(Ldar), R(0),
B(Star), R(3),
B(LdaSmi), U8(3),
/* 73 E> */ B(TestGreaterThan), R(3),
/* 63 S> */ B(LdaSmi), U8(3),
/* 73 E> */ B(TestGreaterThan), R(0),
B(JumpIfTrueConstant), U8(0),
B(LdaSmi), U8(1),
/* 87 E> */ B(Star), R(1),
......@@ -740,9 +736,9 @@ snippet: "
a = 1, b = 2,
a = 1, b = 2, 3);
"
frame size: 4
frame size: 3
parameter count: 1
bytecode array length: 281
bytecode array length: 277
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaZero),
......@@ -751,10 +747,8 @@ bytecodes: [
B(Star), R(1),
/* 60 S> */ B(LdaSmi), U8(3),
B(Star), R(2),
/* 63 S> */ B(Ldar), R(0),
B(Star), R(3),
B(LdaSmi), U8(5),
/* 73 E> */ B(TestLessThan), R(3),
/* 63 S> */ B(LdaSmi), U8(5),
/* 73 E> */ B(TestLessThan), R(0),
B(JumpIfFalseConstant), U8(0),
B(LdaSmi), U8(1),
/* 87 E> */ B(Star), R(1),
......
......@@ -29,15 +29,15 @@ bytecodes: [
B(CallRuntimeForPair), U16(Runtime::kLoadLookupSlotForCall), R(3), U8(1), R(1),
B(LdaConstant), U8(1),
B(Star), R(3),
B(Mov), R(1), R(4),
B(Mov), R(3), R(5),
B(Mov), R(closure), R(6),
B(LdaZero),
B(Star), R(7),
B(LdaSmi), U8(30),
B(Star), R(8),
B(LdaSmi), U8(34),
B(Star), R(9),
B(Mov), R(1), R(4),
B(Mov), R(3), R(5),
B(Mov), R(closure), R(6),
B(CallRuntime), U16(Runtime::kResolvePossiblyDirectEval), R(4), U8(6),
B(Star), R(1),
/* 34 E> */ B(Call), R(1), R(2), U8(2), U8(0),
......@@ -74,15 +74,15 @@ bytecodes: [
B(CallRuntimeForPair), U16(Runtime::kLoadLookupSlotForCall), R(3), U8(1), R(1),
B(LdaConstant), U8(1),
B(Star), R(3),
B(Mov), R(1), R(4),
B(Mov), R(3), R(5),
B(Mov), R(closure), R(6),
B(LdaZero),
B(Star), R(7),
B(LdaSmi), U8(30),
B(Star), R(8),
B(LdaSmi), U8(34),
B(Star), R(9),
B(Mov), R(1), R(4),
B(Mov), R(3), R(5),
B(Mov), R(closure), R(6),
B(CallRuntime), U16(Runtime::kResolvePossiblyDirectEval), R(4), U8(6),
B(Star), R(1),
/* 34 E> */ B(Call), R(1), R(2), U8(2), U8(0),
......@@ -122,15 +122,15 @@ bytecodes: [
B(CallRuntimeForPair), U16(Runtime::kLoadLookupSlotForCall), R(3), U8(1), R(1),
B(LdaConstant), U8(2),
B(Star), R(3),
B(Mov), R(1), R(4),
B(Mov), R(3), R(5),
B(Mov), R(closure), R(6),
B(LdaZero),
B(Star), R(7),
B(LdaSmi), U8(30),
B(Star), R(8),
B(LdaSmi), U8(49),
B(Star), R(9),
B(Mov), R(1), R(4),
B(Mov), R(3), R(5),
B(Mov), R(closure), R(6),
B(CallRuntime), U16(Runtime::kResolvePossiblyDirectEval), R(4), U8(6),
B(Star), R(1),
/* 49 E> */ B(Call), R(1), R(2), U8(2), U8(0),
......
......@@ -13,10 +13,9 @@ snippet: "
"
frame size: 2
parameter count: 1
bytecode array length: 19
bytecode array length: 18
bytecodes: [
B(Ldar), R(new_target),
B(Star), R(0),
B(Mov), R(new_target), R(0),
/* 30 E> */ B(StackCheck),
/* 34 S> */ B(Ldar), R(0),
B(JumpIfNotHole), U8(11),
......@@ -37,10 +36,9 @@ snippet: "
"
frame size: 2
parameter count: 1
bytecode array length: 20
bytecode array length: 19
bytecodes: [
B(Ldar), R(new_target),
B(Star), R(0),
B(Mov), R(new_target), R(0),
/* 30 E> */ B(StackCheck),
/* 34 S> */ B(Ldar), R(0),
B(JumpIfNotHole), U8(11),
......
......@@ -74,19 +74,18 @@ handlers: [
snippet: "
var a = 1; return { val: a, val: a + 1 };
"
frame size: 3
frame size: 2
parameter count: 1
bytecode array length: 26
bytecode array length: 23
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), U8(1),
B(Star), R(0),
/* 45 S> */ B(CreateObjectLiteral), U8(0), U8(0), U8(1),
B(Star), R(1),
/* 59 E> */ B(Ldar), R(0),
/* 67 E> */ B(Star), R(2),
B(LdaSmi), U8(1),
B(Add), R(2),
/* 59 E> */ B(Nop),
/* 67 E> */ B(LdaSmi), U8(1),
B(Add), R(0),
B(StaNamedPropertySloppy), R(1), U8(1), U8(1),
B(Ldar), R(1),
/* 76 S> */ B(Return),
......@@ -157,7 +156,6 @@ bytecodes: [
/* 30 E> */ B(StackCheck),
/* 34 S> */ B(CreateObjectLiteral), U8(0), U8(0), U8(1),
B(Star), R(0),
B(Mov), R(0), R(1),
B(LdaConstant), U8(1),
B(Star), R(2),
B(CreateClosure), U8(2), U8(0),
......@@ -166,6 +164,7 @@ bytecodes: [
B(Star), R(4),
B(LdaZero),
B(Star), R(5),
B(Mov), R(0), R(1),
B(CallRuntime), U16(Runtime::kDefineAccessorPropertyUnchecked), R(1), U8(5),
B(Ldar), R(0),
/* 68 S> */ B(Return),
......@@ -189,7 +188,6 @@ bytecodes: [
/* 30 E> */ B(StackCheck),
/* 34 S> */ B(CreateObjectLiteral), U8(0), U8(0), U8(1),
B(Star), R(0),
B(Mov), R(0), R(1),
B(LdaConstant), U8(1),
B(Star), R(2),
B(CreateClosure), U8(2), U8(0),
......@@ -198,6 +196,7 @@ bytecodes: [
B(Star), R(4),
B(LdaZero),
B(Star), R(5),
B(Mov), R(0), R(1),
B(CallRuntime), U16(Runtime::kDefineAccessorPropertyUnchecked), R(1), U8(5),
B(Ldar), R(0),
/* 102 S> */ B(Return),
......@@ -222,7 +221,6 @@ bytecodes: [
/* 30 E> */ B(StackCheck),
/* 34 S> */ B(CreateObjectLiteral), U8(0), U8(0), U8(1),
B(Star), R(0),
B(Mov), R(0), R(1),
B(LdaConstant), U8(1),
B(Star), R(2),
B(LdaNull),
......@@ -231,6 +229,7 @@ bytecodes: [
B(Star), R(4),
B(LdaZero),
B(Star), R(5),
B(Mov), R(0), R(1),
B(CallRuntime), U16(Runtime::kDefineAccessorPropertyUnchecked), R(1), U8(5),
B(Ldar), R(0),
/* 74 S> */ B(Return),
......@@ -249,20 +248,19 @@ snippet: "
"
frame size: 6
parameter count: 1
bytecode array length: 33
bytecode array length: 32
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), U8(1),
B(Star), R(0),
/* 45 S> */ B(CreateObjectLiteral), U8(0), U8(0), U8(1),
B(Star), R(1),
B(Mov), R(1), R(2),
B(LdaSmi), U8(1),
B(Star), R(3),
/* 57 E> */ B(Ldar), R(0),
B(Star), R(4),
B(LdaZero),
/* 57 E> */ B(LdaZero),
B(Star), R(5),
B(Mov), R(1), R(2),
B(Mov), R(0), R(4),
B(CallRuntime), U16(Runtime::kSetProperty), R(2), U8(4),
B(Ldar), R(1),
/* 62 S> */ B(Return),
......@@ -284,9 +282,9 @@ bytecodes: [
/* 30 E> */ B(StackCheck),
/* 34 S> */ B(CreateObjectLiteral), U8(0), U8(0), U8(35),
B(Star), R(0),
B(Mov), R(0), R(1),
B(LdaNull),
B(Star), R(2),
B(Mov), R(0), R(1),
B(CallRuntime), U16(Runtime::kInternalSetPrototype), R(1), U8(2),
B(Ldar), R(0),
/* 62 S> */ B(Return),
......@@ -310,7 +308,6 @@ bytecodes: [
B(Star), R(0),
/* 50 S> */ B(CreateObjectLiteral), U8(1), U8(0), U8(35),
B(Star), R(1),
B(Mov), R(1), R(2),
/* 60 E> */ B(Ldar), R(0),
B(ToName),
B(Star), R(3),
......@@ -320,6 +317,7 @@ bytecodes: [
B(Star), R(5),
B(LdaZero),
B(Star), R(6),
B(Mov), R(1), R(2),
B(CallRuntime), U16(Runtime::kDefineDataPropertyInLiteral), R(2), U8(5),
B(Ldar), R(1),
/* 69 S> */ B(Return),
......@@ -337,7 +335,7 @@ snippet: "
"
frame size: 7
parameter count: 1
bytecode array length: 43
bytecode array length: 41
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaConstant), U8(0),
......@@ -346,9 +344,7 @@ bytecodes: [
B(Star), R(1),
/* 64 E> */ B(Ldar), R(0),
B(StaNamedPropertySloppy), R(1), U8(2), U8(1),
B(Mov), R(1), R(2),
/* 68 E> */ B(Ldar), R(0),
B(ToName),
/* 68 E> */ B(ToName),
B(Star), R(3),
B(LdaSmi), U8(1),
B(Star), R(4),
......@@ -356,6 +352,7 @@ bytecodes: [
B(Star), R(5),
B(LdaZero),
B(Star), R(6),
B(Mov), R(1), R(2),
B(CallRuntime), U16(Runtime::kDefineDataPropertyInLiteral), R(2), U8(5),
B(Ldar), R(1),
/* 77 S> */ B(Return),
......@@ -374,14 +371,13 @@ snippet: "
"
frame size: 7
parameter count: 1
bytecode array length: 53
bytecode array length: 54
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaConstant), U8(0),
B(Star), R(0),
/* 50 S> */ B(CreateObjectLiteral), U8(1), U8(1), U8(35),
B(Star), R(1),
B(Mov), R(1), R(2),
/* 60 E> */ B(Ldar), R(0),
B(ToName),
B(Star), R(3),
......@@ -391,11 +387,12 @@ bytecodes: [
B(Star), R(5),
B(LdaZero),
B(Star), R(6),
B(CallRuntime), U16(Runtime::kDefineDataPropertyInLiteral), R(2), U8(5),
B(Mov), R(1), R(2),
B(CallRuntime), U16(Runtime::kDefineDataPropertyInLiteral), R(2), U8(5),
B(CreateObjectLiteral), U8(1), U8(0), U8(35),
B(Star), R(4),
B(Star), R(3),
B(Mov), R(1), R(2),
B(Mov), R(4), R(3),
B(CallRuntime), U16(Runtime::kInternalSetPrototype), R(2), U8(2),
B(Ldar), R(1),
/* 84 S> */ B(Return),
......@@ -420,7 +417,6 @@ bytecodes: [
B(Star), R(0),
/* 50 S> */ B(CreateObjectLiteral), U8(1), U8(0), U8(35),
B(Star), R(1),
B(Mov), R(1), R(2),
/* 60 E> */ B(Ldar), R(0),
B(ToName),
B(Star), R(3),
......@@ -430,22 +426,23 @@ bytecodes: [
B(Star), R(5),
B(LdaZero),
B(Star), R(6),
B(CallRuntime), U16(Runtime::kDefineDataPropertyInLiteral), R(2), U8(5),
B(Mov), R(1), R(2),
B(CallRuntime), U16(Runtime::kDefineDataPropertyInLiteral), R(2), U8(5),
B(LdaConstant), U8(3),
B(Star), R(3),
B(CreateClosure), U8(4), U8(0),
B(Star), R(4),
B(LdaZero),
B(Star), R(5),
B(CallRuntime), U16(Runtime::kDefineGetterPropertyUnchecked), R(2), U8(4),
B(Mov), R(1), R(2),
B(CallRuntime), U16(Runtime::kDefineGetterPropertyUnchecked), R(2), U8(4),
B(LdaConstant), U8(3),
B(Star), R(3),
B(CreateClosure), U8(5), U8(0),
B(Star), R(4),
B(LdaZero),
B(Star), R(5),
B(Mov), R(1), R(2),
B(CallRuntime), U16(Runtime::kDefineSetterPropertyUnchecked), R(2), U8(4),
B(Ldar), R(1),
/* 99 S> */ B(Return),
......
......@@ -22,12 +22,10 @@ snippet: "
"
frame size: 2
parameter count: 1
bytecode array length: 19
bytecode array length: 15
bytecodes: [
/* 97 E> */ B(StackCheck),
/* 102 S> */ B(Ldar), R(context),
B(Star), R(0),
B(LdrContextSlot), R(0), U8(1), R(0),
/* 102 S> */ B(LdrContextSlot), R(context), U8(1), R(0),
B(LdrContextSlot), R(0), U8(4), R(1),
/* 120 E> */ B(LdaContextSlot), R(context), U8(4),
B(Mul), R(1),
......@@ -52,13 +50,12 @@ snippet: "
"
frame size: 2
parameter count: 1
bytecode array length: 20
bytecode array length: 17
bytecodes: [
/* 97 E> */ B(StackCheck),
/* 102 S> */ B(LdrContextSlot), R(context), U8(4), R(0),
B(Ldar), R(context),
B(Star), R(1),
B(LdrContextSlot), R(1), U8(1), R(1),
/* 102 S> */ B(LdaContextSlot), R(context), U8(4),
/* 111 E> */ B(Star), R(0),
B(LdrContextSlot), R(context), U8(1), R(1),
B(Ldar), R(0),
B(StaContextSlot), R(1), U8(4),
B(LdaUndefined),
......
......@@ -30,16 +30,15 @@ handlers: [
snippet: "
var x = 0; return x + 3;
"
frame size: 2
frame size: 1
parameter count: 1
bytecode array length: 11
bytecode array length: 9
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaZero),
B(Star), R(0),
/* 45 S> */ B(Star), R(1),
B(LdaSmi), U8(3),
B(Add), R(1),
/* 45 S> */ B(LdaSmi), U8(3),
B(Add), R(0),
/* 59 S> */ B(Return),
]
constant pool: [
......@@ -51,16 +50,15 @@ handlers: [
snippet: "
var x = 0; return x - 3;
"
frame size: 2
frame size: 1
parameter count: 1
bytecode array length: 11
bytecode array length: 9
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaZero),
B(Star), R(0),
/* 45 S> */ B(Star), R(1),
B(LdaSmi), U8(3),
B(Sub), R(1),
/* 45 S> */ B(LdaSmi), U8(3),
B(Sub), R(0),
/* 59 S> */ B(Return),
]
constant pool: [
......@@ -72,16 +70,15 @@ handlers: [
snippet: "
var x = 4; return x * 3;
"
frame size: 2
frame size: 1
parameter count: 1
bytecode array length: 12
bytecode array length: 10
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), U8(4),
B(Star), R(0),
/* 45 S> */ B(Star), R(1),
B(LdaSmi), U8(3),
B(Mul), R(1),
/* 45 S> */ B(LdaSmi), U8(3),
B(Mul), R(0),
/* 59 S> */ B(Return),
]
constant pool: [
......@@ -93,16 +90,15 @@ handlers: [
snippet: "
var x = 4; return x / 3;
"
frame size: 2
frame size: 1
parameter count: 1
bytecode array length: 12
bytecode array length: 10
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), U8(4),
B(Star), R(0),
/* 45 S> */ B(Star), R(1),
B(LdaSmi), U8(3),
B(Div), R(1),
/* 45 S> */ B(LdaSmi), U8(3),
B(Div), R(0),
/* 59 S> */ B(Return),
]
constant pool: [
......@@ -114,16 +110,15 @@ handlers: [
snippet: "
var x = 4; return x % 3;
"
frame size: 2
frame size: 1
parameter count: 1
bytecode array length: 12
bytecode array length: 10
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), U8(4),
B(Star), R(0),
/* 45 S> */ B(Star), R(1),
B(LdaSmi), U8(3),
B(Mod), R(1),
/* 45 S> */ B(LdaSmi), U8(3),
B(Mod), R(0),
/* 59 S> */ B(Return),
]
constant pool: [
......@@ -135,16 +130,15 @@ handlers: [
snippet: "
var x = 1; return x | 2;
"
frame size: 2
frame size: 1
parameter count: 1
bytecode array length: 12
bytecode array length: 10
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), U8(1),
B(Star), R(0),
/* 45 S> */ B(Star), R(1),
B(LdaSmi), U8(2),
B(BitwiseOr), R(1),
/* 45 S> */ B(LdaSmi), U8(2),
B(BitwiseOr), R(0),
/* 59 S> */ B(Return),
]
constant pool: [
......@@ -156,16 +150,15 @@ handlers: [
snippet: "
var x = 1; return x ^ 2;
"
frame size: 2
frame size: 1
parameter count: 1
bytecode array length: 12
bytecode array length: 10
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), U8(1),
B(Star), R(0),
/* 45 S> */ B(Star), R(1),
B(LdaSmi), U8(2),
B(BitwiseXor), R(1),
/* 45 S> */ B(LdaSmi), U8(2),
B(BitwiseXor), R(0),
/* 59 S> */ B(Return),
]
constant pool: [
......@@ -177,16 +170,15 @@ handlers: [
snippet: "
var x = 1; return x & 2;
"
frame size: 2
frame size: 1
parameter count: 1
bytecode array length: 12
bytecode array length: 10
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), U8(1),
B(Star), R(0),
/* 45 S> */ B(Star), R(1),
B(LdaSmi), U8(2),
B(BitwiseAnd), R(1),
/* 45 S> */ B(LdaSmi), U8(2),
B(BitwiseAnd), R(0),
/* 59 S> */ B(Return),
]
constant pool: [
......@@ -198,16 +190,15 @@ handlers: [
snippet: "
var x = 10; return x << 3;
"
frame size: 2
frame size: 1
parameter count: 1
bytecode array length: 12
bytecode array length: 10
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), U8(10),
B(Star), R(0),
/* 46 S> */ B(Star), R(1),
B(LdaSmi), U8(3),
B(ShiftLeft), R(1),
/* 46 S> */ B(LdaSmi), U8(3),
B(ShiftLeft), R(0),
/* 61 S> */ B(Return),
]
constant pool: [
......@@ -219,16 +210,15 @@ handlers: [
snippet: "
var x = 10; return x >> 3;
"
frame size: 2
frame size: 1
parameter count: 1
bytecode array length: 12
bytecode array length: 10
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), U8(10),
B(Star), R(0),
/* 46 S> */ B(Star), R(1),
B(LdaSmi), U8(3),
B(ShiftRight), R(1),
/* 46 S> */ B(LdaSmi), U8(3),
B(ShiftRight), R(0),
/* 61 S> */ B(Return),
]
constant pool: [
......@@ -240,16 +230,15 @@ handlers: [
snippet: "
var x = 10; return x >>> 3;
"
frame size: 2
frame size: 1
parameter count: 1
bytecode array length: 12
bytecode array length: 10
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), U8(10),
B(Star), R(0),
/* 46 S> */ B(Star), R(1),
B(LdaSmi), U8(3),
B(ShiftRightLogical), R(1),
/* 46 S> */ B(LdaSmi), U8(3),
B(ShiftRightLogical), R(0),
/* 62 S> */ B(Return),
]
constant pool: [
......
......@@ -13,15 +13,14 @@ snippet: "
function f(a) { return a.func(); }
f(new (function Obj() { this.func = function() { return; }})())
"
frame size: 2
frame size: 1
parameter count: 2
bytecode array length: 16
bytecode array length: 13
bytecodes: [
/* 10 E> */ B(StackCheck),
/* 16 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 24 E> */ B(LdrNamedProperty), R(1), U8(0), U8(3), R(0),
/* 25 E> */ B(Call), R(0), R(1), U8(1), U8(1),
/* 16 S> */ B(Nop),
/* 24 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(3), R(0),
/* 25 E> */ B(Call), R(0), R(arg0), U8(1), U8(1),
/* 33 S> */ B(Return),
]
constant pool: [
......@@ -37,16 +36,16 @@ snippet: "
"
frame size: 4
parameter count: 4
bytecode array length: 24
bytecode array length: 25
bytecodes: [
/* 10 E> */ B(StackCheck),
/* 22 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 30 E> */ B(LdrNamedProperty), R(1), U8(0), U8(3), R(0),
/* 36 E> */ B(Ldar), R(arg1),
B(Star), R(2),
/* 39 E> */ B(Ldar), R(arg2),
B(Star), R(3),
/* 22 S> */ B(Nop),
/* 30 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(3), R(0),
B(Ldar), R(0),
/* 36 E> */ B(Nop),
/* 39 E> */ B(Mov), R(arg0), R(1),
B(Mov), R(arg1), R(2),
B(Mov), R(arg2), R(3),
/* 31 E> */ B(Call), R(0), R(1), U8(3), U8(1),
/* 43 S> */ B(Return),
]
......@@ -63,19 +62,18 @@ snippet: "
"
frame size: 4
parameter count: 3
bytecode array length: 30
bytecode array length: 28
bytecodes: [
/* 10 E> */ B(StackCheck),
/* 19 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 27 E> */ B(LdrNamedProperty), R(1), U8(0), U8(3), R(0),
/* 33 E> */ B(Ldar), R(arg1),
B(Star), R(3),
/* 19 S> */ B(Nop),
/* 27 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(3), R(0),
B(Ldar), R(0),
/* 33 E> */ B(Nop),
/* 37 E> */ B(Ldar), R(arg1),
B(Add), R(3),
B(Add), R(arg1),
B(Star), R(2),
/* 40 E> */ B(Ldar), R(arg1),
B(Star), R(3),
/* 40 E> */ B(Mov), R(arg0), R(1),
B(Mov), R(arg1), R(3),
/* 28 E> */ B(Call), R(0), R(1), U8(3), U8(1),
/* 44 S> */ B(Return),
]
......@@ -219,399 +217,270 @@ snippet: "
return a.func(); }
f(new (function Obj() { this.func = function() { return; }})())
"
frame size: 2
frame size: 1
parameter count: 2
bytecode array length: 1050
bytecode array length: 663
bytecodes: [
/* 10 E> */ B(StackCheck),
/* 17 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 18 E> */ B(LdaNamedProperty), R(0), U8(0), U8(1),
/* 26 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 27 E> */ B(LdaNamedProperty), R(0), U8(0), U8(3),
/* 35 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 36 E> */ B(LdaNamedProperty), R(0), U8(0), U8(5),
/* 44 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 45 E> */ B(LdaNamedProperty), R(0), U8(0), U8(7),
/* 53 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 54 E> */ B(LdaNamedProperty), R(0), U8(0), U8(9),
/* 62 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 63 E> */ B(LdaNamedProperty), R(0), U8(0), U8(11),
/* 71 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 72 E> */ B(LdaNamedProperty), R(0), U8(0), U8(13),
/* 80 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 81 E> */ B(LdaNamedProperty), R(0), U8(0), U8(15),
/* 89 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 90 E> */ B(LdaNamedProperty), R(0), U8(0), U8(17),
/* 98 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 99 E> */ B(LdaNamedProperty), R(0), U8(0), U8(19),
/* 107 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 108 E> */ B(LdaNamedProperty), R(0), U8(0), U8(21),
/* 116 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 117 E> */ B(LdaNamedProperty), R(0), U8(0), U8(23),
/* 125 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 126 E> */ B(LdaNamedProperty), R(0), U8(0), U8(25),
/* 134 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 135 E> */ B(LdaNamedProperty), R(0), U8(0), U8(27),
/* 143 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 144 E> */ B(LdaNamedProperty), R(0), U8(0), U8(29),
/* 152 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 153 E> */ B(LdaNamedProperty), R(0), U8(0), U8(31),
/* 161 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 162 E> */ B(LdaNamedProperty), R(0), U8(0), U8(33),
/* 170 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 171 E> */ B(LdaNamedProperty), R(0), U8(0), U8(35),
/* 179 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 180 E> */ B(LdaNamedProperty), R(0), U8(0), U8(37),
/* 188 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 189 E> */ B(LdaNamedProperty), R(0), U8(0), U8(39),
/* 197 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 198 E> */ B(LdaNamedProperty), R(0), U8(0), U8(41),
/* 206 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 207 E> */ B(LdaNamedProperty), R(0), U8(0), U8(43),
/* 215 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 216 E> */ B(LdaNamedProperty), R(0), U8(0), U8(45),
/* 224 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 225 E> */ B(LdaNamedProperty), R(0), U8(0), U8(47),
/* 233 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 234 E> */ B(LdaNamedProperty), R(0), U8(0), U8(49),
/* 242 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 243 E> */ B(LdaNamedProperty), R(0), U8(0), U8(51),
/* 251 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 252 E> */ B(LdaNamedProperty), R(0), U8(0), U8(53),
/* 260 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 261 E> */ B(LdaNamedProperty), R(0), U8(0), U8(55),
/* 269 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 270 E> */ B(LdaNamedProperty), R(0), U8(0), U8(57),
/* 278 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 279 E> */ B(LdaNamedProperty), R(0), U8(0), U8(59),
/* 287 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 288 E> */ B(LdaNamedProperty), R(0), U8(0), U8(61),
/* 296 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 297 E> */ B(LdaNamedProperty), R(0), U8(0), U8(63),
/* 305 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 306 E> */ B(LdaNamedProperty), R(0), U8(0), U8(65),
/* 314 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 315 E> */ B(LdaNamedProperty), R(0), U8(0), U8(67),
/* 323 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 324 E> */ B(LdaNamedProperty), R(0), U8(0), U8(69),
/* 332 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 333 E> */ B(LdaNamedProperty), R(0), U8(0), U8(71),
/* 341 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 342 E> */ B(LdaNamedProperty), R(0), U8(0), U8(73),
/* 350 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 351 E> */ B(LdaNamedProperty), R(0), U8(0), U8(75),
/* 359 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 360 E> */ B(LdaNamedProperty), R(0), U8(0), U8(77),
/* 368 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 369 E> */ B(LdaNamedProperty), R(0), U8(0), U8(79),
/* 377 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 378 E> */ B(LdaNamedProperty), R(0), U8(0), U8(81),
/* 386 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 387 E> */ B(LdaNamedProperty), R(0), U8(0), U8(83),
/* 395 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 396 E> */ B(LdaNamedProperty), R(0), U8(0), U8(85),
/* 404 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 405 E> */ B(LdaNamedProperty), R(0), U8(0), U8(87),
/* 413 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 414 E> */ B(LdaNamedProperty), R(0), U8(0), U8(89),
/* 422 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 423 E> */ B(LdaNamedProperty), R(0), U8(0), U8(91),
/* 431 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 432 E> */ B(LdaNamedProperty), R(0), U8(0), U8(93),
/* 440 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 441 E> */ B(LdaNamedProperty), R(0), U8(0), U8(95),
/* 449 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 450 E> */ B(LdaNamedProperty), R(0), U8(0), U8(97),
/* 458 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 459 E> */ B(LdaNamedProperty), R(0), U8(0), U8(99),
/* 467 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 468 E> */ B(LdaNamedProperty), R(0), U8(0), U8(101),
/* 476 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 477 E> */ B(LdaNamedProperty), R(0), U8(0), U8(103),
/* 485 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 486 E> */ B(LdaNamedProperty), R(0), U8(0), U8(105),
/* 494 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 495 E> */ B(LdaNamedProperty), R(0), U8(0), U8(107),
/* 503 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 504 E> */ B(LdaNamedProperty), R(0), U8(0), U8(109),
/* 512 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 513 E> */ B(LdaNamedProperty), R(0), U8(0), U8(111),
/* 521 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 522 E> */ B(LdaNamedProperty), R(0), U8(0), U8(113),
/* 530 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 531 E> */ B(LdaNamedProperty), R(0), U8(0), U8(115),
/* 539 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 540 E> */ B(LdaNamedProperty), R(0), U8(0), U8(117),
/* 548 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 549 E> */ B(LdaNamedProperty), R(0), U8(0), U8(119),
/* 557 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 558 E> */ B(LdaNamedProperty), R(0), U8(0), U8(121),
/* 566 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 567 E> */ B(LdaNamedProperty), R(0), U8(0), U8(123),
/* 575 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 576 E> */ B(LdaNamedProperty), R(0), U8(0), U8(125),
/* 584 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 585 E> */ B(LdaNamedProperty), R(0), U8(0), U8(127),
/* 593 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 594 E> */ B(LdaNamedProperty), R(0), U8(0), U8(129),
/* 602 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 603 E> */ B(LdaNamedProperty), R(0), U8(0), U8(131),
/* 611 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 612 E> */ B(LdaNamedProperty), R(0), U8(0), U8(133),
/* 620 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 621 E> */ B(LdaNamedProperty), R(0), U8(0), U8(135),
/* 629 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 630 E> */ B(LdaNamedProperty), R(0), U8(0), U8(137),
/* 638 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 639 E> */ B(LdaNamedProperty), R(0), U8(0), U8(139),
/* 647 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 648 E> */ B(LdaNamedProperty), R(0), U8(0), U8(141),
/* 656 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 657 E> */ B(LdaNamedProperty), R(0), U8(0), U8(143),
/* 665 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 666 E> */ B(LdaNamedProperty), R(0), U8(0), U8(145),
/* 674 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 675 E> */ B(LdaNamedProperty), R(0), U8(0), U8(147),
/* 683 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 684 E> */ B(LdaNamedProperty), R(0), U8(0), U8(149),
/* 692 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 693 E> */ B(LdaNamedProperty), R(0), U8(0), U8(151),
/* 701 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 702 E> */ B(LdaNamedProperty), R(0), U8(0), U8(153),
/* 710 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 711 E> */ B(LdaNamedProperty), R(0), U8(0), U8(155),
/* 719 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 720 E> */ B(LdaNamedProperty), R(0), U8(0), U8(157),
/* 728 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 729 E> */ B(LdaNamedProperty), R(0), U8(0), U8(159),
/* 737 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 738 E> */ B(LdaNamedProperty), R(0), U8(0), U8(161),
/* 746 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 747 E> */ B(LdaNamedProperty), R(0), U8(0), U8(163),
/* 755 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 756 E> */ B(LdaNamedProperty), R(0), U8(0), U8(165),
/* 764 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 765 E> */ B(LdaNamedProperty), R(0), U8(0), U8(167),
/* 773 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 774 E> */ B(LdaNamedProperty), R(0), U8(0), U8(169),
/* 782 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 783 E> */ B(LdaNamedProperty), R(0), U8(0), U8(171),
/* 791 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 792 E> */ B(LdaNamedProperty), R(0), U8(0), U8(173),
/* 800 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 801 E> */ B(LdaNamedProperty), R(0), U8(0), U8(175),
/* 809 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 810 E> */ B(LdaNamedProperty), R(0), U8(0), U8(177),
/* 818 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 819 E> */ B(LdaNamedProperty), R(0), U8(0), U8(179),
/* 827 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 828 E> */ B(LdaNamedProperty), R(0), U8(0), U8(181),
/* 836 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 837 E> */ B(LdaNamedProperty), R(0), U8(0), U8(183),
/* 845 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 846 E> */ B(LdaNamedProperty), R(0), U8(0), U8(185),
/* 854 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 855 E> */ B(LdaNamedProperty), R(0), U8(0), U8(187),
/* 863 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 864 E> */ B(LdaNamedProperty), R(0), U8(0), U8(189),
/* 872 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 873 E> */ B(LdaNamedProperty), R(0), U8(0), U8(191),
/* 881 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 882 E> */ B(LdaNamedProperty), R(0), U8(0), U8(193),
/* 890 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 891 E> */ B(LdaNamedProperty), R(0), U8(0), U8(195),
/* 899 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 900 E> */ B(LdaNamedProperty), R(0), U8(0), U8(197),
/* 908 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 909 E> */ B(LdaNamedProperty), R(0), U8(0), U8(199),
/* 917 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 918 E> */ B(LdaNamedProperty), R(0), U8(0), U8(201),
/* 926 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 927 E> */ B(LdaNamedProperty), R(0), U8(0), U8(203),
/* 935 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 936 E> */ B(LdaNamedProperty), R(0), U8(0), U8(205),
/* 944 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 945 E> */ B(LdaNamedProperty), R(0), U8(0), U8(207),
/* 953 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 954 E> */ B(LdaNamedProperty), R(0), U8(0), U8(209),
/* 962 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 963 E> */ B(LdaNamedProperty), R(0), U8(0), U8(211),
/* 971 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 972 E> */ B(LdaNamedProperty), R(0), U8(0), U8(213),
/* 980 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 981 E> */ B(LdaNamedProperty), R(0), U8(0), U8(215),
/* 989 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 990 E> */ B(LdaNamedProperty), R(0), U8(0), U8(217),
/* 998 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 999 E> */ B(LdaNamedProperty), R(0), U8(0), U8(219),
/* 1007 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1008 E> */ B(LdaNamedProperty), R(0), U8(0), U8(221),
/* 1016 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1017 E> */ B(LdaNamedProperty), R(0), U8(0), U8(223),
/* 1025 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1026 E> */ B(LdaNamedProperty), R(0), U8(0), U8(225),
/* 1034 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1035 E> */ B(LdaNamedProperty), R(0), U8(0), U8(227),
/* 1043 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1044 E> */ B(LdaNamedProperty), R(0), U8(0), U8(229),
/* 1052 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1053 E> */ B(LdaNamedProperty), R(0), U8(0), U8(231),
/* 1061 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1062 E> */ B(LdaNamedProperty), R(0), U8(0), U8(233),
/* 1070 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1071 E> */ B(LdaNamedProperty), R(0), U8(0), U8(235),
/* 1079 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1080 E> */ B(LdaNamedProperty), R(0), U8(0), U8(237),
/* 1088 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1089 E> */ B(LdaNamedProperty), R(0), U8(0), U8(239),
/* 1097 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1098 E> */ B(LdaNamedProperty), R(0), U8(0), U8(241),
/* 1106 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1107 E> */ B(LdaNamedProperty), R(0), U8(0), U8(243),
/* 1115 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1116 E> */ B(LdaNamedProperty), R(0), U8(0), U8(245),
/* 1124 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1125 E> */ B(LdaNamedProperty), R(0), U8(0), U8(247),
/* 1133 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1134 E> */ B(LdaNamedProperty), R(0), U8(0), U8(249),
/* 1142 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1143 E> */ B(LdaNamedProperty), R(0), U8(0), U8(251),
/* 1151 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1152 E> */ B(LdaNamedProperty), R(0), U8(0), U8(253),
/* 1160 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1161 E> */ B(LdaNamedProperty), R(0), U8(0), U8(255),
/* 1169 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1177 E> */ B(Wide), B(LdrNamedProperty), R16(1), U16(0), U16(259), R16(0),
/* 1178 E> */ B(Wide), B(Call), R16(0), R16(1), U16(1), U16(257),
/* 17 S> */ B(Nop),
/* 18 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(1),
/* 26 S> */ B(Nop),
/* 27 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(3),
/* 35 S> */ B(Nop),
/* 36 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(5),
/* 44 S> */ B(Nop),
/* 45 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(7),
/* 53 S> */ B(Nop),
/* 54 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(9),
/* 62 S> */ B(Nop),
/* 63 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(11),
/* 71 S> */ B(Nop),
/* 72 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(13),
/* 80 S> */ B(Nop),
/* 81 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(15),
/* 89 S> */ B(Nop),
/* 90 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(17),
/* 98 S> */ B(Nop),
/* 99 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(19),
/* 107 S> */ B(Nop),
/* 108 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(21),
/* 116 S> */ B(Nop),
/* 117 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(23),
/* 125 S> */ B(Nop),
/* 126 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(25),
/* 134 S> */ B(Nop),
/* 135 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(27),
/* 143 S> */ B(Nop),
/* 144 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(29),
/* 152 S> */ B(Nop),
/* 153 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(31),
/* 161 S> */ B(Nop),
/* 162 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(33),
/* 170 S> */ B(Nop),
/* 171 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(35),
/* 179 S> */ B(Nop),
/* 180 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(37),
/* 188 S> */ B(Nop),
/* 189 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(39),
/* 197 S> */ B(Nop),
/* 198 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(41),
/* 206 S> */ B(Nop),
/* 207 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(43),
/* 215 S> */ B(Nop),
/* 216 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(45),
/* 224 S> */ B(Nop),
/* 225 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(47),
/* 233 S> */ B(Nop),
/* 234 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(49),
/* 242 S> */ B(Nop),
/* 243 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(51),
/* 251 S> */ B(Nop),
/* 252 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(53),
/* 260 S> */ B(Nop),
/* 261 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(55),
/* 269 S> */ B(Nop),
/* 270 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(57),
/* 278 S> */ B(Nop),
/* 279 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(59),
/* 287 S> */ B(Nop),
/* 288 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(61),
/* 296 S> */ B(Nop),
/* 297 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(63),
/* 305 S> */ B(Nop),
/* 306 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(65),
/* 314 S> */ B(Nop),
/* 315 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(67),
/* 323 S> */ B(Nop),
/* 324 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(69),
/* 332 S> */ B(Nop),
/* 333 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(71),
/* 341 S> */ B(Nop),
/* 342 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(73),
/* 350 S> */ B(Nop),
/* 351 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(75),
/* 359 S> */ B(Nop),
/* 360 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(77),
/* 368 S> */ B(Nop),
/* 369 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(79),
/* 377 S> */ B(Nop),
/* 378 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(81),
/* 386 S> */ B(Nop),
/* 387 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(83),
/* 395 S> */ B(Nop),
/* 396 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(85),
/* 404 S> */ B(Nop),
/* 405 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(87),
/* 413 S> */ B(Nop),
/* 414 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(89),
/* 422 S> */ B(Nop),
/* 423 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(91),
/* 431 S> */ B(Nop),
/* 432 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(93),
/* 440 S> */ B(Nop),
/* 441 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(95),
/* 449 S> */ B(Nop),
/* 450 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(97),
/* 458 S> */ B(Nop),
/* 459 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(99),
/* 467 S> */ B(Nop),
/* 468 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(101),
/* 476 S> */ B(Nop),
/* 477 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(103),
/* 485 S> */ B(Nop),
/* 486 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(105),
/* 494 S> */ B(Nop),
/* 495 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(107),
/* 503 S> */ B(Nop),
/* 504 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(109),
/* 512 S> */ B(Nop),
/* 513 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(111),
/* 521 S> */ B(Nop),
/* 522 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(113),
/* 530 S> */ B(Nop),
/* 531 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(115),
/* 539 S> */ B(Nop),
/* 540 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(117),
/* 548 S> */ B(Nop),
/* 549 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(119),
/* 557 S> */ B(Nop),
/* 558 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(121),
/* 566 S> */ B(Nop),
/* 567 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(123),
/* 575 S> */ B(Nop),
/* 576 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(125),
/* 584 S> */ B(Nop),
/* 585 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(127),
/* 593 S> */ B(Nop),
/* 594 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(129),
/* 602 S> */ B(Nop),
/* 603 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(131),
/* 611 S> */ B(Nop),
/* 612 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(133),
/* 620 S> */ B(Nop),
/* 621 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(135),
/* 629 S> */ B(Nop),
/* 630 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(137),
/* 638 S> */ B(Nop),
/* 639 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(139),
/* 647 S> */ B(Nop),
/* 648 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(141),
/* 656 S> */ B(Nop),
/* 657 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(143),
/* 665 S> */ B(Nop),
/* 666 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(145),
/* 674 S> */ B(Nop),
/* 675 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(147),
/* 683 S> */ B(Nop),
/* 684 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(149),
/* 692 S> */ B(Nop),
/* 693 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(151),
/* 701 S> */ B(Nop),
/* 702 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(153),
/* 710 S> */ B(Nop),
/* 711 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(155),
/* 719 S> */ B(Nop),
/* 720 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(157),
/* 728 S> */ B(Nop),
/* 729 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(159),
/* 737 S> */ B(Nop),
/* 738 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(161),
/* 746 S> */ B(Nop),
/* 747 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(163),
/* 755 S> */ B(Nop),
/* 756 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(165),
/* 764 S> */ B(Nop),
/* 765 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(167),
/* 773 S> */ B(Nop),
/* 774 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(169),
/* 782 S> */ B(Nop),
/* 783 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(171),
/* 791 S> */ B(Nop),
/* 792 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(173),
/* 800 S> */ B(Nop),
/* 801 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(175),
/* 809 S> */ B(Nop),
/* 810 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(177),
/* 818 S> */ B(Nop),
/* 819 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(179),
/* 827 S> */ B(Nop),
/* 828 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(181),
/* 836 S> */ B(Nop),
/* 837 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(183),
/* 845 S> */ B(Nop),
/* 846 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(185),
/* 854 S> */ B(Nop),
/* 855 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(187),
/* 863 S> */ B(Nop),
/* 864 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(189),
/* 872 S> */ B(Nop),
/* 873 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(191),
/* 881 S> */ B(Nop),
/* 882 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(193),
/* 890 S> */ B(Nop),
/* 891 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(195),
/* 899 S> */ B(Nop),
/* 900 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(197),
/* 908 S> */ B(Nop),
/* 909 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(199),
/* 917 S> */ B(Nop),
/* 918 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(201),
/* 926 S> */ B(Nop),
/* 927 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(203),
/* 935 S> */ B(Nop),
/* 936 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(205),
/* 944 S> */ B(Nop),
/* 945 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(207),
/* 953 S> */ B(Nop),
/* 954 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(209),
/* 962 S> */ B(Nop),
/* 963 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(211),
/* 971 S> */ B(Nop),
/* 972 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(213),
/* 980 S> */ B(Nop),
/* 981 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(215),
/* 989 S> */ B(Nop),
/* 990 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(217),
/* 998 S> */ B(Nop),
/* 999 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(219),
/* 1007 S> */ B(Nop),
/* 1008 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(221),
/* 1016 S> */ B(Nop),
/* 1017 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(223),
/* 1025 S> */ B(Nop),
/* 1026 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(225),
/* 1034 S> */ B(Nop),
/* 1035 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(227),
/* 1043 S> */ B(Nop),
/* 1044 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(229),
/* 1052 S> */ B(Nop),
/* 1053 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(231),
/* 1061 S> */ B(Nop),
/* 1062 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(233),
/* 1070 S> */ B(Nop),
/* 1071 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(235),
/* 1079 S> */ B(Nop),
/* 1080 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(237),
/* 1088 S> */ B(Nop),
/* 1089 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(239),
/* 1097 S> */ B(Nop),
/* 1098 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(241),
/* 1106 S> */ B(Nop),
/* 1107 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(243),
/* 1115 S> */ B(Nop),
/* 1116 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(245),
/* 1124 S> */ B(Nop),
/* 1125 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(247),
/* 1133 S> */ B(Nop),
/* 1134 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(249),
/* 1142 S> */ B(Nop),
/* 1143 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(251),
/* 1151 S> */ B(Nop),
/* 1152 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(253),
/* 1160 S> */ B(Nop),
/* 1161 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(255),
/* 1169 S> */ B(Nop),
/* 1177 E> */ B(Wide), B(LdrNamedProperty), R16(arg0), U16(0), U16(259), R16(0),
/* 1178 E> */ B(Wide), B(Call), R16(0), R16(arg0), U16(1), U16(257),
/* 1186 S> */ B(Return),
]
constant pool: [
......
......@@ -13,14 +13,13 @@ snippet: "
function f(a) { return a.name; }
f({name : \"test\"});
"
frame size: 1
frame size: 0
parameter count: 2
bytecode array length: 10
bytecode array length: 7
bytecodes: [
/* 10 E> */ B(StackCheck),
/* 16 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 24 E> */ B(LdaNamedProperty), R(0), U8(0), U8(1),
/* 16 S> */ B(Nop),
/* 24 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(1),
/* 31 S> */ B(Return),
]
constant pool: [
......@@ -34,14 +33,13 @@ snippet: "
function f(a) { return a[\"key\"]; }
f({key : \"test\"});
"
frame size: 1
frame size: 0
parameter count: 2
bytecode array length: 10
bytecode array length: 7
bytecodes: [
/* 10 E> */ B(StackCheck),
/* 16 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 24 E> */ B(LdaNamedProperty), R(0), U8(0), U8(1),
/* 16 S> */ B(Nop),
/* 24 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(1),
/* 33 S> */ B(Return),
]
constant pool: [
......@@ -55,15 +53,14 @@ snippet: "
function f(a) { return a[100]; }
f({100 : \"test\"});
"
frame size: 1
frame size: 0
parameter count: 2
bytecode array length: 11
bytecode array length: 8
bytecodes: [
/* 10 E> */ B(StackCheck),
/* 16 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 16 S> */ B(Nop),
/* 24 E> */ B(LdaSmi), U8(100),
B(LdaKeyedProperty), R(0), U8(1),
B(LdaKeyedProperty), R(arg0), U8(1),
/* 31 S> */ B(Return),
]
constant pool: [
......@@ -76,15 +73,14 @@ snippet: "
function f(a, b) { return a[b]; }
f({arg : \"test\"}, \"arg\");
"
frame size: 1
frame size: 0
parameter count: 3
bytecode array length: 11
bytecode array length: 8
bytecodes: [
/* 10 E> */ B(StackCheck),
/* 19 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 19 S> */ B(Nop),
/* 27 E> */ B(Ldar), R(arg1),
B(LdaKeyedProperty), R(0), U8(1),
B(LdaKeyedProperty), R(arg0), U8(1),
/* 32 S> */ B(Return),
]
constant pool: [
......@@ -97,18 +93,17 @@ snippet: "
function f(a) { var b = a.name; return a[-124]; }
f({\"-124\" : \"test\", name : 123 })
"
frame size: 2
frame size: 1
parameter count: 2
bytecode array length: 20
bytecode array length: 16
bytecodes: [
/* 10 E> */ B(StackCheck),
/* 25 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 25 E> */ B(LdrNamedProperty), R(1), U8(0), U8(1), R(0),
/* 32 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 25 S> */ B(Nop),
/* 25 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(1), R(0),
B(Ldar), R(0),
/* 32 S> */ B(Nop),
/* 40 E> */ B(LdaSmi), U8(-124),
B(LdaKeyedProperty), R(1), U8(3),
B(LdaKeyedProperty), R(arg0), U8(3),
/* 48 S> */ B(Return),
]
constant pool: [
......@@ -253,398 +248,397 @@ snippet: "
}
f({name : \"test\"})
"
frame size: 2
frame size: 1
parameter count: 2
bytecode array length: 1166
bytecode array length: 1035
bytecodes: [
/* 10 E> */ B(StackCheck),
/* 27 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 32 E> */ B(LdrNamedProperty), R(1), U8(0), U8(1), R(0),
/* 41 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 46 E> */ B(LdrNamedProperty), R(1), U8(0), U8(3), R(0),
/* 55 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 60 E> */ B(LdrNamedProperty), R(1), U8(0), U8(5), R(0),
/* 69 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 74 E> */ B(LdrNamedProperty), R(1), U8(0), U8(7), R(0),
/* 83 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 88 E> */ B(LdrNamedProperty), R(1), U8(0), U8(9), R(0),
/* 97 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 102 E> */ B(LdrNamedProperty), R(1), U8(0), U8(11), R(0),
/* 111 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 116 E> */ B(LdrNamedProperty), R(1), U8(0), U8(13), R(0),
/* 125 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 130 E> */ B(LdrNamedProperty), R(1), U8(0), U8(15), R(0),
/* 139 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 144 E> */ B(LdrNamedProperty), R(1), U8(0), U8(17), R(0),
/* 153 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 158 E> */ B(LdrNamedProperty), R(1), U8(0), U8(19), R(0),
/* 167 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 172 E> */ B(LdrNamedProperty), R(1), U8(0), U8(21), R(0),
/* 181 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 186 E> */ B(LdrNamedProperty), R(1), U8(0), U8(23), R(0),
/* 195 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 200 E> */ B(LdrNamedProperty), R(1), U8(0), U8(25), R(0),
/* 209 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 214 E> */ B(LdrNamedProperty), R(1), U8(0), U8(27), R(0),
/* 223 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 228 E> */ B(LdrNamedProperty), R(1), U8(0), U8(29), R(0),
/* 237 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 242 E> */ B(LdrNamedProperty), R(1), U8(0), U8(31), R(0),
/* 251 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 256 E> */ B(LdrNamedProperty), R(1), U8(0), U8(33), R(0),
/* 265 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 270 E> */ B(LdrNamedProperty), R(1), U8(0), U8(35), R(0),
/* 279 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 284 E> */ B(LdrNamedProperty), R(1), U8(0), U8(37), R(0),
/* 293 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 298 E> */ B(LdrNamedProperty), R(1), U8(0), U8(39), R(0),
/* 307 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 312 E> */ B(LdrNamedProperty), R(1), U8(0), U8(41), R(0),
/* 321 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 326 E> */ B(LdrNamedProperty), R(1), U8(0), U8(43), R(0),
/* 335 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 340 E> */ B(LdrNamedProperty), R(1), U8(0), U8(45), R(0),
/* 349 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 354 E> */ B(LdrNamedProperty), R(1), U8(0), U8(47), R(0),
/* 363 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 368 E> */ B(LdrNamedProperty), R(1), U8(0), U8(49), R(0),
/* 377 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 382 E> */ B(LdrNamedProperty), R(1), U8(0), U8(51), R(0),
/* 391 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 396 E> */ B(LdrNamedProperty), R(1), U8(0), U8(53), R(0),
/* 405 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 410 E> */ B(LdrNamedProperty), R(1), U8(0), U8(55), R(0),
/* 419 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 424 E> */ B(LdrNamedProperty), R(1), U8(0), U8(57), R(0),
/* 433 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 438 E> */ B(LdrNamedProperty), R(1), U8(0), U8(59), R(0),
/* 447 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 452 E> */ B(LdrNamedProperty), R(1), U8(0), U8(61), R(0),
/* 461 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 466 E> */ B(LdrNamedProperty), R(1), U8(0), U8(63), R(0),
/* 475 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 480 E> */ B(LdrNamedProperty), R(1), U8(0), U8(65), R(0),
/* 489 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 494 E> */ B(LdrNamedProperty), R(1), U8(0), U8(67), R(0),
/* 503 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 508 E> */ B(LdrNamedProperty), R(1), U8(0), U8(69), R(0),
/* 517 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 522 E> */ B(LdrNamedProperty), R(1), U8(0), U8(71), R(0),
/* 531 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 536 E> */ B(LdrNamedProperty), R(1), U8(0), U8(73), R(0),
/* 545 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 550 E> */ B(LdrNamedProperty), R(1), U8(0), U8(75), R(0),
/* 559 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 564 E> */ B(LdrNamedProperty), R(1), U8(0), U8(77), R(0),
/* 573 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 578 E> */ B(LdrNamedProperty), R(1), U8(0), U8(79), R(0),
/* 587 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 592 E> */ B(LdrNamedProperty), R(1), U8(0), U8(81), R(0),
/* 601 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 606 E> */ B(LdrNamedProperty), R(1), U8(0), U8(83), R(0),
/* 615 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 620 E> */ B(LdrNamedProperty), R(1), U8(0), U8(85), R(0),
/* 629 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 634 E> */ B(LdrNamedProperty), R(1), U8(0), U8(87), R(0),
/* 643 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 648 E> */ B(LdrNamedProperty), R(1), U8(0), U8(89), R(0),
/* 657 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 662 E> */ B(LdrNamedProperty), R(1), U8(0), U8(91), R(0),
/* 671 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 676 E> */ B(LdrNamedProperty), R(1), U8(0), U8(93), R(0),
/* 685 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 690 E> */ B(LdrNamedProperty), R(1), U8(0), U8(95), R(0),
/* 699 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 704 E> */ B(LdrNamedProperty), R(1), U8(0), U8(97), R(0),
/* 713 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 718 E> */ B(LdrNamedProperty), R(1), U8(0), U8(99), R(0),
/* 727 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 732 E> */ B(LdrNamedProperty), R(1), U8(0), U8(101), R(0),
/* 741 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 746 E> */ B(LdrNamedProperty), R(1), U8(0), U8(103), R(0),
/* 755 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 760 E> */ B(LdrNamedProperty), R(1), U8(0), U8(105), R(0),
/* 769 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 774 E> */ B(LdrNamedProperty), R(1), U8(0), U8(107), R(0),
/* 783 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 788 E> */ B(LdrNamedProperty), R(1), U8(0), U8(109), R(0),
/* 797 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 802 E> */ B(LdrNamedProperty), R(1), U8(0), U8(111), R(0),
/* 811 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 816 E> */ B(LdrNamedProperty), R(1), U8(0), U8(113), R(0),
/* 825 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 830 E> */ B(LdrNamedProperty), R(1), U8(0), U8(115), R(0),
/* 839 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 844 E> */ B(LdrNamedProperty), R(1), U8(0), U8(117), R(0),
/* 853 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 858 E> */ B(LdrNamedProperty), R(1), U8(0), U8(119), R(0),
/* 867 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 872 E> */ B(LdrNamedProperty), R(1), U8(0), U8(121), R(0),
/* 881 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 886 E> */ B(LdrNamedProperty), R(1), U8(0), U8(123), R(0),
/* 895 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 900 E> */ B(LdrNamedProperty), R(1), U8(0), U8(125), R(0),
/* 909 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 914 E> */ B(LdrNamedProperty), R(1), U8(0), U8(127), R(0),
/* 923 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 928 E> */ B(LdrNamedProperty), R(1), U8(0), U8(129), R(0),
/* 937 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 942 E> */ B(LdrNamedProperty), R(1), U8(0), U8(131), R(0),
/* 951 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 956 E> */ B(LdrNamedProperty), R(1), U8(0), U8(133), R(0),
/* 965 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 970 E> */ B(LdrNamedProperty), R(1), U8(0), U8(135), R(0),
/* 979 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 984 E> */ B(LdrNamedProperty), R(1), U8(0), U8(137), R(0),
/* 993 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 998 E> */ B(LdrNamedProperty), R(1), U8(0), U8(139), R(0),
/* 1007 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1012 E> */ B(LdrNamedProperty), R(1), U8(0), U8(141), R(0),
/* 1021 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1026 E> */ B(LdrNamedProperty), R(1), U8(0), U8(143), R(0),
/* 1035 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1040 E> */ B(LdrNamedProperty), R(1), U8(0), U8(145), R(0),
/* 1049 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1054 E> */ B(LdrNamedProperty), R(1), U8(0), U8(147), R(0),
/* 1063 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1068 E> */ B(LdrNamedProperty), R(1), U8(0), U8(149), R(0),
/* 1077 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1082 E> */ B(LdrNamedProperty), R(1), U8(0), U8(151), R(0),
/* 1091 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1096 E> */ B(LdrNamedProperty), R(1), U8(0), U8(153), R(0),
/* 1105 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1110 E> */ B(LdrNamedProperty), R(1), U8(0), U8(155), R(0),
/* 1119 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1124 E> */ B(LdrNamedProperty), R(1), U8(0), U8(157), R(0),
/* 1133 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1138 E> */ B(LdrNamedProperty), R(1), U8(0), U8(159), R(0),
/* 1147 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1152 E> */ B(LdrNamedProperty), R(1), U8(0), U8(161), R(0),
/* 1161 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1166 E> */ B(LdrNamedProperty), R(1), U8(0), U8(163), R(0),
/* 1175 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1180 E> */ B(LdrNamedProperty), R(1), U8(0), U8(165), R(0),
/* 1189 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1194 E> */ B(LdrNamedProperty), R(1), U8(0), U8(167), R(0),
/* 1203 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1208 E> */ B(LdrNamedProperty), R(1), U8(0), U8(169), R(0),
/* 1217 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1222 E> */ B(LdrNamedProperty), R(1), U8(0), U8(171), R(0),
/* 1231 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1236 E> */ B(LdrNamedProperty), R(1), U8(0), U8(173), R(0),
/* 1245 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1250 E> */ B(LdrNamedProperty), R(1), U8(0), U8(175), R(0),
/* 1259 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1264 E> */ B(LdrNamedProperty), R(1), U8(0), U8(177), R(0),
/* 1273 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1278 E> */ B(LdrNamedProperty), R(1), U8(0), U8(179), R(0),
/* 1287 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1292 E> */ B(LdrNamedProperty), R(1), U8(0), U8(181), R(0),
/* 1301 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1306 E> */ B(LdrNamedProperty), R(1), U8(0), U8(183), R(0),
/* 1315 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1320 E> */ B(LdrNamedProperty), R(1), U8(0), U8(185), R(0),
/* 1329 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1334 E> */ B(LdrNamedProperty), R(1), U8(0), U8(187), R(0),
/* 1343 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1348 E> */ B(LdrNamedProperty), R(1), U8(0), U8(189), R(0),
/* 1357 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1362 E> */ B(LdrNamedProperty), R(1), U8(0), U8(191), R(0),
/* 1371 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1376 E> */ B(LdrNamedProperty), R(1), U8(0), U8(193), R(0),
/* 1385 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1390 E> */ B(LdrNamedProperty), R(1), U8(0), U8(195), R(0),
/* 1399 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1404 E> */ B(LdrNamedProperty), R(1), U8(0), U8(197), R(0),
/* 1413 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1418 E> */ B(LdrNamedProperty), R(1), U8(0), U8(199), R(0),
/* 1427 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1432 E> */ B(LdrNamedProperty), R(1), U8(0), U8(201), R(0),
/* 1441 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1446 E> */ B(LdrNamedProperty), R(1), U8(0), U8(203), R(0),
/* 1455 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1460 E> */ B(LdrNamedProperty), R(1), U8(0), U8(205), R(0),
/* 1469 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1474 E> */ B(LdrNamedProperty), R(1), U8(0), U8(207), R(0),
/* 1483 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1488 E> */ B(LdrNamedProperty), R(1), U8(0), U8(209), R(0),
/* 1497 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1502 E> */ B(LdrNamedProperty), R(1), U8(0), U8(211), R(0),
/* 1511 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1516 E> */ B(LdrNamedProperty), R(1), U8(0), U8(213), R(0),
/* 1525 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1530 E> */ B(LdrNamedProperty), R(1), U8(0), U8(215), R(0),
/* 1539 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1544 E> */ B(LdrNamedProperty), R(1), U8(0), U8(217), R(0),
/* 1553 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1558 E> */ B(LdrNamedProperty), R(1), U8(0), U8(219), R(0),
/* 1567 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1572 E> */ B(LdrNamedProperty), R(1), U8(0), U8(221), R(0),
/* 1581 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1586 E> */ B(LdrNamedProperty), R(1), U8(0), U8(223), R(0),
/* 1595 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1600 E> */ B(LdrNamedProperty), R(1), U8(0), U8(225), R(0),
/* 1609 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1614 E> */ B(LdrNamedProperty), R(1), U8(0), U8(227), R(0),
/* 1623 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1628 E> */ B(LdrNamedProperty), R(1), U8(0), U8(229), R(0),
/* 1637 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1642 E> */ B(LdrNamedProperty), R(1), U8(0), U8(231), R(0),
/* 1651 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1656 E> */ B(LdrNamedProperty), R(1), U8(0), U8(233), R(0),
/* 1665 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1670 E> */ B(LdrNamedProperty), R(1), U8(0), U8(235), R(0),
/* 1679 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1684 E> */ B(LdrNamedProperty), R(1), U8(0), U8(237), R(0),
/* 1693 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1698 E> */ B(LdrNamedProperty), R(1), U8(0), U8(239), R(0),
/* 1707 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1712 E> */ B(LdrNamedProperty), R(1), U8(0), U8(241), R(0),
/* 1721 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1726 E> */ B(LdrNamedProperty), R(1), U8(0), U8(243), R(0),
/* 1735 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1740 E> */ B(LdrNamedProperty), R(1), U8(0), U8(245), R(0),
/* 1749 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1754 E> */ B(LdrNamedProperty), R(1), U8(0), U8(247), R(0),
/* 1763 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1768 E> */ B(LdrNamedProperty), R(1), U8(0), U8(249), R(0),
/* 1777 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1782 E> */ B(LdrNamedProperty), R(1), U8(0), U8(251), R(0),
/* 1791 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1796 E> */ B(LdrNamedProperty), R(1), U8(0), U8(253), R(0),
/* 1805 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1810 E> */ B(LdrNamedProperty), R(1), U8(0), U8(255), R(0),
/* 1819 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1827 E> */ B(Wide), B(LdaNamedProperty), R16(1), U16(0), U16(257),
/* 27 S> */ B(Nop),
/* 32 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(1), R(0),
B(Ldar), R(0),
/* 41 S> */ B(Nop),
/* 46 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(3), R(0),
B(Ldar), R(0),
/* 55 S> */ B(Nop),
/* 60 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(5), R(0),
B(Ldar), R(0),
/* 69 S> */ B(Nop),
/* 74 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(7), R(0),
B(Ldar), R(0),
/* 83 S> */ B(Nop),
/* 88 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(9), R(0),
B(Ldar), R(0),
/* 97 S> */ B(Nop),
/* 102 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(11), R(0),
B(Ldar), R(0),
/* 111 S> */ B(Nop),
/* 116 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(13), R(0),
B(Ldar), R(0),
/* 125 S> */ B(Nop),
/* 130 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(15), R(0),
B(Ldar), R(0),
/* 139 S> */ B(Nop),
/* 144 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(17), R(0),
B(Ldar), R(0),
/* 153 S> */ B(Nop),
/* 158 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(19), R(0),
B(Ldar), R(0),
/* 167 S> */ B(Nop),
/* 172 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(21), R(0),
B(Ldar), R(0),
/* 181 S> */ B(Nop),
/* 186 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(23), R(0),
B(Ldar), R(0),
/* 195 S> */ B(Nop),
/* 200 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(25), R(0),
B(Ldar), R(0),
/* 209 S> */ B(Nop),
/* 214 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(27), R(0),
B(Ldar), R(0),
/* 223 S> */ B(Nop),
/* 228 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(29), R(0),
B(Ldar), R(0),
/* 237 S> */ B(Nop),
/* 242 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(31), R(0),
B(Ldar), R(0),
/* 251 S> */ B(Nop),
/* 256 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(33), R(0),
B(Ldar), R(0),
/* 265 S> */ B(Nop),
/* 270 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(35), R(0),
B(Ldar), R(0),
/* 279 S> */ B(Nop),
/* 284 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(37), R(0),
B(Ldar), R(0),
/* 293 S> */ B(Nop),
/* 298 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(39), R(0),
B(Ldar), R(0),
/* 307 S> */ B(Nop),
/* 312 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(41), R(0),
B(Ldar), R(0),
/* 321 S> */ B(Nop),
/* 326 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(43), R(0),
B(Ldar), R(0),
/* 335 S> */ B(Nop),
/* 340 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(45), R(0),
B(Ldar), R(0),
/* 349 S> */ B(Nop),
/* 354 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(47), R(0),
B(Ldar), R(0),
/* 363 S> */ B(Nop),
/* 368 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(49), R(0),
B(Ldar), R(0),
/* 377 S> */ B(Nop),
/* 382 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(51), R(0),
B(Ldar), R(0),
/* 391 S> */ B(Nop),
/* 396 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(53), R(0),
B(Ldar), R(0),
/* 405 S> */ B(Nop),
/* 410 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(55), R(0),
B(Ldar), R(0),
/* 419 S> */ B(Nop),
/* 424 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(57), R(0),
B(Ldar), R(0),
/* 433 S> */ B(Nop),
/* 438 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(59), R(0),
B(Ldar), R(0),
/* 447 S> */ B(Nop),
/* 452 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(61), R(0),
B(Ldar), R(0),
/* 461 S> */ B(Nop),
/* 466 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(63), R(0),
B(Ldar), R(0),
/* 475 S> */ B(Nop),
/* 480 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(65), R(0),
B(Ldar), R(0),
/* 489 S> */ B(Nop),
/* 494 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(67), R(0),
B(Ldar), R(0),
/* 503 S> */ B(Nop),
/* 508 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(69), R(0),
B(Ldar), R(0),
/* 517 S> */ B(Nop),
/* 522 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(71), R(0),
B(Ldar), R(0),
/* 531 S> */ B(Nop),
/* 536 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(73), R(0),
B(Ldar), R(0),
/* 545 S> */ B(Nop),
/* 550 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(75), R(0),
B(Ldar), R(0),
/* 559 S> */ B(Nop),
/* 564 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(77), R(0),
B(Ldar), R(0),
/* 573 S> */ B(Nop),
/* 578 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(79), R(0),
B(Ldar), R(0),
/* 587 S> */ B(Nop),
/* 592 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(81), R(0),
B(Ldar), R(0),
/* 601 S> */ B(Nop),
/* 606 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(83), R(0),
B(Ldar), R(0),
/* 615 S> */ B(Nop),
/* 620 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(85), R(0),
B(Ldar), R(0),
/* 629 S> */ B(Nop),
/* 634 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(87), R(0),
B(Ldar), R(0),
/* 643 S> */ B(Nop),
/* 648 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(89), R(0),
B(Ldar), R(0),
/* 657 S> */ B(Nop),
/* 662 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(91), R(0),
B(Ldar), R(0),
/* 671 S> */ B(Nop),
/* 676 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(93), R(0),
B(Ldar), R(0),
/* 685 S> */ B(Nop),
/* 690 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(95), R(0),
B(Ldar), R(0),
/* 699 S> */ B(Nop),
/* 704 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(97), R(0),
B(Ldar), R(0),
/* 713 S> */ B(Nop),
/* 718 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(99), R(0),
B(Ldar), R(0),
/* 727 S> */ B(Nop),
/* 732 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(101), R(0),
B(Ldar), R(0),
/* 741 S> */ B(Nop),
/* 746 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(103), R(0),
B(Ldar), R(0),
/* 755 S> */ B(Nop),
/* 760 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(105), R(0),
B(Ldar), R(0),
/* 769 S> */ B(Nop),
/* 774 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(107), R(0),
B(Ldar), R(0),
/* 783 S> */ B(Nop),
/* 788 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(109), R(0),
B(Ldar), R(0),
/* 797 S> */ B(Nop),
/* 802 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(111), R(0),
B(Ldar), R(0),
/* 811 S> */ B(Nop),
/* 816 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(113), R(0),
B(Ldar), R(0),
/* 825 S> */ B(Nop),
/* 830 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(115), R(0),
B(Ldar), R(0),
/* 839 S> */ B(Nop),
/* 844 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(117), R(0),
B(Ldar), R(0),
/* 853 S> */ B(Nop),
/* 858 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(119), R(0),
B(Ldar), R(0),
/* 867 S> */ B(Nop),
/* 872 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(121), R(0),
B(Ldar), R(0),
/* 881 S> */ B(Nop),
/* 886 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(123), R(0),
B(Ldar), R(0),
/* 895 S> */ B(Nop),
/* 900 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(125), R(0),
B(Ldar), R(0),
/* 909 S> */ B(Nop),
/* 914 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(127), R(0),
B(Ldar), R(0),
/* 923 S> */ B(Nop),
/* 928 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(129), R(0),
B(Ldar), R(0),
/* 937 S> */ B(Nop),
/* 942 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(131), R(0),
B(Ldar), R(0),
/* 951 S> */ B(Nop),
/* 956 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(133), R(0),
B(Ldar), R(0),
/* 965 S> */ B(Nop),
/* 970 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(135), R(0),
B(Ldar), R(0),
/* 979 S> */ B(Nop),
/* 984 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(137), R(0),
B(Ldar), R(0),
/* 993 S> */ B(Nop),
/* 998 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(139), R(0),
B(Ldar), R(0),
/* 1007 S> */ B(Nop),
/* 1012 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(141), R(0),
B(Ldar), R(0),
/* 1021 S> */ B(Nop),
/* 1026 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(143), R(0),
B(Ldar), R(0),
/* 1035 S> */ B(Nop),
/* 1040 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(145), R(0),
B(Ldar), R(0),
/* 1049 S> */ B(Nop),
/* 1054 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(147), R(0),
B(Ldar), R(0),
/* 1063 S> */ B(Nop),
/* 1068 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(149), R(0),
B(Ldar), R(0),
/* 1077 S> */ B(Nop),
/* 1082 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(151), R(0),
B(Ldar), R(0),
/* 1091 S> */ B(Nop),
/* 1096 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(153), R(0),
B(Ldar), R(0),
/* 1105 S> */ B(Nop),
/* 1110 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(155), R(0),
B(Ldar), R(0),
/* 1119 S> */ B(Nop),
/* 1124 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(157), R(0),
B(Ldar), R(0),
/* 1133 S> */ B(Nop),
/* 1138 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(159), R(0),
B(Ldar), R(0),
/* 1147 S> */ B(Nop),
/* 1152 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(161), R(0),
B(Ldar), R(0),
/* 1161 S> */ B(Nop),
/* 1166 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(163), R(0),
B(Ldar), R(0),
/* 1175 S> */ B(Nop),
/* 1180 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(165), R(0),
B(Ldar), R(0),
/* 1189 S> */ B(Nop),
/* 1194 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(167), R(0),
B(Ldar), R(0),
/* 1203 S> */ B(Nop),
/* 1208 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(169), R(0),
B(Ldar), R(0),
/* 1217 S> */ B(Nop),
/* 1222 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(171), R(0),
B(Ldar), R(0),
/* 1231 S> */ B(Nop),
/* 1236 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(173), R(0),
B(Ldar), R(0),
/* 1245 S> */ B(Nop),
/* 1250 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(175), R(0),
B(Ldar), R(0),
/* 1259 S> */ B(Nop),
/* 1264 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(177), R(0),
B(Ldar), R(0),
/* 1273 S> */ B(Nop),
/* 1278 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(179), R(0),
B(Ldar), R(0),
/* 1287 S> */ B(Nop),
/* 1292 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(181), R(0),
B(Ldar), R(0),
/* 1301 S> */ B(Nop),
/* 1306 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(183), R(0),
B(Ldar), R(0),
/* 1315 S> */ B(Nop),
/* 1320 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(185), R(0),
B(Ldar), R(0),
/* 1329 S> */ B(Nop),
/* 1334 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(187), R(0),
B(Ldar), R(0),
/* 1343 S> */ B(Nop),
/* 1348 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(189), R(0),
B(Ldar), R(0),
/* 1357 S> */ B(Nop),
/* 1362 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(191), R(0),
B(Ldar), R(0),
/* 1371 S> */ B(Nop),
/* 1376 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(193), R(0),
B(Ldar), R(0),
/* 1385 S> */ B(Nop),
/* 1390 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(195), R(0),
B(Ldar), R(0),
/* 1399 S> */ B(Nop),
/* 1404 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(197), R(0),
B(Ldar), R(0),
/* 1413 S> */ B(Nop),
/* 1418 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(199), R(0),
B(Ldar), R(0),
/* 1427 S> */ B(Nop),
/* 1432 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(201), R(0),
B(Ldar), R(0),
/* 1441 S> */ B(Nop),
/* 1446 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(203), R(0),
B(Ldar), R(0),
/* 1455 S> */ B(Nop),
/* 1460 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(205), R(0),
B(Ldar), R(0),
/* 1469 S> */ B(Nop),
/* 1474 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(207), R(0),
B(Ldar), R(0),
/* 1483 S> */ B(Nop),
/* 1488 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(209), R(0),
B(Ldar), R(0),
/* 1497 S> */ B(Nop),
/* 1502 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(211), R(0),
B(Ldar), R(0),
/* 1511 S> */ B(Nop),
/* 1516 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(213), R(0),
B(Ldar), R(0),
/* 1525 S> */ B(Nop),
/* 1530 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(215), R(0),
B(Ldar), R(0),
/* 1539 S> */ B(Nop),
/* 1544 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(217), R(0),
B(Ldar), R(0),
/* 1553 S> */ B(Nop),
/* 1558 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(219), R(0),
B(Ldar), R(0),
/* 1567 S> */ B(Nop),
/* 1572 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(221), R(0),
B(Ldar), R(0),
/* 1581 S> */ B(Nop),
/* 1586 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(223), R(0),
B(Ldar), R(0),
/* 1595 S> */ B(Nop),
/* 1600 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(225), R(0),
B(Ldar), R(0),
/* 1609 S> */ B(Nop),
/* 1614 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(227), R(0),
B(Ldar), R(0),
/* 1623 S> */ B(Nop),
/* 1628 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(229), R(0),
B(Ldar), R(0),
/* 1637 S> */ B(Nop),
/* 1642 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(231), R(0),
B(Ldar), R(0),
/* 1651 S> */ B(Nop),
/* 1656 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(233), R(0),
B(Ldar), R(0),
/* 1665 S> */ B(Nop),
/* 1670 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(235), R(0),
B(Ldar), R(0),
/* 1679 S> */ B(Nop),
/* 1684 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(237), R(0),
B(Ldar), R(0),
/* 1693 S> */ B(Nop),
/* 1698 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(239), R(0),
B(Ldar), R(0),
/* 1707 S> */ B(Nop),
/* 1712 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(241), R(0),
B(Ldar), R(0),
/* 1721 S> */ B(Nop),
/* 1726 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(243), R(0),
B(Ldar), R(0),
/* 1735 S> */ B(Nop),
/* 1740 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(245), R(0),
B(Ldar), R(0),
/* 1749 S> */ B(Nop),
/* 1754 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(247), R(0),
B(Ldar), R(0),
/* 1763 S> */ B(Nop),
/* 1768 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(249), R(0),
B(Ldar), R(0),
/* 1777 S> */ B(Nop),
/* 1782 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(251), R(0),
B(Ldar), R(0),
/* 1791 S> */ B(Nop),
/* 1796 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(253), R(0),
B(Ldar), R(0),
/* 1805 S> */ B(Nop),
/* 1810 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(255), R(0),
B(Ldar), R(0),
/* 1819 S> */ B(Nop),
/* 1827 E> */ B(Wide), B(LdaNamedProperty), R16(arg0), U16(0), U16(257),
/* 1834 S> */ B(Return),
]
constant pool: [
......@@ -789,527 +783,526 @@ snippet: "
}
f({name : \"test\"}, \"name\")
"
frame size: 2
frame size: 1
parameter count: 3
bytecode array length: 1294
bytecode array length: 1163
bytecodes: [
/* 10 E> */ B(StackCheck),
/* 30 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 30 S> */ B(Nop),
/* 35 E> */ B(Ldar), R(arg1),
/* 32 E> */ B(LdrKeyedProperty), R(1), U8(1), R(0),
/* 42 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 32 E> */ B(LdrKeyedProperty), R(arg0), U8(1), R(0),
B(Ldar), R(0),
/* 42 S> */ B(Nop),
/* 47 E> */ B(Ldar), R(arg1),
/* 44 E> */ B(LdrKeyedProperty), R(1), U8(3), R(0),
/* 54 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 44 E> */ B(LdrKeyedProperty), R(arg0), U8(3), R(0),
B(Ldar), R(0),
/* 54 S> */ B(Nop),
/* 59 E> */ B(Ldar), R(arg1),
/* 56 E> */ B(LdrKeyedProperty), R(1), U8(5), R(0),
/* 66 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 56 E> */ B(LdrKeyedProperty), R(arg0), U8(5), R(0),
B(Ldar), R(0),
/* 66 S> */ B(Nop),
/* 71 E> */ B(Ldar), R(arg1),
/* 68 E> */ B(LdrKeyedProperty), R(1), U8(7), R(0),
/* 78 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 68 E> */ B(LdrKeyedProperty), R(arg0), U8(7), R(0),
B(Ldar), R(0),
/* 78 S> */ B(Nop),
/* 83 E> */ B(Ldar), R(arg1),
/* 80 E> */ B(LdrKeyedProperty), R(1), U8(9), R(0),
/* 90 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 80 E> */ B(LdrKeyedProperty), R(arg0), U8(9), R(0),
B(Ldar), R(0),
/* 90 S> */ B(Nop),
/* 95 E> */ B(Ldar), R(arg1),
/* 92 E> */ B(LdrKeyedProperty), R(1), U8(11), R(0),
/* 102 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 92 E> */ B(LdrKeyedProperty), R(arg0), U8(11), R(0),
B(Ldar), R(0),
/* 102 S> */ B(Nop),
/* 107 E> */ B(Ldar), R(arg1),
/* 104 E> */ B(LdrKeyedProperty), R(1), U8(13), R(0),
/* 114 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 104 E> */ B(LdrKeyedProperty), R(arg0), U8(13), R(0),
B(Ldar), R(0),
/* 114 S> */ B(Nop),
/* 119 E> */ B(Ldar), R(arg1),
/* 116 E> */ B(LdrKeyedProperty), R(1), U8(15), R(0),
/* 126 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 116 E> */ B(LdrKeyedProperty), R(arg0), U8(15), R(0),
B(Ldar), R(0),
/* 126 S> */ B(Nop),
/* 131 E> */ B(Ldar), R(arg1),
/* 128 E> */ B(LdrKeyedProperty), R(1), U8(17), R(0),
/* 138 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 128 E> */ B(LdrKeyedProperty), R(arg0), U8(17), R(0),
B(Ldar), R(0),
/* 138 S> */ B(Nop),
/* 143 E> */ B(Ldar), R(arg1),
/* 140 E> */ B(LdrKeyedProperty), R(1), U8(19), R(0),
/* 150 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 140 E> */ B(LdrKeyedProperty), R(arg0), U8(19), R(0),
B(Ldar), R(0),
/* 150 S> */ B(Nop),
/* 155 E> */ B(Ldar), R(arg1),
/* 152 E> */ B(LdrKeyedProperty), R(1), U8(21), R(0),
/* 162 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 152 E> */ B(LdrKeyedProperty), R(arg0), U8(21), R(0),
B(Ldar), R(0),
/* 162 S> */ B(Nop),
/* 167 E> */ B(Ldar), R(arg1),
/* 164 E> */ B(LdrKeyedProperty), R(1), U8(23), R(0),
/* 174 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 164 E> */ B(LdrKeyedProperty), R(arg0), U8(23), R(0),
B(Ldar), R(0),
/* 174 S> */ B(Nop),
/* 179 E> */ B(Ldar), R(arg1),
/* 176 E> */ B(LdrKeyedProperty), R(1), U8(25), R(0),
/* 186 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 176 E> */ B(LdrKeyedProperty), R(arg0), U8(25), R(0),
B(Ldar), R(0),
/* 186 S> */ B(Nop),
/* 191 E> */ B(Ldar), R(arg1),
/* 188 E> */ B(LdrKeyedProperty), R(1), U8(27), R(0),
/* 198 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 188 E> */ B(LdrKeyedProperty), R(arg0), U8(27), R(0),
B(Ldar), R(0),
/* 198 S> */ B(Nop),
/* 203 E> */ B(Ldar), R(arg1),
/* 200 E> */ B(LdrKeyedProperty), R(1), U8(29), R(0),
/* 210 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 200 E> */ B(LdrKeyedProperty), R(arg0), U8(29), R(0),
B(Ldar), R(0),
/* 210 S> */ B(Nop),
/* 215 E> */ B(Ldar), R(arg1),
/* 212 E> */ B(LdrKeyedProperty), R(1), U8(31), R(0),
/* 222 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 212 E> */ B(LdrKeyedProperty), R(arg0), U8(31), R(0),
B(Ldar), R(0),
/* 222 S> */ B(Nop),
/* 227 E> */ B(Ldar), R(arg1),
/* 224 E> */ B(LdrKeyedProperty), R(1), U8(33), R(0),
/* 234 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 224 E> */ B(LdrKeyedProperty), R(arg0), U8(33), R(0),
B(Ldar), R(0),
/* 234 S> */ B(Nop),
/* 239 E> */ B(Ldar), R(arg1),
/* 236 E> */ B(LdrKeyedProperty), R(1), U8(35), R(0),
/* 246 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 236 E> */ B(LdrKeyedProperty), R(arg0), U8(35), R(0),
B(Ldar), R(0),
/* 246 S> */ B(Nop),
/* 251 E> */ B(Ldar), R(arg1),
/* 248 E> */ B(LdrKeyedProperty), R(1), U8(37), R(0),
/* 258 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 248 E> */ B(LdrKeyedProperty), R(arg0), U8(37), R(0),
B(Ldar), R(0),
/* 258 S> */ B(Nop),
/* 263 E> */ B(Ldar), R(arg1),
/* 260 E> */ B(LdrKeyedProperty), R(1), U8(39), R(0),
/* 270 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 260 E> */ B(LdrKeyedProperty), R(arg0), U8(39), R(0),
B(Ldar), R(0),
/* 270 S> */ B(Nop),
/* 275 E> */ B(Ldar), R(arg1),
/* 272 E> */ B(LdrKeyedProperty), R(1), U8(41), R(0),
/* 282 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 272 E> */ B(LdrKeyedProperty), R(arg0), U8(41), R(0),
B(Ldar), R(0),
/* 282 S> */ B(Nop),
/* 287 E> */ B(Ldar), R(arg1),
/* 284 E> */ B(LdrKeyedProperty), R(1), U8(43), R(0),
/* 294 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 284 E> */ B(LdrKeyedProperty), R(arg0), U8(43), R(0),
B(Ldar), R(0),
/* 294 S> */ B(Nop),
/* 299 E> */ B(Ldar), R(arg1),
/* 296 E> */ B(LdrKeyedProperty), R(1), U8(45), R(0),
/* 306 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 296 E> */ B(LdrKeyedProperty), R(arg0), U8(45), R(0),
B(Ldar), R(0),
/* 306 S> */ B(Nop),
/* 311 E> */ B(Ldar), R(arg1),
/* 308 E> */ B(LdrKeyedProperty), R(1), U8(47), R(0),
/* 318 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 308 E> */ B(LdrKeyedProperty), R(arg0), U8(47), R(0),
B(Ldar), R(0),
/* 318 S> */ B(Nop),
/* 323 E> */ B(Ldar), R(arg1),
/* 320 E> */ B(LdrKeyedProperty), R(1), U8(49), R(0),
/* 330 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 320 E> */ B(LdrKeyedProperty), R(arg0), U8(49), R(0),
B(Ldar), R(0),
/* 330 S> */ B(Nop),
/* 335 E> */ B(Ldar), R(arg1),
/* 332 E> */ B(LdrKeyedProperty), R(1), U8(51), R(0),
/* 342 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 332 E> */ B(LdrKeyedProperty), R(arg0), U8(51), R(0),
B(Ldar), R(0),
/* 342 S> */ B(Nop),
/* 347 E> */ B(Ldar), R(arg1),
/* 344 E> */ B(LdrKeyedProperty), R(1), U8(53), R(0),
/* 354 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 344 E> */ B(LdrKeyedProperty), R(arg0), U8(53), R(0),
B(Ldar), R(0),
/* 354 S> */ B(Nop),
/* 359 E> */ B(Ldar), R(arg1),
/* 356 E> */ B(LdrKeyedProperty), R(1), U8(55), R(0),
/* 366 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 356 E> */ B(LdrKeyedProperty), R(arg0), U8(55), R(0),
B(Ldar), R(0),
/* 366 S> */ B(Nop),
/* 371 E> */ B(Ldar), R(arg1),
/* 368 E> */ B(LdrKeyedProperty), R(1), U8(57), R(0),
/* 378 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 368 E> */ B(LdrKeyedProperty), R(arg0), U8(57), R(0),
B(Ldar), R(0),
/* 378 S> */ B(Nop),
/* 383 E> */ B(Ldar), R(arg1),
/* 380 E> */ B(LdrKeyedProperty), R(1), U8(59), R(0),
/* 390 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 380 E> */ B(LdrKeyedProperty), R(arg0), U8(59), R(0),
B(Ldar), R(0),
/* 390 S> */ B(Nop),
/* 395 E> */ B(Ldar), R(arg1),
/* 392 E> */ B(LdrKeyedProperty), R(1), U8(61), R(0),
/* 402 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 392 E> */ B(LdrKeyedProperty), R(arg0), U8(61), R(0),
B(Ldar), R(0),
/* 402 S> */ B(Nop),
/* 407 E> */ B(Ldar), R(arg1),
/* 404 E> */ B(LdrKeyedProperty), R(1), U8(63), R(0),
/* 414 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 404 E> */ B(LdrKeyedProperty), R(arg0), U8(63), R(0),
B(Ldar), R(0),
/* 414 S> */ B(Nop),
/* 419 E> */ B(Ldar), R(arg1),
/* 416 E> */ B(LdrKeyedProperty), R(1), U8(65), R(0),
/* 426 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 416 E> */ B(LdrKeyedProperty), R(arg0), U8(65), R(0),
B(Ldar), R(0),
/* 426 S> */ B(Nop),
/* 431 E> */ B(Ldar), R(arg1),
/* 428 E> */ B(LdrKeyedProperty), R(1), U8(67), R(0),
/* 438 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 428 E> */ B(LdrKeyedProperty), R(arg0), U8(67), R(0),
B(Ldar), R(0),
/* 438 S> */ B(Nop),
/* 443 E> */ B(Ldar), R(arg1),
/* 440 E> */ B(LdrKeyedProperty), R(1), U8(69), R(0),
/* 450 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 440 E> */ B(LdrKeyedProperty), R(arg0), U8(69), R(0),
B(Ldar), R(0),
/* 450 S> */ B(Nop),
/* 455 E> */ B(Ldar), R(arg1),
/* 452 E> */ B(LdrKeyedProperty), R(1), U8(71), R(0),
/* 462 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 452 E> */ B(LdrKeyedProperty), R(arg0), U8(71), R(0),
B(Ldar), R(0),
/* 462 S> */ B(Nop),
/* 467 E> */ B(Ldar), R(arg1),
/* 464 E> */ B(LdrKeyedProperty), R(1), U8(73), R(0),
/* 474 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 464 E> */ B(LdrKeyedProperty), R(arg0), U8(73), R(0),
B(Ldar), R(0),
/* 474 S> */ B(Nop),
/* 479 E> */ B(Ldar), R(arg1),
/* 476 E> */ B(LdrKeyedProperty), R(1), U8(75), R(0),
/* 486 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 476 E> */ B(LdrKeyedProperty), R(arg0), U8(75), R(0),
B(Ldar), R(0),
/* 486 S> */ B(Nop),
/* 491 E> */ B(Ldar), R(arg1),
/* 488 E> */ B(LdrKeyedProperty), R(1), U8(77), R(0),
/* 498 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 488 E> */ B(LdrKeyedProperty), R(arg0), U8(77), R(0),
B(Ldar), R(0),
/* 498 S> */ B(Nop),
/* 503 E> */ B(Ldar), R(arg1),
/* 500 E> */ B(LdrKeyedProperty), R(1), U8(79), R(0),
/* 510 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 500 E> */ B(LdrKeyedProperty), R(arg0), U8(79), R(0),
B(Ldar), R(0),
/* 510 S> */ B(Nop),
/* 515 E> */ B(Ldar), R(arg1),
/* 512 E> */ B(LdrKeyedProperty), R(1), U8(81), R(0),
/* 522 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 512 E> */ B(LdrKeyedProperty), R(arg0), U8(81), R(0),
B(Ldar), R(0),
/* 522 S> */ B(Nop),
/* 527 E> */ B(Ldar), R(arg1),
/* 524 E> */ B(LdrKeyedProperty), R(1), U8(83), R(0),
/* 534 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 524 E> */ B(LdrKeyedProperty), R(arg0), U8(83), R(0),
B(Ldar), R(0),
/* 534 S> */ B(Nop),
/* 539 E> */ B(Ldar), R(arg1),
/* 536 E> */ B(LdrKeyedProperty), R(1), U8(85), R(0),
/* 546 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 536 E> */ B(LdrKeyedProperty), R(arg0), U8(85), R(0),
B(Ldar), R(0),
/* 546 S> */ B(Nop),
/* 551 E> */ B(Ldar), R(arg1),
/* 548 E> */ B(LdrKeyedProperty), R(1), U8(87), R(0),
/* 558 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 548 E> */ B(LdrKeyedProperty), R(arg0), U8(87), R(0),
B(Ldar), R(0),
/* 558 S> */ B(Nop),
/* 563 E> */ B(Ldar), R(arg1),
/* 560 E> */ B(LdrKeyedProperty), R(1), U8(89), R(0),
/* 570 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 560 E> */ B(LdrKeyedProperty), R(arg0), U8(89), R(0),
B(Ldar), R(0),
/* 570 S> */ B(Nop),
/* 575 E> */ B(Ldar), R(arg1),
/* 572 E> */ B(LdrKeyedProperty), R(1), U8(91), R(0),
/* 582 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 572 E> */ B(LdrKeyedProperty), R(arg0), U8(91), R(0),
B(Ldar), R(0),
/* 582 S> */ B(Nop),
/* 587 E> */ B(Ldar), R(arg1),
/* 584 E> */ B(LdrKeyedProperty), R(1), U8(93), R(0),
/* 594 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 584 E> */ B(LdrKeyedProperty), R(arg0), U8(93), R(0),
B(Ldar), R(0),
/* 594 S> */ B(Nop),
/* 599 E> */ B(Ldar), R(arg1),
/* 596 E> */ B(LdrKeyedProperty), R(1), U8(95), R(0),
/* 606 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 596 E> */ B(LdrKeyedProperty), R(arg0), U8(95), R(0),
B(Ldar), R(0),
/* 606 S> */ B(Nop),
/* 611 E> */ B(Ldar), R(arg1),
/* 608 E> */ B(LdrKeyedProperty), R(1), U8(97), R(0),
/* 618 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 608 E> */ B(LdrKeyedProperty), R(arg0), U8(97), R(0),
B(Ldar), R(0),
/* 618 S> */ B(Nop),
/* 623 E> */ B(Ldar), R(arg1),
/* 620 E> */ B(LdrKeyedProperty), R(1), U8(99), R(0),
/* 630 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 620 E> */ B(LdrKeyedProperty), R(arg0), U8(99), R(0),
B(Ldar), R(0),
/* 630 S> */ B(Nop),
/* 635 E> */ B(Ldar), R(arg1),
/* 632 E> */ B(LdrKeyedProperty), R(1), U8(101), R(0),
/* 642 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 632 E> */ B(LdrKeyedProperty), R(arg0), U8(101), R(0),
B(Ldar), R(0),
/* 642 S> */ B(Nop),
/* 647 E> */ B(Ldar), R(arg1),
/* 644 E> */ B(LdrKeyedProperty), R(1), U8(103), R(0),
/* 654 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 644 E> */ B(LdrKeyedProperty), R(arg0), U8(103), R(0),
B(Ldar), R(0),
/* 654 S> */ B(Nop),
/* 659 E> */ B(Ldar), R(arg1),
/* 656 E> */ B(LdrKeyedProperty), R(1), U8(105), R(0),
/* 666 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 656 E> */ B(LdrKeyedProperty), R(arg0), U8(105), R(0),
B(Ldar), R(0),
/* 666 S> */ B(Nop),
/* 671 E> */ B(Ldar), R(arg1),
/* 668 E> */ B(LdrKeyedProperty), R(1), U8(107), R(0),
/* 678 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 668 E> */ B(LdrKeyedProperty), R(arg0), U8(107), R(0),
B(Ldar), R(0),
/* 678 S> */ B(Nop),
/* 683 E> */ B(Ldar), R(arg1),
/* 680 E> */ B(LdrKeyedProperty), R(1), U8(109), R(0),
/* 690 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 680 E> */ B(LdrKeyedProperty), R(arg0), U8(109), R(0),
B(Ldar), R(0),
/* 690 S> */ B(Nop),
/* 695 E> */ B(Ldar), R(arg1),
/* 692 E> */ B(LdrKeyedProperty), R(1), U8(111), R(0),
/* 702 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 692 E> */ B(LdrKeyedProperty), R(arg0), U8(111), R(0),
B(Ldar), R(0),
/* 702 S> */ B(Nop),
/* 707 E> */ B(Ldar), R(arg1),
/* 704 E> */ B(LdrKeyedProperty), R(1), U8(113), R(0),
/* 714 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 704 E> */ B(LdrKeyedProperty), R(arg0), U8(113), R(0),
B(Ldar), R(0),
/* 714 S> */ B(Nop),
/* 719 E> */ B(Ldar), R(arg1),
/* 716 E> */ B(LdrKeyedProperty), R(1), U8(115), R(0),
/* 726 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 716 E> */ B(LdrKeyedProperty), R(arg0), U8(115), R(0),
B(Ldar), R(0),
/* 726 S> */ B(Nop),
/* 731 E> */ B(Ldar), R(arg1),
/* 728 E> */ B(LdrKeyedProperty), R(1), U8(117), R(0),
/* 738 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 728 E> */ B(LdrKeyedProperty), R(arg0), U8(117), R(0),
B(Ldar), R(0),
/* 738 S> */ B(Nop),
/* 743 E> */ B(Ldar), R(arg1),
/* 740 E> */ B(LdrKeyedProperty), R(1), U8(119), R(0),
/* 750 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 740 E> */ B(LdrKeyedProperty), R(arg0), U8(119), R(0),
B(Ldar), R(0),
/* 750 S> */ B(Nop),
/* 755 E> */ B(Ldar), R(arg1),
/* 752 E> */ B(LdrKeyedProperty), R(1), U8(121), R(0),
/* 762 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 752 E> */ B(LdrKeyedProperty), R(arg0), U8(121), R(0),
B(Ldar), R(0),
/* 762 S> */ B(Nop),
/* 767 E> */ B(Ldar), R(arg1),
/* 764 E> */ B(LdrKeyedProperty), R(1), U8(123), R(0),
/* 774 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 764 E> */ B(LdrKeyedProperty), R(arg0), U8(123), R(0),
B(Ldar), R(0),
/* 774 S> */ B(Nop),
/* 779 E> */ B(Ldar), R(arg1),
/* 776 E> */ B(LdrKeyedProperty), R(1), U8(125), R(0),
/* 786 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 776 E> */ B(LdrKeyedProperty), R(arg0), U8(125), R(0),
B(Ldar), R(0),
/* 786 S> */ B(Nop),
/* 791 E> */ B(Ldar), R(arg1),
/* 788 E> */ B(LdrKeyedProperty), R(1), U8(127), R(0),
/* 798 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 788 E> */ B(LdrKeyedProperty), R(arg0), U8(127), R(0),
B(Ldar), R(0),
/* 798 S> */ B(Nop),
/* 803 E> */ B(Ldar), R(arg1),
/* 800 E> */ B(LdrKeyedProperty), R(1), U8(129), R(0),
/* 810 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 800 E> */ B(LdrKeyedProperty), R(arg0), U8(129), R(0),
B(Ldar), R(0),
/* 810 S> */ B(Nop),
/* 815 E> */ B(Ldar), R(arg1),
/* 812 E> */ B(LdrKeyedProperty), R(1), U8(131), R(0),
/* 822 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 812 E> */ B(LdrKeyedProperty), R(arg0), U8(131), R(0),
B(Ldar), R(0),
/* 822 S> */ B(Nop),
/* 827 E> */ B(Ldar), R(arg1),
/* 824 E> */ B(LdrKeyedProperty), R(1), U8(133), R(0),
/* 834 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 824 E> */ B(LdrKeyedProperty), R(arg0), U8(133), R(0),
B(Ldar), R(0),
/* 834 S> */ B(Nop),
/* 839 E> */ B(Ldar), R(arg1),
/* 836 E> */ B(LdrKeyedProperty), R(1), U8(135), R(0),
/* 846 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 836 E> */ B(LdrKeyedProperty), R(arg0), U8(135), R(0),
B(Ldar), R(0),
/* 846 S> */ B(Nop),
/* 851 E> */ B(Ldar), R(arg1),
/* 848 E> */ B(LdrKeyedProperty), R(1), U8(137), R(0),
/* 858 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 848 E> */ B(LdrKeyedProperty), R(arg0), U8(137), R(0),
B(Ldar), R(0),
/* 858 S> */ B(Nop),
/* 863 E> */ B(Ldar), R(arg1),
/* 860 E> */ B(LdrKeyedProperty), R(1), U8(139), R(0),
/* 870 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 860 E> */ B(LdrKeyedProperty), R(arg0), U8(139), R(0),
B(Ldar), R(0),
/* 870 S> */ B(Nop),
/* 875 E> */ B(Ldar), R(arg1),
/* 872 E> */ B(LdrKeyedProperty), R(1), U8(141), R(0),
/* 882 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 872 E> */ B(LdrKeyedProperty), R(arg0), U8(141), R(0),
B(Ldar), R(0),
/* 882 S> */ B(Nop),
/* 887 E> */ B(Ldar), R(arg1),
/* 884 E> */ B(LdrKeyedProperty), R(1), U8(143), R(0),
/* 894 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 884 E> */ B(LdrKeyedProperty), R(arg0), U8(143), R(0),
B(Ldar), R(0),
/* 894 S> */ B(Nop),
/* 899 E> */ B(Ldar), R(arg1),
/* 896 E> */ B(LdrKeyedProperty), R(1), U8(145), R(0),
/* 906 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 896 E> */ B(LdrKeyedProperty), R(arg0), U8(145), R(0),
B(Ldar), R(0),
/* 906 S> */ B(Nop),
/* 911 E> */ B(Ldar), R(arg1),
/* 908 E> */ B(LdrKeyedProperty), R(1), U8(147), R(0),
/* 918 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 908 E> */ B(LdrKeyedProperty), R(arg0), U8(147), R(0),
B(Ldar), R(0),
/* 918 S> */ B(Nop),
/* 923 E> */ B(Ldar), R(arg1),
/* 920 E> */ B(LdrKeyedProperty), R(1), U8(149), R(0),
/* 930 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 920 E> */ B(LdrKeyedProperty), R(arg0), U8(149), R(0),
B(Ldar), R(0),
/* 930 S> */ B(Nop),
/* 935 E> */ B(Ldar), R(arg1),
/* 932 E> */ B(LdrKeyedProperty), R(1), U8(151), R(0),
/* 942 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 932 E> */ B(LdrKeyedProperty), R(arg0), U8(151), R(0),
B(Ldar), R(0),
/* 942 S> */ B(Nop),
/* 947 E> */ B(Ldar), R(arg1),
/* 944 E> */ B(LdrKeyedProperty), R(1), U8(153), R(0),
/* 954 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 944 E> */ B(LdrKeyedProperty), R(arg0), U8(153), R(0),
B(Ldar), R(0),
/* 954 S> */ B(Nop),
/* 959 E> */ B(Ldar), R(arg1),
/* 956 E> */ B(LdrKeyedProperty), R(1), U8(155), R(0),
/* 966 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 956 E> */ B(LdrKeyedProperty), R(arg0), U8(155), R(0),
B(Ldar), R(0),
/* 966 S> */ B(Nop),
/* 971 E> */ B(Ldar), R(arg1),
/* 968 E> */ B(LdrKeyedProperty), R(1), U8(157), R(0),
/* 978 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 968 E> */ B(LdrKeyedProperty), R(arg0), U8(157), R(0),
B(Ldar), R(0),
/* 978 S> */ B(Nop),
/* 983 E> */ B(Ldar), R(arg1),
/* 980 E> */ B(LdrKeyedProperty), R(1), U8(159), R(0),
/* 990 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 980 E> */ B(LdrKeyedProperty), R(arg0), U8(159), R(0),
B(Ldar), R(0),
/* 990 S> */ B(Nop),
/* 995 E> */ B(Ldar), R(arg1),
/* 992 E> */ B(LdrKeyedProperty), R(1), U8(161), R(0),
/* 1002 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 992 E> */ B(LdrKeyedProperty), R(arg0), U8(161), R(0),
B(Ldar), R(0),
/* 1002 S> */ B(Nop),
/* 1007 E> */ B(Ldar), R(arg1),
/* 1004 E> */ B(LdrKeyedProperty), R(1), U8(163), R(0),
/* 1014 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1004 E> */ B(LdrKeyedProperty), R(arg0), U8(163), R(0),
B(Ldar), R(0),
/* 1014 S> */ B(Nop),
/* 1019 E> */ B(Ldar), R(arg1),
/* 1016 E> */ B(LdrKeyedProperty), R(1), U8(165), R(0),
/* 1026 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1016 E> */ B(LdrKeyedProperty), R(arg0), U8(165), R(0),
B(Ldar), R(0),
/* 1026 S> */ B(Nop),
/* 1031 E> */ B(Ldar), R(arg1),
/* 1028 E> */ B(LdrKeyedProperty), R(1), U8(167), R(0),
/* 1038 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1028 E> */ B(LdrKeyedProperty), R(arg0), U8(167), R(0),
B(Ldar), R(0),
/* 1038 S> */ B(Nop),
/* 1043 E> */ B(Ldar), R(arg1),
/* 1040 E> */ B(LdrKeyedProperty), R(1), U8(169), R(0),
/* 1050 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1040 E> */ B(LdrKeyedProperty), R(arg0), U8(169), R(0),
B(Ldar), R(0),
/* 1050 S> */ B(Nop),
/* 1055 E> */ B(Ldar), R(arg1),
/* 1052 E> */ B(LdrKeyedProperty), R(1), U8(171), R(0),
/* 1062 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1052 E> */ B(LdrKeyedProperty), R(arg0), U8(171), R(0),
B(Ldar), R(0),
/* 1062 S> */ B(Nop),
/* 1067 E> */ B(Ldar), R(arg1),
/* 1064 E> */ B(LdrKeyedProperty), R(1), U8(173), R(0),
/* 1074 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1064 E> */ B(LdrKeyedProperty), R(arg0), U8(173), R(0),
B(Ldar), R(0),
/* 1074 S> */ B(Nop),
/* 1079 E> */ B(Ldar), R(arg1),
/* 1076 E> */ B(LdrKeyedProperty), R(1), U8(175), R(0),
/* 1086 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1076 E> */ B(LdrKeyedProperty), R(arg0), U8(175), R(0),
B(Ldar), R(0),
/* 1086 S> */ B(Nop),
/* 1091 E> */ B(Ldar), R(arg1),
/* 1088 E> */ B(LdrKeyedProperty), R(1), U8(177), R(0),
/* 1098 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1088 E> */ B(LdrKeyedProperty), R(arg0), U8(177), R(0),
B(Ldar), R(0),
/* 1098 S> */ B(Nop),
/* 1103 E> */ B(Ldar), R(arg1),
/* 1100 E> */ B(LdrKeyedProperty), R(1), U8(179), R(0),
/* 1110 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1100 E> */ B(LdrKeyedProperty), R(arg0), U8(179), R(0),
B(Ldar), R(0),
/* 1110 S> */ B(Nop),
/* 1115 E> */ B(Ldar), R(arg1),
/* 1112 E> */ B(LdrKeyedProperty), R(1), U8(181), R(0),
/* 1122 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1112 E> */ B(LdrKeyedProperty), R(arg0), U8(181), R(0),
B(Ldar), R(0),
/* 1122 S> */ B(Nop),
/* 1127 E> */ B(Ldar), R(arg1),
/* 1124 E> */ B(LdrKeyedProperty), R(1), U8(183), R(0),
/* 1134 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1124 E> */ B(LdrKeyedProperty), R(arg0), U8(183), R(0),
B(Ldar), R(0),
/* 1134 S> */ B(Nop),
/* 1139 E> */ B(Ldar), R(arg1),
/* 1136 E> */ B(LdrKeyedProperty), R(1), U8(185), R(0),
/* 1146 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1136 E> */ B(LdrKeyedProperty), R(arg0), U8(185), R(0),
B(Ldar), R(0),
/* 1146 S> */ B(Nop),
/* 1151 E> */ B(Ldar), R(arg1),
/* 1148 E> */ B(LdrKeyedProperty), R(1), U8(187), R(0),
/* 1158 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1148 E> */ B(LdrKeyedProperty), R(arg0), U8(187), R(0),
B(Ldar), R(0),
/* 1158 S> */ B(Nop),
/* 1163 E> */ B(Ldar), R(arg1),
/* 1160 E> */ B(LdrKeyedProperty), R(1), U8(189), R(0),
/* 1170 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1160 E> */ B(LdrKeyedProperty), R(arg0), U8(189), R(0),
B(Ldar), R(0),
/* 1170 S> */ B(Nop),
/* 1175 E> */ B(Ldar), R(arg1),
/* 1172 E> */ B(LdrKeyedProperty), R(1), U8(191), R(0),
/* 1182 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1172 E> */ B(LdrKeyedProperty), R(arg0), U8(191), R(0),
B(Ldar), R(0),
/* 1182 S> */ B(Nop),
/* 1187 E> */ B(Ldar), R(arg1),
/* 1184 E> */ B(LdrKeyedProperty), R(1), U8(193), R(0),
/* 1194 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1184 E> */ B(LdrKeyedProperty), R(arg0), U8(193), R(0),
B(Ldar), R(0),
/* 1194 S> */ B(Nop),
/* 1199 E> */ B(Ldar), R(arg1),
/* 1196 E> */ B(LdrKeyedProperty), R(1), U8(195), R(0),
/* 1206 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1196 E> */ B(LdrKeyedProperty), R(arg0), U8(195), R(0),
B(Ldar), R(0),
/* 1206 S> */ B(Nop),
/* 1211 E> */ B(Ldar), R(arg1),
/* 1208 E> */ B(LdrKeyedProperty), R(1), U8(197), R(0),
/* 1218 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1208 E> */ B(LdrKeyedProperty), R(arg0), U8(197), R(0),
B(Ldar), R(0),
/* 1218 S> */ B(Nop),
/* 1223 E> */ B(Ldar), R(arg1),
/* 1220 E> */ B(LdrKeyedProperty), R(1), U8(199), R(0),
/* 1230 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1220 E> */ B(LdrKeyedProperty), R(arg0), U8(199), R(0),
B(Ldar), R(0),
/* 1230 S> */ B(Nop),
/* 1235 E> */ B(Ldar), R(arg1),
/* 1232 E> */ B(LdrKeyedProperty), R(1), U8(201), R(0),
/* 1242 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1232 E> */ B(LdrKeyedProperty), R(arg0), U8(201), R(0),
B(Ldar), R(0),
/* 1242 S> */ B(Nop),
/* 1247 E> */ B(Ldar), R(arg1),
/* 1244 E> */ B(LdrKeyedProperty), R(1), U8(203), R(0),
/* 1254 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1244 E> */ B(LdrKeyedProperty), R(arg0), U8(203), R(0),
B(Ldar), R(0),
/* 1254 S> */ B(Nop),
/* 1259 E> */ B(Ldar), R(arg1),
/* 1256 E> */ B(LdrKeyedProperty), R(1), U8(205), R(0),
/* 1266 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1256 E> */ B(LdrKeyedProperty), R(arg0), U8(205), R(0),
B(Ldar), R(0),
/* 1266 S> */ B(Nop),
/* 1271 E> */ B(Ldar), R(arg1),
/* 1268 E> */ B(LdrKeyedProperty), R(1), U8(207), R(0),
/* 1278 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1268 E> */ B(LdrKeyedProperty), R(arg0), U8(207), R(0),
B(Ldar), R(0),
/* 1278 S> */ B(Nop),
/* 1283 E> */ B(Ldar), R(arg1),
/* 1280 E> */ B(LdrKeyedProperty), R(1), U8(209), R(0),
/* 1290 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1280 E> */ B(LdrKeyedProperty), R(arg0), U8(209), R(0),
B(Ldar), R(0),
/* 1290 S> */ B(Nop),
/* 1295 E> */ B(Ldar), R(arg1),
/* 1292 E> */ B(LdrKeyedProperty), R(1), U8(211), R(0),
/* 1302 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1292 E> */ B(LdrKeyedProperty), R(arg0), U8(211), R(0),
B(Ldar), R(0),
/* 1302 S> */ B(Nop),
/* 1307 E> */ B(Ldar), R(arg1),
/* 1304 E> */ B(LdrKeyedProperty), R(1), U8(213), R(0),
/* 1314 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1304 E> */ B(LdrKeyedProperty), R(arg0), U8(213), R(0),
B(Ldar), R(0),
/* 1314 S> */ B(Nop),
/* 1319 E> */ B(Ldar), R(arg1),
/* 1316 E> */ B(LdrKeyedProperty), R(1), U8(215), R(0),
/* 1326 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1316 E> */ B(LdrKeyedProperty), R(arg0), U8(215), R(0),
B(Ldar), R(0),
/* 1326 S> */ B(Nop),
/* 1331 E> */ B(Ldar), R(arg1),
/* 1328 E> */ B(LdrKeyedProperty), R(1), U8(217), R(0),
/* 1338 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1328 E> */ B(LdrKeyedProperty), R(arg0), U8(217), R(0),
B(Ldar), R(0),
/* 1338 S> */ B(Nop),
/* 1343 E> */ B(Ldar), R(arg1),
/* 1340 E> */ B(LdrKeyedProperty), R(1), U8(219), R(0),
/* 1350 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1340 E> */ B(LdrKeyedProperty), R(arg0), U8(219), R(0),
B(Ldar), R(0),
/* 1350 S> */ B(Nop),
/* 1355 E> */ B(Ldar), R(arg1),
/* 1352 E> */ B(LdrKeyedProperty), R(1), U8(221), R(0),
/* 1362 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1352 E> */ B(LdrKeyedProperty), R(arg0), U8(221), R(0),
B(Ldar), R(0),
/* 1362 S> */ B(Nop),
/* 1367 E> */ B(Ldar), R(arg1),
/* 1364 E> */ B(LdrKeyedProperty), R(1), U8(223), R(0),
/* 1374 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1364 E> */ B(LdrKeyedProperty), R(arg0), U8(223), R(0),
B(Ldar), R(0),
/* 1374 S> */ B(Nop),
/* 1379 E> */ B(Ldar), R(arg1),
/* 1376 E> */ B(LdrKeyedProperty), R(1), U8(225), R(0),
/* 1386 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1376 E> */ B(LdrKeyedProperty), R(arg0), U8(225), R(0),
B(Ldar), R(0),
/* 1386 S> */ B(Nop),
/* 1391 E> */ B(Ldar), R(arg1),
/* 1388 E> */ B(LdrKeyedProperty), R(1), U8(227), R(0),
/* 1398 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1388 E> */ B(LdrKeyedProperty), R(arg0), U8(227), R(0),
B(Ldar), R(0),
/* 1398 S> */ B(Nop),
/* 1403 E> */ B(Ldar), R(arg1),
/* 1400 E> */ B(LdrKeyedProperty), R(1), U8(229), R(0),
/* 1410 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1400 E> */ B(LdrKeyedProperty), R(arg0), U8(229), R(0),
B(Ldar), R(0),
/* 1410 S> */ B(Nop),
/* 1415 E> */ B(Ldar), R(arg1),
/* 1412 E> */ B(LdrKeyedProperty), R(1), U8(231), R(0),
/* 1422 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1412 E> */ B(LdrKeyedProperty), R(arg0), U8(231), R(0),
B(Ldar), R(0),
/* 1422 S> */ B(Nop),
/* 1427 E> */ B(Ldar), R(arg1),
/* 1424 E> */ B(LdrKeyedProperty), R(1), U8(233), R(0),
/* 1434 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1424 E> */ B(LdrKeyedProperty), R(arg0), U8(233), R(0),
B(Ldar), R(0),
/* 1434 S> */ B(Nop),
/* 1439 E> */ B(Ldar), R(arg1),
/* 1436 E> */ B(LdrKeyedProperty), R(1), U8(235), R(0),
/* 1446 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1436 E> */ B(LdrKeyedProperty), R(arg0), U8(235), R(0),
B(Ldar), R(0),
/* 1446 S> */ B(Nop),
/* 1451 E> */ B(Ldar), R(arg1),
/* 1448 E> */ B(LdrKeyedProperty), R(1), U8(237), R(0),
/* 1458 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1448 E> */ B(LdrKeyedProperty), R(arg0), U8(237), R(0),
B(Ldar), R(0),
/* 1458 S> */ B(Nop),
/* 1463 E> */ B(Ldar), R(arg1),
/* 1460 E> */ B(LdrKeyedProperty), R(1), U8(239), R(0),
/* 1470 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1460 E> */ B(LdrKeyedProperty), R(arg0), U8(239), R(0),
B(Ldar), R(0),
/* 1470 S> */ B(Nop),
/* 1475 E> */ B(Ldar), R(arg1),
/* 1472 E> */ B(LdrKeyedProperty), R(1), U8(241), R(0),
/* 1482 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1472 E> */ B(LdrKeyedProperty), R(arg0), U8(241), R(0),
B(Ldar), R(0),
/* 1482 S> */ B(Nop),
/* 1487 E> */ B(Ldar), R(arg1),
/* 1484 E> */ B(LdrKeyedProperty), R(1), U8(243), R(0),
/* 1494 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1484 E> */ B(LdrKeyedProperty), R(arg0), U8(243), R(0),
B(Ldar), R(0),
/* 1494 S> */ B(Nop),
/* 1499 E> */ B(Ldar), R(arg1),
/* 1496 E> */ B(LdrKeyedProperty), R(1), U8(245), R(0),
/* 1506 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1496 E> */ B(LdrKeyedProperty), R(arg0), U8(245), R(0),
B(Ldar), R(0),
/* 1506 S> */ B(Nop),
/* 1511 E> */ B(Ldar), R(arg1),
/* 1508 E> */ B(LdrKeyedProperty), R(1), U8(247), R(0),
/* 1518 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1508 E> */ B(LdrKeyedProperty), R(arg0), U8(247), R(0),
B(Ldar), R(0),
/* 1518 S> */ B(Nop),
/* 1523 E> */ B(Ldar), R(arg1),
/* 1520 E> */ B(LdrKeyedProperty), R(1), U8(249), R(0),
/* 1530 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1520 E> */ B(LdrKeyedProperty), R(arg0), U8(249), R(0),
B(Ldar), R(0),
/* 1530 S> */ B(Nop),
/* 1535 E> */ B(Ldar), R(arg1),
/* 1532 E> */ B(LdrKeyedProperty), R(1), U8(251), R(0),
/* 1542 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1532 E> */ B(LdrKeyedProperty), R(arg0), U8(251), R(0),
B(Ldar), R(0),
/* 1542 S> */ B(Nop),
/* 1547 E> */ B(Ldar), R(arg1),
/* 1544 E> */ B(LdrKeyedProperty), R(1), U8(253), R(0),
/* 1554 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1544 E> */ B(LdrKeyedProperty), R(arg0), U8(253), R(0),
B(Ldar), R(0),
/* 1554 S> */ B(Nop),
/* 1559 E> */ B(Ldar), R(arg1),
/* 1556 E> */ B(LdrKeyedProperty), R(1), U8(255), R(0),
/* 1566 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1556 E> */ B(LdrKeyedProperty), R(arg0), U8(255), R(0),
B(Ldar), R(0),
/* 1566 S> */ B(Nop),
/* 1574 E> */ B(Ldar), R(arg1),
B(Wide), B(LdaKeyedProperty), R16(1), U16(257),
B(Wide), B(LdaKeyedProperty), R16(arg0), U16(257),
/* 1579 S> */ B(Return),
]
constant pool: [
......
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -16,25 +16,23 @@ snippet: "
}
return ld_a;
"
frame size: 2
frame size: 1
parameter count: 1
bytecode array length: 31
bytecode array length: 26
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 45 S> */ B(LdaSmi), U8(1),
/* 45 E> */ B(Star), R(0),
/* 48 E> */ B(StackCheck),
/* 64 S> */ B(Ldar), R(0),
B(Star), R(1),
/* 64 S> */ B(Nop),
/* 78 E> */ B(Ldar), R(0),
B(Add), R(1),
B(Add), R(0),
B(Star), R(0),
/* 86 S> */ B(Star), R(1),
B(LdaSmi), U8(10),
/* 95 E> */ B(TestGreaterThan), R(1),
/* 86 S> */ B(LdaSmi), U8(10),
/* 95 E> */ B(TestGreaterThan), R(0),
B(JumpIfFalse), U8(4),
/* 101 S> */ B(Jump), U8(4),
B(Jump), U8(-21),
B(Jump), U8(-16),
/* 110 S> */ B(Ldar), R(0),
/* 123 S> */ B(Return),
]
......@@ -52,22 +50,20 @@ snippet: "
} while(false);
return ld_a;
"
frame size: 2
frame size: 1
parameter count: 1
bytecode array length: 29
bytecode array length: 24
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 45 S> */ B(LdaSmi), U8(1),
/* 45 E> */ B(Star), R(0),
/* 48 E> */ B(StackCheck),
/* 55 S> */ B(Ldar), R(0),
B(Star), R(1),
/* 55 S> */ B(Nop),
/* 69 E> */ B(Ldar), R(0),
B(Add), R(1),
B(Add), R(0),
B(Star), R(0),
/* 77 S> */ B(Star), R(1),
B(LdaSmi), U8(10),
/* 86 E> */ B(TestGreaterThan), R(1),
/* 77 S> */ B(LdaSmi), U8(10),
/* 86 E> */ B(TestGreaterThan), R(0),
B(JumpIfFalse), U8(4),
/* 92 S> */ B(Jump), U8(2),
/* 118 S> */ B(Ldar), R(0),
......@@ -84,16 +80,15 @@ snippet: "
ld_a = ld_a + ld_a;
return ld_a;
"
frame size: 2
frame size: 1
parameter count: 1
bytecode array length: 15
bytecode array length: 12
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 45 S> */ B(LdaSmi), U8(1),
B(Star), R(0),
/* 50 S> */ B(Star), R(1),
/* 64 E> */ B(Ldar), R(0),
B(Add), R(1),
/* 50 S> */ B(Nop),
/* 64 E> */ B(Add), R(0),
B(Star), R(0),
/* 72 S> */ B(Nop),
/* 85 S> */ B(Return),
......
......@@ -231,395 +231,267 @@ snippet: "
}
f({name: 1});
"
frame size: 1
frame size: 0
parameter count: 2
bytecode array length: 1035
bytecode array length: 651
bytecodes: [
/* 17 E> */ B(StackCheck),
/* 25 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 26 E> */ B(LdaNamedProperty), R(0), U8(0), U8(1),
/* 35 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 36 E> */ B(LdaNamedProperty), R(0), U8(0), U8(3),
/* 45 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 46 E> */ B(LdaNamedProperty), R(0), U8(0), U8(5),
/* 55 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 56 E> */ B(LdaNamedProperty), R(0), U8(0), U8(7),
/* 65 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 66 E> */ B(LdaNamedProperty), R(0), U8(0), U8(9),
/* 75 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 76 E> */ B(LdaNamedProperty), R(0), U8(0), U8(11),
/* 85 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 86 E> */ B(LdaNamedProperty), R(0), U8(0), U8(13),
/* 95 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 96 E> */ B(LdaNamedProperty), R(0), U8(0), U8(15),
/* 105 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 106 E> */ B(LdaNamedProperty), R(0), U8(0), U8(17),
/* 115 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 116 E> */ B(LdaNamedProperty), R(0), U8(0), U8(19),
/* 125 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 126 E> */ B(LdaNamedProperty), R(0), U8(0), U8(21),
/* 135 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 136 E> */ B(LdaNamedProperty), R(0), U8(0), U8(23),
/* 145 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 146 E> */ B(LdaNamedProperty), R(0), U8(0), U8(25),
/* 155 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 156 E> */ B(LdaNamedProperty), R(0), U8(0), U8(27),
/* 165 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 166 E> */ B(LdaNamedProperty), R(0), U8(0), U8(29),
/* 175 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 176 E> */ B(LdaNamedProperty), R(0), U8(0), U8(31),
/* 185 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 186 E> */ B(LdaNamedProperty), R(0), U8(0), U8(33),
/* 195 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 196 E> */ B(LdaNamedProperty), R(0), U8(0), U8(35),
/* 205 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 206 E> */ B(LdaNamedProperty), R(0), U8(0), U8(37),
/* 215 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 216 E> */ B(LdaNamedProperty), R(0), U8(0), U8(39),
/* 225 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 226 E> */ B(LdaNamedProperty), R(0), U8(0), U8(41),
/* 235 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 236 E> */ B(LdaNamedProperty), R(0), U8(0), U8(43),
/* 245 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 246 E> */ B(LdaNamedProperty), R(0), U8(0), U8(45),
/* 255 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 256 E> */ B(LdaNamedProperty), R(0), U8(0), U8(47),
/* 265 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 266 E> */ B(LdaNamedProperty), R(0), U8(0), U8(49),
/* 275 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 276 E> */ B(LdaNamedProperty), R(0), U8(0), U8(51),
/* 285 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 286 E> */ B(LdaNamedProperty), R(0), U8(0), U8(53),
/* 295 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 296 E> */ B(LdaNamedProperty), R(0), U8(0), U8(55),
/* 305 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 306 E> */ B(LdaNamedProperty), R(0), U8(0), U8(57),
/* 315 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 316 E> */ B(LdaNamedProperty), R(0), U8(0), U8(59),
/* 325 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 326 E> */ B(LdaNamedProperty), R(0), U8(0), U8(61),
/* 335 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 336 E> */ B(LdaNamedProperty), R(0), U8(0), U8(63),
/* 345 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 346 E> */ B(LdaNamedProperty), R(0), U8(0), U8(65),
/* 355 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 356 E> */ B(LdaNamedProperty), R(0), U8(0), U8(67),
/* 365 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 366 E> */ B(LdaNamedProperty), R(0), U8(0), U8(69),
/* 375 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 376 E> */ B(LdaNamedProperty), R(0), U8(0), U8(71),
/* 385 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 386 E> */ B(LdaNamedProperty), R(0), U8(0), U8(73),
/* 395 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 396 E> */ B(LdaNamedProperty), R(0), U8(0), U8(75),
/* 405 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 406 E> */ B(LdaNamedProperty), R(0), U8(0), U8(77),
/* 415 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 416 E> */ B(LdaNamedProperty), R(0), U8(0), U8(79),
/* 425 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 426 E> */ B(LdaNamedProperty), R(0), U8(0), U8(81),
/* 435 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 436 E> */ B(LdaNamedProperty), R(0), U8(0), U8(83),
/* 445 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 446 E> */ B(LdaNamedProperty), R(0), U8(0), U8(85),
/* 455 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 456 E> */ B(LdaNamedProperty), R(0), U8(0), U8(87),
/* 465 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 466 E> */ B(LdaNamedProperty), R(0), U8(0), U8(89),
/* 475 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 476 E> */ B(LdaNamedProperty), R(0), U8(0), U8(91),
/* 485 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 486 E> */ B(LdaNamedProperty), R(0), U8(0), U8(93),
/* 495 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 496 E> */ B(LdaNamedProperty), R(0), U8(0), U8(95),
/* 505 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 506 E> */ B(LdaNamedProperty), R(0), U8(0), U8(97),
/* 515 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 516 E> */ B(LdaNamedProperty), R(0), U8(0), U8(99),
/* 525 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 526 E> */ B(LdaNamedProperty), R(0), U8(0), U8(101),
/* 535 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 536 E> */ B(LdaNamedProperty), R(0), U8(0), U8(103),
/* 545 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 546 E> */ B(LdaNamedProperty), R(0), U8(0), U8(105),
/* 555 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 556 E> */ B(LdaNamedProperty), R(0), U8(0), U8(107),
/* 565 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 566 E> */ B(LdaNamedProperty), R(0), U8(0), U8(109),
/* 575 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 576 E> */ B(LdaNamedProperty), R(0), U8(0), U8(111),
/* 585 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 586 E> */ B(LdaNamedProperty), R(0), U8(0), U8(113),
/* 595 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 596 E> */ B(LdaNamedProperty), R(0), U8(0), U8(115),
/* 605 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 606 E> */ B(LdaNamedProperty), R(0), U8(0), U8(117),
/* 615 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 616 E> */ B(LdaNamedProperty), R(0), U8(0), U8(119),
/* 625 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 626 E> */ B(LdaNamedProperty), R(0), U8(0), U8(121),
/* 635 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 636 E> */ B(LdaNamedProperty), R(0), U8(0), U8(123),
/* 645 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 646 E> */ B(LdaNamedProperty), R(0), U8(0), U8(125),
/* 655 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 656 E> */ B(LdaNamedProperty), R(0), U8(0), U8(127),
/* 665 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 666 E> */ B(LdaNamedProperty), R(0), U8(0), U8(129),
/* 675 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 676 E> */ B(LdaNamedProperty), R(0), U8(0), U8(131),
/* 685 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 686 E> */ B(LdaNamedProperty), R(0), U8(0), U8(133),
/* 695 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 696 E> */ B(LdaNamedProperty), R(0), U8(0), U8(135),
/* 705 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 706 E> */ B(LdaNamedProperty), R(0), U8(0), U8(137),
/* 715 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 716 E> */ B(LdaNamedProperty), R(0), U8(0), U8(139),
/* 725 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 726 E> */ B(LdaNamedProperty), R(0), U8(0), U8(141),
/* 735 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 736 E> */ B(LdaNamedProperty), R(0), U8(0), U8(143),
/* 745 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 746 E> */ B(LdaNamedProperty), R(0), U8(0), U8(145),
/* 755 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 756 E> */ B(LdaNamedProperty), R(0), U8(0), U8(147),
/* 765 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 766 E> */ B(LdaNamedProperty), R(0), U8(0), U8(149),
/* 775 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 776 E> */ B(LdaNamedProperty), R(0), U8(0), U8(151),
/* 785 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 786 E> */ B(LdaNamedProperty), R(0), U8(0), U8(153),
/* 795 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 796 E> */ B(LdaNamedProperty), R(0), U8(0), U8(155),
/* 805 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 806 E> */ B(LdaNamedProperty), R(0), U8(0), U8(157),
/* 815 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 816 E> */ B(LdaNamedProperty), R(0), U8(0), U8(159),
/* 825 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 826 E> */ B(LdaNamedProperty), R(0), U8(0), U8(161),
/* 835 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 836 E> */ B(LdaNamedProperty), R(0), U8(0), U8(163),
/* 845 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 846 E> */ B(LdaNamedProperty), R(0), U8(0), U8(165),
/* 855 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 856 E> */ B(LdaNamedProperty), R(0), U8(0), U8(167),
/* 865 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 866 E> */ B(LdaNamedProperty), R(0), U8(0), U8(169),
/* 875 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 876 E> */ B(LdaNamedProperty), R(0), U8(0), U8(171),
/* 885 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 886 E> */ B(LdaNamedProperty), R(0), U8(0), U8(173),
/* 895 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 896 E> */ B(LdaNamedProperty), R(0), U8(0), U8(175),
/* 905 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 906 E> */ B(LdaNamedProperty), R(0), U8(0), U8(177),
/* 915 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 916 E> */ B(LdaNamedProperty), R(0), U8(0), U8(179),
/* 925 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 926 E> */ B(LdaNamedProperty), R(0), U8(0), U8(181),
/* 935 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 936 E> */ B(LdaNamedProperty), R(0), U8(0), U8(183),
/* 945 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 946 E> */ B(LdaNamedProperty), R(0), U8(0), U8(185),
/* 955 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 956 E> */ B(LdaNamedProperty), R(0), U8(0), U8(187),
/* 965 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 966 E> */ B(LdaNamedProperty), R(0), U8(0), U8(189),
/* 975 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 976 E> */ B(LdaNamedProperty), R(0), U8(0), U8(191),
/* 985 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 986 E> */ B(LdaNamedProperty), R(0), U8(0), U8(193),
/* 995 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 996 E> */ B(LdaNamedProperty), R(0), U8(0), U8(195),
/* 1005 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1006 E> */ B(LdaNamedProperty), R(0), U8(0), U8(197),
/* 1015 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1016 E> */ B(LdaNamedProperty), R(0), U8(0), U8(199),
/* 1025 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1026 E> */ B(LdaNamedProperty), R(0), U8(0), U8(201),
/* 1035 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1036 E> */ B(LdaNamedProperty), R(0), U8(0), U8(203),
/* 1045 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1046 E> */ B(LdaNamedProperty), R(0), U8(0), U8(205),
/* 1055 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1056 E> */ B(LdaNamedProperty), R(0), U8(0), U8(207),
/* 1065 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1066 E> */ B(LdaNamedProperty), R(0), U8(0), U8(209),
/* 1075 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1076 E> */ B(LdaNamedProperty), R(0), U8(0), U8(211),
/* 1085 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1086 E> */ B(LdaNamedProperty), R(0), U8(0), U8(213),
/* 1095 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1096 E> */ B(LdaNamedProperty), R(0), U8(0), U8(215),
/* 1105 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1106 E> */ B(LdaNamedProperty), R(0), U8(0), U8(217),
/* 1115 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1116 E> */ B(LdaNamedProperty), R(0), U8(0), U8(219),
/* 1125 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1126 E> */ B(LdaNamedProperty), R(0), U8(0), U8(221),
/* 1135 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1136 E> */ B(LdaNamedProperty), R(0), U8(0), U8(223),
/* 1145 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1146 E> */ B(LdaNamedProperty), R(0), U8(0), U8(225),
/* 1155 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1156 E> */ B(LdaNamedProperty), R(0), U8(0), U8(227),
/* 1165 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1166 E> */ B(LdaNamedProperty), R(0), U8(0), U8(229),
/* 1175 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1176 E> */ B(LdaNamedProperty), R(0), U8(0), U8(231),
/* 1185 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1186 E> */ B(LdaNamedProperty), R(0), U8(0), U8(233),
/* 1195 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1196 E> */ B(LdaNamedProperty), R(0), U8(0), U8(235),
/* 1205 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1206 E> */ B(LdaNamedProperty), R(0), U8(0), U8(237),
/* 1215 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1216 E> */ B(LdaNamedProperty), R(0), U8(0), U8(239),
/* 1225 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1226 E> */ B(LdaNamedProperty), R(0), U8(0), U8(241),
/* 1235 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1236 E> */ B(LdaNamedProperty), R(0), U8(0), U8(243),
/* 1245 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1246 E> */ B(LdaNamedProperty), R(0), U8(0), U8(245),
/* 1255 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1256 E> */ B(LdaNamedProperty), R(0), U8(0), U8(247),
/* 1265 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1266 E> */ B(LdaNamedProperty), R(0), U8(0), U8(249),
/* 1275 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1276 E> */ B(LdaNamedProperty), R(0), U8(0), U8(251),
/* 1285 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1286 E> */ B(LdaNamedProperty), R(0), U8(0), U8(253),
/* 1295 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1296 E> */ B(LdaNamedProperty), R(0), U8(0), U8(255),
/* 25 S> */ B(Nop),
/* 26 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(1),
/* 35 S> */ B(Nop),
/* 36 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(3),
/* 45 S> */ B(Nop),
/* 46 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(5),
/* 55 S> */ B(Nop),
/* 56 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(7),
/* 65 S> */ B(Nop),
/* 66 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(9),
/* 75 S> */ B(Nop),
/* 76 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(11),
/* 85 S> */ B(Nop),
/* 86 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(13),
/* 95 S> */ B(Nop),
/* 96 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(15),
/* 105 S> */ B(Nop),
/* 106 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(17),
/* 115 S> */ B(Nop),
/* 116 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(19),
/* 125 S> */ B(Nop),
/* 126 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(21),
/* 135 S> */ B(Nop),
/* 136 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(23),
/* 145 S> */ B(Nop),
/* 146 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(25),
/* 155 S> */ B(Nop),
/* 156 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(27),
/* 165 S> */ B(Nop),
/* 166 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(29),
/* 175 S> */ B(Nop),
/* 176 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(31),
/* 185 S> */ B(Nop),
/* 186 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(33),
/* 195 S> */ B(Nop),
/* 196 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(35),
/* 205 S> */ B(Nop),
/* 206 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(37),
/* 215 S> */ B(Nop),
/* 216 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(39),
/* 225 S> */ B(Nop),
/* 226 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(41),
/* 235 S> */ B(Nop),
/* 236 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(43),
/* 245 S> */ B(Nop),
/* 246 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(45),
/* 255 S> */ B(Nop),
/* 256 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(47),
/* 265 S> */ B(Nop),
/* 266 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(49),
/* 275 S> */ B(Nop),
/* 276 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(51),
/* 285 S> */ B(Nop),
/* 286 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(53),
/* 295 S> */ B(Nop),
/* 296 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(55),
/* 305 S> */ B(Nop),
/* 306 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(57),
/* 315 S> */ B(Nop),
/* 316 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(59),
/* 325 S> */ B(Nop),
/* 326 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(61),
/* 335 S> */ B(Nop),
/* 336 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(63),
/* 345 S> */ B(Nop),
/* 346 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(65),
/* 355 S> */ B(Nop),
/* 356 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(67),
/* 365 S> */ B(Nop),
/* 366 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(69),
/* 375 S> */ B(Nop),
/* 376 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(71),
/* 385 S> */ B(Nop),
/* 386 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(73),
/* 395 S> */ B(Nop),
/* 396 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(75),
/* 405 S> */ B(Nop),
/* 406 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(77),
/* 415 S> */ B(Nop),
/* 416 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(79),
/* 425 S> */ B(Nop),
/* 426 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(81),
/* 435 S> */ B(Nop),
/* 436 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(83),
/* 445 S> */ B(Nop),
/* 446 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(85),
/* 455 S> */ B(Nop),
/* 456 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(87),
/* 465 S> */ B(Nop),
/* 466 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(89),
/* 475 S> */ B(Nop),
/* 476 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(91),
/* 485 S> */ B(Nop),
/* 486 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(93),
/* 495 S> */ B(Nop),
/* 496 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(95),
/* 505 S> */ B(Nop),
/* 506 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(97),
/* 515 S> */ B(Nop),
/* 516 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(99),
/* 525 S> */ B(Nop),
/* 526 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(101),
/* 535 S> */ B(Nop),
/* 536 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(103),
/* 545 S> */ B(Nop),
/* 546 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(105),
/* 555 S> */ B(Nop),
/* 556 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(107),
/* 565 S> */ B(Nop),
/* 566 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(109),
/* 575 S> */ B(Nop),
/* 576 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(111),
/* 585 S> */ B(Nop),
/* 586 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(113),
/* 595 S> */ B(Nop),
/* 596 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(115),
/* 605 S> */ B(Nop),
/* 606 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(117),
/* 615 S> */ B(Nop),
/* 616 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(119),
/* 625 S> */ B(Nop),
/* 626 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(121),
/* 635 S> */ B(Nop),
/* 636 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(123),
/* 645 S> */ B(Nop),
/* 646 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(125),
/* 655 S> */ B(Nop),
/* 656 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(127),
/* 665 S> */ B(Nop),
/* 666 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(129),
/* 675 S> */ B(Nop),
/* 676 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(131),
/* 685 S> */ B(Nop),
/* 686 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(133),
/* 695 S> */ B(Nop),
/* 696 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(135),
/* 705 S> */ B(Nop),
/* 706 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(137),
/* 715 S> */ B(Nop),
/* 716 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(139),
/* 725 S> */ B(Nop),
/* 726 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(141),
/* 735 S> */ B(Nop),
/* 736 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(143),
/* 745 S> */ B(Nop),
/* 746 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(145),
/* 755 S> */ B(Nop),
/* 756 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(147),
/* 765 S> */ B(Nop),
/* 766 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(149),
/* 775 S> */ B(Nop),
/* 776 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(151),
/* 785 S> */ B(Nop),
/* 786 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(153),
/* 795 S> */ B(Nop),
/* 796 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(155),
/* 805 S> */ B(Nop),
/* 806 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(157),
/* 815 S> */ B(Nop),
/* 816 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(159),
/* 825 S> */ B(Nop),
/* 826 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(161),
/* 835 S> */ B(Nop),
/* 836 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(163),
/* 845 S> */ B(Nop),
/* 846 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(165),
/* 855 S> */ B(Nop),
/* 856 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(167),
/* 865 S> */ B(Nop),
/* 866 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(169),
/* 875 S> */ B(Nop),
/* 876 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(171),
/* 885 S> */ B(Nop),
/* 886 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(173),
/* 895 S> */ B(Nop),
/* 896 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(175),
/* 905 S> */ B(Nop),
/* 906 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(177),
/* 915 S> */ B(Nop),
/* 916 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(179),
/* 925 S> */ B(Nop),
/* 926 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(181),
/* 935 S> */ B(Nop),
/* 936 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(183),
/* 945 S> */ B(Nop),
/* 946 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(185),
/* 955 S> */ B(Nop),
/* 956 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(187),
/* 965 S> */ B(Nop),
/* 966 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(189),
/* 975 S> */ B(Nop),
/* 976 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(191),
/* 985 S> */ B(Nop),
/* 986 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(193),
/* 995 S> */ B(Nop),
/* 996 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(195),
/* 1005 S> */ B(Nop),
/* 1006 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(197),
/* 1015 S> */ B(Nop),
/* 1016 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(199),
/* 1025 S> */ B(Nop),
/* 1026 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(201),
/* 1035 S> */ B(Nop),
/* 1036 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(203),
/* 1045 S> */ B(Nop),
/* 1046 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(205),
/* 1055 S> */ B(Nop),
/* 1056 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(207),
/* 1065 S> */ B(Nop),
/* 1066 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(209),
/* 1075 S> */ B(Nop),
/* 1076 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(211),
/* 1085 S> */ B(Nop),
/* 1086 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(213),
/* 1095 S> */ B(Nop),
/* 1096 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(215),
/* 1105 S> */ B(Nop),
/* 1106 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(217),
/* 1115 S> */ B(Nop),
/* 1116 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(219),
/* 1125 S> */ B(Nop),
/* 1126 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(221),
/* 1135 S> */ B(Nop),
/* 1136 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(223),
/* 1145 S> */ B(Nop),
/* 1146 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(225),
/* 1155 S> */ B(Nop),
/* 1156 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(227),
/* 1165 S> */ B(Nop),
/* 1166 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(229),
/* 1175 S> */ B(Nop),
/* 1176 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(231),
/* 1185 S> */ B(Nop),
/* 1186 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(233),
/* 1195 S> */ B(Nop),
/* 1196 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(235),
/* 1205 S> */ B(Nop),
/* 1206 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(237),
/* 1215 S> */ B(Nop),
/* 1216 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(239),
/* 1225 S> */ B(Nop),
/* 1226 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(241),
/* 1235 S> */ B(Nop),
/* 1236 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(243),
/* 1245 S> */ B(Nop),
/* 1246 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(245),
/* 1255 S> */ B(Nop),
/* 1256 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(247),
/* 1265 S> */ B(Nop),
/* 1266 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(249),
/* 1275 S> */ B(Nop),
/* 1276 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(251),
/* 1285 S> */ B(Nop),
/* 1286 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(253),
/* 1295 S> */ B(Nop),
/* 1296 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(255),
/* 1305 S> */ B(LdaSmi), U8(2),
/* 1307 E> */ B(Wide), B(StaGlobalSloppy), U16(1), U16(257),
B(LdaUndefined),
......@@ -769,395 +641,267 @@ snippet: "
}
f({name: 1});
"
frame size: 1
frame size: 0
parameter count: 2
bytecode array length: 1035
bytecode array length: 651
bytecodes: [
/* 17 E> */ B(StackCheck),
/* 41 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 42 E> */ B(LdaNamedProperty), R(0), U8(0), U8(1),
/* 51 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 52 E> */ B(LdaNamedProperty), R(0), U8(0), U8(3),
/* 61 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 62 E> */ B(LdaNamedProperty), R(0), U8(0), U8(5),
/* 71 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 72 E> */ B(LdaNamedProperty), R(0), U8(0), U8(7),
/* 81 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 82 E> */ B(LdaNamedProperty), R(0), U8(0), U8(9),
/* 91 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 92 E> */ B(LdaNamedProperty), R(0), U8(0), U8(11),
/* 101 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 102 E> */ B(LdaNamedProperty), R(0), U8(0), U8(13),
/* 111 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 112 E> */ B(LdaNamedProperty), R(0), U8(0), U8(15),
/* 121 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 122 E> */ B(LdaNamedProperty), R(0), U8(0), U8(17),
/* 131 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 132 E> */ B(LdaNamedProperty), R(0), U8(0), U8(19),
/* 141 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 142 E> */ B(LdaNamedProperty), R(0), U8(0), U8(21),
/* 151 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 152 E> */ B(LdaNamedProperty), R(0), U8(0), U8(23),
/* 161 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 162 E> */ B(LdaNamedProperty), R(0), U8(0), U8(25),
/* 171 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 172 E> */ B(LdaNamedProperty), R(0), U8(0), U8(27),
/* 181 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 182 E> */ B(LdaNamedProperty), R(0), U8(0), U8(29),
/* 191 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 192 E> */ B(LdaNamedProperty), R(0), U8(0), U8(31),
/* 201 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 202 E> */ B(LdaNamedProperty), R(0), U8(0), U8(33),
/* 211 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 212 E> */ B(LdaNamedProperty), R(0), U8(0), U8(35),
/* 221 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 222 E> */ B(LdaNamedProperty), R(0), U8(0), U8(37),
/* 231 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 232 E> */ B(LdaNamedProperty), R(0), U8(0), U8(39),
/* 241 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 242 E> */ B(LdaNamedProperty), R(0), U8(0), U8(41),
/* 251 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 252 E> */ B(LdaNamedProperty), R(0), U8(0), U8(43),
/* 261 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 262 E> */ B(LdaNamedProperty), R(0), U8(0), U8(45),
/* 271 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 272 E> */ B(LdaNamedProperty), R(0), U8(0), U8(47),
/* 281 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 282 E> */ B(LdaNamedProperty), R(0), U8(0), U8(49),
/* 291 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 292 E> */ B(LdaNamedProperty), R(0), U8(0), U8(51),
/* 301 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 302 E> */ B(LdaNamedProperty), R(0), U8(0), U8(53),
/* 311 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 312 E> */ B(LdaNamedProperty), R(0), U8(0), U8(55),
/* 321 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 322 E> */ B(LdaNamedProperty), R(0), U8(0), U8(57),
/* 331 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 332 E> */ B(LdaNamedProperty), R(0), U8(0), U8(59),
/* 341 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 342 E> */ B(LdaNamedProperty), R(0), U8(0), U8(61),
/* 351 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 352 E> */ B(LdaNamedProperty), R(0), U8(0), U8(63),
/* 361 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 362 E> */ B(LdaNamedProperty), R(0), U8(0), U8(65),
/* 371 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 372 E> */ B(LdaNamedProperty), R(0), U8(0), U8(67),
/* 381 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 382 E> */ B(LdaNamedProperty), R(0), U8(0), U8(69),
/* 391 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 392 E> */ B(LdaNamedProperty), R(0), U8(0), U8(71),
/* 401 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 402 E> */ B(LdaNamedProperty), R(0), U8(0), U8(73),
/* 411 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 412 E> */ B(LdaNamedProperty), R(0), U8(0), U8(75),
/* 421 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 422 E> */ B(LdaNamedProperty), R(0), U8(0), U8(77),
/* 431 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 432 E> */ B(LdaNamedProperty), R(0), U8(0), U8(79),
/* 441 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 442 E> */ B(LdaNamedProperty), R(0), U8(0), U8(81),
/* 451 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 452 E> */ B(LdaNamedProperty), R(0), U8(0), U8(83),
/* 461 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 462 E> */ B(LdaNamedProperty), R(0), U8(0), U8(85),
/* 471 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 472 E> */ B(LdaNamedProperty), R(0), U8(0), U8(87),
/* 481 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 482 E> */ B(LdaNamedProperty), R(0), U8(0), U8(89),
/* 491 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 492 E> */ B(LdaNamedProperty), R(0), U8(0), U8(91),
/* 501 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 502 E> */ B(LdaNamedProperty), R(0), U8(0), U8(93),
/* 511 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 512 E> */ B(LdaNamedProperty), R(0), U8(0), U8(95),
/* 521 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 522 E> */ B(LdaNamedProperty), R(0), U8(0), U8(97),
/* 531 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 532 E> */ B(LdaNamedProperty), R(0), U8(0), U8(99),
/* 541 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 542 E> */ B(LdaNamedProperty), R(0), U8(0), U8(101),
/* 551 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 552 E> */ B(LdaNamedProperty), R(0), U8(0), U8(103),
/* 561 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 562 E> */ B(LdaNamedProperty), R(0), U8(0), U8(105),
/* 571 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 572 E> */ B(LdaNamedProperty), R(0), U8(0), U8(107),
/* 581 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 582 E> */ B(LdaNamedProperty), R(0), U8(0), U8(109),
/* 591 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 592 E> */ B(LdaNamedProperty), R(0), U8(0), U8(111),
/* 601 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 602 E> */ B(LdaNamedProperty), R(0), U8(0), U8(113),
/* 611 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 612 E> */ B(LdaNamedProperty), R(0), U8(0), U8(115),
/* 621 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 622 E> */ B(LdaNamedProperty), R(0), U8(0), U8(117),
/* 631 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 632 E> */ B(LdaNamedProperty), R(0), U8(0), U8(119),
/* 641 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 642 E> */ B(LdaNamedProperty), R(0), U8(0), U8(121),
/* 651 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 652 E> */ B(LdaNamedProperty), R(0), U8(0), U8(123),
/* 661 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 662 E> */ B(LdaNamedProperty), R(0), U8(0), U8(125),
/* 671 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 672 E> */ B(LdaNamedProperty), R(0), U8(0), U8(127),
/* 681 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 682 E> */ B(LdaNamedProperty), R(0), U8(0), U8(129),
/* 691 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 692 E> */ B(LdaNamedProperty), R(0), U8(0), U8(131),
/* 701 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 702 E> */ B(LdaNamedProperty), R(0), U8(0), U8(133),
/* 711 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 712 E> */ B(LdaNamedProperty), R(0), U8(0), U8(135),
/* 721 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 722 E> */ B(LdaNamedProperty), R(0), U8(0), U8(137),
/* 731 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 732 E> */ B(LdaNamedProperty), R(0), U8(0), U8(139),
/* 741 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 742 E> */ B(LdaNamedProperty), R(0), U8(0), U8(141),
/* 751 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 752 E> */ B(LdaNamedProperty), R(0), U8(0), U8(143),
/* 761 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 762 E> */ B(LdaNamedProperty), R(0), U8(0), U8(145),
/* 771 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 772 E> */ B(LdaNamedProperty), R(0), U8(0), U8(147),
/* 781 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 782 E> */ B(LdaNamedProperty), R(0), U8(0), U8(149),
/* 791 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 792 E> */ B(LdaNamedProperty), R(0), U8(0), U8(151),
/* 801 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 802 E> */ B(LdaNamedProperty), R(0), U8(0), U8(153),
/* 811 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 812 E> */ B(LdaNamedProperty), R(0), U8(0), U8(155),
/* 821 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 822 E> */ B(LdaNamedProperty), R(0), U8(0), U8(157),
/* 831 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 832 E> */ B(LdaNamedProperty), R(0), U8(0), U8(159),
/* 841 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 842 E> */ B(LdaNamedProperty), R(0), U8(0), U8(161),
/* 851 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 852 E> */ B(LdaNamedProperty), R(0), U8(0), U8(163),
/* 861 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 862 E> */ B(LdaNamedProperty), R(0), U8(0), U8(165),
/* 871 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 872 E> */ B(LdaNamedProperty), R(0), U8(0), U8(167),
/* 881 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 882 E> */ B(LdaNamedProperty), R(0), U8(0), U8(169),
/* 891 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 892 E> */ B(LdaNamedProperty), R(0), U8(0), U8(171),
/* 901 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 902 E> */ B(LdaNamedProperty), R(0), U8(0), U8(173),
/* 911 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 912 E> */ B(LdaNamedProperty), R(0), U8(0), U8(175),
/* 921 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 922 E> */ B(LdaNamedProperty), R(0), U8(0), U8(177),
/* 931 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 932 E> */ B(LdaNamedProperty), R(0), U8(0), U8(179),
/* 941 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 942 E> */ B(LdaNamedProperty), R(0), U8(0), U8(181),
/* 951 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 952 E> */ B(LdaNamedProperty), R(0), U8(0), U8(183),
/* 961 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 962 E> */ B(LdaNamedProperty), R(0), U8(0), U8(185),
/* 971 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 972 E> */ B(LdaNamedProperty), R(0), U8(0), U8(187),
/* 981 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 982 E> */ B(LdaNamedProperty), R(0), U8(0), U8(189),
/* 991 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 992 E> */ B(LdaNamedProperty), R(0), U8(0), U8(191),
/* 1001 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1002 E> */ B(LdaNamedProperty), R(0), U8(0), U8(193),
/* 1011 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1012 E> */ B(LdaNamedProperty), R(0), U8(0), U8(195),
/* 1021 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1022 E> */ B(LdaNamedProperty), R(0), U8(0), U8(197),
/* 1031 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1032 E> */ B(LdaNamedProperty), R(0), U8(0), U8(199),
/* 1041 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1042 E> */ B(LdaNamedProperty), R(0), U8(0), U8(201),
/* 1051 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1052 E> */ B(LdaNamedProperty), R(0), U8(0), U8(203),
/* 1061 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1062 E> */ B(LdaNamedProperty), R(0), U8(0), U8(205),
/* 1071 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1072 E> */ B(LdaNamedProperty), R(0), U8(0), U8(207),
/* 1081 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1082 E> */ B(LdaNamedProperty), R(0), U8(0), U8(209),
/* 1091 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1092 E> */ B(LdaNamedProperty), R(0), U8(0), U8(211),
/* 1101 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1102 E> */ B(LdaNamedProperty), R(0), U8(0), U8(213),
/* 1111 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1112 E> */ B(LdaNamedProperty), R(0), U8(0), U8(215),
/* 1121 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1122 E> */ B(LdaNamedProperty), R(0), U8(0), U8(217),
/* 1131 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1132 E> */ B(LdaNamedProperty), R(0), U8(0), U8(219),
/* 1141 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1142 E> */ B(LdaNamedProperty), R(0), U8(0), U8(221),
/* 1151 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1152 E> */ B(LdaNamedProperty), R(0), U8(0), U8(223),
/* 1161 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1162 E> */ B(LdaNamedProperty), R(0), U8(0), U8(225),
/* 1171 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1172 E> */ B(LdaNamedProperty), R(0), U8(0), U8(227),
/* 1181 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1182 E> */ B(LdaNamedProperty), R(0), U8(0), U8(229),
/* 1191 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1192 E> */ B(LdaNamedProperty), R(0), U8(0), U8(231),
/* 1201 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1202 E> */ B(LdaNamedProperty), R(0), U8(0), U8(233),
/* 1211 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1212 E> */ B(LdaNamedProperty), R(0), U8(0), U8(235),
/* 1221 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1222 E> */ B(LdaNamedProperty), R(0), U8(0), U8(237),
/* 1231 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1232 E> */ B(LdaNamedProperty), R(0), U8(0), U8(239),
/* 1241 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1242 E> */ B(LdaNamedProperty), R(0), U8(0), U8(241),
/* 1251 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1252 E> */ B(LdaNamedProperty), R(0), U8(0), U8(243),
/* 1261 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1262 E> */ B(LdaNamedProperty), R(0), U8(0), U8(245),
/* 1271 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1272 E> */ B(LdaNamedProperty), R(0), U8(0), U8(247),
/* 1281 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1282 E> */ B(LdaNamedProperty), R(0), U8(0), U8(249),
/* 1291 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1292 E> */ B(LdaNamedProperty), R(0), U8(0), U8(251),
/* 1301 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1302 E> */ B(LdaNamedProperty), R(0), U8(0), U8(253),
/* 1311 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 1312 E> */ B(LdaNamedProperty), R(0), U8(0), U8(255),
/* 41 S> */ B(Nop),
/* 42 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(1),
/* 51 S> */ B(Nop),
/* 52 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(3),
/* 61 S> */ B(Nop),
/* 62 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(5),
/* 71 S> */ B(Nop),
/* 72 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(7),
/* 81 S> */ B(Nop),
/* 82 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(9),
/* 91 S> */ B(Nop),
/* 92 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(11),
/* 101 S> */ B(Nop),
/* 102 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(13),
/* 111 S> */ B(Nop),
/* 112 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(15),
/* 121 S> */ B(Nop),
/* 122 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(17),
/* 131 S> */ B(Nop),
/* 132 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(19),
/* 141 S> */ B(Nop),
/* 142 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(21),
/* 151 S> */ B(Nop),
/* 152 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(23),
/* 161 S> */ B(Nop),
/* 162 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(25),
/* 171 S> */ B(Nop),
/* 172 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(27),
/* 181 S> */ B(Nop),
/* 182 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(29),
/* 191 S> */ B(Nop),
/* 192 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(31),
/* 201 S> */ B(Nop),
/* 202 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(33),
/* 211 S> */ B(Nop),
/* 212 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(35),
/* 221 S> */ B(Nop),
/* 222 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(37),
/* 231 S> */ B(Nop),
/* 232 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(39),
/* 241 S> */ B(Nop),
/* 242 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(41),
/* 251 S> */ B(Nop),
/* 252 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(43),
/* 261 S> */ B(Nop),
/* 262 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(45),
/* 271 S> */ B(Nop),
/* 272 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(47),
/* 281 S> */ B(Nop),
/* 282 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(49),
/* 291 S> */ B(Nop),
/* 292 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(51),
/* 301 S> */ B(Nop),
/* 302 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(53),
/* 311 S> */ B(Nop),
/* 312 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(55),
/* 321 S> */ B(Nop),
/* 322 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(57),
/* 331 S> */ B(Nop),
/* 332 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(59),
/* 341 S> */ B(Nop),
/* 342 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(61),
/* 351 S> */ B(Nop),
/* 352 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(63),
/* 361 S> */ B(Nop),
/* 362 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(65),
/* 371 S> */ B(Nop),
/* 372 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(67),
/* 381 S> */ B(Nop),
/* 382 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(69),
/* 391 S> */ B(Nop),
/* 392 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(71),
/* 401 S> */ B(Nop),
/* 402 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(73),
/* 411 S> */ B(Nop),
/* 412 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(75),
/* 421 S> */ B(Nop),
/* 422 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(77),
/* 431 S> */ B(Nop),
/* 432 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(79),
/* 441 S> */ B(Nop),
/* 442 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(81),
/* 451 S> */ B(Nop),
/* 452 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(83),
/* 461 S> */ B(Nop),
/* 462 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(85),
/* 471 S> */ B(Nop),
/* 472 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(87),
/* 481 S> */ B(Nop),
/* 482 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(89),
/* 491 S> */ B(Nop),
/* 492 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(91),
/* 501 S> */ B(Nop),
/* 502 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(93),
/* 511 S> */ B(Nop),
/* 512 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(95),
/* 521 S> */ B(Nop),
/* 522 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(97),
/* 531 S> */ B(Nop),
/* 532 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(99),
/* 541 S> */ B(Nop),
/* 542 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(101),
/* 551 S> */ B(Nop),
/* 552 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(103),
/* 561 S> */ B(Nop),
/* 562 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(105),
/* 571 S> */ B(Nop),
/* 572 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(107),
/* 581 S> */ B(Nop),
/* 582 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(109),
/* 591 S> */ B(Nop),
/* 592 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(111),
/* 601 S> */ B(Nop),
/* 602 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(113),
/* 611 S> */ B(Nop),
/* 612 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(115),
/* 621 S> */ B(Nop),
/* 622 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(117),
/* 631 S> */ B(Nop),
/* 632 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(119),
/* 641 S> */ B(Nop),
/* 642 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(121),
/* 651 S> */ B(Nop),
/* 652 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(123),
/* 661 S> */ B(Nop),
/* 662 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(125),
/* 671 S> */ B(Nop),
/* 672 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(127),
/* 681 S> */ B(Nop),
/* 682 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(129),
/* 691 S> */ B(Nop),
/* 692 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(131),
/* 701 S> */ B(Nop),
/* 702 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(133),
/* 711 S> */ B(Nop),
/* 712 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(135),
/* 721 S> */ B(Nop),
/* 722 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(137),
/* 731 S> */ B(Nop),
/* 732 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(139),
/* 741 S> */ B(Nop),
/* 742 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(141),
/* 751 S> */ B(Nop),
/* 752 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(143),
/* 761 S> */ B(Nop),
/* 762 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(145),
/* 771 S> */ B(Nop),
/* 772 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(147),
/* 781 S> */ B(Nop),
/* 782 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(149),
/* 791 S> */ B(Nop),
/* 792 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(151),
/* 801 S> */ B(Nop),
/* 802 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(153),
/* 811 S> */ B(Nop),
/* 812 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(155),
/* 821 S> */ B(Nop),
/* 822 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(157),
/* 831 S> */ B(Nop),
/* 832 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(159),
/* 841 S> */ B(Nop),
/* 842 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(161),
/* 851 S> */ B(Nop),
/* 852 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(163),
/* 861 S> */ B(Nop),
/* 862 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(165),
/* 871 S> */ B(Nop),
/* 872 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(167),
/* 881 S> */ B(Nop),
/* 882 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(169),
/* 891 S> */ B(Nop),
/* 892 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(171),
/* 901 S> */ B(Nop),
/* 902 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(173),
/* 911 S> */ B(Nop),
/* 912 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(175),
/* 921 S> */ B(Nop),
/* 922 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(177),
/* 931 S> */ B(Nop),
/* 932 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(179),
/* 941 S> */ B(Nop),
/* 942 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(181),
/* 951 S> */ B(Nop),
/* 952 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(183),
/* 961 S> */ B(Nop),
/* 962 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(185),
/* 971 S> */ B(Nop),
/* 972 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(187),
/* 981 S> */ B(Nop),
/* 982 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(189),
/* 991 S> */ B(Nop),
/* 992 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(191),
/* 1001 S> */ B(Nop),
/* 1002 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(193),
/* 1011 S> */ B(Nop),
/* 1012 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(195),
/* 1021 S> */ B(Nop),
/* 1022 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(197),
/* 1031 S> */ B(Nop),
/* 1032 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(199),
/* 1041 S> */ B(Nop),
/* 1042 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(201),
/* 1051 S> */ B(Nop),
/* 1052 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(203),
/* 1061 S> */ B(Nop),
/* 1062 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(205),
/* 1071 S> */ B(Nop),
/* 1072 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(207),
/* 1081 S> */ B(Nop),
/* 1082 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(209),
/* 1091 S> */ B(Nop),
/* 1092 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(211),
/* 1101 S> */ B(Nop),
/* 1102 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(213),
/* 1111 S> */ B(Nop),
/* 1112 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(215),
/* 1121 S> */ B(Nop),
/* 1122 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(217),
/* 1131 S> */ B(Nop),
/* 1132 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(219),
/* 1141 S> */ B(Nop),
/* 1142 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(221),
/* 1151 S> */ B(Nop),
/* 1152 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(223),
/* 1161 S> */ B(Nop),
/* 1162 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(225),
/* 1171 S> */ B(Nop),
/* 1172 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(227),
/* 1181 S> */ B(Nop),
/* 1182 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(229),
/* 1191 S> */ B(Nop),
/* 1192 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(231),
/* 1201 S> */ B(Nop),
/* 1202 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(233),
/* 1211 S> */ B(Nop),
/* 1212 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(235),
/* 1221 S> */ B(Nop),
/* 1222 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(237),
/* 1231 S> */ B(Nop),
/* 1232 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(239),
/* 1241 S> */ B(Nop),
/* 1242 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(241),
/* 1251 S> */ B(Nop),
/* 1252 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(243),
/* 1261 S> */ B(Nop),
/* 1262 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(245),
/* 1271 S> */ B(Nop),
/* 1272 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(247),
/* 1281 S> */ B(Nop),
/* 1282 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(249),
/* 1291 S> */ B(Nop),
/* 1292 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(251),
/* 1301 S> */ B(Nop),
/* 1302 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(253),
/* 1311 S> */ B(Nop),
/* 1312 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(255),
/* 1321 S> */ B(LdaSmi), U8(2),
/* 1323 E> */ B(Wide), B(StaGlobalStrict), U16(1), U16(257),
B(LdaUndefined),
......
......@@ -17,17 +17,17 @@ snippet: "
"
frame size: 3
parameter count: 1
bytecode array length: 32
bytecode array length: 33
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), U8(1),
/* 42 E> */ B(Star), R(1),
/* 52 E> */ B(Nop),
B(Star), R(0),
/* 45 S> */ B(Star), R(2),
B(LdaSmi), U8(1),
B(TestEqualStrict), R(2),
B(JumpIfTrue), U8(10),
/* 45 S> */ B(LdaSmi), U8(1),
B(TestEqualStrict), R(0),
B(Mov), R(0), R(2),
B(JumpIfToBooleanTrue), U8(10),
B(LdaSmi), U8(2),
B(TestEqualStrict), R(2),
B(JumpIfTrue), U8(7),
......@@ -54,17 +54,17 @@ snippet: "
"
frame size: 3
parameter count: 1
bytecode array length: 38
bytecode array length: 39
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), U8(1),
/* 42 E> */ B(Star), R(1),
/* 52 E> */ B(Nop),
B(Star), R(0),
/* 45 S> */ B(Star), R(2),
B(LdaSmi), U8(1),
B(TestEqualStrict), R(2),
B(JumpIfTrue), U8(10),
/* 45 S> */ B(LdaSmi), U8(1),
B(TestEqualStrict), R(0),
B(Mov), R(0), R(2),
B(JumpIfToBooleanTrue), U8(10),
B(LdaSmi), U8(2),
B(TestEqualStrict), R(2),
B(JumpIfTrue), U8(10),
......@@ -93,17 +93,17 @@ snippet: "
"
frame size: 3
parameter count: 1
bytecode array length: 36
bytecode array length: 37
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), U8(1),
/* 42 E> */ B(Star), R(1),
/* 52 E> */ B(Nop),
B(Star), R(0),
/* 45 S> */ B(Star), R(2),
B(LdaSmi), U8(1),
B(TestEqualStrict), R(2),
B(JumpIfTrue), U8(10),
/* 45 S> */ B(LdaSmi), U8(1),
B(TestEqualStrict), R(0),
B(Mov), R(0), R(2),
B(JumpIfToBooleanTrue), U8(10),
B(LdaSmi), U8(2),
B(TestEqualStrict), R(2),
B(JumpIfTrue), U8(8),
......@@ -132,17 +132,17 @@ snippet: "
"
frame size: 3
parameter count: 1
bytecode array length: 36
bytecode array length: 37
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), U8(1),
/* 42 E> */ B(Star), R(1),
/* 52 E> */ B(Nop),
B(Star), R(0),
/* 45 S> */ B(Star), R(2),
B(LdaSmi), U8(2),
B(TestEqualStrict), R(2),
B(JumpIfTrue), U8(10),
/* 45 S> */ B(LdaSmi), U8(2),
B(TestEqualStrict), R(0),
B(Mov), R(0), R(2),
B(JumpIfToBooleanTrue), U8(10),
B(LdaSmi), U8(3),
B(TestEqualStrict), R(2),
B(JumpIfTrue), U8(6),
......@@ -171,17 +171,17 @@ snippet: "
"
frame size: 3
parameter count: 1
bytecode array length: 44
bytecode array length: 45
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), U8(1),
/* 42 E> */ B(Star), R(1),
B(TypeOf),
B(Star), R(0),
/* 45 S> */ B(Star), R(2),
B(LdaSmi), U8(2),
B(TestEqualStrict), R(2),
B(JumpIfTrue), U8(10),
/* 45 S> */ B(LdaSmi), U8(2),
B(TestEqualStrict), R(0),
B(Mov), R(0), R(2),
B(JumpIfToBooleanTrue), U8(10),
B(LdaSmi), U8(3),
B(TestEqualStrict), R(2),
B(JumpIfTrue), U8(10),
......@@ -213,18 +213,17 @@ snippet: "
"
frame size: 3
parameter count: 1
bytecode array length: 33
bytecode array length: 32
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), U8(1),
/* 42 E> */ B(Star), R(1),
/* 52 E> */ B(Nop),
B(Star), R(0),
/* 45 S> */ B(Star), R(2),
B(Ldar), R(1),
B(TypeOf),
B(TestEqualStrict), R(2),
B(JumpIfTrue), U8(4),
/* 45 S> */ B(TypeOf),
B(TestEqualStrict), R(0),
B(Mov), R(0), R(2),
B(JumpIfToBooleanTrue), U8(4),
B(Jump), U8(8),
/* 74 S> */ B(LdaSmi), U8(1),
B(Star), R(1),
......@@ -317,17 +316,17 @@ snippet: "
"
frame size: 3
parameter count: 1
bytecode array length: 290
bytecode array length: 291
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), U8(1),
/* 42 E> */ B(Star), R(1),
/* 52 E> */ B(Nop),
B(Star), R(0),
/* 45 S> */ B(Star), R(2),
B(LdaSmi), U8(1),
B(TestEqualStrict), R(2),
B(JumpIfTrue), U8(10),
/* 45 S> */ B(LdaSmi), U8(1),
B(TestEqualStrict), R(0),
B(Mov), R(0), R(2),
B(JumpIfToBooleanTrue), U8(10),
B(LdaSmi), U8(2),
B(TestEqualStrict), R(2),
B(JumpIfTrueConstant), U8(0),
......@@ -488,30 +487,28 @@ snippet: "
"
frame size: 5
parameter count: 1
bytecode array length: 62
bytecode array length: 60
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), U8(1),
/* 42 E> */ B(Star), R(2),
/* 52 E> */ B(Nop),
B(Star), R(0),
/* 45 S> */ B(Star), R(3),
B(LdaSmi), U8(1),
B(TestEqualStrict), R(3),
B(JumpIfTrue), U8(10),
/* 45 S> */ B(LdaSmi), U8(1),
B(TestEqualStrict), R(0),
B(Mov), R(0), R(3),
B(JumpIfToBooleanTrue), U8(10),
B(LdaSmi), U8(2),
B(TestEqualStrict), R(3),
B(JumpIfTrue), U8(36),
B(Jump), U8(38),
/* 77 E> */ B(Ldar), R(2),
B(Star), R(4),
B(LdaSmi), U8(1),
B(Add), R(4),
B(Star), R(1),
/* 70 S> */ B(Star), R(4),
B(LdaSmi), U8(2),
B(TestEqualStrict), R(4),
B(JumpIfTrue), U8(4),
B(JumpIfTrue), U8(33),
B(Jump), U8(35),
/* 77 E> */ B(LdaSmi), U8(1),
B(Add), R(2),
B(Star), R(1),
/* 70 S> */ B(LdaSmi), U8(2),
B(TestEqualStrict), R(1),
B(Mov), R(1), R(4),
B(JumpIfToBooleanTrue), U8(4),
B(Jump), U8(8),
/* 101 S> */ B(LdaSmi), U8(1),
B(Star), R(2),
......
......@@ -16,11 +16,10 @@ snippet: "
"
frame size: 1
parameter count: 1
bytecode array length: 7
bytecode array length: 6
bytecodes: [
/* 21 E> */ B(StackCheck),
B(Ldar), R(closure),
B(Star), R(0),
B(Mov), R(closure), R(0),
B(LdaUndefined),
/* 25 S> */ B(Return),
]
......@@ -40,9 +39,8 @@ parameter count: 1
bytecode array length: 7
bytecodes: [
/* 21 E> */ B(StackCheck),
B(Ldar), R(closure),
B(Star), R(0),
/* 26 S> */ B(Nop),
B(Mov), R(closure), R(0),
/* 26 S> */ B(Ldar), R(0),
/* 36 S> */ B(Return),
]
constant pool: [
......
......@@ -14,7 +14,7 @@ snippet: "
"
frame size: 5
parameter count: 1
bytecode array length: 44
bytecode array length: 43
bytecodes: [
B(LdaConstant), U8(0),
B(Star), R(1),
......@@ -30,8 +30,7 @@ bytecodes: [
B(Star), R(4),
B(CreateClosure), U8(3), U8(0),
B(StaNamedPropertySloppy), R(4), U8(4), U8(3),
B(Ldar), R(4),
B(Star), R(3),
B(Mov), R(4), R(3),
B(CallRuntime), U16(Runtime::kInitializeVarGlobal), R(1), U8(3),
B(LdaUndefined),
/* 33 S> */ B(Return),
......
......@@ -13,7 +13,7 @@ snippet: "
"
frame size: 5
parameter count: 1
bytecode array length: 40
bytecode array length: 39
bytecodes: [
/* 30 E> */ B(StackCheck),
B(Mov), R(context), R(1),
......@@ -22,8 +22,7 @@ bytecodes: [
B(Star), R(3),
B(LdaConstant), U8(0),
B(Star), R(2),
B(Ldar), R(closure),
B(Star), R(4),
B(Mov), R(closure), R(4),
B(CallRuntime), U16(Runtime::kPushCatchContext), R(2), U8(3),
B(Star), R(1),
B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R(0), U8(0),
......@@ -50,18 +49,17 @@ snippet: "
"
frame size: 6
parameter count: 1
bytecode array length: 81
bytecode array length: 79
bytecodes: [
/* 30 E> */ B(StackCheck),
B(Mov), R(context), R(2),
/* 47 S> */ B(LdaSmi), U8(1),
/* 49 E> */ B(Star), R(0),
B(Jump), U8(30),
B(Jump), U8(29),
B(Star), R(4),
B(LdaConstant), U8(0),
B(Star), R(3),
B(Ldar), R(closure),
B(Star), R(5),
B(Mov), R(closure), R(5),
B(CallRuntime), U16(Runtime::kPushCatchContext), R(3), U8(3),
B(Star), R(2),
B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R(0), U8(0),
......@@ -71,12 +69,11 @@ bytecodes: [
B(Mov), R(context), R(2),
/* 75 S> */ B(LdaSmi), U8(2),
/* 77 E> */ B(Star), R(0),
B(Jump), U8(34),
B(Jump), U8(33),
B(Star), R(4),
B(LdaConstant), U8(1),
B(Star), R(3),
B(Ldar), R(closure),
B(Star), R(5),
B(Mov), R(closure), R(5),
B(CallRuntime), U16(Runtime::kPushCatchContext), R(3), U8(3),
B(Star), R(2),
B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R(0), U8(0),
......@@ -94,6 +91,6 @@ constant pool: [
]
handlers: [
[4, 8, 10],
[41, 45, 47],
[40, 44, 46],
]
......@@ -55,7 +55,7 @@ snippet: "
"
frame size: 9
parameter count: 1
bytecode array length: 88
bytecode array length: 87
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), U8(1),
......@@ -64,12 +64,11 @@ bytecodes: [
B(Mov), R(context), R(5),
/* 51 S> */ B(LdaSmi), U8(2),
/* 53 E> */ B(Star), R(0),
B(Jump), U8(34),
B(Jump), U8(33),
B(Star), R(7),
B(LdaConstant), U8(0),
B(Star), R(6),
B(Ldar), R(closure),
B(Star), R(8),
B(Mov), R(closure), R(8),
B(CallRuntime), U16(Runtime::kPushCatchContext), R(6), U8(3),
B(Star), R(5),
B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R(0), U8(0),
......@@ -102,7 +101,7 @@ constant pool: [
"e",
]
handlers: [
[8, 49, 55],
[8, 48, 54],
[11, 15, 17],
]
......@@ -114,7 +113,7 @@ snippet: "
"
frame size: 10
parameter count: 1
bytecode array length: 121
bytecode array length: 119
bytecodes: [
/* 30 E> */ B(StackCheck),
B(Mov), R(context), R(4),
......@@ -122,12 +121,11 @@ bytecodes: [
B(Mov), R(context), R(6),
/* 55 S> */ B(LdaSmi), U8(1),
/* 57 E> */ B(Star), R(0),
B(Jump), U8(34),
B(Jump), U8(33),
B(Star), R(8),
B(LdaConstant), U8(0),
B(Star), R(7),
B(Ldar), R(closure),
B(Star), R(9),
B(Mov), R(closure), R(9),
B(CallRuntime), U16(Runtime::kPushCatchContext), R(7), U8(3),
B(Star), R(6),
B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R(0), U8(0),
......@@ -136,12 +134,11 @@ bytecodes: [
/* 74 S> */ B(LdaSmi), U8(2),
/* 76 E> */ B(Star), R(0),
B(PopContext), R(1),
B(Jump), U8(34),
B(Jump), U8(33),
B(Star), R(7),
B(LdaConstant), U8(0),
B(Star), R(6),
B(Ldar), R(closure),
B(Star), R(8),
B(Mov), R(closure), R(8),
B(CallRuntime), U16(Runtime::kPushCatchContext), R(6), U8(3),
B(Star), R(5),
B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R(0), U8(0),
......@@ -174,8 +171,8 @@ constant pool: [
"e",
]
handlers: [
[4, 82, 88],
[7, 48, 50],
[4, 80, 86],
[7, 47, 49],
[10, 14, 16],
]
......@@ -15,26 +15,22 @@ snippet: "
}
return x;
"
frame size: 2
frame size: 1
parameter count: 1
bytecode array length: 31
bytecode array length: 23
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaZero),
/* 42 E> */ B(Star), R(0),
/* 54 S> */ B(Ldar), R(0),
B(Star), R(1),
B(LdaSmi), U8(10),
/* 54 E> */ B(TestEqual), R(1),
/* 54 S> */ B(LdaSmi), U8(10),
/* 54 E> */ B(TestEqual), R(0),
B(LogicalNot),
B(JumpIfFalse), U8(15),
B(JumpIfFalse), U8(11),
/* 45 E> */ B(StackCheck),
/* 65 S> */ B(Ldar), R(0),
B(Star), R(1),
B(LdaSmi), U8(10),
B(Add), R(1),
/* 65 S> */ B(LdaSmi), U8(10),
B(Add), R(0),
/* 67 E> */ B(Star), R(0),
B(Jump), U8(-22),
B(Jump), U8(-14),
/* 79 S> */ B(Ldar), R(0),
/* 89 S> */ B(Return),
]
......@@ -51,9 +47,9 @@ snippet: "
} while(x == false);
return x;
"
frame size: 2
frame size: 1
parameter count: 1
bytecode array length: 22
bytecode array length: 18
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaFalse),
......@@ -62,11 +58,9 @@ bytecodes: [
/* 56 S> */ B(Ldar), R(0),
B(ToBooleanLogicalNot),
/* 58 E> */ B(Star), R(0),
/* 74 S> */ B(Ldar), R(0),
B(Star), R(1),
B(LdaFalse),
/* 74 E> */ B(TestEqual), R(1),
B(JumpIfTrue), U8(-13),
/* 74 S> */ B(LdaFalse),
/* 74 E> */ B(TestEqual), R(0),
B(JumpIfTrue), U8(-9),
/* 85 S> */ B(Ldar), R(0),
/* 95 S> */ B(Return),
]
......@@ -80,16 +74,15 @@ snippet: "
var x = 101;
return void(x * 3);
"
frame size: 2
frame size: 1
parameter count: 1
bytecode array length: 13
bytecode array length: 11
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), U8(101),
B(Star), R(0),
/* 47 S> */ B(Star), R(1),
B(LdaSmi), U8(3),
B(Mul), R(1),
/* 47 S> */ B(LdaSmi), U8(3),
B(Mul), R(0),
B(LdaUndefined),
/* 67 S> */ B(Return),
]
......@@ -106,14 +99,13 @@ snippet: "
"
frame size: 4
parameter count: 1
bytecode array length: 25
bytecode array length: 22
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(Wide), B(LdaSmi), U16(1234),
B(Star), R(0),
/* 56 S> */ B(Star), R(2),
/* 66 E> */ B(Ldar), R(0),
B(Mul), R(2),
/* 56 S> */ B(Nop),
/* 66 E> */ B(Mul), R(0),
B(Star), R(3),
B(LdaSmi), U8(1),
B(Sub), R(3),
......@@ -132,16 +124,15 @@ snippet: "
var x = 13;
return ~x;
"
frame size: 2
frame size: 1
parameter count: 1
bytecode array length: 12
bytecode array length: 10
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), U8(13),
B(Star), R(0),
/* 46 S> */ B(Star), R(1),
B(LdaSmi), U8(-1),
B(BitwiseXor), R(1),
/* 46 S> */ B(LdaSmi), U8(-1),
B(BitwiseXor), R(0),
/* 57 S> */ B(Return),
]
constant pool: [
......@@ -154,16 +145,15 @@ snippet: "
var x = 13;
return +x;
"
frame size: 2
frame size: 1
parameter count: 1
bytecode array length: 12
bytecode array length: 10
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), U8(13),
B(Star), R(0),
/* 46 S> */ B(Star), R(1),
B(LdaSmi), U8(1),
B(Mul), R(1),
/* 46 S> */ B(LdaSmi), U8(1),
B(Mul), R(0),
/* 57 S> */ B(Return),
]
constant pool: [
......@@ -176,16 +166,15 @@ snippet: "
var x = 13;
return -x;
"
frame size: 2
frame size: 1
parameter count: 1
bytecode array length: 12
bytecode array length: 10
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), U8(13),
B(Star), R(0),
/* 46 S> */ B(Star), R(1),
B(LdaSmi), U8(-1),
B(Mul), R(1),
/* 46 S> */ B(LdaSmi), U8(-1),
B(Mul), R(0),
/* 57 S> */ B(Return),
]
constant pool: [
......
......@@ -171,12 +171,12 @@ snippet: "
"
frame size: 157
parameter count: 1
bytecode array length: 9
bytecode array length: 11
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 1494 S> */ B(Wide), B(Ldar), R16(127),
B(Star), R(0),
/* 1505 S> */ B(Nop),
/* 1494 S> */ B(Nop),
B(Wide), B(Mov), R16(127), R16(0),
/* 1505 S> */ B(Ldar), R(0),
/* 1516 S> */ B(Return),
]
constant pool: [
......@@ -348,12 +348,12 @@ snippet: "
"
frame size: 157
parameter count: 1
bytecode array length: 11
bytecode array length: 13
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 1494 S> */ B(Wide), B(Ldar), R16(126),
B(Wide), B(Star), R16(127),
/* 1507 S> */ B(Nop),
/* 1494 S> */ B(Nop),
B(Wide), B(Mov), R16(126), R16(127),
/* 1507 S> */ B(Wide), B(Ldar), R16(127),
/* 1520 S> */ B(Return),
]
constant pool: [
......@@ -523,15 +523,13 @@ snippet: "
if (x2 > 3) { return x129; }
return x128;
"
frame size: 158
frame size: 157
parameter count: 1
bytecode array length: 25
bytecode array length: 19
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 1494 S> */ B(Ldar), R(2),
B(Wide), B(Star), R16(157),
B(LdaSmi), U8(3),
/* 1501 E> */ B(Wide), B(TestGreaterThan), R16(157),
/* 1494 S> */ B(LdaSmi), U8(3),
/* 1501 E> */ B(Wide), B(TestGreaterThan), R16(2),
B(JumpIfFalse), U8(7),
/* 1508 S> */ B(Wide), B(Ldar), R16(129),
/* 1536 S> */ B(Return),
......@@ -707,24 +705,21 @@ snippet: "
if (x2 > 3) { return x0; }
return x129;
"
frame size: 158
frame size: 157
parameter count: 1
bytecode array length: 48
bytecode array length: 39
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 1503 S> */ B(LdaZero),
B(Star), R(0),
/* 1506 S> */ B(Wide), B(Ldar), R16(129),
B(Wide), B(Star), R16(157),
B(LdaSmi), U8(3),
/* 1515 E> */ B(Wide), B(TestEqual), R16(157),
B(JumpIfFalse), U8(8),
/* 1534 S> */ B(Ldar), R(0),
/* 1534 E> */ B(Wide), B(Star), R16(129),
/* 1540 S> */ B(Ldar), R(2),
B(Wide), B(Star), R16(157),
B(LdaSmi), U8(3),
/* 1547 E> */ B(Wide), B(TestGreaterThan), R16(157),
/* 1506 S> */ B(LdaSmi), U8(3),
/* 1515 E> */ B(Wide), B(TestEqual), R16(129),
B(JumpIfFalse), U8(13),
/* 1534 S> */ B(Nop),
/* 1534 E> */ B(Wide), B(Mov), R16(0), R16(129),
B(Wide), B(Ldar), R16(129),
/* 1540 S> */ B(LdaSmi), U8(3),
/* 1547 E> */ B(Wide), B(TestGreaterThan), R16(2),
B(JumpIfFalse), U8(5),
/* 1554 S> */ B(Ldar), R(0),
/* 1580 S> */ B(Return),
......@@ -901,7 +896,7 @@ snippet: "
"
frame size: 158
parameter count: 1
bytecode array length: 66
bytecode array length: 59
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 1503 S> */ B(LdaZero),
......@@ -910,23 +905,21 @@ bytecodes: [
B(Star), R(1),
/* 1523 S> */ B(LdaZero),
/* 1528 E> */ B(Wide), B(Star), R16(128),
/* 1538 S> */ B(Wide), B(Ldar), R16(128),
B(Wide), B(Star), R16(157),
B(LdaSmi), U8(64),
/* 1538 E> */ B(Wide), B(TestLessThan), R16(157),
B(JumpIfFalse), U8(35),
/* 1538 S> */ B(LdaSmi), U8(64),
/* 1538 E> */ B(Wide), B(TestLessThan), R16(128),
B(JumpIfFalse), U8(36),
/* 1518 E> */ B(StackCheck),
/* 1555 S> */ B(Ldar), R(1),
B(Wide), B(Star), R16(157),
/* 1555 S> */ B(Nop),
/* 1561 E> */ B(Wide), B(Ldar), R16(128),
B(Wide), B(Add), R16(157),
B(Wide), B(Add), R16(1),
B(Wide), B(Mov), R16(1), R16(157),
/* 1558 E> */ B(Star), R(1),
/* 1548 S> */ B(Wide), B(Ldar), R16(128),
B(ToNumber),
B(Wide), B(Star), R16(157),
B(Inc),
/* 1548 E> */ B(Wide), B(Star), R16(128),
B(Jump), U8(-47),
B(Jump), U8(-40),
/* 1567 S> */ B(Wide), B(Ldar), R16(128),
/* 1580 S> */ B(Return),
]
......@@ -1100,7 +1093,7 @@ snippet: "
"
frame size: 163
parameter count: 1
bytecode array length: 84
bytecode array length: 85
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 1503 S> */ B(Wide), B(LdaSmi), U16(1234),
......@@ -1108,27 +1101,27 @@ bytecodes: [
/* 1518 S> */ B(LdaZero),
B(Star), R(1),
/* 1534 S> */ B(Ldar), R(0),
B(JumpIfUndefined), U8(69),
B(JumpIfNull), U8(67),
B(JumpIfUndefined), U8(70),
B(JumpIfNull), U8(68),
B(ToObject),
B(Wide), B(Star), R16(157),
B(Wide), B(ForInPrepare), R16(158),
B(Wide), B(Star), R16(157),
B(LdaZero),
B(Wide), B(Star), R16(161),
/* 1526 S> */ B(Wide), B(ForInDone), R16(161), R16(160),
B(JumpIfTrue), U8(45),
B(JumpIfTrue), U8(46),
B(Wide), B(ForInNext), R16(157), R16(161), R16(158), U16(1),
B(JumpIfUndefined), U8(23),
B(JumpIfUndefined), U8(24),
B(Wide), B(Star), R16(128),
/* 1521 E> */ B(StackCheck),
/* 1541 S> */ B(Ldar), R(1),
B(Wide), B(Star), R16(162),
/* 1541 S> */ B(Nop),
/* 1547 E> */ B(Wide), B(Ldar), R16(128),
B(Wide), B(Add), R16(162),
B(Wide), B(Add), R16(1),
B(Wide), B(Mov), R16(1), R16(162),
/* 1544 E> */ B(Star), R(1),
B(Wide), B(ForInStep), R16(161),
B(Wide), B(Star), R16(161),
B(Jump), U8(-49),
B(Jump), U8(-50),
/* 1553 S> */ B(Ldar), R(1),
/* 1564 S> */ B(Return),
]
......@@ -1306,16 +1299,14 @@ parameter count: 1
bytecode array length: 55
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 1494 S> */ B(Ldar), R(64),
B(Wide), B(Star), R16(157),
/* 1509 E> */ B(Ldar), R(63),
B(Wide), B(Star), R16(158),
/* 1494 S> */ B(Nop),
/* 1509 E> */ B(Wide), B(Mov), R16(64), R16(157),
B(Wide), B(Mov), R16(63), R16(158),
B(Wide), B(CallRuntime), U16(Runtime::kAdd), R16(157), U16(2),
B(Star), R(0),
/* 1515 S> */ B(Ldar), R(27),
B(Wide), B(Star), R16(157),
/* 1530 E> */ B(Wide), B(Ldar), R16(143),
B(Wide), B(Star), R16(158),
/* 1515 S> */ B(Nop),
/* 1530 E> */ B(Wide), B(Mov), R16(27), R16(157),
B(Wide), B(Mov), R16(143), R16(158),
B(Wide), B(CallRuntime), U16(Runtime::kAdd), R16(157), U16(2),
B(Star), R(1),
/* 1537 S> */ B(CallRuntime), U16(Runtime::kTheHole), R(0), U8(0),
......
......@@ -13,15 +13,14 @@ snippet: "
"
frame size: 4
parameter count: 1
bytecode array length: 26
bytecode array length: 25
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 34 S> */ B(CreateObjectLiteral), U8(0), U8(0), U8(1),
B(Star), R(1),
B(ToObject),
B(Star), R(2),
B(Ldar), R(closure),
B(Star), R(3),
B(Mov), R(closure), R(3),
B(CallRuntime), U16(Runtime::kPushWithContext), R(2), U8(2),
B(PushContext), R(0),
/* 50 S> */ B(LdaLookupSlot), U8(1),
......
......@@ -138,6 +138,7 @@ TEST(InterpreterLoadLiteral) {
{
BytecodeArrayBuilder builder(handles.main_isolate(), handles.main_zone(), 1,
0, 0);
builder.LoadLiteral(Smi::FromInt(0x12345678)).Return();
Handle<BytecodeArray> bytecode_array = builder.ToBytecodeArray();
......@@ -151,6 +152,7 @@ TEST(InterpreterLoadLiteral) {
{
BytecodeArrayBuilder builder(handles.main_isolate(), handles.main_zone(), 1,
0, 0);
builder.LoadLiteral(factory->NewHeapNumber(-2.1e19)).Return();
Handle<BytecodeArray> bytecode_array = builder.ToBytecodeArray();
......@@ -164,6 +166,7 @@ TEST(InterpreterLoadLiteral) {
{
BytecodeArrayBuilder builder(handles.main_isolate(), handles.main_zone(), 1,
0, 0);
Handle<i::String> string = factory->NewStringFromAsciiChecked("String");
builder.LoadLiteral(string).Return();
Handle<BytecodeArray> bytecode_array = builder.ToBytecodeArray();
......@@ -182,6 +185,7 @@ TEST(InterpreterLoadStoreRegisters) {
for (int i = 0; i <= kMaxInt8; i++) {
BytecodeArrayBuilder builder(handles.main_isolate(), handles.main_zone(), 1,
0, i + 1);
Register reg(i);
builder.LoadTrue()
.StoreAccumulatorInRegister(reg)
......@@ -297,6 +301,7 @@ TEST(InterpreterBinaryOpsSmi) {
i::Factory* factory = handles.main_isolate()->factory();
BytecodeArrayBuilder builder(handles.main_isolate(),
handles.main_zone(), 1, 0, 1);
Register reg(0);
int lhs = lhs_inputs[l];
int rhs = rhs_inputs[r];
......@@ -387,6 +392,7 @@ TEST(InterpreterStringAdd) {
for (size_t i = 0; i < arraysize(test_cases); i++) {
BytecodeArrayBuilder builder(handles.main_isolate(), handles.main_zone(), 1,
0, 1);
Register reg(0);
builder.LoadLiteral(test_cases[i].lhs)
.StoreAccumulatorInRegister(reg)
......@@ -407,6 +413,7 @@ TEST(InterpreterParameter1) {
HandleAndZoneScope handles;
BytecodeArrayBuilder builder(handles.main_isolate(), handles.main_zone(), 1,
0, 0);
builder.LoadAccumulatorWithRegister(builder.Parameter(0)).Return();
Handle<BytecodeArray> bytecode_array = builder.ToBytecodeArray();
......@@ -429,6 +436,7 @@ TEST(InterpreterParameter8) {
HandleAndZoneScope handles;
BytecodeArrayBuilder builder(handles.main_isolate(), handles.main_zone(), 8,
0, 0);
builder.LoadAccumulatorWithRegister(builder.Parameter(0))
.BinaryOperation(Token::Value::ADD, builder.Parameter(1))
.BinaryOperation(Token::Value::ADD, builder.Parameter(2))
......@@ -464,6 +472,7 @@ TEST(InterpreterParameter1Assign) {
HandleAndZoneScope handles;
BytecodeArrayBuilder builder(handles.main_isolate(), handles.main_zone(), 1,
0, 0);
builder.LoadLiteral(Smi::FromInt(5))
.StoreAccumulatorInRegister(builder.Parameter(0))
.LoadAccumulatorWithRegister(builder.Parameter(0))
......@@ -592,6 +601,7 @@ TEST(InterpreterLoadNamedProperty) {
BytecodeArrayBuilder builder(handles.main_isolate(), handles.main_zone(), 1,
0, 0);
builder.LoadNamedProperty(builder.Parameter(0), name, vector->GetIndex(slot))
.Return();
Handle<BytecodeArray> bytecode_array = builder.ToBytecodeArray();
......@@ -645,6 +655,7 @@ TEST(InterpreterLoadKeyedProperty) {
BytecodeArrayBuilder builder(handles.main_isolate(), handles.main_zone(), 1,
0, 1);
builder.LoadLiteral(key)
.LoadKeyedProperty(builder.Parameter(0), vector->GetIndex(slot))
.Return();
......@@ -687,6 +698,7 @@ TEST(InterpreterStoreNamedProperty) {
BytecodeArrayBuilder builder(handles.main_isolate(), handles.main_zone(), 1,
0, 0);
builder.LoadLiteral(Smi::FromInt(999))
.StoreNamedProperty(builder.Parameter(0), name, vector->GetIndex(slot),
i::STRICT)
......@@ -746,6 +758,7 @@ TEST(InterpreterStoreKeyedProperty) {
BytecodeArrayBuilder builder(handles.main_isolate(), handles.main_zone(), 1,
0, 1);
builder.LoadLiteral(name)
.StoreAccumulatorInRegister(Register(0))
.LoadLiteral(Smi::FromInt(999))
......@@ -796,6 +809,7 @@ static void TestInterpreterCall(TailCallMode tail_call_mode) {
{
BytecodeArrayBuilder builder(handles.main_isolate(), handles.main_zone(), 1,
0, 1);
builder.LoadNamedProperty(builder.Parameter(0), name, slot_index)
.StoreAccumulatorInRegister(Register(0))
.Call(Register(0), builder.Parameter(0), 1, 0, tail_call_mode)
......@@ -815,6 +829,7 @@ static void TestInterpreterCall(TailCallMode tail_call_mode) {
{
BytecodeArrayBuilder builder(handles.main_isolate(), handles.main_zone(), 1,
0, 1);
builder.LoadNamedProperty(builder.Parameter(0), name, slot_index)
.StoreAccumulatorInRegister(Register(0))
.Call(Register(0), builder.Parameter(0), 1, 0, tail_call_mode)
......@@ -837,6 +852,7 @@ static void TestInterpreterCall(TailCallMode tail_call_mode) {
{
BytecodeArrayBuilder builder(handles.main_isolate(), handles.main_zone(), 1,
0, 4);
builder.LoadNamedProperty(builder.Parameter(0), name, slot_index)
.StoreAccumulatorInRegister(Register(0))
.LoadAccumulatorWithRegister(builder.Parameter(0))
......@@ -864,6 +880,7 @@ static void TestInterpreterCall(TailCallMode tail_call_mode) {
{
BytecodeArrayBuilder builder(handles.main_isolate(), handles.main_zone(), 1,
0, 12);
builder.LoadNamedProperty(builder.Parameter(0), name, slot_index)
.StoreAccumulatorInRegister(Register(0))
.LoadAccumulatorWithRegister(builder.Parameter(0))
......@@ -938,6 +955,7 @@ TEST(InterpreterJumps) {
HandleAndZoneScope handles;
BytecodeArrayBuilder builder(handles.main_isolate(), handles.main_zone(), 0,
0, 2);
Register reg(0), scratch(1);
BytecodeLabel label[3];
......@@ -965,6 +983,7 @@ TEST(InterpreterConditionalJumps) {
HandleAndZoneScope handles;
BytecodeArrayBuilder builder(handles.main_isolate(), handles.main_zone(), 0,
0, 2);
Register reg(0), scratch(1);
BytecodeLabel label[2];
BytecodeLabel done, done1;
......@@ -998,6 +1017,7 @@ TEST(InterpreterConditionalJumps2) {
HandleAndZoneScope handles;
BytecodeArrayBuilder builder(handles.main_isolate(), handles.main_zone(), 0,
0, 2);
Register reg(0), scratch(1);
BytecodeLabel label[2];
BytecodeLabel done, done1;
......@@ -1030,6 +1050,7 @@ TEST(InterpreterJumpConstantWith16BitOperand) {
HandleAndZoneScope handles;
BytecodeArrayBuilder builder(handles.main_isolate(), handles.main_zone(), 1,
0, 257);
Register reg(0), scratch(256);
BytecodeLabel done;
......@@ -1167,6 +1188,7 @@ TEST(InterpreterSmiComparisons) {
HandleAndZoneScope handles;
BytecodeArrayBuilder builder(handles.main_isolate(),
handles.main_zone(), 0, 0, 1);
Register r0(0);
builder.LoadLiteral(Smi::FromInt(inputs[i]))
.StoreAccumulatorInRegister(r0)
......@@ -1203,6 +1225,7 @@ TEST(InterpreterHeapNumberComparisons) {
i::Factory* factory = handles.main_isolate()->factory();
BytecodeArrayBuilder builder(handles.main_isolate(),
handles.main_zone(), 0, 0, 1);
Register r0(0);
builder.LoadLiteral(factory->NewHeapNumber(inputs[i]))
.StoreAccumulatorInRegister(r0)
......@@ -1236,6 +1259,7 @@ TEST(InterpreterStringComparisons) {
i::Factory* factory = handles.main_isolate()->factory();
BytecodeArrayBuilder builder(handles.main_isolate(),
handles.main_zone(), 0, 0, 1);
Register r0(0);
builder.LoadLiteral(factory->NewStringFromAsciiChecked(lhs))
.StoreAccumulatorInRegister(r0)
......@@ -1280,6 +1304,7 @@ TEST(InterpreterMixedComparisons) {
i::Factory* factory = handles.main_isolate()->factory();
BytecodeArrayBuilder builder(handles.main_isolate(),
handles.main_zone(), 0, 0, 1);
Register r0(0);
if (pass == 0) {
// Comparison with HeapNumber on the lhs and String on the rhs
......@@ -1393,6 +1418,7 @@ TEST(InterpreterInstanceOf) {
bool expected_value = (i == 0);
BytecodeArrayBuilder builder(handles.main_isolate(), handles.main_zone(), 0,
0, 1);
Register r0(0);
builder.LoadLiteral(cases[i]);
builder.StoreAccumulatorInRegister(r0)
......@@ -1422,6 +1448,7 @@ TEST(InterpreterTestIn) {
bool expected_value = (i == 0);
BytecodeArrayBuilder builder(handles.main_isolate(), handles.main_zone(), 0,
0, 1);
Register r0(0);
builder.LoadLiteral(factory->NewStringFromAsciiChecked(properties[i]))
.StoreAccumulatorInRegister(r0)
......@@ -1445,6 +1472,7 @@ TEST(InterpreterUnaryNot) {
bool expected_value = ((i & 1) == 1);
BytecodeArrayBuilder builder(handles.main_isolate(), handles.main_zone(), 0,
0, 0);
Register r0(0);
builder.LoadFalse();
for (size_t j = 0; j < i; j++) {
......@@ -1506,6 +1534,7 @@ TEST(InterpreterUnaryNotNonBoolean) {
for (size_t i = 0; i < arraysize(object_type_tuples); i++) {
BytecodeArrayBuilder builder(handles.main_isolate(), handles.main_zone(), 0,
0, 0);
Register r0(0);
LoadAny(&builder, factory, object_type_tuples[i].first);
builder.LogicalNot();
......@@ -1552,6 +1581,7 @@ TEST(InterpreterCallRuntime) {
BytecodeArrayBuilder builder(handles.main_isolate(), handles.main_zone(), 1,
0, 2);
builder.LoadLiteral(Smi::FromInt(15))
.StoreAccumulatorInRegister(Register(0))
.LoadLiteral(Smi::FromInt(40))
......@@ -1572,6 +1602,7 @@ TEST(InterpreterInvokeIntrinsic) {
BytecodeArrayBuilder builder(handles.main_isolate(), handles.main_zone(), 1,
0, 2);
builder.LoadLiteral(Smi::FromInt(15))
.StoreAccumulatorInRegister(Register(0))
.CallRuntime(Runtime::kInlineIsArray, Register(0), 1)
......
......@@ -57,11 +57,12 @@ TEST_F(BytecodeArrayBuilderTest, AllBytecodesGenerated) {
.LoadFalse()
.StoreAccumulatorInRegister(wide);
// Emit Ldar and Star taking care to foil the register optimizer.
builder.StackCheck(0)
.LoadAccumulatorWithRegister(other)
.BinaryOperation(Token::ADD, reg)
.StoreAccumulatorInRegister(reg)
.LoadNull()
.StoreAccumulatorInRegister(reg);
.LoadNull();
// Emit register-register transfer.
builder.MoveRegister(reg, other);
......@@ -291,12 +292,14 @@ TEST_F(BytecodeArrayBuilderTest, AllBytecodesGenerated) {
// Longer jumps requiring ConstantWide operand
builder.Jump(&start).JumpIfNull(&start).JumpIfUndefined(&start).JumpIfNotHole(
&start);
// Perform an operation that returns boolean value to
// generate JumpIfTrue/False
builder.CompareOperation(Token::Value::EQ, reg)
.JumpIfTrue(&start)
.CompareOperation(Token::Value::EQ, reg)
.JumpIfFalse(&start);
// Perform an operation that returns a non-boolean operation to
// generate JumpIfToBooleanTrue/False.
builder.BinaryOperation(Token::Value::ADD, reg)
......@@ -377,9 +380,20 @@ TEST_F(BytecodeArrayBuilderTest, FrameSizesLookGood) {
BytecodeArrayBuilder builder(isolate(), zone(), 0, contexts, locals);
BytecodeRegisterAllocator temporaries(
zone(), builder.temporary_register_allocator());
for (int i = 0; i < locals + contexts; i++) {
builder.LoadLiteral(Smi::FromInt(0));
builder.StoreAccumulatorInRegister(Register(i));
}
for (int i = 0; i < temps; i++) {
builder.LoadLiteral(Smi::FromInt(0));
builder.StoreAccumulatorInRegister(temporaries.NewRegister());
}
if (temps > 0) {
// Ensure temporaries are used so not optimized away by the
// register optimizer.
builder.New(Register(locals + contexts), Register(locals + contexts),
static_cast<size_t>(temps));
}
builder.Return();
Handle<BytecodeArray> the_array = builder.ToBytecodeArray();
......@@ -405,6 +419,7 @@ TEST_F(BytecodeArrayBuilderTest, RegisterValues) {
TEST_F(BytecodeArrayBuilderTest, Parameters) {
BytecodeArrayBuilder builder(isolate(), zone(), 10, 0, 0);
Register param0(builder.Parameter(0));
Register param9(builder.Parameter(9));
CHECK_EQ(param9.index() - param0.index(), 9);
......@@ -436,6 +451,7 @@ TEST_F(BytecodeArrayBuilderTest, RegisterType) {
TEST_F(BytecodeArrayBuilderTest, Constants) {
BytecodeArrayBuilder builder(isolate(), zone(), 0, 0, 0);
Factory* factory = isolate()->factory();
Handle<HeapObject> heap_num_1 = factory->NewHeapNumber(3.14);
Handle<HeapObject> heap_num_2 = factory->NewHeapNumber(5.2);
......@@ -459,6 +475,7 @@ TEST_F(BytecodeArrayBuilderTest, ForwardJumps) {
static const int kFarJumpDistance = 256;
BytecodeArrayBuilder builder(isolate(), zone(), 0, 0, 1);
Register reg(0);
BytecodeLabel far0, far1, far2, far3, far4;
BytecodeLabel near0, near1, near2, near3, near4;
......@@ -570,6 +587,7 @@ TEST_F(BytecodeArrayBuilderTest, ForwardJumps) {
TEST_F(BytecodeArrayBuilderTest, BackwardJumps) {
BytecodeArrayBuilder builder(isolate(), zone(), 0, 0, 1);
Register reg(0);
BytecodeLabel label0, label1, label2, label3, label4;
......
......@@ -47,6 +47,7 @@ TEST_F(BytecodeArrayIteratorTest, IteratesBytecodeArray) {
.LoadLiteral(smi_1)
.StoreAccumulatorInRegister(reg_1)
.LoadAccumulatorWithRegister(reg_0)
.BinaryOperation(Token::Value::ADD, reg_0)
.StoreAccumulatorInRegister(reg_1)
.LoadNamedProperty(reg_1, name, feedback_slot)
.BinaryOperation(Token::Value::ADD, reg_0)
......@@ -156,6 +157,15 @@ TEST_F(BytecodeArrayIteratorTest, IteratesBytecodeArray) {
offset += Bytecodes::Size(Bytecode::kLdar, OperandScale::kSingle);
iterator.Advance();
CHECK_EQ(iterator.current_bytecode(), Bytecode::kAdd);
CHECK_EQ(iterator.current_offset(), offset);
CHECK_EQ(iterator.current_operand_scale(), OperandScale::kSingle);
CHECK_EQ(iterator.GetRegisterOperand(0).index(), reg_0.index());
CHECK_EQ(iterator.GetRegisterOperandRange(0), 1);
CHECK(!iterator.done());
offset += Bytecodes::Size(Bytecode::kStar, OperandScale::kSingle);
iterator.Advance();
CHECK_EQ(iterator.current_bytecode(), Bytecode::kStar);
CHECK_EQ(iterator.current_offset(), offset);
CHECK_EQ(iterator.current_operand_scale(), OperandScale::kSingle);
......
// Copyright 2016 the V8 project authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "src/v8.h"
#include "src/factory.h"
#include "src/interpreter/bytecode-register-optimizer.h"
#include "src/objects-inl.h"
#include "src/objects.h"
#include "test/unittests/test-utils.h"
namespace v8 {
namespace internal {
namespace interpreter {
class BytecodeRegisterOptimizerTest : public BytecodePipelineStage,
public TestWithIsolateAndZone {
public:
BytecodeRegisterOptimizerTest() {}
~BytecodeRegisterOptimizerTest() override { delete register_allocator_; }
void Initialize(int number_of_parameters, int number_of_locals) {
register_allocator_ =
new TemporaryRegisterAllocator(zone(), number_of_locals);
register_optimizer_ = new (zone()) BytecodeRegisterOptimizer(
zone(), register_allocator_, number_of_parameters, this);
}
size_t FlushForOffset() override {
flush_for_offset_count_++;
return 0;
};
void FlushBasicBlock() override { flush_basic_block_count_++; }
void Write(BytecodeNode* node) override { output_.push_back(*node); }
TemporaryRegisterAllocator* allocator() { return register_allocator_; }
BytecodeRegisterOptimizer* optimizer() { return register_optimizer_; }
Register NewTemporary() {
return Register(allocator()->BorrowTemporaryRegister());
}
void KillTemporary(Register reg) {
allocator()->ReturnTemporaryRegister(reg.index());
}
int flush_for_offset_count() const { return flush_for_offset_count_; }
int flush_basic_block_count() const { return flush_basic_block_count_; }
size_t write_count() const { return output_.size(); }
const BytecodeNode& last_written() const { return output_.back(); }
const std::vector<BytecodeNode>* output() { return &output_; }
private:
TemporaryRegisterAllocator* register_allocator_;
BytecodeRegisterOptimizer* register_optimizer_;
int flush_for_offset_count_ = 0;
int flush_basic_block_count_ = 0;
std::vector<BytecodeNode> output_;
};
// Sanity tests.
TEST_F(BytecodeRegisterOptimizerTest, FlushForOffsetPassThrough) {
Initialize(1, 1);
CHECK_EQ(flush_for_offset_count(), 0);
CHECK_EQ(optimizer()->FlushForOffset(), 0);
CHECK_EQ(flush_for_offset_count(), 1);
}
TEST_F(BytecodeRegisterOptimizerTest, FlushForOffsetRightSize) {
Initialize(1, 1);
BytecodeNode node(Bytecode::kAdd, Register(0).ToOperand(),
OperandScale::kQuadruple);
optimizer()->Write(&node);
CHECK_EQ(optimizer()->FlushForOffset(), 0);
CHECK_EQ(flush_for_offset_count(), 1);
CHECK_EQ(write_count(), 1);
}
TEST_F(BytecodeRegisterOptimizerTest, FlushForOffsetNop) {
Initialize(1, 1);
BytecodeNode node(Bytecode::kNop);
optimizer()->Write(&node);
CHECK_EQ(optimizer()->FlushForOffset(), 0);
CHECK_EQ(flush_for_offset_count(), 1);
CHECK_EQ(write_count(), 1);
}
TEST_F(BytecodeRegisterOptimizerTest, FlushForOffsetNopExpression) {
Initialize(1, 1);
BytecodeNode node(Bytecode::kNop);
node.source_info().Update({3, false});
optimizer()->Write(&node);
CHECK_EQ(optimizer()->FlushForOffset(), 0);
CHECK_EQ(flush_for_offset_count(), 1);
CHECK_EQ(write_count(), 1);
}
TEST_F(BytecodeRegisterOptimizerTest, FlushForOffsetNopStatement) {
Initialize(1, 1);
BytecodeNode node(Bytecode::kNop);
node.source_info().Update({3, true});
optimizer()->Write(&node);
CHECK_EQ(optimizer()->FlushForOffset(), 0);
CHECK_EQ(flush_for_offset_count(), 1);
CHECK_EQ(write_count(), 1);
}
TEST_F(BytecodeRegisterOptimizerTest, FlushBasicBlockPassThrough) {
Initialize(1, 1);
CHECK_EQ(flush_basic_block_count(), 0);
optimizer()->FlushBasicBlock();
CHECK_EQ(flush_basic_block_count(), 1);
CHECK_EQ(write_count(), 0);
}
TEST_F(BytecodeRegisterOptimizerTest, WriteOneFlushBasicBlock) {
Initialize(1, 1);
BytecodeNode node(Bytecode::kAdd, Register(0).ToOperand(),
OperandScale::kQuadruple);
optimizer()->Write(&node);
CHECK_EQ(write_count(), 1);
optimizer()->FlushBasicBlock();
CHECK_EQ(write_count(), 1);
CHECK_EQ(node, last_written());
}
// Basic Register Optimizations
TEST_F(BytecodeRegisterOptimizerTest, TemporaryNotEmitted) {
Initialize(3, 1);
Register parameter = Register::FromParameterIndex(1, 3);
BytecodeNode node0(Bytecode::kLdar, parameter.ToOperand(),
OperandScale::kSingle);
optimizer()->Write(&node0);
CHECK_EQ(write_count(), 0);
Register temp = NewTemporary();
BytecodeNode node1(Bytecode::kStar, NewTemporary().ToOperand(),
OperandScale::kSingle);
optimizer()->Write(&node1);
CHECK_EQ(write_count(), 0);
KillTemporary(temp);
CHECK_EQ(write_count(), 0);
BytecodeNode node2(Bytecode::kReturn);
optimizer()->Write(&node2);
CHECK_EQ(write_count(), 2);
CHECK_EQ(output()->at(0).bytecode(), Bytecode::kLdar);
CHECK_EQ(output()->at(0).operand(0), parameter.ToOperand());
CHECK_EQ(output()->at(0).operand_scale(), OperandScale::kSingle);
CHECK_EQ(output()->at(1).bytecode(), Bytecode::kReturn);
}
TEST_F(BytecodeRegisterOptimizerTest, StoresToLocalsImmediate) {
Initialize(3, 1);
Register parameter = Register::FromParameterIndex(1, 3);
BytecodeNode node0(Bytecode::kLdar, parameter.ToOperand(),
OperandScale::kSingle);
optimizer()->Write(&node0);
CHECK_EQ(write_count(), 0);
Register local = Register(0);
BytecodeNode node1(Bytecode::kStar, local.ToOperand(), OperandScale::kSingle);
optimizer()->Write(&node1);
CHECK_EQ(write_count(), 1);
CHECK_EQ(output()->at(0).bytecode(), Bytecode::kMov);
CHECK_EQ(output()->at(0).operand(0), parameter.ToOperand());
CHECK_EQ(output()->at(0).operand(1), local.ToOperand());
CHECK_EQ(output()->at(0).operand_scale(), OperandScale::kSingle);
BytecodeNode node2(Bytecode::kReturn);
optimizer()->Write(&node2);
CHECK_EQ(write_count(), 3);
CHECK_EQ(output()->at(1).bytecode(), Bytecode::kLdar);
CHECK_EQ(output()->at(1).operand(0), local.ToOperand());
CHECK_EQ(output()->at(1).operand_scale(), OperandScale::kSingle);
CHECK_EQ(output()->at(2).bytecode(), Bytecode::kReturn);
}
TEST_F(BytecodeRegisterOptimizerTest, TemporaryNotMaterializedForInput) {
Initialize(3, 1);
Register parameter = Register::FromParameterIndex(1, 3);
Register temp0 = NewTemporary();
Register temp1 = NewTemporary();
BytecodeNode node0(Bytecode::kMov, parameter.ToOperand(), temp0.ToOperand(),
OperandScale::kSingle);
optimizer()->Write(&node0);
BytecodeNode node1(Bytecode::kMov, parameter.ToOperand(), temp1.ToOperand(),
OperandScale::kSingle);
optimizer()->Write(&node1);
CHECK_EQ(write_count(), 0);
BytecodeNode node2(Bytecode::kCallJSRuntime, 0, temp0.ToOperand(), 1,
OperandScale::kSingle);
optimizer()->Write(&node2);
CHECK_EQ(write_count(), 1);
CHECK_EQ(output()->at(0).bytecode(), Bytecode::kCallJSRuntime);
CHECK_EQ(output()->at(0).operand(0), 0);
CHECK_EQ(output()->at(0).operand(1), parameter.ToOperand());
CHECK_EQ(output()->at(0).operand(2), 1);
CHECK_EQ(output()->at(0).operand_scale(), OperandScale::kSingle);
}
TEST_F(BytecodeRegisterOptimizerTest, RangeOfTemporariesMaterializedForInput) {
Initialize(3, 1);
Register parameter = Register::FromParameterIndex(1, 3);
Register temp0 = NewTemporary();
Register temp1 = NewTemporary();
BytecodeNode node0(Bytecode::kLdaSmi, 3, OperandScale::kSingle);
optimizer()->Write(&node0);
CHECK_EQ(write_count(), 1);
BytecodeNode node1(Bytecode::kStar, temp0.ToOperand(), OperandScale::kSingle);
optimizer()->Write(&node1);
BytecodeNode node2(Bytecode::kMov, parameter.ToOperand(), temp1.ToOperand(),
OperandScale::kSingle);
optimizer()->Write(&node2);
CHECK_EQ(write_count(), 1);
BytecodeNode node3(Bytecode::kCallJSRuntime, 0, temp0.ToOperand(), 2,
OperandScale::kSingle);
optimizer()->Write(&node3);
CHECK_EQ(write_count(), 4);
CHECK_EQ(output()->at(0).bytecode(), Bytecode::kLdaSmi);
CHECK_EQ(output()->at(0).operand(0), 3);
CHECK_EQ(output()->at(0).operand_scale(), OperandScale::kSingle);
CHECK_EQ(output()->at(1).bytecode(), Bytecode::kStar);
CHECK_EQ(output()->at(1).operand(0), temp0.ToOperand());
CHECK_EQ(output()->at(1).operand_scale(), OperandScale::kSingle);
CHECK_EQ(output()->at(2).bytecode(), Bytecode::kMov);
CHECK_EQ(output()->at(2).operand(0), parameter.ToOperand());
CHECK_EQ(output()->at(2).operand(1), temp1.ToOperand());
CHECK_EQ(output()->at(2).operand_scale(), OperandScale::kSingle);
CHECK_EQ(output()->at(3).bytecode(), Bytecode::kCallJSRuntime);
CHECK_EQ(output()->at(3).operand(0), 0);
CHECK_EQ(output()->at(3).operand(1), temp0.ToOperand());
CHECK_EQ(output()->at(3).operand(2), 2);
CHECK_EQ(output()->at(3).operand_scale(), OperandScale::kSingle);
}
} // namespace interpreter
} // namespace internal
} // namespace v8
......@@ -332,6 +332,35 @@ TEST(OperandScale, PrefixesRequired) {
Bytecode::kExtraWide);
}
TEST(Bytecodes, OperandSizesToScale) {
CHECK_EQ(Bytecodes::OperandSizesToScale(OperandSize::kByte),
OperandScale::kSingle);
CHECK_EQ(Bytecodes::OperandSizesToScale(OperandSize::kShort),
OperandScale::kDouble);
CHECK_EQ(Bytecodes::OperandSizesToScale(OperandSize::kQuad),
OperandScale::kQuadruple);
CHECK_EQ(
Bytecodes::OperandSizesToScale(OperandSize::kShort, OperandSize::kShort,
OperandSize::kShort, OperandSize::kShort),
OperandScale::kDouble);
CHECK_EQ(
Bytecodes::OperandSizesToScale(OperandSize::kQuad, OperandSize::kShort,
OperandSize::kShort, OperandSize::kShort),
OperandScale::kQuadruple);
CHECK_EQ(
Bytecodes::OperandSizesToScale(OperandSize::kShort, OperandSize::kQuad,
OperandSize::kShort, OperandSize::kShort),
OperandScale::kQuadruple);
CHECK_EQ(
Bytecodes::OperandSizesToScale(OperandSize::kShort, OperandSize::kShort,
OperandSize::kQuad, OperandSize::kShort),
OperandScale::kQuadruple);
CHECK_EQ(
Bytecodes::OperandSizesToScale(OperandSize::kShort, OperandSize::kShort,
OperandSize::kShort, OperandSize::kQuad),
OperandScale::kQuadruple);
}
TEST(AccumulatorUse, LogicalOperators) {
CHECK_EQ(AccumulatorUse::kNone | AccumulatorUse::kRead,
AccumulatorUse::kRead);
......@@ -366,7 +395,6 @@ TEST(AccumulatorUse, AccumulatorUseToString) {
names.insert(Bytecodes::AccumulatorUseToString(AccumulatorUse::kReadWrite));
CHECK_EQ(names.size(), 4);
}
} // namespace interpreter
} // namespace internal
} // namespace v8
......@@ -98,8 +98,9 @@
'interpreter/bytecode-array-iterator-unittest.cc',
'interpreter/bytecode-array-writer-unittest.cc',
'interpreter/bytecode-peephole-optimizer-unittest.cc',
'interpreter/bytecode-register-allocator-unittest.cc',
'interpreter/bytecode-pipeline-unittest.cc',
'interpreter/bytecode-register-allocator-unittest.cc',
'interpreter/bytecode-register-optimizer-unittest.cc',
'interpreter/constant-array-builder-unittest.cc',
'interpreter/interpreter-assembler-unittest.cc',
'interpreter/interpreter-assembler-unittest.h',
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment