diff options
author | Ryan <ry@tinyclouds.org> | 2009-07-20 13:18:42 +0200 |
---|---|---|
committer | Ryan <ry@tinyclouds.org> | 2009-07-20 13:18:42 +0200 |
commit | 88e9a5f122822b96e0ccfbba2083fe6ef43f3fdc (patch) | |
tree | 3cad417de864555fd27d573af866f2a1b3c352ad /deps/v8/src/codegen.h | |
parent | f4dfbe37a3f1fef2c91068958dfe1888ba100332 (diff) | |
download | node-new-88e9a5f122822b96e0ccfbba2083fe6ef43f3fdc.tar.gz |
Upgrade V8 to 1.2.14
Diffstat (limited to 'deps/v8/src/codegen.h')
-rw-r--r-- | deps/v8/src/codegen.h | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/deps/v8/src/codegen.h b/deps/v8/src/codegen.h index fa414d4128..243d87ca64 100644 --- a/deps/v8/src/codegen.h +++ b/deps/v8/src/codegen.h @@ -77,6 +77,8 @@ enum OverwriteMode { NO_OVERWRITE, OVERWRITE_LEFT, OVERWRITE_RIGHT }; #include "x64/codegen-x64.h" #elif V8_TARGET_ARCH_ARM #include "arm/codegen-arm.h" +#else +#error Unsupported target architecture. #endif #include "register-allocator.h" @@ -249,6 +251,36 @@ class UnarySubStub : public CodeStub { }; +class CompareStub: public CodeStub { + public: + CompareStub(Condition cc, bool strict) : cc_(cc), strict_(strict) { } + + void Generate(MacroAssembler* masm); + + private: + Condition cc_; + bool strict_; + + Major MajorKey() { return Compare; } + + int MinorKey(); + + // Branch to the label if the given object isn't a symbol. + void BranchIfNonSymbol(MacroAssembler* masm, + Label* label, + Register object, + Register scratch); + +#ifdef DEBUG + void Print() { + PrintF("CompareStub (cc %d), (strict %s)\n", + static_cast<int>(cc_), + strict_ ? "true" : "false"); + } +#endif +}; + + class CEntryStub : public CodeStub { public: CEntryStub() { } |