OLD | NEW |
1 // Copyright 2010 the V8 project authors. All rights reserved. | 1 // Copyright 2010 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifdef ENABLE_GDB_JIT_INTERFACE | 5 #ifdef ENABLE_GDB_JIT_INTERFACE |
6 #include "src/v8.h" | 6 #include "src/v8.h" |
7 | 7 |
8 #include "src/base/platform/platform.h" | 8 #include "src/base/platform/platform.h" |
9 #include "src/bootstrapper.h" | 9 #include "src/bootstrapper.h" |
10 #include "src/compiler.h" | 10 #include "src/compiler.h" |
(...skipping 1076 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1087 Writer::Slot<uint32_t> fb_block_size = w->CreateSlotHere<uint32_t>(); | 1087 Writer::Slot<uint32_t> fb_block_size = w->CreateSlotHere<uint32_t>(); |
1088 uintptr_t fb_block_start = w->position(); | 1088 uintptr_t fb_block_start = w->position(); |
1089 #if V8_TARGET_ARCH_IA32 || V8_TARGET_ARCH_X87 | 1089 #if V8_TARGET_ARCH_IA32 || V8_TARGET_ARCH_X87 |
1090 w->Write<uint8_t>(DW_OP_reg5); // The frame pointer's here on ia32 | 1090 w->Write<uint8_t>(DW_OP_reg5); // The frame pointer's here on ia32 |
1091 #elif V8_TARGET_ARCH_X64 | 1091 #elif V8_TARGET_ARCH_X64 |
1092 w->Write<uint8_t>(DW_OP_reg6); // and here on x64. | 1092 w->Write<uint8_t>(DW_OP_reg6); // and here on x64. |
1093 #elif V8_TARGET_ARCH_ARM | 1093 #elif V8_TARGET_ARCH_ARM |
1094 UNIMPLEMENTED(); | 1094 UNIMPLEMENTED(); |
1095 #elif V8_TARGET_ARCH_MIPS | 1095 #elif V8_TARGET_ARCH_MIPS |
1096 UNIMPLEMENTED(); | 1096 UNIMPLEMENTED(); |
| 1097 #elif V8_TARGET_ARCH_MIPS64 |
| 1098 UNIMPLEMENTED(); |
1097 #else | 1099 #else |
1098 #error Unsupported target architecture. | 1100 #error Unsupported target architecture. |
1099 #endif | 1101 #endif |
1100 fb_block_size.set(static_cast<uint32_t>(w->position() - fb_block_start)); | 1102 fb_block_size.set(static_cast<uint32_t>(w->position() - fb_block_start)); |
1101 | 1103 |
1102 int params = scope->num_parameters(); | 1104 int params = scope->num_parameters(); |
1103 int slots = scope->num_stack_slots(); | 1105 int slots = scope->num_stack_slots(); |
1104 int context_slots = scope->ContextLocalCount(); | 1106 int context_slots = scope->ContextLocalCount(); |
1105 // The real slot ID is internal_slots + context_slot_id. | 1107 // The real slot ID is internal_slots + context_slot_id. |
1106 int internal_slots = Context::MIN_CONTEXT_SLOTS; | 1108 int internal_slots = Context::MIN_CONTEXT_SLOTS; |
(...skipping 1063 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2170 base::LockGuard<base::Mutex> lock_guard(mutex.Pointer()); | 2172 base::LockGuard<base::Mutex> lock_guard(mutex.Pointer()); |
2171 ASSERT(!IsLineInfoTagged(line_info)); | 2173 ASSERT(!IsLineInfoTagged(line_info)); |
2172 HashMap::Entry* e = GetEntries()->Lookup(code, HashForCodeObject(code), true); | 2174 HashMap::Entry* e = GetEntries()->Lookup(code, HashForCodeObject(code), true); |
2173 ASSERT(e->value == NULL); | 2175 ASSERT(e->value == NULL); |
2174 e->value = TagLineInfo(line_info); | 2176 e->value = TagLineInfo(line_info); |
2175 } | 2177 } |
2176 | 2178 |
2177 | 2179 |
2178 } } // namespace v8::internal | 2180 } } // namespace v8::internal |
2179 #endif | 2181 #endif |
OLD | NEW |