git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6746 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
mikhail.naganov@gmail.com 2011-02-11 12:25:41 +00:00
parent 2e08148b06
commit efe7129277
23 changed files with 1 additions and 333 deletions

View File

@ -234,9 +234,6 @@ LIBRARY_FLAGS = {
'CCFLAGS': ['-m64'],
'LINKFLAGS': ['-m64'],
},
'prof:oprofile': {
'CPPDEFINES': ['ENABLE_OPROFILE_AGENT']
},
'gdbjit:on': {
'CPPDEFINES': ['ENABLE_GDB_JIT_INTERFACE']
}
@ -539,10 +536,6 @@ SAMPLE_FLAGS = {
'CCFLAGS': ['-g', '-O0'],
'CPPDEFINES': ['DEBUG']
},
'prof:oprofile': {
'LIBPATH': ['/usr/lib32', '/usr/lib32/oprofile'],
'LIBS': ['opagent']
}
},
'msvc': {
'all': {
@ -712,7 +705,7 @@ SIMPLE_OPTIONS = {
'help': 'build using snapshots for faster start-up'
},
'prof': {
'values': ['on', 'off', 'oprofile'],
'values': ['on', 'off'],
'default': 'off',
'help': 'enable profiling of build target'
},
@ -899,8 +892,6 @@ def VerifyOptions(env):
Abort("Profiling on windows only supported for static library.")
if env['gdbjit'] == 'on' and (env['os'] != 'linux' or (env['arch'] != 'ia32' and env['arch'] != 'x64')):
Abort("GDBJIT interface is supported only for Intel-compatible (ia32 or x64) Linux target.")
if env['prof'] == 'oprofile' and env['os'] != 'linux':
Abort("OProfile is only supported on Linux.")
if env['os'] == 'win32' and env['soname'] == 'on':
Abort("Shared Object soname not applicable for Windows.")
if env['soname'] == 'on' and env['library'] == 'static':

View File

@ -97,7 +97,6 @@ SOURCES = {
objects.cc
objects-printer.cc
objects-visiting.cc
oprofile-agent.cc
parser.cc
preparser.cc
preparse-data.cc

View File

@ -32,7 +32,6 @@
#include "factory.h"
#include "gdb-jit.h"
#include "macro-assembler.h"
#include "oprofile-agent.h"
namespace v8 {
namespace internal {
@ -63,9 +62,6 @@ void CodeStub::GenerateCode(MacroAssembler* masm) {
void CodeStub::RecordCodeGeneration(Code* code, MacroAssembler* masm) {
code->set_major_key(MajorKey());
OPROFILE(CreateNativeCodeRegion(GetName(),
code->instruction_start(),
code->instruction_size()));
PROFILE(CodeCreateEvent(Logger::STUB_TAG, code, GetName()));
GDBJIT(AddCode(GDBJITInterface::STUB, GetName(), code));
Counters::total_stubs_code_size.Increment(code->instruction_size());

View File

@ -31,7 +31,6 @@
#include "codegen-inl.h"
#include "compiler.h"
#include "debug.h"
#include "oprofile-agent.h"
#include "prettyprinter.h"
#include "register-allocator-inl.h"
#include "rewriter.h"

View File

@ -39,7 +39,6 @@
#include "hydrogen.h"
#include "lithium.h"
#include "liveedit.h"
#include "oprofile-agent.h"
#include "parser.h"
#include "rewriter.h"
#include "runtime-profiler.h"
@ -419,9 +418,6 @@ static Handle<SharedFunctionInfo> MakeFunctionInfo(CompilationInfo* info) {
: Logger::ToNativeByScript(Logger::SCRIPT_TAG, *script),
*info->code(),
String::cast(script->name())));
OPROFILE(CreateNativeCodeRegion(String::cast(script->name()),
info->code()->instruction_start(),
info->code()->instruction_size()));
GDBJIT(AddCode(Handle<String>(String::cast(script->name())),
script,
info->code()));
@ -432,9 +428,6 @@ static Handle<SharedFunctionInfo> MakeFunctionInfo(CompilationInfo* info) {
: Logger::ToNativeByScript(Logger::SCRIPT_TAG, *script),
*info->code(),
""));
OPROFILE(CreateNativeCodeRegion(info->is_eval() ? "Eval" : "Script",
info->code()->instruction_start(),
info->code()->instruction_size()));
GDBJIT(AddCode(Handle<String>(), script, info->code()));
}
@ -783,7 +776,6 @@ void Compiler::RecordFunctionCompilation(Logger::LogEventsAndTags tag,
// script name and line number. Check explicitly whether logging is
// enabled as finding the line number is not free.
if (Logger::is_logging() ||
OProfileAgent::is_enabled() ||
CpuProfiler::is_profiling()) {
Handle<Script> script = info->script();
Handle<Code> code = info->code();
@ -795,18 +787,10 @@ void Compiler::RecordFunctionCompilation(Logger::LogEventsAndTags tag,
*name,
String::cast(script->name()),
line_num));
OPROFILE(CreateNativeCodeRegion(*name,
String::cast(script->name()),
line_num,
code->instruction_start(),
code->instruction_size()));
} else {
PROFILE(CodeCreateEvent(Logger::ToNativeByScript(tag, *script),
*code,
*name));
OPROFILE(CreateNativeCodeRegion(*name,
code->instruction_start(),
code->instruction_size()));
}
}

View File

@ -493,7 +493,6 @@ DEFINE_bool(log_regexp, false, "Log regular expression execution.")
DEFINE_bool(sliding_state_window, false,
"Update sliding state window counters.")
DEFINE_string(logfile, "v8.log", "Specify the name of the log file.")
DEFINE_bool(oprofile, false, "Enable JIT agent for OProfile.")
DEFINE_bool(ll_prof, false, "Enable low-level linux profiler.")
//

View File

@ -36,7 +36,6 @@
#include "deoptimizer.h"
#include "global-handles.h"
#include "memory.h"
#include "oprofile-agent.h"
#include "parser.h"
#include "scopeinfo.h"
#include "scopes.h"

View File

@ -1,108 +0,0 @@
// Copyright 2006-2009 the V8 project authors. All rights reserved.
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
//
// * Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above
// copyright notice, this list of conditions and the following
// disclaimer in the documentation and/or other materials provided
// with the distribution.
// * Neither the name of Google Inc. nor the names of its
// contributors may be used to endorse or promote products derived
// from this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include "v8.h"
#include "oprofile-agent.h"
namespace v8 {
namespace internal {
bool OProfileAgent::Initialize() {
#ifdef ENABLE_OPROFILE_AGENT
if (FLAG_oprofile) {
if (handle_ != NULL) return false;
// Disable code moving by GC.
FLAG_always_compact = false;
FLAG_never_compact = true;
handle_ = op_open_agent();
return (handle_ != NULL);
} else {
return true;
}
#else
if (FLAG_oprofile) {
OS::Print("Warning: --oprofile specified but binary compiled without "
"oprofile support.\n");
}
return true;
#endif
}
void OProfileAgent::TearDown() {
#ifdef ENABLE_OPROFILE_AGENT
if (handle_ != NULL) {
op_close_agent(handle_);
}
#endif
}
#ifdef ENABLE_OPROFILE_AGENT
op_agent_t OProfileAgent::handle_ = NULL;
void OProfileAgent::CreateNativeCodeRegion(const char* name,
const void* ptr, unsigned int size) {
op_write_native_code(handle_, name, (uint64_t)ptr, ptr, size);
}
void OProfileAgent::CreateNativeCodeRegion(String* name,
const void* ptr, unsigned int size) {
const char* func_name;
SmartPointer<char> str =
name->ToCString(DISALLOW_NULLS, ROBUST_STRING_TRAVERSAL);
func_name = name->length() > 0 ? *str : "<anonymous>";
CreateNativeCodeRegion(func_name, ptr, size);
}
void OProfileAgent::CreateNativeCodeRegion(String* name, String* source,
int line_num, const void* ptr, unsigned int size) {
Vector<char> buf = Vector<char>::New(OProfileAgent::kFormattingBufSize);
const char* func_name;
SmartPointer<char> str =
name->ToCString(DISALLOW_NULLS, ROBUST_STRING_TRAVERSAL);
func_name = name->length() > 0 ? *str : "<anonymous>";
SmartPointer<char> source_str =
source->ToCString(DISALLOW_NULLS, ROBUST_STRING_TRAVERSAL);
if (v8::internal::OS::SNPrintF(buf, "%s %s:%d",
func_name, *source_str, line_num) != -1) {
CreateNativeCodeRegion(buf.start(), ptr, size);
} else {
CreateNativeCodeRegion("<script/func name too long>", ptr, size);
}
}
#endif // ENABLE_OPROFILE_AGENT
} } // namespace v8::internal

View File

@ -1,77 +0,0 @@
// Copyright 2006-2009 the V8 project authors. All rights reserved.
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
//
// * Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above
// copyright notice, this list of conditions and the following
// disclaimer in the documentation and/or other materials provided
// with the distribution.
// * Neither the name of Google Inc. nor the names of its
// contributors may be used to endorse or promote products derived
// from this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#ifndef V8_OPROFILE_AGENT_H_
#define V8_OPROFILE_AGENT_H_
#include <stdlib.h>
#include "globals.h"
#ifdef ENABLE_OPROFILE_AGENT
// opagent.h uses uint64_t type, which can be missing in
// system headers (they have __uint64_t), but is defined
// in V8's headers.
#include <opagent.h> // NOLINT
#define OPROFILE(Call) \
do { \
if (v8::internal::OProfileAgent::is_enabled()) \
v8::internal::OProfileAgent::Call; \
} while (false)
#else
#define OPROFILE(Call) ((void) 0)
#endif
namespace v8 {
namespace internal {
class OProfileAgent {
public:
static bool Initialize();
static void TearDown();
#ifdef ENABLE_OPROFILE_AGENT
static void CreateNativeCodeRegion(const char* name,
const void* ptr, unsigned int size);
static void CreateNativeCodeRegion(String* name,
const void* ptr, unsigned int size);
static void CreateNativeCodeRegion(String* name, String* source, int line_num,
const void* ptr, unsigned int size);
static bool is_enabled() { return handle_ != NULL; }
private:
static op_agent_t handle_;
// Size of the buffer that is used for composing code areas names.
static const int kFormattingBufSize = 256;
#else
static bool is_enabled() { return false; }
#endif
};
} }
#endif // V8_OPROFILE_AGENT_H_

View File

@ -34,7 +34,6 @@
#include "hydrogen.h"
#include "lithium-allocator.h"
#include "log.h"
#include "oprofile-agent.h"
#include "runtime-profiler.h"
#include "serialize.h"
#include "simulator.h"
@ -129,7 +128,6 @@ bool V8::Initialize(Deserializer* des) {
// objects in place for creating the code object used for probing.
CPU::Setup();
OProfileAgent::Initialize();
Deoptimizer::Setup();
LAllocator::Setup();
RuntimeProfiler::Setup();
@ -161,7 +159,6 @@ void V8::TearDown() {
Logger::EnsureTickerStopped();
Deoptimizer::TearDown();
OProfileAgent::TearDown();
if (FLAG_preemption) {
v8::Locker locker;

View File

@ -466,8 +466,6 @@
'../../src/objects-visiting.h',
'../../src/objects.cc',
'../../src/objects.h',
'../../src/oprofile-agent.h',
'../../src/oprofile-agent.cc',
'../../src/parser.cc',
'../../src/parser.h',
'../../src/platform.h',

View File

@ -1,7 +0,0 @@
#!/bin/sh
# Source common stuff.
. `cd $(dirname "$0");pwd`/common
opannotate --assembly --session-dir="$OPROFILE_SESSION_DIR" "$shell_exec" "$@"

View File

@ -1,19 +0,0 @@
#!/bin/sh
# Determine the session directory to use for oprofile.
[ "$OPROFILE_SESSION_DIR" ] || OPROFILE_SESSION_DIR=/tmp/oprofv8
# If no executable passed as the first parameter assume V8 release mode shell.
if [[ -x $1 ]]
then
shell_exec=`readlink -f "$1"`
# Any additional parameters are for the oprofile command.
shift
else
oprofile_tools_path=`cd $(dirname "$0");pwd`
[ "$V8_SHELL_DIR" ] || V8_SHELL_DIR=$oprofile_tools_path/../..
shell_exec=$V8_SHELL_DIR/shell
fi
alias sudo_opcontrol='sudo opcontrol --session-dir="$OPROFILE_SESSION_DIR"'

View File

@ -1,7 +0,0 @@
#!/bin/sh
# Source common stuff.
. `cd $(dirname "$0");pwd`/common
sudo_opcontrol --dump "@$"

View File

@ -1,7 +0,0 @@
#!/bin/sh
# Source common stuff.
. `cd $(dirname "$0");pwd`/common
opreport --symbols --session-dir="$OPROFILE_SESSION_DIR" "$shell_exec" "$@"

View File

@ -1,7 +0,0 @@
#!/bin/sh
# Source common stuff.
. `cd $(dirname "$0");pwd`/common
sudo_opcontrol --reset "$@"

View File

@ -1,14 +0,0 @@
#!/bin/sh
# Source common stuff.
. `cd $(dirname "$0");pwd`/common
# Reset oprofile samples.
sudo_opcontrol --reset
# Run the executable to profile with the correct arguments.
"$shell_exec" --oprofile "$@"
# Flush oprofile data including the generated code into ELF binaries.
sudo_opcontrol --dump

View File

@ -1,7 +0,0 @@
#!/bin/sh
# Source common stuff.
. `cd $(dirname "$0");pwd`/common
sudo_opcontrol --shutdown "$@"

View File

@ -1,7 +0,0 @@
#!/bin/sh
# Source common stuff.
. `cd $(dirname "$0");pwd`/common
sudo_opcontrol --start --no-vmlinux "$@"

View File

@ -157,7 +157,6 @@
8956926612D4ED240072C313 /* messages.cc in Sources */ = {isa = PBXBuildFile; fileRef = 897FF15C0E719B8F00D62E90 /* messages.cc */; };
8956926712D4ED240072C313 /* objects-debug.cc in Sources */ = {isa = PBXBuildFile; fileRef = 897FF1600E719B8F00D62E90 /* objects-debug.cc */; };
8956926812D4ED240072C313 /* objects.cc in Sources */ = {isa = PBXBuildFile; fileRef = 897FF1620E719B8F00D62E90 /* objects.cc */; };
8956926912D4ED240072C313 /* oprofile-agent.cc in Sources */ = {isa = PBXBuildFile; fileRef = 9FC86ABB0F5FEDAC00F22668 /* oprofile-agent.cc */; };
8956926A12D4ED240072C313 /* parser.cc in Sources */ = {isa = PBXBuildFile; fileRef = 897FF1640E719B8F00D62E90 /* parser.cc */; };
8956926B12D4ED240072C313 /* platform-macos.cc in Sources */ = {isa = PBXBuildFile; fileRef = 897FF1670E719B8F00D62E90 /* platform-macos.cc */; };
8956926C12D4ED240072C313 /* platform-posix.cc in Sources */ = {isa = PBXBuildFile; fileRef = 893A72230F7B0FF200303DD2 /* platform-posix.cc */; };
@ -427,8 +426,6 @@
9FA38BCF1175B30400C4CD55 /* full-codegen-arm.cc in Sources */ = {isa = PBXBuildFile; fileRef = 9FA38BCB1175B30400C4CD55 /* full-codegen-arm.cc */; };
9FA38BD01175B30400C4CD55 /* jump-target-arm.cc in Sources */ = {isa = PBXBuildFile; fileRef = 9FA38BCC1175B30400C4CD55 /* jump-target-arm.cc */; };
9FA38BD11175B30400C4CD55 /* virtual-frame-arm.cc in Sources */ = {isa = PBXBuildFile; fileRef = 9FA38BCD1175B30400C4CD55 /* virtual-frame-arm.cc */; };
9FC86ABD0F5FEDAC00F22668 /* oprofile-agent.cc in Sources */ = {isa = PBXBuildFile; fileRef = 9FC86ABB0F5FEDAC00F22668 /* oprofile-agent.cc */; };
9FC86ABE0F5FEDAC00F22668 /* oprofile-agent.cc in Sources */ = {isa = PBXBuildFile; fileRef = 9FC86ABB0F5FEDAC00F22668 /* oprofile-agent.cc */; };
C2BD4BD7120165460046BF9F /* dtoa.cc in Sources */ = {isa = PBXBuildFile; fileRef = C2BD4BD5120165460046BF9F /* dtoa.cc */; };
C2BD4BDB120165A70046BF9F /* fixed-dtoa.cc in Sources */ = {isa = PBXBuildFile; fileRef = C2BD4BD9120165A70046BF9F /* fixed-dtoa.cc */; };
C2BD4BE4120166180046BF9F /* fixed-dtoa.cc in Sources */ = {isa = PBXBuildFile; fileRef = C2BD4BD9120165A70046BF9F /* fixed-dtoa.cc */; };
@ -952,8 +949,6 @@
9FA38BCB1175B30400C4CD55 /* full-codegen-arm.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = "full-codegen-arm.cc"; path = "arm/full-codegen-arm.cc"; sourceTree = "<group>"; };
9FA38BCC1175B30400C4CD55 /* jump-target-arm.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = "jump-target-arm.cc"; path = "arm/jump-target-arm.cc"; sourceTree = "<group>"; };
9FA38BCD1175B30400C4CD55 /* virtual-frame-arm.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = "virtual-frame-arm.cc"; path = "arm/virtual-frame-arm.cc"; sourceTree = "<group>"; };
9FC86ABB0F5FEDAC00F22668 /* oprofile-agent.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = "oprofile-agent.cc"; sourceTree = "<group>"; };
9FC86ABC0F5FEDAC00F22668 /* oprofile-agent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "oprofile-agent.h"; sourceTree = "<group>"; };
9FF7A28211A642EA0051B8F2 /* unbound-queue-inl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "unbound-queue-inl.h"; sourceTree = "<group>"; };
9FF7A28311A642EA0051B8F2 /* unbound-queue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "unbound-queue.h"; sourceTree = "<group>"; };
C2BD4BD5120165460046BF9F /* dtoa.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = dtoa.cc; sourceTree = "<group>"; };
@ -1222,8 +1217,6 @@
C2D1E9721212F27B00187A52 /* objects-visiting.h */,
897FF1620E719B8F00D62E90 /* objects.cc */,
897FF1630E719B8F00D62E90 /* objects.h */,
9FC86ABB0F5FEDAC00F22668 /* oprofile-agent.cc */,
9FC86ABC0F5FEDAC00F22668 /* oprofile-agent.h */,
897FF1640E719B8F00D62E90 /* parser.cc */,
897FF1650E719B8F00D62E90 /* parser.h */,
89A15C6D0EE466A900B48DEB /* platform-freebsd.cc */,
@ -1906,7 +1899,6 @@
8956926612D4ED240072C313 /* messages.cc in Sources */,
8956926712D4ED240072C313 /* objects-debug.cc in Sources */,
8956926812D4ED240072C313 /* objects.cc in Sources */,
8956926912D4ED240072C313 /* oprofile-agent.cc in Sources */,
8956926A12D4ED240072C313 /* parser.cc in Sources */,
8956926B12D4ED240072C313 /* platform-macos.cc in Sources */,
8956926C12D4ED240072C313 /* platform-posix.cc in Sources */,
@ -2056,7 +2048,6 @@
89A88E120E71A67A0043BA31 /* messages.cc in Sources */,
89A88E130E71A6860043BA31 /* objects-debug.cc in Sources */,
89A88E140E71A6870043BA31 /* objects.cc in Sources */,
9FC86ABD0F5FEDAC00F22668 /* oprofile-agent.cc in Sources */,
89A88E150E71A68C0043BA31 /* parser.cc in Sources */,
89A88E160E71A68E0043BA31 /* platform-macos.cc in Sources */,
893A72240F7B101400303DD2 /* platform-posix.cc in Sources */,
@ -2233,7 +2224,6 @@
89F23C660E78D5B2006B2466 /* messages.cc in Sources */,
89F23C670E78D5B2006B2466 /* objects-debug.cc in Sources */,
89F23C680E78D5B2006B2466 /* objects.cc in Sources */,
9FC86ABE0F5FEDAC00F22668 /* oprofile-agent.cc in Sources */,
89F23C690E78D5B2006B2466 /* parser.cc in Sources */,
89F23C6A0E78D5B2006B2466 /* platform-macos.cc in Sources */,
893A72250F7B101B00303DD2 /* platform-posix.cc in Sources */,

View File

@ -833,14 +833,6 @@
RelativePath="..\..\src\objects.h"
>
</File>
<File
RelativePath="..\..\src\oprofile-agent.cc"
>
</File>
<File
RelativePath="..\..\src\oprofile-agent.h"
>
</File>
<File
RelativePath="..\..\src\parser.cc"
>

View File

@ -815,14 +815,6 @@
RelativePath="..\..\src\objects.h"
>
</File>
<File
RelativePath="..\..\src\oprofile-agent.cc"
>
</File>
<File
RelativePath="..\..\src\oprofile-agent.h"
>
</File>
<File
RelativePath="..\..\src\parser.cc"
>

View File

@ -833,14 +833,6 @@
RelativePath="..\..\src\objects.h"
>
</File>
<File
RelativePath="..\..\src\oprofile-agent.cc"
>
</File>
<File
RelativePath="..\..\src\oprofile-agent.h"
>
</File>
<File
RelativePath="..\..\src\parser.cc"
>