| Index: src/full-codegen.h
|
| diff --git a/src/full-codegen.h b/src/full-codegen.h
|
| index af63aedfbff2e4e6dafc0485b37191d8862a6104..a9db54e32c18284b17f510d3384c55abebeab0f3 100644
|
| --- a/src/full-codegen.h
|
| +++ b/src/full-codegen.h
|
| @@ -31,14 +31,11 @@
|
| #include "v8.h"
|
|
|
| #include "allocation.h"
|
| -#include "assert-scope.h"
|
| #include "ast.h"
|
| #include "code-stubs.h"
|
| #include "codegen.h"
|
| #include "compiler.h"
|
| #include "data-flow.h"
|
| -#include "globals.h"
|
| -#include "objects.h"
|
|
|
| namespace v8 {
|
| namespace internal {
|
| @@ -139,64 +136,7 @@ class FullCodeGenerator: public AstVisitor {
|
| #error Unsupported target architecture.
|
| #endif
|
|
|
| - class BackEdgeTableIterator {
|
| - public:
|
| - explicit BackEdgeTableIterator(Code* unoptimized) {
|
| - ASSERT(unoptimized->kind() == Code::FUNCTION);
|
| - instruction_start_ = unoptimized->instruction_start();
|
| - cursor_ = instruction_start_ + unoptimized->back_edge_table_offset();
|
| - ASSERT(cursor_ < instruction_start_ + unoptimized->instruction_size());
|
| - table_length_ = Memory::uint32_at(cursor_);
|
| - cursor_ += kTableLengthSize;
|
| - end_ = cursor_ + table_length_ * kEntrySize;
|
| - }
|
| -
|
| - bool Done() { return cursor_ >= end_; }
|
| -
|
| - void Next() {
|
| - ASSERT(!Done());
|
| - cursor_ += kEntrySize;
|
| - }
|
| -
|
| - BailoutId ast_id() {
|
| - ASSERT(!Done());
|
| - return BailoutId(static_cast<int>(
|
| - Memory::uint32_at(cursor_ + kAstIdOffset)));
|
| - }
|
| -
|
| - uint32_t loop_depth() {
|
| - ASSERT(!Done());
|
| - return Memory::uint32_at(cursor_ + kLoopDepthOffset);
|
| - }
|
| -
|
| - uint32_t pc_offset() {
|
| - ASSERT(!Done());
|
| - return Memory::uint32_at(cursor_ + kPcOffsetOffset);
|
| - }
|
| -
|
| - Address pc() {
|
| - ASSERT(!Done());
|
| - return instruction_start_ + pc_offset();
|
| - }
|
| -
|
| - uint32_t table_length() { return table_length_; }
|
| -
|
| - private:
|
| - static const int kTableLengthSize = kIntSize;
|
| - static const int kAstIdOffset = 0 * kIntSize;
|
| - static const int kPcOffsetOffset = 1 * kIntSize;
|
| - static const int kLoopDepthOffset = 2 * kIntSize;
|
| - static const int kEntrySize = 3 * kIntSize;
|
| -
|
| - Address cursor_;
|
| - Address end_;
|
| - Address instruction_start_;
|
| - uint32_t table_length_;
|
| - DisallowHeapAllocation no_gc_while_iterating_over_raw_addresses_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(BackEdgeTableIterator);
|
| - };
|
| -
|
| + static const int kBackEdgeEntrySize = 3 * kIntSize;
|
|
|
| private:
|
| class Breakable;
|
| @@ -685,6 +625,8 @@ class FullCodeGenerator: public AstVisitor {
|
| AST_NODE_LIST(DECLARE_VISIT)
|
| #undef DECLARE_VISIT
|
|
|
| + void EmitUnaryOperation(UnaryOperation* expr, const char* comment);
|
| +
|
| void VisitComma(BinaryOperation* expr);
|
| void VisitLogicalExpression(BinaryOperation* expr);
|
| void VisitArithmeticExpression(BinaryOperation* expr);
|
|
|