Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(56)

Side by Side Diff: src/code-stubs.h

Issue 2669123002: [stubs] Port CallICTrampolineStub to CodeStubAssembler. (Closed)
Patch Set: Fix the CSA verifier issue. Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/arm64/interface-descriptors-arm64.cc ('k') | src/code-stubs.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef V8_CODE_STUBS_H_ 5 #ifndef V8_CODE_STUBS_H_
6 #define V8_CODE_STUBS_H_ 6 #define V8_CODE_STUBS_H_
7 7
8 #include "src/allocation.h" 8 #include "src/allocation.h"
9 #include "src/assembler.h" 9 #include "src/assembler.h"
10 #include "src/codegen.h" 10 #include "src/codegen.h"
(...skipping 1577 matching lines...) Expand 10 before | Expand all | Expand 10 after
1588 char_from_code_generator_.SkipSlow(masm, bailout); 1588 char_from_code_generator_.SkipSlow(masm, bailout);
1589 } 1589 }
1590 1590
1591 private: 1591 private:
1592 StringCharCodeAtGenerator char_code_at_generator_; 1592 StringCharCodeAtGenerator char_code_at_generator_;
1593 StringCharFromCodeGenerator char_from_code_generator_; 1593 StringCharFromCodeGenerator char_from_code_generator_;
1594 1594
1595 DISALLOW_COPY_AND_ASSIGN(StringCharAtGenerator); 1595 DISALLOW_COPY_AND_ASSIGN(StringCharAtGenerator);
1596 }; 1596 };
1597 1597
1598 class CallICTrampolineStub : public PlatformCodeStub { 1598 class CallICTrampolineStub : public TurboFanCodeStub {
1599 public: 1599 public:
1600 CallICTrampolineStub(Isolate* isolate, const CallICState& state) 1600 CallICTrampolineStub(Isolate* isolate, const CallICState& state)
1601 : PlatformCodeStub(isolate) { 1601 : TurboFanCodeStub(isolate) {
1602 minor_key_ = state.GetExtraICState(); 1602 minor_key_ = state.GetExtraICState();
1603 } 1603 }
1604 1604
1605 Code::Kind GetCodeKind() const override { return Code::CALL_IC; } 1605 Code::Kind GetCodeKind() const override { return Code::CALL_IC; }
1606 1606
1607 ExtraICState GetExtraICState() const final { 1607 ExtraICState GetExtraICState() const final {
1608 return static_cast<ExtraICState>(minor_key_); 1608 return static_cast<ExtraICState>(minor_key_);
1609 } 1609 }
1610 1610
1611 protected: 1611 protected:
1612 ConvertReceiverMode convert_mode() const { return state().convert_mode(); }
1613 TailCallMode tail_call_mode() const { return state().tail_call_mode(); }
1612 CallICState state() const { 1614 CallICState state() const {
1613 return CallICState(static_cast<ExtraICState>(minor_key_)); 1615 return CallICState(static_cast<ExtraICState>(minor_key_));
1614 } 1616 }
1615 1617
1616 DEFINE_CALL_INTERFACE_DESCRIPTOR(CallFunctionWithFeedback); 1618 DEFINE_CALL_INTERFACE_DESCRIPTOR(CallFunctionWithFeedback);
1617 DEFINE_PLATFORM_CODE_STUB(CallICTrampoline, PlatformCodeStub); 1619 DEFINE_TURBOFAN_CODE_STUB(CallICTrampoline, TurboFanCodeStub);
1618 }; 1620 };
1619 1621
1620 class DoubleToIStub : public PlatformCodeStub { 1622 class DoubleToIStub : public PlatformCodeStub {
1621 public: 1623 public:
1622 DoubleToIStub(Isolate* isolate, Register source, Register destination, 1624 DoubleToIStub(Isolate* isolate, Register source, Register destination,
1623 int offset, bool is_truncating, bool skip_fastpath = false) 1625 int offset, bool is_truncating, bool skip_fastpath = false)
1624 : PlatformCodeStub(isolate) { 1626 : PlatformCodeStub(isolate) {
1625 minor_key_ = SourceRegisterBits::encode(source.code()) | 1627 minor_key_ = SourceRegisterBits::encode(source.code()) |
1626 DestinationRegisterBits::encode(destination.code()) | 1628 DestinationRegisterBits::encode(destination.code()) |
1627 OffsetBits::encode(offset) | 1629 OffsetBits::encode(offset) |
(...skipping 481 matching lines...) Expand 10 before | Expand all | Expand 10 after
2109 #undef DEFINE_PLATFORM_CODE_STUB 2111 #undef DEFINE_PLATFORM_CODE_STUB
2110 #undef DEFINE_HANDLER_CODE_STUB 2112 #undef DEFINE_HANDLER_CODE_STUB
2111 #undef DEFINE_HYDROGEN_CODE_STUB 2113 #undef DEFINE_HYDROGEN_CODE_STUB
2112 #undef DEFINE_CODE_STUB 2114 #undef DEFINE_CODE_STUB
2113 #undef DEFINE_CODE_STUB_BASE 2115 #undef DEFINE_CODE_STUB_BASE
2114 2116
2115 } // namespace internal 2117 } // namespace internal
2116 } // namespace v8 2118 } // namespace v8
2117 2119
2118 #endif // V8_CODE_STUBS_H_ 2120 #endif // V8_CODE_STUBS_H_
OLDNEW
« no previous file with comments | « src/arm64/interface-descriptors-arm64.cc ('k') | src/code-stubs.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698