| Index: src/hydrogen.cc
|
| diff --git a/src/hydrogen.cc b/src/hydrogen.cc
|
| index fa6dd72ec06261889731cdee8619e0847fed7133..dcd83b44e03ab2bdb1c1b0fa1cb59c021afa0106 100644
|
| --- a/src/hydrogen.cc
|
| +++ b/src/hydrogen.cc
|
| @@ -7349,12 +7349,11 @@ void HOptimizedGraphBuilder::VisitCall(Call* expr) {
|
|
|
| } else {
|
| VariableProxy* proxy = expr->expression()->AsVariableProxy();
|
| - bool global_call = proxy != NULL && proxy->var()->IsUnallocated();
|
| -
|
| if (proxy != NULL && proxy->var()->is_possibly_eval(isolate())) {
|
| return Bailout("possible direct call to eval");
|
| }
|
|
|
| + bool global_call = proxy != NULL && proxy->var()->IsUnallocated();
|
| if (global_call) {
|
| Variable* var = proxy->var();
|
| bool known_global_function = false;
|
| @@ -7672,7 +7671,7 @@ void HOptimizedGraphBuilder::VisitTypeof(UnaryOperation* expr) {
|
| void HOptimizedGraphBuilder::VisitSub(UnaryOperation* expr) {
|
| CHECK_ALIVE(VisitForValue(expr->expression()));
|
| HValue* value = Pop();
|
| - Handle<Type> operand_type = expr->expression()->lower_type();
|
| + Handle<Type> operand_type = expr->expression()->bounds().lower;
|
| HInstruction* instr = BuildUnaryMathOp(value, operand_type, Token::SUB);
|
| return ast_context()->ReturnInstruction(instr, expr->id());
|
| }
|
| @@ -7681,7 +7680,7 @@ void HOptimizedGraphBuilder::VisitSub(UnaryOperation* expr) {
|
| void HOptimizedGraphBuilder::VisitBitNot(UnaryOperation* expr) {
|
| CHECK_ALIVE(VisitForValue(expr->expression()));
|
| HValue* value = Pop();
|
| - Handle<Type> operand_type = expr->expression()->lower_type();
|
| + Handle<Type> operand_type = expr->expression()->bounds().lower;
|
| HInstruction* instr = BuildUnaryMathOp(value, operand_type, Token::BIT_NOT);
|
| return ast_context()->ReturnInstruction(instr, expr->id());
|
| }
|
| @@ -8041,9 +8040,9 @@ HInstruction* HOptimizedGraphBuilder::BuildBinaryOperation(
|
| HValue* left,
|
| HValue* right) {
|
| HValue* context = environment()->LookupContext();
|
| - Handle<Type> left_type = expr->left()->lower_type();
|
| - Handle<Type> right_type = expr->right()->lower_type();
|
| - Handle<Type> result_type = expr->lower_type();
|
| + Handle<Type> left_type = expr->left()->bounds().lower;
|
| + Handle<Type> right_type = expr->right()->bounds().lower;
|
| + Handle<Type> result_type = expr->bounds().lower;
|
| Maybe<int> fixed_right_arg = expr->fixed_right_arg();
|
| Representation left_rep = Representation::FromType(left_type);
|
| Representation right_rep = Representation::FromType(right_type);
|
| @@ -8365,8 +8364,8 @@ void HOptimizedGraphBuilder::VisitCompareOperation(CompareOperation* expr) {
|
| return ast_context()->ReturnControl(instr, expr->id());
|
| }
|
|
|
| - Handle<Type> left_type = expr->left()->lower_type();
|
| - Handle<Type> right_type = expr->right()->lower_type();
|
| + Handle<Type> left_type = expr->left()->bounds().lower;
|
| + Handle<Type> right_type = expr->right()->bounds().lower;
|
| Handle<Type> combined_type = expr->combined_type();
|
| Representation combined_rep = Representation::FromType(combined_type);
|
| Representation left_rep = Representation::FromType(left_type);
|
|
|