diff options
author | Ben Noordhuis <info@bnoordhuis.nl> | 2013-04-29 22:35:21 +0200 |
---|---|---|
committer | Ben Noordhuis <info@bnoordhuis.nl> | 2013-04-29 22:35:21 +0200 |
commit | 2f75785c015fecc33565fe5ee3a483b0d4e5cc6d (patch) | |
tree | ad66b4eaba8cedfeb7cfb40b0871307ae08d25e8 /deps/v8/src/ic.h | |
parent | 5ddf7f4200894a7304d7c07bbbd8773fac3509d1 (diff) | |
download | node-2f75785c015fecc33565fe5ee3a483b0d4e5cc6d.tar.gz |
deps: upgrade v8 to 3.18.4
Diffstat (limited to 'deps/v8/src/ic.h')
-rw-r--r-- | deps/v8/src/ic.h | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/deps/v8/src/ic.h b/deps/v8/src/ic.h index 55b566192..4bf259a2f 100644 --- a/deps/v8/src/ic.h +++ b/deps/v8/src/ic.h @@ -59,6 +59,8 @@ namespace internal { ICU(UnaryOp_Patch) \ ICU(BinaryOp_Patch) \ ICU(CompareIC_Miss) \ + ICU(CompareNilIC_Miss) \ + ICU(Unreachable) \ ICU(ToBoolean_Patch) // // IC is the base class for LoadIC, StoreIC, CallIC, KeyedLoadIC, @@ -775,6 +777,26 @@ class CompareIC: public IC { }; +class CompareNilIC: public IC { + public: + explicit CompareNilIC(Isolate* isolate) : IC(EXTRA_CALL_FRAME, isolate) {} + + MUST_USE_RESULT MaybeObject* CompareNil(Handle<Object> object); + + static Handle<Code> GetUninitialized(); + + static Code* GetRawUninitialized(EqualityKind kind, NilValue nil); + + static void Clear(Address address, Code* target); + + void patch(Code* code); + + static MUST_USE_RESULT MaybeObject* DoCompareNilSlow(EqualityKind kind, + NilValue nil, + Handle<Object> object); +}; + + class ToBooleanIC: public IC { public: explicit ToBooleanIC(Isolate* isolate) : IC(NO_EXTRA_FRAME, isolate) { } @@ -789,6 +811,8 @@ void PatchInlinedSmiCode(Address address, InlinedSmiCheck check); DECLARE_RUNTIME_FUNCTION(MaybeObject*, KeyedLoadIC_MissFromStubFailure); DECLARE_RUNTIME_FUNCTION(MaybeObject*, KeyedStoreIC_MissFromStubFailure); +DECLARE_RUNTIME_FUNCTION(MaybeObject*, CompareNilIC_Miss); + } } // namespace v8::internal |