Commit Graph

372 Commits

Author SHA1 Message Date
verwaest
e4b41d64e5 [runtime] remove left-over distinction between AccessorInfo and ExecutableAccessorInfo
Review URL: https://codereview.chromium.org/1600353003

Cr-Commit-Position: refs/heads/master@{#33364}
2016-01-18 15:09:08 +00:00
bmeurer
e89e08ca14 Revert of Provide call counts for constructor calls, surface them as a vector IC. (patchset #4 id:60001 of https://codereview.chromium.org/1476413003/ )
Reason for revert:
Seems to be (mostly) responsible for the most recent Speedometer regression, not 100% sure. Let's see what the bots have to say.

Original issue's description:
> Provide call counts for constructor calls, surface them as a vector IC.
>
> CallIC and CallConstructStub look so alike, at least in the feedback they gather even if the implementation differs...and CallIC has such a nice way of surfacing the feedback (CallICNexus), that there is a request to make CallConstructStub look analogous. Enter ConstructICStub.
>
> BUG=
>
> Committed: https://crrev.com/66d5a9df62da458a51e8c7ed1811dc9660f4f418
> Cr-Commit-Position: refs/heads/master@{#32452}

TBR=mvstanton@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=

Review URL: https://codereview.chromium.org/1489413006

Cr-Commit-Position: refs/heads/master@{#32599}
2015-12-04 07:34:31 +00:00
mvstanton
66d5a9df62 Provide call counts for constructor calls, surface them as a vector IC.
CallIC and CallConstructStub look so alike, at least in the feedback they gather even if the implementation differs...and CallIC has such a nice way of surfacing the feedback (CallICNexus), that there is a request to make CallConstructStub look analogous. Enter ConstructICStub.

BUG=

Review URL: https://codereview.chromium.org/1476413003

Cr-Commit-Position: refs/heads/master@{#32452}
2015-12-01 11:06:40 +00:00
mbrandy
2bd5914bc3 Fix external callback logging in profiler.
For platforms that use function descriptors (currently AIX and
PPC64BE), log an external callback's entrypoint address rather than
its function descriptor address.  This allows proper lookup in the
tick processor's symbol table.

R=jkummerow@chromium.org, michael_dawson@ca.ibm.com
BUG=

Review URL: https://codereview.chromium.org/1409993006

Cr-Commit-Position: refs/heads/master@{#31633}
2015-10-28 13:42:40 +00:00
ofrobots
010897c16a Reland improve perf_basic_prof filename reporting
Using perf-basic-prof in the test-case was problematic on windows. Use
CodeEventLogger directly.

Previous issue: https://codereview.chromium.org/1396843004/

R=jkummerow@chromium.org,yangguo@chromium.org,yurys@chromium.org
BUG=chromium:539892
LOG=N

Committed: https://crrev.com/701ba0b255f9c34f4b8c43584ef1e35040474e7d
Cr-Commit-Position: refs/heads/master@{#31197}

patch from issue 1396843004 at patchset 60001 (http://crrev.com/1396843004#ps60001)

Review URL: https://codereview.chromium.org/1403763002

Cr-Commit-Position: refs/heads/master@{#31237}
2015-10-13 12:45:31 +00:00
ofrobots
30b57dcd42 Revert of improve perf_basic_prof filename reporting (patchset #4 id:60001 of https://codereview.chromium.org/1396843004/ )
Reason for revert:
The test-case has issues on windows. http://build.chromium.org/p/client.v8/builders/V8%20Win32%20-%20debug%20-%203/builds/5011/steps/Check/logs/stdio

Original issue's description:
> improve perf_basic_prof filename reporting
>
> Re-implement https://codereview.chromium.org/1388543002 after fixing the issue
> with SNPrintF crashing on windows when a zero-length buffer is passed in.
>
> R=jkummerow@chromium.org,yangguo@chromium.org,yurys@chromium.org
> BUG=chromium:539892
> LOG=N
>
> Committed: https://crrev.com/701ba0b255f9c34f4b8c43584ef1e35040474e7d
> Cr-Commit-Position: refs/heads/master@{#31197}

TBR=jkummerow@chromium.org,yangguo@chromium.org,yurys@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:539892

Review URL: https://codereview.chromium.org/1400813003

Cr-Commit-Position: refs/heads/master@{#31198}
2015-10-09 18:28:21 +00:00
ofrobots
701ba0b255 improve perf_basic_prof filename reporting
Re-implement https://codereview.chromium.org/1388543002 after fixing the issue
with SNPrintF crashing on windows when a zero-length buffer is passed in.

R=jkummerow@chromium.org,yangguo@chromium.org,yurys@chromium.org
BUG=chromium:539892
LOG=N

Review URL: https://codereview.chromium.org/1396843004

Cr-Commit-Position: refs/heads/master@{#31197}
2015-10-09 17:17:40 +00:00
jkummerow
e03df5229d Revert of improve perf_basic_prof filename reporting (patchset #1 id:1 of https://codereview.chromium.org/1388543002/ )
Reason for revert:
Suspected to cause crbug.com/539892

Original issue's description:
> improve perf_basic_prof filename reporting
>
> The buffer used for appending filenames to the string printed to the
> perf_basic_prof log was unnecessarily too small. Bump it up to be at least
> kUtf8BufferSize.
>
> Truncation of filenames makes it really hard to work with profiles gathered on
> Node.js. Because of the way Node.js works, you can have node module dependencies
> in deeply nested directories. The last thing you want when investigating a
> performance problem is to have script names be truncated.
>
> This patch is a stop-gap. Ideally, I want no truncation of the filename at all
> and use a dynamically growing buffer. That would be a larger change, and I
> wanted to have a quick fix available that can be back-ported to Node.js LTS
> release.
>
> R=yangguo@chromium.org,yurys@chromium.org
> BUG=
>
> Committed: https://crrev.com/03ef3cd004c2fd31ae7e48772f106df67b8c2feb
> Cr-Commit-Position: refs/heads/master@{#31092}

TBR=yangguo@chromium.org,yurys@chromium.org,ofrobots@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=

Review URL: https://codereview.chromium.org/1390923004

Cr-Commit-Position: refs/heads/master@{#31137}
2015-10-07 09:45:58 +00:00
ofrobots
03ef3cd004 improve perf_basic_prof filename reporting
The buffer used for appending filenames to the string printed to the
perf_basic_prof log was unnecessarily too small. Bump it up to be at least
kUtf8BufferSize.

Truncation of filenames makes it really hard to work with profiles gathered on
Node.js. Because of the way Node.js works, you can have node module dependencies
in deeply nested directories. The last thing you want when investigating a
performance problem is to have script names be truncated.

This patch is a stop-gap. Ideally, I want no truncation of the filename at all
and use a dynamically growing buffer. That would be a larger change, and I
wanted to have a quick fix available that can be back-ported to Node.js LTS
release.

R=yangguo@chromium.org,yurys@chromium.org
BUG=

Review URL: https://codereview.chromium.org/1388543002

Cr-Commit-Position: refs/heads/master@{#31092}
2015-10-03 05:32:54 +00:00
alph
e0606c9f00 Move heap and CPU profilers into a dedicated directory.
Drive-by: remove unnecessary includes.

Review URL: https://codereview.chromium.org/1356223004

Cr-Commit-Position: refs/heads/master@{#30987}
2015-09-28 19:34:18 +00:00
titzer
3e4fb100f2 Rename PLACEHOLDER code kind to WASM_FUNCTION.
R=mstarzinger@chromium.org
BUG=

Review URL: https://codereview.chromium.org/1365613002

Cr-Commit-Position: refs/heads/master@{#30893}
2015-09-23 15:09:04 +00:00
mlippautz
8f40327067 [loggers] Guard object/code move events using mutexes.
Parallel compaction, i.e., concurrently moving of objects (and code) requires
proper synchronization in the logger.

R=hpayer@chromium.org
BUG=chromium:524425
LOG=N

Review URL: https://codereview.chromium.org/1338253002

Cr-Commit-Position: refs/heads/master@{#30714}
2015-09-14 12:06:51 +00:00
hablich
6eb837697a Revert of [heap] More flag cleanup. (patchset #8 id:140001 of https://codereview.chromium.org/1314863003/ )
Reason for revert:
Breaks http://build.chromium.org/p/client.v8/builders/V8%20Arm%20-%20debug%20-%202/builds/2372

Original issue's description:
> [heap] GC flag cleanup/restructuring.
>
> * GC's flags are now proper flags and not int.
> * Callback flags are not threaded through but only set once like gc flags
> * Callers of methods that trigger GCs need to pass a reason when not using
>   the default parameters.
>
> Furthermore, each GC invocation can be passed the GC and GCCallback flags. We
> usually override the currently set flags upon finishing a GC cylce, but are able
> to restore the previously set if desired. This is useful for explicitely
> triggered scavenges or external requests that interrupt the current behaviour.
>
> BUG=
>
> Committed: https://crrev.com/f4f3b431b9ce0778d926acf03c0d36dae5c0cba4
> Cr-Commit-Position: refs/heads/master@{#30457}

TBR=hpayer@chromium.org,yangguo@chromium.org,mlippautz@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=

Review URL: https://codereview.chromium.org/1303393004

Cr-Commit-Position: refs/heads/master@{#30463}
2015-08-31 10:23:35 +00:00
mlippautz
f4f3b431b9 [heap] GC flag cleanup/restructuring.
* GC's flags are now proper flags and not int.
* Callback flags are not threaded through but only set once like gc flags
* Callers of methods that trigger GCs need to pass a reason when not using
  the default parameters.

Furthermore, each GC invocation can be passed the GC and GCCallback flags. We
usually override the currently set flags upon finishing a GC cylce, but are able
to restore the previously set if desired. This is useful for explicitely
triggered scavenges or external requests that interrupt the current behaviour.

BUG=

Review URL: https://codereview.chromium.org/1314863003

Cr-Commit-Position: refs/heads/master@{#30457}
2015-08-31 07:58:54 +00:00
titzer
e4bcc3363f Add a PLACEHOLDER code kind.
The PLACEHOLDER code kind is used when compiling a code object that has
direct calls to other code objects, but those other code objects do not
yet exist because they have not yet been compiled. It serves as a
placeholder to break the cycle, e.g. in WASM.

R=yangguo@chromium.org
BUG=

Review URL: https://codereview.chromium.org/1308393003

Cr-Commit-Position: refs/heads/master@{#30348}
2015-08-25 10:17:33 +00:00
rmcilroy
53ac9fe8f9 Add CompileInfo::GetDebugName()
Replaces all instances of the code which computed the debug
name of a stub or function with calls to CompileInfo::GetDebugName instead.

Also:
  - Removes useless parameter on CodeStub::GetMajorName
  - Removes FakeStubForTesting since it is no longer required
  - Adds CompileInfo::ShouldEnsureSpaceForLazyDeopt() to replace unclear calls to IsStub().

Review URL: https://codereview.chromium.org/1297203002

Cr-Commit-Position: refs/heads/master@{#30324}
2015-08-24 10:23:55 +00:00
mstarzinger
98a0fe0f32 Remove grab-bag includes of v8.h from everywhere.
R=bmeurer@chromium.org

Review URL: https://codereview.chromium.org/1285183010

Cr-Commit-Position: refs/heads/master@{#30263}
2015-08-20 07:44:15 +00:00
ofrobots
9da3ab661f New flag --perf_basic_prof_only_functions
Restricts linux perf-event code range reporting to functions only (i.e. on
stubs.) While this makes the gathered ticks less accurate, it reduces the
growth of the /tmp/perf-${pid}.map file.

BUG=v8:3453
R=hablich@chromium.org,danno@chromium.org
LOG=N

Review URL: https://codereview.chromium.org/1292743002

Cr-Commit-Position: refs/heads/master@{#30179}
2015-08-14 14:52:06 +00:00
rmcilroy
d02f62484e Move SmartPointer to base.
Review URL: https://codereview.chromium.org/1221433021

Cr-Commit-Position: refs/heads/master@{#29604}
2015-07-13 12:38:17 +00:00
Djordje.Pesic
7be96aa2e7 Assertion failure when using --log-regexp
RegExpCompileEvent acquieres mutex from Log class during MessageBuilder creation. LogRegExpSource, called from RegExpCompileEvent creates another MessageBuilder object which also acquires the same mutex. This mutex is not recursive, so during second acquirement, assertion fail is happening. Solution: LogRegExpSource should use the same MessageBuilder object as RegExpCompileEvent.

Review URL: https://codereview.chromium.org/1207433002

Cr-Commit-Position: refs/heads/master@{#29347}
2015-06-29 13:54:08 +00:00
ben
f7969b1d5a Meaningful name for builtins in JitCodeEvent API.
Report builtins by name (e.g. "Builtin:ArgumentsAdaptorTrampoline")
instead of labeling everything "Builtin:A builtin from the snapshot".

BUG=

Review URL: https://codereview.chromium.org/1216833002

Cr-Commit-Position: refs/heads/master@{#29339}
2015-06-29 07:37:02 +00:00
erikcorry
4f5337a2b6 Cosmetic changes to tests to make it easier to concatenate them.
When compiling on a laptop I like to concatenate the small test files.
This makes a big difference to compile times. These changes make that
easier.

R=ulan@chromium.org
BUG=

Review URL: https://codereview.chromium.org/1163803002

Cr-Commit-Position: refs/heads/master@{#28742}
2015-06-01 22:47:08 +00:00
jarin
9058ac3be1 Remove the experimental perf jit support until the license is clarified.
BUG=

Review URL: https://codereview.chromium.org/1148293009

Cr-Commit-Position: refs/heads/master@{#28697}
2015-05-29 10:39:52 +00:00
mstarzinger
794aa07283 Remove obsolete Code::optimizable flag.
This flag mostly duplicates SharedFunctionInfo::optimization_disabled
and is only queried in places where the original is available. Remove
the brittle and error-prone duplication.

R=bmeurer@chromium.org

Review URL: https://codereview.chromium.org/1148043002

Cr-Commit-Position: refs/heads/master@{#28520}
2015-05-20 14:44:46 +00:00
jochen
6dd52eaf47 Remove static logging of memory allocations
We want to move to a world where there's no Isolate::Current but we
always knows which isolate we're in. There's no way we can teach this
info to the C++ allocator.

BUG=none
R=hpayer@chromium.org
LOG=n

Review URL: https://codereview.chromium.org/1128023005

Cr-Commit-Position: refs/heads/master@{#28414}
2015-05-15 07:37:08 +00:00
ofrobots
1f03256de3 fix assertion in Logger::CurrentTimeEvent with --prof
assertion did match the conditions under which this method gets called
(Runtime_DateCurrentTime). The bug got introduced as part of this change:
https://codereview.chromium.org/802333002

The assertion crash can be reproduced using:
% out/Debug/d8 --prof -e 'new Date();'

R=jkummerow@chromium.org
BUG=

Review URL: https://codereview.chromium.org/1104303002

Cr-Commit-Position: refs/heads/master@{#28096}
2015-04-28 08:53:49 +00:00
yangguo
019096f829 Serializer: move to a subfolder and clean up includes.
R=jochen@chromium.org

Review URL: https://codereview.chromium.org/1041743002

Cr-Commit-Position: refs/heads/master@{#27501}
2015-03-27 15:29:07 +00:00
loislo
66ab309e73 CpuProfiler: fix for GetDeoptReason code.
The original code always returned the first entry from RelocInfo that matched with
bailout_id. But we may have a few different deopt reasons for one bailout_id.
So we need to get the one which matches with a particular call from JumpTable.

We can do this by checking not 'target_address' (it maps to bailout_id)
but 'from' address which maps to a particular JumpTable entry.

The test was reworked so it tests identical functions against different reasons.

BUG=chromium:452067
LOG=n

Review URL: https://codereview.chromium.org/984773003

Cr-Commit-Position: refs/heads/master@{#27076}
2015-03-09 14:43:40 +00:00
sejunho
a6f5fca5e6 Fix preparing log file name.
Problem:
Excuting with flags as "--prof --logfile-per-isolate --logfile=/path/to/filename"
expected file name: /path/to/isolate-<isolate id>-filename
current result: isolate-<isolate id>-/path/to/filename

This patch makes the file name we expected.

Review URL: https://codereview.chromium.org/960813004

Cr-Commit-Position: refs/heads/master@{#26955}
2015-03-03 11:03:49 +00:00
verwaest
b5fc4b808c Remove internal use of v8::AccessType, always pass v8::ACCESS_HAS instead.
BUG=

Review URL: https://codereview.chromium.org/942963004

Cr-Commit-Position: refs/heads/master@{#26874}
2015-02-26 10:34:50 +00:00
loislo
8ba89cce6d CpuProfiler: eliminate cpu-profiler dependency from heap-inl.h
We accessed to cpu_profiler for tracking SharedFunctionInfo objects movements and used their addresses for generating function_id. Actually we could replace the manually generated shared_id by the pair script_id + position. In this case we can drop SharedFunctionInfo events support from cpu_profiler and remove the dependency.

BTW GetCallUid was used as an unique identifier of the function on the front-end side. Actually it is a hash which might not be unique. So I renamed GetCallUid with GetHash and implemented GetFunctionId method.

BUG=452067
LOG=n

Review URL: https://codereview.chromium.org/941973002

Cr-Commit-Position: refs/heads/master@{#26775}
2015-02-20 13:28:58 +00:00
loislo
86cae1633c Propagate DeoptInfo to cpu-profiler
1) Deoptimizer::Reason was replaced with Deoptimizer::DeoptInfo
because it also has raw position. Also the old name clashes with DeoptReason enum.

2) c_entry_fp assignment call was added to EntryGenerator::Generate
So we can calculate sp and have a chance to record the stack for the deopting function.
btw it makes the test stable.

3) new kind of CodeEvents was added to cpu-profiler

4) GetDeoptInfo method was extracted from PrintDeoptLocation.
So it could be reused in cpu profiler.

BUG=452067
LOG=n

Review URL: https://codereview.chromium.org/910773002

Cr-Commit-Position: refs/heads/master@{#26545}
2015-02-10 14:33:00 +00:00
bmeurer
c65ae4f10c Reland "Initial switch to Chromium-style CHECK_* and DCHECK_* macros.".
R=svenpanne@chromium.org

Review URL: https://codereview.chromium.org/877753007

Cr-Commit-Position: refs/heads/master@{#26346}
2015-01-30 09:29:41 +00:00
Benedikt Meurer
883852293a Revert "Make GCC happy again." and "Initial switch to Chromium-style CHECK_* and DCHECK_* macros.".
This reverts commit 6a4c0a3bae and commit
0deaa4b629 for breaking GCC bots.

TBR=svenpanne@chromium.org

Review URL: https://codereview.chromium.org/893533003

Cr-Commit-Position: refs/heads/master@{#26342}
2015-01-30 07:19:57 +00:00
bmeurer
0deaa4b629 Initial switch to Chromium-style CHECK_* and DCHECK_* macros.
R=svenpanne@chromium.org

Review URL: https://codereview.chromium.org/888613002

Cr-Commit-Position: refs/heads/master@{#26340}
2015-01-30 06:25:36 +00:00
jkummerow
feffccca22 Profiler improvements
(1) --prof-cpp: Collects ticks like --prof, but ignores code creation events to reduce distortion (so all JS ticks will be "unaccounted"). Useful for profiling C++ code.
(2) --timed-range flag for tick processor: Ignores ticks before the first and after the last call to Date.now(). Useful for focusing on the timed section of a test.

Review URL: https://codereview.chromium.org/802333002

Cr-Commit-Position: refs/heads/master@{#26168}
2015-01-20 16:06:09 +00:00
Sven Panne
e4c5b84652 Contribution of PowerPC port (continuation of 422063005)
Contribution of PowerPC port (continuation of 422063005). The inital patch
covers the core changes to the common files.  Subsequent patches will cover
changes to common files to support AIX and to update the ppc directories so
they are current with the changes in the rest of the project.

This is based off of the GitHub repository
https://github.com/andrewlow/v8ppc

BUG=
R=svenpanne@chromium.org, danno@chromium.org, sevnpanne@chromium.org

Review URL: https://codereview.chromium.org/817143002

Cr-Commit-Position: refs/heads/master@{#26091}
2015-01-16 07:42:15 +00:00
Andy Wingo
910711a169 Move BailoutReason and flags computation to post-pass
R=svenpanne@chromium.org

Review URL: https://codereview.chromium.org/668143003

Cr-Commit-Position: refs/heads/master@{#25321}
2014-11-13 09:57:56 +00:00
yangguo@chromium.org
1a90501909 Fix V8's default timer event logger.
This broke because the optimizing compiler thread no longer holds
Isolate::Current() in its TLS.

R=jkummerow@chromium.org

Review URL: https://codereview.chromium.org/655813002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24607 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-14 14:45:03 +00:00
jochen@chromium.org
0fae280e4a Make Profiler::running_ atomic.
It's used from multiple threads

BUG=none
R=yangguo@chromium.org
LOG=n

Review URL: https://codereview.chromium.org/640773002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24480 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-09 07:51:35 +00:00
jochen@chromium.org
f4e4091532 Resolve race between starting the profiler thread and the logging timer
BUG=none
TBR=ishell@chromium.org
LOG=n

Review URL: https://codereview.chromium.org/638943002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24470 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-08 14:08:12 +00:00
jochen@chromium.org
76441ed516 Make Profiler::tail_ atomic
it's used on several threads

BUG=none
R=svenpanne@chromium.org
LOG=n

Review URL: https://codereview.chromium.org/639763002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24465 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-08 11:33:31 +00:00
bmeurer@chromium.org
3eebdc3264 Replace OStream with std::ostream.
Review URL: https://codereview.chromium.org/618643002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24319 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-30 10:29:32 +00:00
yangguo@chromium.org
43538e57a4 Refactor bailout reasons and disable optimization in more cases.
R=jkummerow@chromium.org

Review URL: https://codereview.chromium.org/596783002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24161 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-24 07:08:27 +00:00
titzer@chromium.org
f6807d7897 Rename Runtime_CompileUnoptimized to Runtime_CompileLazy, because that is what it does. Split Compiler::GetUnoptimizedCode into two variants, one for lazy compilation (which can return optimized code!) and the other that actually returns unoptimized code.
R=mstarzinger@chromium.org
BUG=

Review URL: https://codereview.chromium.org/547293004

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24012 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-17 15:29:42 +00:00
mstarzinger@chromium.org
44247036a7 Fix newly discovered presubmit errors.
R=jochen@chromium.org

Review URL: https://codereview.chromium.org/462033002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23081 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-12 13:33:35 +00:00
bmeurer@chromium.org
d07a2eb806 Rename ASSERT* to DCHECK*.
This way we don't clash with the ASSERT* macros
defined by GoogleTest, and we are one step closer
to being able to replace our homegrown base/ with
base/ from Chrome.

R=jochen@chromium.org, svenpanne@chromium.org

Review URL: https://codereview.chromium.org/430503007

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22812 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-04 11:34:54 +00:00
yangguo@chromium.org
21a2f36b25 Do not expose all timer events to the API callback.
R=fmeawad@chromium.org

Review URL: https://codereview.chromium.org/388783004

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22422 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-16 08:14:50 +00:00
danno@chromium.org
319e5226e9 fix the vtune support bug.
During https://code.google.com/p/v8/source/detail?r=19925 checkin context bound scripts (Script)
and context unbound scripts (UnboundScript) are Distinguished.

And then Sven Panne helped to fix the vtune support compilation
error in https://code.google.com/p/v8/source/detail?r=20955.

The problem is that there is runtime error for vtune
support.
In our original implementation, we encapsulated and passed v8::internal::Script
to V8 API. It will leads to type check error for current V8::Script definition.

So I changed the Handle<Script> definition in JitCodeEvent
to Handle<UnboundScript>
 and add the corresponding change in log.cc.

If you do NOT prefer to change in include/v8.h. I think I can change the definition of
CodeEventLogger::LogRecordedBuffer(...) so that the we can pass the correct
type (JSFunction) as V8::Script to V8 API.

BUG=
R=danno@chromium.org, svenpanne@chromium.org

Review URL: https://codereview.chromium.org/334263018

Patch from Chunyang Dai <chunyang.dai@intel.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22393 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-15 08:13:42 +00:00
yangguo@chromium.org
cc9a9f4191 Ensure that each profiling entry ends with a new line.
Currently this does not happen if the message builder buffer is full.

R=jkummerow@chromium.org

Review URL: https://codereview.chromium.org/390803002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22368 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-14 10:47:40 +00:00