Commit a3330941 authored by ishell@chromium.org's avatar ishell@chromium.org

PushAndAdd() usages refactored.

R=bmeurer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17339 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
parent d37c1cfc
......@@ -3215,12 +3215,6 @@ void HGraph::RestoreActualValues() {
}
void HGraphBuilder::PushAndAdd(HInstruction* instr) {
Push(instr);
AddInstruction(instr);
}
template <class Instruction>
HInstruction* HOptimizedGraphBuilder::PreProcessCall(Instruction* call) {
int count = call->argument_count();
......@@ -3898,9 +3892,7 @@ void HOptimizedGraphBuilder::VisitForInStatement(ForInStatement* stmt) {
set_current_block(body_exit);
HValue* current_index = Pop();
HInstruction* new_index = New<HAdd>(current_index,
graph()->GetConstant1());
PushAndAdd(new_index);
Push(Add<HAdd>(current_index, graph()->GetConstant1()));
body_exit = current_block();
}
......@@ -5327,7 +5319,8 @@ void HOptimizedGraphBuilder::HandleCompoundAssignment(Assignment* expr) {
HValue* left = Pop();
HInstruction* instr = BuildBinaryOperation(operation, left, right);
PushAndAdd(instr);
AddInstruction(instr);
Push(instr);
if (instr->HasObservableSideEffects()) {
Add<HSimulate>(operation->id(), REMOVABLE_SIMULATE);
}
......@@ -6962,9 +6955,9 @@ bool HOptimizedGraphBuilder::TryCallApply(Call* expr) {
}
Drop(arguments_count - 1);
PushAndAdd(New<HPushArgument>(Pop()));
Push(Add<HPushArgument>(Pop()));
for (int i = 1; i < arguments_count; i++) {
PushAndAdd(New<HPushArgument>(arguments_values->at(i)));
Push(Add<HPushArgument>(arguments_values->at(i)));
}
HInvokeFunction* call = New<HInvokeFunction>(function,
......@@ -7077,8 +7070,8 @@ void HOptimizedGraphBuilder::VisitCall(Call* expr) {
if (known_global_function) {
// Push the global object instead of the global receiver because
// code generated by the full code generator expects it.
HGlobalObject* global_object = New<HGlobalObject>();
PushAndAdd(global_object);
HGlobalObject* global_object = Add<HGlobalObject>();
Push(global_object);
CHECK_ALIVE(VisitExpressions(expr->arguments()));
CHECK_ALIVE(VisitForValue(expr->expression()));
......@@ -7117,7 +7110,7 @@ void HOptimizedGraphBuilder::VisitCall(Call* expr) {
}
} else {
HGlobalObject* receiver = Add<HGlobalObject>();
PushAndAdd(New<HPushArgument>(receiver));
Push(Add<HPushArgument>(receiver));
CHECK_ALIVE(VisitArgumentList(expr->arguments()));
call = New<HCallGlobal>(var->name(), argument_count);
......@@ -7130,8 +7123,8 @@ void HOptimizedGraphBuilder::VisitCall(Call* expr) {
CHECK_ALIVE(VisitForValue(expr->expression()));
HValue* function = Top();
HGlobalObject* global = Add<HGlobalObject>();
HGlobalReceiver* receiver = New<HGlobalReceiver>(global);
PushAndAdd(receiver);
HGlobalReceiver* receiver = Add<HGlobalReceiver>(global);
Push(receiver);
CHECK_ALIVE(VisitExpressions(expr->arguments()));
Add<HCheckValue>(function, expr->target());
......@@ -7157,7 +7150,7 @@ void HOptimizedGraphBuilder::VisitCall(Call* expr) {
HValue* function = Top();
HGlobalObject* global_object = Add<HGlobalObject>();
HGlobalReceiver* receiver = Add<HGlobalReceiver>(global_object);
PushAndAdd(New<HPushArgument>(receiver));
Push(Add<HPushArgument>(receiver));
CHECK_ALIVE(VisitArgumentList(expr->arguments()));
call = New<HCallFunction>(function, argument_count);
......
......@@ -1309,8 +1309,6 @@ class HGraphBuilder {
HValue* EnforceNumberType(HValue* number, Handle<Type> expected);
HValue* TruncateToNumber(HValue* value, Handle<Type>* expected);
void PushAndAdd(HInstruction* instr);
void FinishExitWithHardDeoptimization(const char* reason,
HBasicBlock* continuation);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment