Lines Matching refs:expr
181 ObjectLiteral* expr) const { in MustCreateObjectLiteralWithRuntime()
182 return masm()->serializer_enabled() || !expr->IsFastCloningSupported(); in MustCreateObjectLiteralWithRuntime()
187 ArrayLiteral* expr) const { in MustCreateArrayLiteralWithRuntime()
188 return !expr->IsFastCloningSupported(); in MustCreateArrayLiteralWithRuntime()
484 void FullCodeGenerator::VisitVariableProxy(VariableProxy* expr) { in VisitVariableProxy() argument
486 EmitVariableLoad(expr); in VisitVariableProxy()
558 void FullCodeGenerator::EmitSubString(CallRuntime* expr) { in EmitSubString() argument
561 ZoneList<Expression*>* args = expr->arguments(); in EmitSubString()
573 void FullCodeGenerator::EmitIntrinsicAsStubCall(CallRuntime* expr, in EmitIntrinsicAsStubCall() argument
575 ZoneList<Expression*>* args = expr->arguments(); in EmitIntrinsicAsStubCall()
605 void FullCodeGenerator::EmitToString(CallRuntime* expr) { in EmitToString() argument
606 EmitIntrinsicAsStubCall(expr, CodeFactory::ToString(isolate())); in EmitToString()
610 void FullCodeGenerator::EmitToLength(CallRuntime* expr) { in EmitToLength() argument
611 EmitIntrinsicAsStubCall(expr, CodeFactory::ToLength(isolate())); in EmitToLength()
614 void FullCodeGenerator::EmitToInteger(CallRuntime* expr) { in EmitToInteger() argument
615 EmitIntrinsicAsStubCall(expr, CodeFactory::ToInteger(isolate())); in EmitToInteger()
618 void FullCodeGenerator::EmitToNumber(CallRuntime* expr) { in EmitToNumber() argument
619 EmitIntrinsicAsStubCall(expr, CodeFactory::ToNumber(isolate())); in EmitToNumber()
623 void FullCodeGenerator::EmitToObject(CallRuntime* expr) { in EmitToObject() argument
624 EmitIntrinsicAsStubCall(expr, CodeFactory::ToObject(isolate())); in EmitToObject()
675 void FullCodeGenerator::SetExpressionPosition(Expression* expr) { in SetExpressionPosition() argument
676 if (expr->position() == kNoSourcePosition) return; in SetExpressionPosition()
677 RecordPosition(expr->position()); in SetExpressionPosition()
681 void FullCodeGenerator::SetExpressionAsStatementPosition(Expression* expr) { in SetExpressionAsStatementPosition() argument
682 if (expr->position() == kNoSourcePosition) return; in SetExpressionAsStatementPosition()
683 RecordStatementPosition(expr->position()); in SetExpressionAsStatementPosition()
689 void FullCodeGenerator::SetCallPosition(Expression* expr, in SetCallPosition() argument
691 if (expr->position() == kNoSourcePosition) return; in SetCallPosition()
692 RecordPosition(expr->position()); in SetCallPosition()
718 void FullCodeGenerator::EmitDebugBreakInOptimizedCode(CallRuntime* expr) { in EmitDebugBreakInOptimizedCode() argument
723 void FullCodeGenerator::VisitBinaryOperation(BinaryOperation* expr) { in VisitBinaryOperation() argument
724 switch (expr->op()) { in VisitBinaryOperation()
726 return VisitComma(expr); in VisitBinaryOperation()
729 return VisitLogicalExpression(expr); in VisitBinaryOperation()
731 return VisitArithmeticExpression(expr); in VisitBinaryOperation()
736 void FullCodeGenerator::VisitInDuplicateContext(Expression* expr) { in VisitInDuplicateContext() argument
738 VisitForEffect(expr); in VisitInDuplicateContext()
740 VisitForAccumulatorValue(expr); in VisitInDuplicateContext()
742 VisitForStackValue(expr); in VisitInDuplicateContext()
745 VisitForControl(expr, test->true_label(), test->false_label(), in VisitInDuplicateContext()
751 void FullCodeGenerator::VisitComma(BinaryOperation* expr) { in VisitComma() argument
753 VisitForEffect(expr->left()); in VisitComma()
754 VisitInDuplicateContext(expr->right()); in VisitComma()
758 void FullCodeGenerator::VisitLogicalExpression(BinaryOperation* expr) { in VisitLogicalExpression() argument
759 bool is_logical_and = expr->op() == Token::AND; in VisitLogicalExpression()
761 Expression* left = expr->left(); in VisitLogicalExpression()
762 Expression* right = expr->right(); in VisitLogicalExpression()
763 BailoutId right_id = expr->RightId(); in VisitLogicalExpression()
827 void FullCodeGenerator::VisitArithmeticExpression(BinaryOperation* expr) { in VisitArithmeticExpression() argument
828 Token::Value op = expr->op(); in VisitArithmeticExpression()
830 Expression* left = expr->left(); in VisitArithmeticExpression()
831 Expression* right = expr->right(); in VisitArithmeticExpression()
836 SetExpressionPosition(expr); in VisitArithmeticExpression()
838 EmitInlineSmiBinaryOp(expr, op, left, right); in VisitArithmeticExpression()
840 EmitBinaryOp(expr, op); in VisitArithmeticExpression()
844 void FullCodeGenerator::VisitProperty(Property* expr) { in VisitProperty() argument
846 SetExpressionPosition(expr); in VisitProperty()
848 Expression* key = expr->key(); in VisitProperty()
851 DCHECK(!expr->IsSuperAccess()); in VisitProperty()
852 VisitForAccumulatorValue(expr->obj()); in VisitProperty()
854 EmitNamedPropertyLoad(expr); in VisitProperty()
856 DCHECK(!expr->IsSuperAccess()); in VisitProperty()
857 VisitForStackValue(expr->obj()); in VisitProperty()
858 VisitForAccumulatorValue(expr->key()); in VisitProperty()
861 EmitKeyedPropertyLoad(expr); in VisitProperty()
863 PrepareForBailoutForId(expr->LoadId(), BailoutState::TOS_REGISTER); in VisitProperty()
867 void FullCodeGenerator::VisitForTypeofValue(Expression* expr) { in VisitForTypeofValue() argument
868 VariableProxy* proxy = expr->AsVariableProxy(); in VisitForTypeofValue()
877 VisitInDuplicateContext(expr); in VisitForTypeofValue()
895 void FullCodeGenerator::VisitDoExpression(DoExpression* expr) { in VisitDoExpression() argument
897 SetExpressionPosition(expr); in VisitDoExpression()
898 VisitBlock(expr->block()); in VisitDoExpression()
899 VisitInDuplicateContext(expr->result()); in VisitDoExpression()
1074 Expression* expr = stmt->expression(); in VisitReturnStatement() local
1075 VisitForAccumulatorValue(expr); in VisitReturnStatement()
1207 void FullCodeGenerator::VisitThisFunction(ThisFunction* expr) { in VisitThisFunction() argument
1236 void FullCodeGenerator::VisitConditional(Conditional* expr) { in VisitConditional() argument
1239 VisitForControl(expr->condition(), &true_case, &false_case, &true_case); in VisitConditional()
1242 PrepareForBailoutForId(expr->ThenId(), BailoutState::NO_REGISTERS); in VisitConditional()
1244 SetExpressionPosition(expr->then_expression()); in VisitConditional()
1247 VisitForControl(expr->then_expression(), in VisitConditional()
1252 VisitInDuplicateContext(expr->then_expression()); in VisitConditional()
1257 PrepareForBailoutForId(expr->ElseId(), BailoutState::NO_REGISTERS); in VisitConditional()
1259 SetExpressionPosition(expr->else_expression()); in VisitConditional()
1260 VisitInDuplicateContext(expr->else_expression()); in VisitConditional()
1268 void FullCodeGenerator::VisitLiteral(Literal* expr) { in VisitLiteral() argument
1270 context()->Plug(expr->value()); in VisitLiteral()
1274 void FullCodeGenerator::VisitFunctionLiteral(FunctionLiteral* expr) { in VisitFunctionLiteral() argument
1279 Compiler::GetSharedFunctionInfo(expr, script(), info_); in VisitFunctionLiteral()
1284 EmitNewClosure(function_info, expr->LiteralFeedbackSlot(), expr->pretenure()); in VisitFunctionLiteral()
1293 void FullCodeGenerator::VisitRegExpLiteral(RegExpLiteral* expr) { in VisitRegExpLiteral() argument
1300 SmiFromSlot(expr->literal_slot())); in VisitRegExpLiteral()
1301 __ Move(descriptor.GetRegisterParameter(2), expr->pattern()); in VisitRegExpLiteral()
1302 __ Move(descriptor.GetRegisterParameter(3), Smi::FromInt(expr->flags())); in VisitRegExpLiteral()
1313 NativeFunctionLiteral* expr) { in VisitNativeFunctionLiteral() argument
1316 Compiler::GetSharedFunctionInfoForNative(expr->extension(), expr->name()); in VisitNativeFunctionLiteral()
1317 EmitNewClosure(shared, expr->LiteralFeedbackSlot(), false); in VisitNativeFunctionLiteral()
1321 void FullCodeGenerator::VisitThrow(Throw* expr) { in VisitThrow() argument
1323 VisitForStackValue(expr->exception()); in VisitThrow()
1324 SetExpressionPosition(expr); in VisitThrow()
1334 void FullCodeGenerator::VisitCall(Call* expr) { in VisitCall() argument
1338 expr->return_is_recorded_ = false; in VisitCall()
1341 Comment cmnt(masm_, (expr->tail_call_mode() == TailCallMode::kAllow) in VisitCall()
1344 Expression* callee = expr->expression(); in VisitCall()
1345 Call::CallType call_type = expr->GetCallType(); in VisitCall()
1348 CHECK(!expr->is_possibly_eval()); in VisitCall()
1352 EmitCallWithLoadIC(expr); in VisitCall()
1357 EmitCallWithLoadIC(expr); in VisitCall()
1363 EmitKeyedCallWithLoadIC(expr, property->key()); in VisitCall()
1372 EmitCall(expr); in VisitCall()
1383 DCHECK(expr->return_is_recorded_); in VisitCall()
1387 void FullCodeGenerator::VisitCallRuntime(CallRuntime* expr) { in VisitCallRuntime() argument
1388 ZoneList<Expression*>* args = expr->arguments(); in VisitCallRuntime()
1391 if (expr->is_jsruntime()) { in VisitCallRuntime()
1393 EmitLoadJSRuntimeFunction(expr); in VisitCallRuntime()
1400 PrepareForBailoutForId(expr->CallId(), BailoutState::NO_REGISTERS); in VisitCallRuntime()
1401 EmitCallJSRuntimeFunction(expr); in VisitCallRuntime()
1405 const Runtime::Function* function = expr->function(); in VisitCallRuntime()
1410 return Emit##Name(expr); \ in VisitCallRuntime()
1422 PrepareForBailoutForId(expr->CallId(), BailoutState::NO_REGISTERS); in VisitCallRuntime()
1423 __ CallRuntime(expr->function(), arg_count); in VisitCallRuntime()
1431 void FullCodeGenerator::VisitSpread(Spread* expr) { UNREACHABLE(); } in VisitSpread() argument
1434 void FullCodeGenerator::VisitEmptyParentheses(EmptyParentheses* expr) { in VisitEmptyParentheses() argument
1438 void FullCodeGenerator::VisitGetIterator(GetIterator* expr) { UNREACHABLE(); } in VisitGetIterator() argument
1440 void FullCodeGenerator::VisitRewritableExpression(RewritableExpression* expr) { in VisitRewritableExpression() argument
1441 Visit(expr->expression()); in VisitRewritableExpression()
1445 bool FullCodeGenerator::TryLiteralCompare(CompareOperation* expr) { in TryLiteralCompare() argument
1448 if (expr->IsLiteralCompareTypeof(&sub_expr, &check)) { in TryLiteralCompare()
1449 SetExpressionPosition(expr); in TryLiteralCompare()
1450 EmitLiteralCompareTypeof(expr, sub_expr, check); in TryLiteralCompare()
1454 if (expr->IsLiteralCompareUndefined(&sub_expr)) { in TryLiteralCompare()
1455 SetExpressionPosition(expr); in TryLiteralCompare()
1456 EmitLiteralCompareNil(expr, sub_expr, kUndefinedValue); in TryLiteralCompare()
1460 if (expr->IsLiteralCompareNull(&sub_expr)) { in TryLiteralCompare()
1461 SetExpressionPosition(expr); in TryLiteralCompare()
1462 EmitLiteralCompareNil(expr, sub_expr, kNullValue); in TryLiteralCompare()