1e27d617298263725e8a48c2aa14029759b952623mstarzinger@chromium.org/* 2e27d617298263725e8a48c2aa14029759b952623mstarzinger@chromium.org This file is provided under a dual BSD/GPLv2 license. When using or 3e27d617298263725e8a48c2aa14029759b952623mstarzinger@chromium.org redistributing this file, you may do so under either license. 45c88bc39690cc94affe78cf5777eb8180c4af8a4machenbach@chromium.org 5e27d617298263725e8a48c2aa14029759b952623mstarzinger@chromium.org GPL LICENSE SUMMARY 65c88bc39690cc94affe78cf5777eb8180c4af8a4machenbach@chromium.org 7e27d617298263725e8a48c2aa14029759b952623mstarzinger@chromium.org Copyright(c) 2005-2012 Intel Corporation. All rights reserved. 85c88bc39690cc94affe78cf5777eb8180c4af8a4machenbach@chromium.org 9e27d617298263725e8a48c2aa14029759b952623mstarzinger@chromium.org This program is free software; you can redistribute it and/or modify 10e27d617298263725e8a48c2aa14029759b952623mstarzinger@chromium.org it under the terms of version 2 of the GNU General Public License as 11e27d617298263725e8a48c2aa14029759b952623mstarzinger@chromium.org published by the Free Software Foundation. 125c88bc39690cc94affe78cf5777eb8180c4af8a4machenbach@chromium.org 13e27d617298263725e8a48c2aa14029759b952623mstarzinger@chromium.org This program is distributed in the hope that it will be useful, but 14e27d617298263725e8a48c2aa14029759b952623mstarzinger@chromium.org WITHOUT ANY WARRANTY; without even the implied warranty of 15e27d617298263725e8a48c2aa14029759b952623mstarzinger@chromium.org MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 16e27d617298263725e8a48c2aa14029759b952623mstarzinger@chromium.org General Public License for more details. 175c88bc39690cc94affe78cf5777eb8180c4af8a4machenbach@chromium.org 18e27d617298263725e8a48c2aa14029759b952623mstarzinger@chromium.org You should have received a copy of the GNU General Public License 19e27d617298263725e8a48c2aa14029759b952623mstarzinger@chromium.org along with this program; if not, write to the Free Software 20e27d617298263725e8a48c2aa14029759b952623mstarzinger@chromium.org Foundation, Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. 21e27d617298263725e8a48c2aa14029759b952623mstarzinger@chromium.org The full GNU General Public License is included in this distribution 22e27d617298263725e8a48c2aa14029759b952623mstarzinger@chromium.org in the file called LICENSE.GPL. 235c88bc39690cc94affe78cf5777eb8180c4af8a4machenbach@chromium.org 24e27d617298263725e8a48c2aa14029759b952623mstarzinger@chromium.org Contact Information: 25e27d617298263725e8a48c2aa14029759b952623mstarzinger@chromium.org http://software.intel.com/en-us/articles/intel-vtune-amplifier-xe/ 265c88bc39690cc94affe78cf5777eb8180c4af8a4machenbach@chromium.org 27e27d617298263725e8a48c2aa14029759b952623mstarzinger@chromium.org BSD LICENSE 285c88bc39690cc94affe78cf5777eb8180c4af8a4machenbach@chromium.org 29e27d617298263725e8a48c2aa14029759b952623mstarzinger@chromium.org Copyright(c) 2005-2012 Intel Corporation. All rights reserved. 30e27d617298263725e8a48c2aa14029759b952623mstarzinger@chromium.org All rights reserved. 315c88bc39690cc94affe78cf5777eb8180c4af8a4machenbach@chromium.org 32e27d617298263725e8a48c2aa14029759b952623mstarzinger@chromium.org Redistribution and use in source and binary forms, with or without 33e27d617298263725e8a48c2aa14029759b952623mstarzinger@chromium.org modification, are permitted provided that the following conditions 34e27d617298263725e8a48c2aa14029759b952623mstarzinger@chromium.org are met: 355c88bc39690cc94affe78cf5777eb8180c4af8a4machenbach@chromium.org 36e27d617298263725e8a48c2aa14029759b952623mstarzinger@chromium.org * Redistributions of source code must retain the above copyright 37e27d617298263725e8a48c2aa14029759b952623mstarzinger@chromium.org notice, this list of conditions and the following disclaimer. 38e27d617298263725e8a48c2aa14029759b952623mstarzinger@chromium.org * Redistributions in binary form must reproduce the above copyright 39e27d617298263725e8a48c2aa14029759b952623mstarzinger@chromium.org notice, this list of conditions and the following disclaimer in 40e27d617298263725e8a48c2aa14029759b952623mstarzinger@chromium.org the documentation and/or other materials provided with the 41e27d617298263725e8a48c2aa14029759b952623mstarzinger@chromium.org distribution. 42e27d617298263725e8a48c2aa14029759b952623mstarzinger@chromium.org * Neither the name of Intel Corporation nor the names of its 43e27d617298263725e8a48c2aa14029759b952623mstarzinger@chromium.org contributors may be used to endorse or promote products derived 44e27d617298263725e8a48c2aa14029759b952623mstarzinger@chromium.org from this software without specific prior written permission. 455c88bc39690cc94affe78cf5777eb8180c4af8a4machenbach@chromium.org 46e27d617298263725e8a48c2aa14029759b952623mstarzinger@chromium.org THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 47e27d617298263725e8a48c2aa14029759b952623mstarzinger@chromium.org "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 48e27d617298263725e8a48c2aa14029759b952623mstarzinger@chromium.org LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 49e27d617298263725e8a48c2aa14029759b952623mstarzinger@chromium.org A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 50e27d617298263725e8a48c2aa14029759b952623mstarzinger@chromium.org OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 51e27d617298263725e8a48c2aa14029759b952623mstarzinger@chromium.org SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 52e27d617298263725e8a48c2aa14029759b952623mstarzinger@chromium.org LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 53e27d617298263725e8a48c2aa14029759b952623mstarzinger@chromium.org DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 54e27d617298263725e8a48c2aa14029759b952623mstarzinger@chromium.org THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 55e27d617298263725e8a48c2aa14029759b952623mstarzinger@chromium.org (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 56e27d617298263725e8a48c2aa14029759b952623mstarzinger@chromium.org OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 57e27d617298263725e8a48c2aa14029759b952623mstarzinger@chromium.org */ 58e27d617298263725e8a48c2aa14029759b952623mstarzinger@chromium.org#ifndef VTUNE_VTUNE_JIT_H_ 59e27d617298263725e8a48c2aa14029759b952623mstarzinger@chromium.org#define VTUNE_VTUNE_JIT_H_ 60e27d617298263725e8a48c2aa14029759b952623mstarzinger@chromium.org 61e27d617298263725e8a48c2aa14029759b952623mstarzinger@chromium.org#include "jitprofiling.h" 62e27d617298263725e8a48c2aa14029759b952623mstarzinger@chromium.org#include "../../../include/v8.h" 63e27d617298263725e8a48c2aa14029759b952623mstarzinger@chromium.org 64e27d617298263725e8a48c2aa14029759b952623mstarzinger@chromium.org#define VTUNERUNNING (iJIT_IsProfilingActive() == iJIT_SAMPLING_ON) 65e27d617298263725e8a48c2aa14029759b952623mstarzinger@chromium.org 66e27d617298263725e8a48c2aa14029759b952623mstarzinger@chromium.orgnamespace vTune { 67e27d617298263725e8a48c2aa14029759b952623mstarzinger@chromium.orgnamespace internal { 68e27d617298263725e8a48c2aa14029759b952623mstarzinger@chromium.orgusing namespace v8; 69e27d617298263725e8a48c2aa14029759b952623mstarzinger@chromium.orgclass VTUNEJITInterface { 70e27d617298263725e8a48c2aa14029759b952623mstarzinger@chromium.org public: 71e27d617298263725e8a48c2aa14029759b952623mstarzinger@chromium.org static void event_handler(const v8::JitCodeEvent* event); 72e27d617298263725e8a48c2aa14029759b952623mstarzinger@chromium.org 73e27d617298263725e8a48c2aa14029759b952623mstarzinger@chromium.org private: 74e27d617298263725e8a48c2aa14029759b952623mstarzinger@chromium.org //static Mutex* vtunemutex_; 75e27d617298263725e8a48c2aa14029759b952623mstarzinger@chromium.org}; 76e27d617298263725e8a48c2aa14029759b952623mstarzinger@chromium.org 77e27d617298263725e8a48c2aa14029759b952623mstarzinger@chromium.org 78e27d617298263725e8a48c2aa14029759b952623mstarzinger@chromium.org} } // namespace vTune::internal 79e27d617298263725e8a48c2aa14029759b952623mstarzinger@chromium.org 80e27d617298263725e8a48c2aa14029759b952623mstarzinger@chromium.org 81e27d617298263725e8a48c2aa14029759b952623mstarzinger@chromium.org#endif // VTUNE_VTUNE_JIT_H_ 82e27d617298263725e8a48c2aa14029759b952623mstarzinger@chromium.org 83