diff options
author | Ali Ijaz Sheikh <ofrobots@google.com> | 2016-01-20 09:45:45 -0800 |
---|---|---|
committer | Ali Ijaz Sheikh <ofrobots@google.com> | 2016-01-21 16:53:58 -0800 |
commit | ef4170ea03a80b21b2d8a65ce432efaa370fe2fa (patch) | |
tree | e382b1b38b729cd8155b56b441c3a563914854a3 /deps/v8/src/ic/ic-state.h | |
parent | 5f6dfab832979999d2f806fc1a2f1c11a25b0f35 (diff) | |
download | node-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.h | 34 |
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_ |