Revert "Upgrade to 5.0.71.48"

This reverts commit 8389745919cae02139ddc085a63c00d024269cf2.

Change-Id: Ic5c75c8b3ddaf795972372fbc863a514862953c1
diff --git a/src/interpreter/interpreter.h b/src/interpreter/interpreter.h
index e02e914..ef9b5d1 100644
--- a/src/interpreter/interpreter.h
+++ b/src/interpreter/interpreter.h
@@ -21,113 +21,91 @@
 class Callable;
 class CompilationInfo;
 
-namespace interpreter {
-
+namespace compiler {
 class InterpreterAssembler;
+}
+
+namespace interpreter {
 
 class Interpreter {
  public:
   explicit Interpreter(Isolate* isolate);
   virtual ~Interpreter() {}
 
-  // Initializes the interpreter dispatch table.
-  void Initialize();
+  // Creates an uninitialized interpreter handler table, where each handler
+  // points to the Illegal builtin.
+  static Handle<FixedArray> CreateUninitializedInterpreterTable(
+      Isolate* isolate);
 
-  // Returns the interrupt budget which should be used for the profiler counter.
-  static int InterruptBudget();
+  // Initializes the interpreter.
+  void Initialize();
 
   // Generate bytecode for |info|.
   static bool MakeBytecode(CompilationInfo* info);
 
-  // Return bytecode handler for |bytecode|.
-  Code* GetBytecodeHandler(Bytecode bytecode);
-
-  // GC support.
-  void IterateDispatchTable(ObjectVisitor* v);
-
-  void TraceCodegen(Handle<Code> code, const char* name);
-
-  Address dispatch_table_address() {
-    return reinterpret_cast<Address>(&dispatch_table_[0]);
-  }
-
  private:
 // Bytecode handler generator functions.
 #define DECLARE_BYTECODE_HANDLER_GENERATOR(Name, ...) \
-  void Do##Name(InterpreterAssembler* assembler);
+  void Do##Name(compiler::InterpreterAssembler* assembler);
   BYTECODE_LIST(DECLARE_BYTECODE_HANDLER_GENERATOR)
 #undef DECLARE_BYTECODE_HANDLER_GENERATOR
 
   // Generates code to perform the binary operations via |function_id|.
   void DoBinaryOp(Runtime::FunctionId function_id,
-                  InterpreterAssembler* assembler);
+                  compiler::InterpreterAssembler* assembler);
 
   // Generates code to perform the count operations via |function_id|.
   void DoCountOp(Runtime::FunctionId function_id,
-                 InterpreterAssembler* assembler);
+                 compiler::InterpreterAssembler* assembler);
 
   // Generates code to perform the comparison operation associated with
   // |compare_op|.
-  void DoCompareOp(Token::Value compare_op, InterpreterAssembler* assembler);
+  void DoCompareOp(Token::Value compare_op,
+                   compiler::InterpreterAssembler* assembler);
 
   // Generates code to load a constant from the constant pool.
-  void DoLoadConstant(InterpreterAssembler* assembler);
+  void DoLoadConstant(compiler::InterpreterAssembler* assembler);
 
   // Generates code to perform a global load via |ic|.
-  void DoLoadGlobal(Callable ic, InterpreterAssembler* assembler);
+  void DoLoadGlobal(Callable ic, compiler::InterpreterAssembler* assembler);
 
   // Generates code to perform a global store via |ic|.
-  void DoStoreGlobal(Callable ic, InterpreterAssembler* assembler);
+  void DoStoreGlobal(Callable ic, compiler::InterpreterAssembler* assembler);
 
   // Generates code to perform a named property load via |ic|.
-  void DoLoadIC(Callable ic, InterpreterAssembler* assembler);
+  void DoLoadIC(Callable ic, compiler::InterpreterAssembler* assembler);
 
   // Generates code to perform a keyed property load via |ic|.
-  void DoKeyedLoadIC(Callable ic, InterpreterAssembler* assembler);
+  void DoKeyedLoadIC(Callable ic, compiler::InterpreterAssembler* assembler);
 
   // Generates code to perform a namedproperty store via |ic|.
-  void DoStoreIC(Callable ic, InterpreterAssembler* assembler);
+  void DoStoreIC(Callable ic, compiler::InterpreterAssembler* assembler);
 
   // Generates code to perform a keyed property store via |ic|.
-  void DoKeyedStoreIC(Callable ic, InterpreterAssembler* assembler);
+  void DoKeyedStoreIC(Callable ic, compiler::InterpreterAssembler* assembler);
 
   // Generates code to perform a JS call.
-  void DoJSCall(InterpreterAssembler* assembler, TailCallMode tail_call_mode);
-
-  // Generates code to perform a runtime call.
-  void DoCallRuntimeCommon(InterpreterAssembler* assembler);
-
-  // Generates code to perform a runtime call returning a pair.
-  void DoCallRuntimeForPairCommon(InterpreterAssembler* assembler);
-
-  // Generates code to perform a JS runtime call.
-  void DoCallJSRuntimeCommon(InterpreterAssembler* assembler);
-
-  // Generates code to perform a constructor call..
-  void DoCallConstruct(InterpreterAssembler* assembler);
+  void DoJSCall(compiler::InterpreterAssembler* assembler);
 
   // Generates code ro create a literal via |function_id|.
   void DoCreateLiteral(Runtime::FunctionId function_id,
-                       InterpreterAssembler* assembler);
+                       compiler::InterpreterAssembler* assembler);
 
   // Generates code to perform delete via function_id.
   void DoDelete(Runtime::FunctionId function_id,
-                InterpreterAssembler* assembler);
+                compiler::InterpreterAssembler* assembler);
 
   // Generates code to perform a lookup slot load via |function_id|.
   void DoLoadLookupSlot(Runtime::FunctionId function_id,
-                        InterpreterAssembler* assembler);
+                        compiler::InterpreterAssembler* assembler);
 
   // Generates code to perform a lookup slot store depending on |language_mode|.
   void DoStoreLookupSlot(LanguageMode language_mode,
-                         InterpreterAssembler* assembler);
+                         compiler::InterpreterAssembler* assembler);
 
-  bool IsDispatchTableInitialized();
-
-  static const int kDispatchTableSize = static_cast<int>(Bytecode::kLast) + 1;
+  bool IsInterpreterTableInitialized(Handle<FixedArray> handler_table);
 
   Isolate* isolate_;
-  Code* dispatch_table_[kDispatchTableSize];
 
   DISALLOW_COPY_AND_ASSIGN(Interpreter);
 };