Fix compilation with Clang after r16530.
TBR=titzer@chromium.org Review URL: https://codereview.chromium.org/23526015 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16534 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
parent
f5ec7c5835
commit
17d21a5119
@ -1247,32 +1247,32 @@ static bool IsInlined(JSFunction* function, SharedFunctionInfo* candidate) {
|
||||
}
|
||||
|
||||
|
||||
static void DeoptimizeDependentFunctions(SharedFunctionInfo* function_info) {
|
||||
// Marks code that shares the same shared function info or has inlined
|
||||
// code that shares the same function info.
|
||||
class DependentFunctionMarker: public OptimizedFunctionVisitor {
|
||||
public:
|
||||
SharedFunctionInfo* shared_info_;
|
||||
bool found_;
|
||||
// Marks code that shares the same shared function info or has inlined
|
||||
// code that shares the same function info.
|
||||
class DependentFunctionMarker: public OptimizedFunctionVisitor {
|
||||
public:
|
||||
SharedFunctionInfo* shared_info_;
|
||||
bool found_;
|
||||
|
||||
explicit DependentFunctionMarker(SharedFunctionInfo* shared_info)
|
||||
: shared_info_(shared_info), found_(false) { }
|
||||
explicit DependentFunctionMarker(SharedFunctionInfo* shared_info)
|
||||
: shared_info_(shared_info), found_(false) { }
|
||||
|
||||
virtual void EnterContext(Context* context) { } // Don't care.
|
||||
virtual void LeaveContext(Context* context) { } // Don't care.
|
||||
virtual void VisitFunction(JSFunction* function) {
|
||||
// It should be guaranteed by the iterator that everything is optimized.
|
||||
ASSERT(function->code()->kind() == Code::OPTIMIZED_FUNCTION);
|
||||
if (shared_info_ == function->shared() ||
|
||||
IsInlined(function, shared_info_)) {
|
||||
// mark the code for deoptimization
|
||||
function->code()->set_marked_for_deoptimization(true);
|
||||
found_ = true;
|
||||
}
|
||||
virtual void EnterContext(Context* context) { } // Don't care.
|
||||
virtual void LeaveContext(Context* context) { } // Don't care.
|
||||
virtual void VisitFunction(JSFunction* function) {
|
||||
// It should be guaranteed by the iterator that everything is optimized.
|
||||
ASSERT(function->code()->kind() == Code::OPTIMIZED_FUNCTION);
|
||||
if (shared_info_ == function->shared() ||
|
||||
IsInlined(function, shared_info_)) {
|
||||
// Mark the code for deoptimization.
|
||||
function->code()->set_marked_for_deoptimization(true);
|
||||
found_ = true;
|
||||
}
|
||||
};
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
static void DeoptimizeDependentFunctions(SharedFunctionInfo* function_info) {
|
||||
DisallowHeapAllocation no_allocation;
|
||||
DependentFunctionMarker marker(function_info);
|
||||
// TODO(titzer): need to traverse all optimized code to find OSR code here.
|
||||
|
Loading…
Reference in New Issue
Block a user