OLD | NEW |
1 // Copyright 2010 the V8 project authors. All rights reserved. | 1 // Copyright 2010 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 919 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
930 uint32_t version_; | 930 uint32_t version_; |
931 uint32_t action_flag_; | 931 uint32_t action_flag_; |
932 JITCodeEntry *relevant_entry_; | 932 JITCodeEntry *relevant_entry_; |
933 JITCodeEntry *first_entry_; | 933 JITCodeEntry *first_entry_; |
934 }; | 934 }; |
935 | 935 |
936 // GDB will place breakpoint into this function. | 936 // GDB will place breakpoint into this function. |
937 // To prevent GCC from inlining or removing it we place noinline attribute | 937 // To prevent GCC from inlining or removing it we place noinline attribute |
938 // and inline assembler statement inside. | 938 // and inline assembler statement inside. |
939 void __attribute__((noinline)) __jit_debug_register_code() { | 939 void __attribute__((noinline)) __jit_debug_register_code() { |
940 __asm__ (""); | 940 __asm__(""); |
941 } | 941 } |
942 | 942 |
943 // GDB will inspect contents of this descriptor. | 943 // GDB will inspect contents of this descriptor. |
944 // Static initialization is necessary to prevent GDB from seeing | 944 // Static initialization is necessary to prevent GDB from seeing |
945 // uninitialized descriptor. | 945 // uninitialized descriptor. |
946 JITDescriptor __jit_debug_descriptor = { 1, 0, 0, 0 }; | 946 JITDescriptor __jit_debug_descriptor = { 1, 0, 0, 0 }; |
947 } | 947 } |
948 | 948 |
949 | 949 |
950 static JITCodeEntry* CreateCodeEntry(Address symfile_addr, | 950 static JITCodeEntry* CreateCodeEntry(Address symfile_addr, |
(...skipping 210 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1161 GDBJITLineInfo* line_info) { | 1161 GDBJITLineInfo* line_info) { |
1162 ASSERT(!IsLineInfoTagged(line_info)); | 1162 ASSERT(!IsLineInfoTagged(line_info)); |
1163 HashMap::Entry* e = entries.Lookup(code, HashForCodeObject(code), true); | 1163 HashMap::Entry* e = entries.Lookup(code, HashForCodeObject(code), true); |
1164 ASSERT(e->value == NULL); | 1164 ASSERT(e->value == NULL); |
1165 e->value = TagLineInfo(line_info); | 1165 e->value = TagLineInfo(line_info); |
1166 } | 1166 } |
1167 | 1167 |
1168 | 1168 |
1169 } } // namespace v8::internal | 1169 } } // namespace v8::internal |
1170 #endif | 1170 #endif |
OLD | NEW |