Home | History | Annotate | Download | only in interpreter

Lines Matching defs:assembler

15 #include "src/interpreter/interpreter-assembler.h"
28 #define __ assembler->
58 InterpreterAssembler assembler(isolate_, &zone, Bytecode::k##Name, \
60 Do##Name(&assembler); \
61 Handle<Code> code = assembler.GenerateCode(); \
276 void Interpreter::DoLdaZero(InterpreterAssembler* assembler) {
285 void Interpreter::DoLdaSmi(InterpreterAssembler* assembler) {
295 void Interpreter::DoLdaConstant(InterpreterAssembler* assembler) {
305 void Interpreter::DoLdaUndefined(InterpreterAssembler* assembler) {
315 void Interpreter::DoLdrUndefined(InterpreterAssembler* assembler) {
326 void Interpreter::DoLdaNull(InterpreterAssembler* assembler) {
335 void Interpreter::DoLdaTheHole(InterpreterAssembler* assembler) {
344 void Interpreter::DoLdaTrue(InterpreterAssembler* assembler) {
353 void Interpreter::DoLdaFalse(InterpreterAssembler* assembler) {
362 void Interpreter::DoLdar(InterpreterAssembler* assembler) {
372 void Interpreter::DoStar(InterpreterAssembler* assembler) {
382 void Interpreter::DoMov(InterpreterAssembler* assembler) {
391 InterpreterAssembler* assembler) {
408 void Interpreter::DoLdaGlobal(InterpreterAssembler* assembler) {
411 Node* result = BuildLoadGlobal(ic, assembler);
420 void Interpreter::DoLdrGlobal(InterpreterAssembler* assembler) {
423 Node* result = BuildLoadGlobal(ic, assembler);
433 void Interpreter::DoLdaGlobalInsideTypeof(InterpreterAssembler* assembler) {
436 Node* result = BuildLoadGlobal(ic, assembler);
441 void Interpreter::DoStaGlobal(Callable ic, InterpreterAssembler* assembler) {
465 void Interpreter::DoStaGlobalSloppy(InterpreterAssembler* assembler) {
467 DoStaGlobal(ic, assembler);
474 void Interpreter::DoStaGlobalStrict(InterpreterAssembler* assembler) {
476 DoStaGlobal(ic, assembler);
480 InterpreterAssembler* assembler) {
490 void Interpreter::DoLdaContextSlot(InterpreterAssembler* assembler) {
491 Node* result = BuildLoadContextSlot(assembler);
499 void Interpreter::DoLdrContextSlot(InterpreterAssembler* assembler) {
500 Node* result = BuildLoadContextSlot(assembler);
509 void Interpreter::DoStaContextSlot(InterpreterAssembler* assembler) {
519 InterpreterAssembler* assembler) {
532 void Interpreter::DoLdaLookupSlot(InterpreterAssembler* assembler) {
533 DoLdaLookupSlot(Runtime::kLoadLookupSlot, assembler);
540 void Interpreter::DoLdaLookupSlotInsideTypeof(InterpreterAssembler* assembler) {
541 DoLdaLookupSlot(Runtime::kLoadLookupSlotInsideTypeof, assembler);
545 InterpreterAssembler* assembler) {
562 void Interpreter::DoStaLookupSlotSloppy(InterpreterAssembler* assembler) {
563 DoStaLookupSlot(LanguageMode::SLOPPY, assembler);
570 void Interpreter::DoStaLookupSlotStrict(InterpreterAssembler* assembler) {
571 DoStaLookupSlot(LanguageMode::STRICT, assembler);
575 InterpreterAssembler* assembler) {
593 void Interpreter::DoLdaNamedProperty(InterpreterAssembler* assembler) {
595 Node* result = BuildLoadNamedProperty(ic, assembler);
604 void Interpreter::DoLdrNamedProperty(InterpreterAssembler* assembler) {
606 Node* result = BuildLoadNamedProperty(ic, assembler);
613 InterpreterAssembler* assembler) {
630 void Interpreter::DoLdaKeyedProperty(InterpreterAssembler* assembler) {
632 Node* result = BuildLoadKeyedProperty(ic, assembler);
641 void Interpreter::DoLdrKeyedProperty(InterpreterAssembler* assembler) {
643 Node* result = BuildLoadKeyedProperty(ic, assembler);
649 void Interpreter::DoStoreIC(Callable ic, InterpreterAssembler* assembler) {
670 void Interpreter::DoStaNamedPropertySloppy(InterpreterAssembler* assembler) {
672 DoStoreIC(ic, assembler);
680 void Interpreter::DoStaNamedPropertyStrict(InterpreterAssembler* assembler) {
682 DoStoreIC(ic, assembler);
685 void Interpreter::DoKeyedStoreIC(Callable ic, InterpreterAssembler* assembler) {
705 void Interpreter::DoStaKeyedPropertySloppy(InterpreterAssembler* assembler) {
707 DoKeyedStoreIC(ic, assembler);
714 void Interpreter::DoStaKeyedPropertyStrict(InterpreterAssembler* assembler) {
716 DoKeyedStoreIC(ic, assembler);
723 void Interpreter::DoPushContext(InterpreterAssembler* assembler) {
735 void Interpreter::DoPopContext(InterpreterAssembler* assembler) {
743 void Interpreter::DoBinaryOp(InterpreterAssembler* assembler) {
748 Node* result = Generator::Generate(assembler, lhs, rhs, context);
756 void Interpreter::DoAdd(InterpreterAssembler* assembler) {
757 DoBinaryOp<AddStub>(assembler);
763 void Interpreter::DoSub(InterpreterAssembler* assembler) {
764 DoBinaryOp<SubtractStub>(assembler);
770 void Interpreter::DoMul(InterpreterAssembler* assembler) {
771 DoBinaryOp<MultiplyStub>(assembler);
777 void Interpreter::DoDiv(InterpreterAssembler* assembler) {
778 DoBinaryOp<DivideStub>(assembler);
784 void Interpreter::DoMod(InterpreterAssembler* assembler) {
785 DoBinaryOp<ModulusStub>(assembler);
791 void Interpreter::DoBitwiseOr(InterpreterAssembler* assembler) {
792 DoBinaryOp<BitwiseOrStub>(assembler);
798 void Interpreter::DoBitwiseXor(InterpreterAssembler* assembler) {
799 DoBinaryOp<BitwiseXorStub>(assembler);
805 void Interpreter::DoBitwiseAnd(InterpreterAssembler* assembler) {
806 DoBinaryOp<BitwiseAndStub>(assembler);
815 void Interpreter::DoShiftLeft(InterpreterAssembler* assembler) {
816 DoBinaryOp<ShiftLeftStub>(assembler);
825 void Interpreter::DoShiftRight(InterpreterAssembler* assembler) {
826 DoBinaryOp<ShiftRightStub>(assembler);
835 void Interpreter::DoShiftRightLogical(InterpreterAssembler* assembler) {
836 DoBinaryOp<ShiftRightLogicalStub>(assembler);
840 InterpreterAssembler* assembler) {
851 void Interpreter::DoUnaryOp(InterpreterAssembler* assembler) {
854 Node* result = Generator::Generate(assembler, value, context);
862 void Interpreter::DoToName(InterpreterAssembler* assembler) {
863 DoUnaryOp(CodeFactory::ToName(isolate_), assembler);
869 void Interpreter::DoToNumber(InterpreterAssembler* assembler) {
870 DoUnaryOp(CodeFactory::ToNumber(isolate_), assembler);
876 void Interpreter::DoToObject(InterpreterAssembler* assembler) {
877 DoUnaryOp(CodeFactory::ToObject(isolate_), assembler);
883 void Interpreter::DoInc(InterpreterAssembler* assembler) {
884 DoUnaryOp<IncStub>(assembler);
890 void Interpreter::DoDec(InterpreterAssembler* assembler) {
891 DoUnaryOp<DecStub>(assembler);
895 InterpreterAssembler* assembler) {
897 return ToBooleanStub::Generate(assembler, value, context);
901 InterpreterAssembler* assembler) {
902 Variable result(assembler, MachineRepresentation::kTagged);
903 Label if_true(assembler), if_false(assembler), end(assembler);
930 void Interpreter::DoToBooleanLogicalNot(InterpreterAssembler* assembler) {
932 Node* to_boolean_value = BuildToBoolean(value, assembler);
933 Node* result = BuildLogicalNot(to_boolean_value, assembler);
942 void Interpreter::DoLogicalNot(InterpreterAssembler* assembler) {
944 Node* result = BuildLogicalNot(value, assembler);
953 void Interpreter::DoTypeOf(InterpreterAssembler* assembler) {
954 DoUnaryOp(CodeFactory::Typeof(isolate_), assembler);
958 InterpreterAssembler* assembler) {
972 void Interpreter::DoDeletePropertyStrict(InterpreterAssembler* assembler) {
973 DoDelete(Runtime::kDeleteProperty_Strict, assembler);
980 void Interpreter::DoDeletePropertySloppy(InterpreterAssembler* assembler) {
981 DoDelete(Runtime::kDeleteProperty_Sloppy, assembler);
984 void Interpreter::DoJSCall(InterpreterAssembler* assembler,
1005 void Interpreter::DoCall(InterpreterAssembler* assembler) {
1006 DoJSCall(assembler, TailCallMode::kDisallow);
1013 void Interpreter::DoTailCall(InterpreterAssembler* assembler) {
1014 DoJSCall(assembler, TailCallMode::kAllow);
1017 void Interpreter::DoCallRuntimeCommon(InterpreterAssembler* assembler) {
1033 void Interpreter::DoCallRuntime(InterpreterAssembler* assembler) {
1034 DoCallRuntimeCommon(assembler);
1042 void Interpreter::DoInvokeIntrinsic(InterpreterAssembler* assembler) {
1047 IntrinsicsHelper helper(assembler);
1054 void Interpreter::DoCallRuntimeForPairCommon(InterpreterAssembler* assembler) {
1080 void Interpreter::DoCallRuntimeForPair(InterpreterAssembler* assembler) {
1081 DoCallRuntimeForPairCommon(assembler);
1084 void Interpreter::DoCallJSRuntimeCommon(InterpreterAssembler* assembler) {
1109 void Interpreter::DoCallJSRuntime(InterpreterAssembler* assembler) {
1110 DoCallJSRuntimeCommon(assembler);
1113 void Interpreter::DoCallConstruct(InterpreterAssembler* assembler) {
1134 void Interpreter::DoNew(InterpreterAssembler* assembler) {
1135 DoCallConstruct(assembler);
1141 void Interpreter::DoTestEqual(InterpreterAssembler* assembler) {
1142 DoBinaryOp<EqualStub>(assembler);
1148 void Interpreter::DoTestNotEqual(InterpreterAssembler* assembler) {
1149 DoBinaryOp<NotEqualStub>(assembler);
1155 void Interpreter::DoTestEqualStrict(InterpreterAssembler* assembler) {
1156 DoBinaryOp<StrictEqualStub>(assembler);
1162 void Interpreter::DoTestLessThan(InterpreterAssembler* assembler) {
1163 DoBinaryOp<LessThanStub>(assembler);
1169 void Interpreter::DoTestGreaterThan(InterpreterAssembler* assembler) {
1170 DoBinaryOp<GreaterThanStub>(assembler);
1177 void Interpreter::DoTestLessThanOrEqual(InterpreterAssembler* assembler) {
1178 DoBinaryOp<LessThanOrEqualStub>(assembler);
1185 void Interpreter::DoTestGreaterThanOrEqual(InterpreterAssembler* assembler) {
1186 DoBinaryOp<GreaterThanOrEqualStub>(assembler);
1193 void Interpreter::DoTestIn(InterpreterAssembler* assembler) {
1194 DoBinaryOp<HasPropertyStub>(assembler);
1201 void Interpreter::DoTestInstanceOf(InterpreterAssembler* assembler) {
1202 DoBinaryOp<InstanceOfStub>(assembler);
1208 void Interpreter::DoJump(InterpreterAssembler* assembler) {
1216 void Interpreter::DoJumpConstant(InterpreterAssembler* assembler) {
1227 void Interpreter::DoJumpIfTrue(InterpreterAssembler* assembler) {
1238 void Interpreter::DoJumpIfTrueConstant(InterpreterAssembler* assembler) {
1251 void Interpreter::DoJumpIfFalse(InterpreterAssembler* assembler) {
1262 void Interpreter::DoJumpIfFalseConstant(InterpreterAssembler* assembler) {
1275 void Interpreter::DoJumpIfToBooleanTrue(InterpreterAssembler* assembler) {
1277 Node* to_boolean_value = BuildToBoolean(accumulator, assembler);
1289 InterpreterAssembler* assembler) {
1291 Node* to_boolean_value = BuildToBoolean(accumulator, assembler);
1303 void Interpreter::DoJumpIfToBooleanFalse(InterpreterAssembler* assembler) {
1305 Node* to_boolean_value = BuildToBoolean(accumulator, assembler);
1317 InterpreterAssembler* assembler) {
1319 Node* to_boolean_value = BuildToBoolean(accumulator, assembler);
1331 void Interpreter::DoJumpIfNull(InterpreterAssembler* assembler) {
1342 void Interpreter::DoJumpIfNullConstant(InterpreterAssembler* assembler) {
1355 void Interpreter::DoJumpIfUndefined(InterpreterAssembler* assembler) {
1367 void Interpreter::DoJumpIfUndefinedConstant(InterpreterAssembler* assembler) {
1381 void Interpreter::DoJumpIfNotHole(InterpreterAssembler* assembler) {
1392 void Interpreter::DoJumpIfNotHoleConstant(InterpreterAssembler* assembler) {
1405 void Interpreter::DoCreateRegExpLiteral(InterpreterAssembler* assembler) {
1426 void Interpreter::DoCreateArrayLiteral(InterpreterAssembler* assembler) {
1445 void Interpreter::DoCreateObjectLiteral(InterpreterAssembler* assembler) {
1452 Label if_fast_clone(assembler),
1453 if_not_fast_clone(assembler, Label::kDeferred);
1463 assembler, &if_not_fast_clone, closure, literal_index,
1494 void Interpreter::DoCreateClosure(InterpreterAssembler* assembler) {
1511 void Interpreter::DoCreateMappedArguments(InterpreterAssembler* assembler) {
1515 Label if_duplicate_parameters(assembler, Label::kDeferred);
1516 Label if_not_duplicate_parameters(assembler);
1553 void Interpreter::DoCreateUnmappedArguments(InterpreterAssembler* assembler) {
1567 void Interpreter::DoCreateRestParameter(InterpreterAssembler* assembler) {
1581 void Interpreter::DoStackCheck(InterpreterAssembler* assembler) {
1582 Label ok(assembler), stack_check_interrupt(assembler, Label::kDeferred);
1601 void Interpreter::DoThrow(InterpreterAssembler* assembler) {
1612 void Interpreter::DoReThrow(InterpreterAssembler* assembler) {
1623 void Interpreter::DoReturn(InterpreterAssembler* assembler) {
1632 void Interpreter::DoDebugger(InterpreterAssembler* assembler) {
1642 void Interpreter::Do##Name(InterpreterAssembler* assembler) { \
1658 void Interpreter::DoForInPrepare(InterpreterAssembler* assembler) {
1677 void Interpreter::DoForInNext(InterpreterAssembler* assembler) {
1692 Label if_fast(assembler), if_slow(assembler, Label::kDeferred);
1724 void Interpreter::DoForInDone(InterpreterAssembler* assembler) {
1731 Label if_true(assembler), if_false(assembler), end(assembler);
1751 void Interpreter::DoForInStep(InterpreterAssembler* assembler) {
1763 void Interpreter::DoWide(InterpreterAssembler* assembler) {
1770 void Interpreter::DoExtraWide(InterpreterAssembler* assembler) {
1777 void Interpreter::DoIllegal(InterpreterAssembler* assembler) {
1784 void Interpreter::DoNop(InterpreterAssembler* assembler) { __ Dispatch(); }
1791 void Interpreter::DoSuspendGenerator(InterpreterAssembler* assembler) {
1795 Label if_stepping(assembler, Label::kDeferred), ok(assembler);
1834 void Interpreter::DoResumeGenerator(InterpreterAssembler* assembler) {