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
This commit is contained in:
parent
a57c7ab69c
commit
850580317b
@ -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 {
|
|||||||
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 {
|
|||||||
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 {
|
|||||||
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 {
|
|||||||
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);
|
||||||
|
Loading…
Reference in New Issue
Block a user