X87: Introduce code stub constructors for stub keys.

port r23716.

original commit message:

  Introduce code stub constructors for stub keys.

BUG=
R=weiliang.lin@intel.com

Review URL: https://codereview.chromium.org/556653004

Patch from Jing Bao <jing.bao@intel.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23815 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
parent a57c7ab6
...@@ -5,8 +5,6 @@ ...@@ -5,8 +5,6 @@
#ifndef V8_X87_CODE_STUBS_X87_H_ #ifndef V8_X87_CODE_STUBS_X87_H_
#define V8_X87_CODE_STUBS_X87_H_ #define V8_X87_CODE_STUBS_X87_H_
#include "src/code-stubs.h"
namespace v8 { namespace v8 {
namespace internal { namespace internal {
...@@ -99,8 +97,6 @@ class NameDictionaryLookupStub: public PlatformCodeStub { ...@@ -99,8 +97,6 @@ class NameDictionaryLookupStub: public PlatformCodeStub {
NameDictionary::kHeaderSize + NameDictionary::kHeaderSize +
NameDictionary::kElementsStartIndex * kPointerSize; NameDictionary::kElementsStartIndex * kPointerSize;
virtual inline Major MajorKey() const FINAL OVERRIDE;
Register dictionary() const { Register dictionary() const {
return Register::from_code(DictionaryBits::decode(minor_key_)); return Register::from_code(DictionaryBits::decode(minor_key_));
} }
...@@ -120,7 +116,7 @@ class NameDictionaryLookupStub: public PlatformCodeStub { ...@@ -120,7 +116,7 @@ class NameDictionaryLookupStub: public PlatformCodeStub {
class IndexBits: public BitField<int, 6, 3> {}; class IndexBits: public BitField<int, 6, 3> {};
class LookupModeBits: public BitField<LookupMode, 9, 1> {}; class LookupModeBits: public BitField<LookupMode, 9, 1> {};
DISALLOW_COPY_AND_ASSIGN(NameDictionaryLookupStub); DEFINE_CODE_STUB(NameDictionaryLookup, PlatformCodeStub);
}; };
...@@ -141,6 +137,9 @@ class RecordWriteStub: public PlatformCodeStub { ...@@ -141,6 +137,9 @@ class RecordWriteStub: public PlatformCodeStub {
RememberedSetActionBits::encode(remembered_set_action); RememberedSetActionBits::encode(remembered_set_action);
} }
RecordWriteStub(uint32_t key, Isolate* isolate)
: PlatformCodeStub(key, isolate), regs_(object(), address(), value()) {}
enum Mode { enum Mode {
STORE_BUFFER_ONLY, STORE_BUFFER_ONLY,
INCREMENTAL, INCREMENTAL,
...@@ -323,7 +322,7 @@ class RecordWriteStub: public PlatformCodeStub { ...@@ -323,7 +322,7 @@ class RecordWriteStub: public PlatformCodeStub {
kUpdateRememberedSetOnNoNeedToInformIncrementalMarker kUpdateRememberedSetOnNoNeedToInformIncrementalMarker
}; };
virtual inline Major MajorKey() const FINAL OVERRIDE; virtual inline Major MajorKey() const FINAL OVERRIDE { return RecordWrite; }
void Generate(MacroAssembler* masm); void Generate(MacroAssembler* masm);
void GenerateIncremental(MacroAssembler* masm, Mode mode); void GenerateIncremental(MacroAssembler* masm, Mode mode);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment