Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(6)

Side by Side Diff: src/mips/builtins-mips.cc

Issue 1199983002: [strong] Implement strong property access semantics (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Choose generic path less Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 5
6 6
7 #include "src/v8.h" 7 #include "src/v8.h"
8 8
9 #if V8_TARGET_ARCH_MIPS 9 #if V8_TARGET_ARCH_MIPS
10 10
(...skipping 1394 matching lines...) Expand 10 before | Expand all | Expand 10 after
1405 __ bind(&loop); 1405 __ bind(&loop);
1406 __ lw(receiver, MemOperand(fp, argumentsOffset)); 1406 __ lw(receiver, MemOperand(fp, argumentsOffset));
1407 1407
1408 // Use inline caching to speed up access to arguments. 1408 // Use inline caching to speed up access to arguments.
1409 FeedbackVectorSpec spec(0, Code::KEYED_LOAD_IC); 1409 FeedbackVectorSpec spec(0, Code::KEYED_LOAD_IC);
1410 Handle<TypeFeedbackVector> feedback_vector = 1410 Handle<TypeFeedbackVector> feedback_vector =
1411 masm->isolate()->factory()->NewTypeFeedbackVector(&spec); 1411 masm->isolate()->factory()->NewTypeFeedbackVector(&spec);
1412 int index = feedback_vector->GetIndex(FeedbackVectorICSlot(0)); 1412 int index = feedback_vector->GetIndex(FeedbackVectorICSlot(0));
1413 __ li(slot, Operand(Smi::FromInt(index))); 1413 __ li(slot, Operand(Smi::FromInt(index)));
1414 __ li(vector, feedback_vector); 1414 __ li(vector, feedback_vector);
1415 Handle<Code> ic = KeyedLoadICStub(masm->isolate()).GetCode(); 1415 Handle<Code> ic =
1416 KeyedLoadICStub(masm->isolate(), LoadICState(kNoExtraICState)).GetCode();
1416 __ Call(ic, RelocInfo::CODE_TARGET); 1417 __ Call(ic, RelocInfo::CODE_TARGET);
1417 1418
1418 __ push(v0); 1419 __ push(v0);
1419 1420
1420 // Use inline caching to access the arguments. 1421 // Use inline caching to access the arguments.
1421 __ lw(key, MemOperand(fp, indexOffset)); 1422 __ lw(key, MemOperand(fp, indexOffset));
1422 __ Addu(key, key, Operand(1 << kSmiTagSize)); 1423 __ Addu(key, key, Operand(1 << kSmiTagSize));
1423 __ sw(key, MemOperand(fp, indexOffset)); 1424 __ sw(key, MemOperand(fp, indexOffset));
1424 1425
1425 // Test if the copy loop has finished copying all the elements from the 1426 // Test if the copy loop has finished copying all the elements from the
(...skipping 408 matching lines...) Expand 10 before | Expand all | Expand 10 after
1834 } 1835 }
1835 } 1836 }
1836 1837
1837 1838
1838 #undef __ 1839 #undef __
1839 1840
1840 } // namespace internal 1841 } // namespace internal
1841 } // namespace v8 1842 } // namespace v8
1842 1843
1843 #endif // V8_TARGET_ARCH_MIPS 1844 #endif // V8_TARGET_ARCH_MIPS
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698