Reviewers: mvstanton, danno, paul.l..., gergely.kis.imgtec, balazs.kilvady,
dusmil.imgtec,
Message:
PTAL.
Description:
MIPS: Added vector-based loadic hydrogen stubs. Not yet callable.
Port r23405 (12573f34)
Original commit message:
The next step is to integrate the use of vector[slot] into the IC
infrastructure so it can do the right thing for a vector-based ic.
Then these stubs can be installed. For now, they immediately bail out
to the miss handler.
BUG=
Please review this at https://codereview.chromium.org/505303002/
SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge
Affected files (+28, -0 lines):
M src/mips/code-stubs-mips.cc
M src/mips64/code-stubs-mips64.cc
Index: src/mips/code-stubs-mips.cc
diff --git a/src/mips/code-stubs-mips.cc b/src/mips/code-stubs-mips.cc
index
d89264cadec8f23080b3de1277859d2c0184db63..bf6773f4a5e62a6798eddf8560594e4e3f1a57f9
100644
--- a/src/mips/code-stubs-mips.cc
+++ b/src/mips/code-stubs-mips.cc
@@ -4797,6 +4797,20 @@ void
StubFailureTrampolineStub::Generate(MacroAssembler* masm) {
}
+void LoadICTrampolineStub::Generate(MacroAssembler* masm) {
+ EmitLoadTypeFeedbackVector(masm,
FullVectorLoadConvention::VectorRegister());
+ VectorLoadStub stub(isolate(), state_);
+ __ Jump(stub.GetCode(), RelocInfo::CODE_TARGET);
+}
+
+
+void KeyedLoadICTrampolineStub::Generate(MacroAssembler* masm) {
+ EmitLoadTypeFeedbackVector(masm,
FullVectorLoadConvention::VectorRegister());
+ VectorKeyedLoadStub stub(isolate());
+ __ Jump(stub.GetCode(), RelocInfo::CODE_TARGET);
+}
+
+
void ProfileEntryHookStub::MaybeCallEntryHook(MacroAssembler* masm) {
if (masm->isolate()->function_entry_hook() != NULL) {
ProfileEntryHookStub stub(masm->isolate());
Index: src/mips64/code-stubs-mips64.cc
diff --git a/src/mips64/code-stubs-mips64.cc
b/src/mips64/code-stubs-mips64.cc
index
6421629dc9b6964cf020d56bdbd86ed58da04f57..0fd169b3d99a19d3edd4b80836836bcf9b4e8fbb
100644
--- a/src/mips64/code-stubs-mips64.cc
+++ b/src/mips64/code-stubs-mips64.cc
@@ -4834,6 +4834,20 @@ void
StubFailureTrampolineStub::Generate(MacroAssembler* masm) {
}
+void LoadICTrampolineStub::Generate(MacroAssembler* masm) {
+ EmitLoadTypeFeedbackVector(masm,
FullVectorLoadConvention::VectorRegister());
+ VectorLoadStub stub(isolate(), state_);
+ __ Jump(stub.GetCode(), RelocInfo::CODE_TARGET);
+}
+
+
+void KeyedLoadICTrampolineStub::Generate(MacroAssembler* masm) {
+ EmitLoadTypeFeedbackVector(masm,
FullVectorLoadConvention::VectorRegister());
+ VectorKeyedLoadStub stub(isolate());
+ __ Jump(stub.GetCode(), RelocInfo::CODE_TARGET);
+}
+
+
void ProfileEntryHookStub::MaybeCallEntryHook(MacroAssembler* masm) {
if (masm->isolate()->function_entry_hook() != NULL) {
ProfileEntryHookStub stub(masm->isolate());
--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
---
You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.