diff options
author | Michaël Zasso <targos@protonmail.com> | 2018-03-07 08:54:53 +0100 |
---|---|---|
committer | Michaël Zasso <targos@protonmail.com> | 2018-03-07 16:48:52 +0100 |
commit | 88786fecff336342a56e6f2e7ff3b286be716e47 (patch) | |
tree | 92e6ba5b8ac8dae1a058988d20c9d27bfa654390 /deps/v8/src/frames.h | |
parent | 4e86f9b5ab83cbabf43839385bf383e6a7ef7d19 (diff) | |
download | android-node-v8-88786fecff336342a56e6f2e7ff3b286be716e47.tar.gz android-node-v8-88786fecff336342a56e6f2e7ff3b286be716e47.tar.bz2 android-node-v8-88786fecff336342a56e6f2e7ff3b286be716e47.zip |
deps: update V8 to 6.5.254.31
PR-URL: https://github.com/nodejs/node/pull/18453
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Yang Guo <yangguo@chromium.org>
Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
Diffstat (limited to 'deps/v8/src/frames.h')
-rw-r--r-- | deps/v8/src/frames.h | 29 |
1 files changed, 25 insertions, 4 deletions
diff --git a/deps/v8/src/frames.h b/deps/v8/src/frames.h index e21d62764b..0c988770f6 100644 --- a/deps/v8/src/frames.h +++ b/deps/v8/src/frames.h @@ -64,8 +64,9 @@ class InnerPointerToCodeCache { class StackHandlerConstants : public AllStatic { public: static const int kNextOffset = 0 * kPointerSize; + static const int kPaddingOffset = 1 * kPointerSize; - static const int kSize = kNextOffset + kPointerSize; + static const int kSize = kPaddingOffset + kPointerSize; static const int kSlotCount = kSize >> kPointerSizeLog2; }; @@ -104,7 +105,8 @@ class StackHandler BASE_EMBEDDED { V(CONSTRUCT, ConstructFrame) \ V(ARGUMENTS_ADAPTOR, ArgumentsAdaptorFrame) \ V(BUILTIN, BuiltinFrame) \ - V(BUILTIN_EXIT, BuiltinExitFrame) + V(BUILTIN_EXIT, BuiltinExitFrame) \ + V(NATIVE, NativeFrame) // Abstract base class for all stack frames. class StackFrame BASE_EMBEDDED { @@ -180,8 +182,7 @@ class StackFrame BASE_EMBEDDED { // and should be converted back to a stack frame type using MarkerToType. // Otherwise, the value is a tagged function pointer. static bool IsTypeMarker(intptr_t function_or_marker) { - bool is_marker = ((function_or_marker & kSmiTagMask) == kSmiTag); - return is_marker; + return (function_or_marker & kSmiTagMask) == kSmiTag; } // Copy constructor; it breaks the connection to host iterator @@ -328,6 +329,25 @@ class StackFrame BASE_EMBEDDED { friend class SafeStackFrameIterator; }; +class NativeFrame : public StackFrame { + public: + Type type() const override { return NATIVE; } + + Code* unchecked_code() const override { return nullptr; } + + // Garbage collection support. + void Iterate(RootVisitor* v) const override {} + + protected: + inline explicit NativeFrame(StackFrameIteratorBase* iterator); + + Address GetCallerStackPointer() const override; + + private: + void ComputeCallerState(State* state) const override; + + friend class StackFrameIteratorBase; +}; // Entry frames are used to enter JavaScript execution from C. class EntryFrame: public StackFrame { @@ -949,6 +969,7 @@ class WasmCompiledFrame final : public StandardFrame { // Accessors. WasmInstanceObject* wasm_instance() const; + WasmCodeWrapper wasm_code() const; uint32_t function_index() const; Script* script() const override; int position() const override; |