summaryrefslogtreecommitdiff
path: root/deps/v8/src/ic/ic-state.h
diff options
context:
space:
mode:
authorAli Ijaz Sheikh <ofrobots@google.com>2016-01-20 09:45:45 -0800
committerAli Ijaz Sheikh <ofrobots@google.com>2016-01-21 16:53:58 -0800
commitef4170ea03a80b21b2d8a65ce432efaa370fe2fa (patch)
treee382b1b38b729cd8155b56b441c3a563914854a3 /deps/v8/src/ic/ic-state.h
parent5f6dfab832979999d2f806fc1a2f1c11a25b0f35 (diff)
downloadnode-new-ef4170ea03a80b21b2d8a65ce432efaa370fe2fa.tar.gz
deps: upgrade to V8 4.8.271.17
Pick up V8 4.8 branch-head. This branch brings in @@isConcatSpreadable, @@toPrimitive and ToLength ES6 changes. For full details see: http://v8project.blogspot.de/2015/11/v8-release-48.html https://github.com/v8/v8/commit/fa163e2 Ref: https://github.com/nodejs/node/pull/4399 PR-URL: https://github.com/nodejs/node/pull/4785 Reviewed-By: bnoordhuis - Ben Noordhuis <info@bnoordhuis.nl>
Diffstat (limited to 'deps/v8/src/ic/ic-state.h')
-rw-r--r--deps/v8/src/ic/ic-state.h34
1 files changed, 17 insertions, 17 deletions
diff --git a/deps/v8/src/ic/ic-state.h b/deps/v8/src/ic/ic-state.h
index b529b8c54d..ebc686b738 100644
--- a/deps/v8/src/ic/ic-state.h
+++ b/deps/v8/src/ic/ic-state.h
@@ -23,30 +23,29 @@ class ICUtility : public AllStatic {
class CallICState final BASE_EMBEDDED {
public:
- explicit CallICState(ExtraICState extra_ic_state);
+ explicit CallICState(ExtraICState extra_ic_state)
+ : bit_field_(extra_ic_state) {}
+ CallICState(int argc, ConvertReceiverMode convert_mode)
+ : bit_field_(ArgcBits::encode(argc) |
+ ConvertModeBits::encode(convert_mode)) {}
- enum CallType { METHOD, FUNCTION };
-
- CallICState(int argc, CallType call_type)
- : argc_(argc), call_type_(call_type) {}
-
- ExtraICState GetExtraICState() const;
+ ExtraICState GetExtraICState() const { return bit_field_; }
static void GenerateAheadOfTime(Isolate*,
void (*Generate)(Isolate*,
const CallICState&));
- int arg_count() const { return argc_; }
- CallType call_type() const { return call_type_; }
-
- bool CallAsMethod() const { return call_type_ == METHOD; }
+ int argc() const { return ArgcBits::decode(bit_field_); }
+ ConvertReceiverMode convert_mode() const {
+ return ConvertModeBits::decode(bit_field_);
+ }
private:
- class ArgcBits : public BitField<int, 0, Code::kArgumentsBits> {};
- class CallTypeBits : public BitField<CallType, Code::kArgumentsBits, 1> {};
+ typedef BitField<int, 0, Code::kArgumentsBits> ArgcBits;
+ typedef BitField<ConvertReceiverMode, Code::kArgumentsBits, 2>
+ ConvertModeBits;
- const int argc_;
- const CallType call_type_;
+ int const bit_field_;
};
@@ -268,7 +267,8 @@ class StoreICState final BASE_EMBEDDED {
private:
const ExtraICState state_;
};
-}
-}
+
+} // namespace internal
+} // namespace v8
#endif // V8_IC_STATE_H_