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

Unified Diff: src/ic/ic-state.h

Issue 1688283003: [Interpreter] Implements calls through CallICStub in the interpreter. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 4 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 side-by-side diff with in-line comments
Download patch
Index: src/ic/ic-state.h
diff --git a/src/ic/ic-state.h b/src/ic/ic-state.h
index f4ed8ac79ca85a01bd2cbc0ca86163851fbb3bf1..de66947d2e024aee77c924b985d1083113225b9e 100644
--- a/src/ic/ic-state.h
+++ b/src/ic/ic-state.h
@@ -26,10 +26,11 @@ class CallICState final BASE_EMBEDDED {
explicit CallICState(ExtraICState extra_ic_state)
: bit_field_(extra_ic_state) {}
CallICState(int argc, ConvertReceiverMode convert_mode,
- TailCallMode tail_call_mode)
+ TailCallMode tail_call_mode, bool is_argc_in_reg = false)
: bit_field_(ArgcBits::encode(argc) |
ConvertModeBits::encode(convert_mode) |
- TailCallModeBits::encode(tail_call_mode)) {}
+ TailCallModeBits::encode(tail_call_mode) |
+ ArgcInRegBits::encode(is_argc_in_reg)) {}
ExtraICState GetExtraICState() const { return bit_field_; }
@@ -44,11 +45,13 @@ class CallICState final BASE_EMBEDDED {
TailCallMode tail_call_mode() const {
return TailCallModeBits::decode(bit_field_);
}
+ bool argc_in_register() { return ArgcInRegBits::decode(bit_field_); }
private:
typedef BitField<int, 0, Code::kArgumentsBits> ArgcBits;
typedef BitField<ConvertReceiverMode, ArgcBits::kNext, 2> ConvertModeBits;
typedef BitField<TailCallMode, ConvertModeBits::kNext, 1> TailCallModeBits;
+ typedef BitField<bool, TailCallModeBits::kNext, 1> ArgcInRegBits;
int const bit_field_;
};

Powered by Google App Engine
This is Rietveld 408576698