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
This commit is contained in:
ishell@chromium.org 2013-10-23 12:34:39 +00:00
parent d37c1cfc2f
commit a333094165
2 changed files with 11 additions and 20 deletions

View File

@ -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);

View File

@ -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);