| Index: src/hydrogen.cc
|
| diff --git a/src/hydrogen.cc b/src/hydrogen.cc
|
| index e37a1cee9a48534007617df4bb11b93b01f6bd2e..4333109a732487909310d45cd45a7c39627cf57f 100644
|
| --- a/src/hydrogen.cc
|
| +++ b/src/hydrogen.cc
|
| @@ -3453,7 +3453,10 @@ HGraph::HGraph(CompilationInfo* info)
|
| start_environment_ = new (zone_)
|
| HEnvironment(zone_, descriptor.GetEnvironmentParameterCount());
|
| } else {
|
| - info->TraceInlinedFunction(info->shared_info(), SourcePosition::Unknown());
|
| + if (FLAG_hydrogen_track_positions) {
|
| + info->TraceInlinedFunction(info->shared_info(),
|
| + SourcePosition::Unknown());
|
| + }
|
| start_environment_ =
|
| new(zone_) HEnvironment(NULL, info->scope(), info->closure(), zone_);
|
| }
|
| @@ -7794,8 +7797,7 @@ bool HOptimizedGraphBuilder::TryInline(Handle<JSFunction> target,
|
| int arguments_count,
|
| HValue* implicit_return_value,
|
| BailoutId ast_id, BailoutId return_id,
|
| - InliningKind inlining_kind,
|
| - SourcePosition position) {
|
| + InliningKind inlining_kind) {
|
| int nodes_added = InliningAstSize(target);
|
| if (nodes_added == kNotInlinable) return false;
|
|
|
| @@ -7907,7 +7909,11 @@ bool HOptimizedGraphBuilder::TryInline(Handle<JSFunction> target,
|
| DCHECK(target_shared->has_deoptimization_support());
|
| AstTyper::Run(&target_info);
|
|
|
| - int function_id = top_info()->TraceInlinedFunction(target_shared, position);
|
| + int function_id = 0;
|
| + if (FLAG_hydrogen_track_positions) {
|
| + function_id =
|
| + top_info()->TraceInlinedFunction(target_shared, source_position());
|
| + }
|
|
|
| // Save the pending call context. Set up new one for the inlined function.
|
| // The function state is new-allocated because we need to delete it
|
| @@ -8063,25 +8069,16 @@ bool HOptimizedGraphBuilder::TryInline(Handle<JSFunction> target,
|
|
|
|
|
| bool HOptimizedGraphBuilder::TryInlineCall(Call* expr) {
|
| - return TryInline(expr->target(),
|
| - expr->arguments()->length(),
|
| - NULL,
|
| - expr->id(),
|
| - expr->ReturnId(),
|
| - NORMAL_RETURN,
|
| - ScriptPositionToSourcePosition(expr->position()));
|
| + return TryInline(expr->target(), expr->arguments()->length(), NULL,
|
| + expr->id(), expr->ReturnId(), NORMAL_RETURN);
|
| }
|
|
|
|
|
| bool HOptimizedGraphBuilder::TryInlineConstruct(CallNew* expr,
|
| HValue* implicit_return_value) {
|
| - return TryInline(expr->target(),
|
| - expr->arguments()->length(),
|
| - implicit_return_value,
|
| - expr->id(),
|
| - expr->ReturnId(),
|
| - CONSTRUCT_CALL_RETURN,
|
| - ScriptPositionToSourcePosition(expr->position()));
|
| + return TryInline(expr->target(), expr->arguments()->length(),
|
| + implicit_return_value, expr->id(), expr->ReturnId(),
|
| + CONSTRUCT_CALL_RETURN);
|
| }
|
|
|
|
|
| @@ -8090,13 +8087,7 @@ bool HOptimizedGraphBuilder::TryInlineGetter(Handle<JSFunction> getter,
|
| BailoutId ast_id,
|
| BailoutId return_id) {
|
| if (TryInlineApiGetter(getter, receiver_map, ast_id)) return true;
|
| - return TryInline(getter,
|
| - 0,
|
| - NULL,
|
| - ast_id,
|
| - return_id,
|
| - GETTER_CALL_RETURN,
|
| - source_position());
|
| + return TryInline(getter, 0, NULL, ast_id, return_id, GETTER_CALL_RETURN);
|
| }
|
|
|
|
|
| @@ -8106,25 +8097,16 @@ bool HOptimizedGraphBuilder::TryInlineSetter(Handle<JSFunction> setter,
|
| BailoutId assignment_id,
|
| HValue* implicit_return_value) {
|
| if (TryInlineApiSetter(setter, receiver_map, id)) return true;
|
| - return TryInline(setter,
|
| - 1,
|
| - implicit_return_value,
|
| - id, assignment_id,
|
| - SETTER_CALL_RETURN,
|
| - source_position());
|
| + return TryInline(setter, 1, implicit_return_value, id, assignment_id,
|
| + SETTER_CALL_RETURN);
|
| }
|
|
|
|
|
| bool HOptimizedGraphBuilder::TryInlineIndirectCall(Handle<JSFunction> function,
|
| Call* expr,
|
| int arguments_count) {
|
| - return TryInline(function,
|
| - arguments_count,
|
| - NULL,
|
| - expr->id(),
|
| - expr->ReturnId(),
|
| - NORMAL_RETURN,
|
| - ScriptPositionToSourcePosition(expr->position()));
|
| + return TryInline(function, arguments_count, NULL, expr->id(),
|
| + expr->ReturnId(), NORMAL_RETURN);
|
| }
|
|
|
|
|
| @@ -9152,8 +9134,6 @@ void HOptimizedGraphBuilder::VisitCall(Call* expr) {
|
| CHECK_ALIVE(PushLoad(prop, receiver, key));
|
| HValue* function = Pop();
|
|
|
| - if (FLAG_hydrogen_track_positions) SetSourcePosition(expr->position());
|
| -
|
| if (function->IsConstant() &&
|
| HConstant::cast(function)->handle(isolate())->IsJSFunction()) {
|
| // Push the function under the receiver.
|
| @@ -10861,8 +10841,6 @@ void HOptimizedGraphBuilder::VisitCompareOperation(CompareOperation* expr) {
|
| CHECK_ALIVE(VisitForValue(expr->left()));
|
| CHECK_ALIVE(VisitForValue(expr->right()));
|
|
|
| - if (FLAG_hydrogen_track_positions) SetSourcePosition(expr->position());
|
| -
|
| HValue* right = Pop();
|
| HValue* left = Pop();
|
| Token::Value op = expr->op();
|
|
|