Changeset 176134 in webkit for trunk/Source/JavaScriptCore/assembler/MacroAssemblerARM.cpp
- Timestamp:
- Nov 14, 2014, 12:24:55 PM (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/assembler/MacroAssemblerARM.cpp
r176031 r176134 1 1 /* 2 * Copyright (C) 2013 Apple Inc.2 * Copyright (C) 2013, 2014 Apple Inc. 3 3 * Copyright (C) 2009 University of Szeged 4 4 * All rights reserved. … … 31 31 32 32 #include "MacroAssemblerARM.h" 33 34 #if ENABLE(MASM_PROBE)35 #include <wtf/StdLibExtras.h>36 #endif37 33 38 34 #if OS(LINUX) … … 102 98 #if ENABLE(MASM_PROBE) 103 99 104 void MacroAssemblerARM::ProbeContext::dumpCPURegisters(const char* indentation) 100 #define INDENT printIndent(indentation) 101 102 void MacroAssemblerARM::printCPURegisters(CPUState& cpu, int indentation) 105 103 { 106 104 #define DUMP_GPREGISTER(_type, _regName) { \ 107 105 int32_t value = reinterpret_cast<int32_t>(cpu._regName); \ 108 dataLogF("%s %5s: 0x%08x %d\n", indentation, #_regName, value, value) ; \106 INDENT, dataLogF("%5s: 0x%08x %d\n", #_regName, value, value) ; \ 109 107 } 110 108 FOR_EACH_CPU_GPREGISTER(DUMP_GPREGISTER) … … 113 111 114 112 #define DUMP_FPREGISTER(_type, _regName) { \ 115 uint 32_t* u = reinterpret_cast<uint32_t*>(&cpu._regName); \113 uint64_t* u = reinterpret_cast<uint64_t*>(&cpu._regName); \ 116 114 double* d = reinterpret_cast<double*>(&cpu._regName); \ 117 dataLogF("%s %5s: 0x %08x %08x %12g\n", \ 118 indentation, #_regName, u[1], u[0], d[0]); \ 115 INDENT, dataLogF("%5s: 0x%016llx %.13g\n", #_regName, *u, *d); \ 119 116 } 120 117 FOR_EACH_CPU_FPREGISTER(DUMP_FPREGISTER) … … 122 119 } 123 120 124 void MacroAssemblerARM::ProbeContext::dump(const char* indentation) 125 { 126 if (!indentation) 127 indentation = ""; 128 129 dataLogF("%sProbeContext %p {\n", indentation, this); 130 dataLogF("%s probeFunction: %p\n", indentation, probeFunction); 131 dataLogF("%s arg1: %p %llu\n", indentation, arg1, reinterpret_cast<int64_t>(arg1)); 132 dataLogF("%s arg2: %p %llu\n", indentation, arg2, reinterpret_cast<int64_t>(arg2)); 133 dataLogF("%s cpu: {\n", indentation); 134 135 dumpCPURegisters(indentation); 136 137 dataLogF("%s }\n", indentation); 138 dataLogF("%s}\n", indentation); 139 } 140 121 #undef INDENT 141 122 142 123 extern "C" void ctiMasmProbeTrampoline(); 143 124 144 125 // For details on "What code is emitted for the probe?" and "What values are in 145 // the saved registers?", see comment for MacroAssemblerX86 ::probe() in146 // MacroAssemblerX86 _64.h.126 // the saved registers?", see comment for MacroAssemblerX86Common::probe() in 127 // MacroAssemblerX86Common.cpp. 147 128 148 129 void MacroAssemblerARM::probe(MacroAssemblerARM::ProbeFunction function, void* arg1, void* arg2)
Note:
See TracChangeset
for help on using the changeset viewer.