Functions may not be optimized and we would like to know in cpu profiler what was...
authorloislo@chromium.org <loislo@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Thu, 5 Sep 2013 13:20:51 +0000 (13:20 +0000)
committerloislo@chromium.org <loislo@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Thu, 5 Sep 2013 13:20:51 +0000 (13:20 +0000)
commitbbd26abedb2d37ca4ce201523146c2dd002833d4
tree08f3588736904d881d25c5fdc8d0abe7d0f3414f
parentb41a7b9ceaff8a882a965cd51355b111dc453fba
Functions may not be optimized and we would like to know in cpu profiler what was the reason.

Current v8 implementation may disable optimization for a particular function or block it with help of dont_optimize flag.
The patch propagates the reason of that to the SharedFunctionInfo where cpu profiler can get it.

SharedFunctionInfo is a heap object so I extracted 8 bits from OptsCount for handling bailout reason code.

BUG=none
TEST=test-profile-generator/BailoutReason
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16555 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
17 files changed:
include/v8-profiler.h
src/api.cc
src/ast.cc
src/ast.h
src/compiler.cc
src/cpu-profiler.cc
src/full-codegen.cc
src/heap.cc
src/hydrogen.cc
src/objects-inl.h
src/objects.cc
src/objects.h
src/parser.cc
src/profile-generator-inl.h
src/profile-generator.cc
src/profile-generator.h
test/cctest/test-profile-generator.cc