Moved the builtins used by the debugger to a separate list.
authorsgjesse@chromium.org <sgjesse@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Mon, 8 Dec 2008 10:16:57 +0000 (10:16 +0000)
committersgjesse@chromium.org <sgjesse@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Mon, 8 Dec 2008 10:16:57 +0000 (10:16 +0000)
Review URL: http://codereview.chromium.org/13241

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@933 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

src/builtins.cc
src/builtins.h
src/serialize.cc

index c44b2e22159caf917adab0686bd15b94455796a0..88c1c4c3eeb719da320da3ac436da7ffc446c56f 100644 (file)
@@ -615,6 +615,7 @@ void Builtins::Setup(bool create_heap_objects) {
   static BuiltinDesc functions[] = {
       BUILTIN_LIST_C(DEF_FUNCTION_PTR_C)
       BUILTIN_LIST_A(DEF_FUNCTION_PTR_A)
+      BUILTIN_LIST_DEBUG_A(DEF_FUNCTION_PTR_A)
       // Terminator:
       { NULL, NULL, NULL, builtin_count, static_cast<Code::Flags>(0) }
   };
index bcc3e89a7a1cae393568c721a2f6e13502662347..dd44feed906c9db100271db13cf15cb8d9bc5665 100644 (file)
@@ -52,11 +52,6 @@ namespace v8 { namespace internal {
   V(JSEntryTrampoline,          BUILTIN, UNINITIALIZED)        \
   V(JSConstructEntryTrampoline, BUILTIN, UNINITIALIZED)        \
                                                                \
-  V(Return_DebugBreak,          BUILTIN, DEBUG_BREAK)          \
-  V(Return_DebugBreakEntry,     BUILTIN, DEBUG_BREAK)          \
-  V(ConstructCall_DebugBreak,   BUILTIN, DEBUG_BREAK)          \
-  V(StubNoRegisters_DebugBreak, BUILTIN, DEBUG_BREAK)          \
-                                                               \
   V(LoadIC_Miss,                BUILTIN, UNINITIALIZED)        \
   V(KeyedLoadIC_Miss,           BUILTIN, UNINITIALIZED)        \
   V(StoreIC_Miss,               BUILTIN, UNINITIALIZED)        \
@@ -72,26 +67,34 @@ namespace v8 { namespace internal {
   V(LoadIC_StringLength,        LOAD_IC, MONOMORPHIC)          \
   V(LoadIC_FunctionPrototype,   LOAD_IC, MONOMORPHIC)          \
   V(LoadIC_Megamorphic,         LOAD_IC, MEGAMORPHIC)          \
-  V(LoadIC_DebugBreak,          LOAD_IC, DEBUG_BREAK)          \
                                                                \
   V(KeyedLoadIC_Initialize,     KEYED_LOAD_IC, UNINITIALIZED)  \
   V(KeyedLoadIC_PreMonomorphic, KEYED_LOAD_IC, PREMONOMORPHIC) \
   V(KeyedLoadIC_Generic,        KEYED_LOAD_IC, MEGAMORPHIC)    \
-  V(KeyedLoadIC_DebugBreak,     KEYED_LOAD_IC, DEBUG_BREAK)    \
                                                                \
   V(StoreIC_Initialize,         STORE_IC, UNINITIALIZED)       \
   V(StoreIC_Megamorphic,        STORE_IC, MEGAMORPHIC)         \
-  V(StoreIC_DebugBreak,         STORE_IC, DEBUG_BREAK)         \
                                                                \
   V(KeyedStoreIC_Initialize,    KEYED_STORE_IC, UNINITIALIZED) \
   V(KeyedStoreIC_Generic,       KEYED_STORE_IC, MEGAMORPHIC)   \
-  V(KeyedStoreIC_DebugBreak,    KEYED_STORE_IC, DEBUG_BREAK)   \
                                                                \
   /* Uses KeyedLoadIC_Initialize; must be after in list. */    \
   V(FunctionCall,               BUILTIN, UNINITIALIZED)        \
   V(FunctionApply,              BUILTIN, UNINITIALIZED)
 
 
+// Define list of builtins used by the debugger implemented in assembly.
+#define BUILTIN_LIST_DEBUG_A(V)                                \
+  V(Return_DebugBreak,          BUILTIN, DEBUG_BREAK)          \
+  V(Return_DebugBreakEntry,     BUILTIN, DEBUG_BREAK)          \
+  V(ConstructCall_DebugBreak,   BUILTIN, DEBUG_BREAK)          \
+  V(StubNoRegisters_DebugBreak, BUILTIN, DEBUG_BREAK)          \
+  V(LoadIC_DebugBreak,          LOAD_IC, DEBUG_BREAK)          \
+  V(KeyedLoadIC_DebugBreak,     KEYED_LOAD_IC, DEBUG_BREAK)    \
+  V(StoreIC_DebugBreak,         STORE_IC, DEBUG_BREAK)         \
+  V(KeyedStoreIC_DebugBreak,    KEYED_STORE_IC, DEBUG_BREAK)   
+
+
 // Define list of builtins implemented in JavaScript.
 #define BUILTINS_LIST_JS(V)    \
   V(EQUALS, 1)                 \
@@ -146,6 +149,7 @@ class Builtins : public AllStatic {
 #define DEF_ENUM_A(name, kind, state) name,
     BUILTIN_LIST_C(DEF_ENUM_C)
     BUILTIN_LIST_A(DEF_ENUM_A)
+    BUILTIN_LIST_DEBUG_A(DEF_ENUM_A)
 #undef DEF_ENUM_C
 #undef DEF_ENUM_A
     builtin_count
index 359d627262703be997ec712009aca0fe696f98ba..4ecb2a5ad01a75b265196bda264fa3e92056f663 100644 (file)
@@ -470,6 +470,7 @@ ExternalReferenceTable::ExternalReferenceTable() : refs_(64) {
 
   BUILTIN_LIST_C(DEF_ENTRY_C)
   BUILTIN_LIST_A(DEF_ENTRY_A)
+  BUILTIN_LIST_DEBUG_A(DEF_ENTRY_A)
 #undef DEF_ENTRY_C
 #undef DEF_ENTRY_A