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:
parent
d37c1cfc2f
commit
a333094165
@ -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);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user