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

Side by Side Diff: src/mips/code-stubs-mips.cc

Issue 661803002: MIPS: Fix code for InstanceofStub. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 6 years, 2 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 | Annotate | Revision Log
« no previous file with comments | « no previous file | src/mips64/code-stubs-mips64.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 #include "src/v8.h" 5 #include "src/v8.h"
6 6
7 #if V8_TARGET_ARCH_MIPS 7 #if V8_TARGET_ARCH_MIPS
8 8
9 #include "src/base/bits.h" 9 #include "src/base/bits.h"
10 #include "src/bootstrapper.h" 10 #include "src/bootstrapper.h"
(...skipping 1554 matching lines...) Expand 10 before | Expand all | Expand 10 after
1565 1565
1566 Label object_not_null, object_not_null_or_smi; 1566 Label object_not_null, object_not_null_or_smi;
1567 __ bind(&not_js_object); 1567 __ bind(&not_js_object);
1568 // Before null, smi and string value checks, check that the rhs is a function 1568 // Before null, smi and string value checks, check that the rhs is a function
1569 // as for a non-function rhs an exception needs to be thrown. 1569 // as for a non-function rhs an exception needs to be thrown.
1570 __ JumpIfSmi(function, &slow); 1570 __ JumpIfSmi(function, &slow);
1571 __ GetObjectType(function, scratch2, scratch); 1571 __ GetObjectType(function, scratch2, scratch);
1572 __ Branch(&slow, ne, scratch, Operand(JS_FUNCTION_TYPE)); 1572 __ Branch(&slow, ne, scratch, Operand(JS_FUNCTION_TYPE));
1573 1573
1574 // Null is not instance of anything. 1574 // Null is not instance of anything.
1575 __ Branch(&object_not_null, 1575 __ Branch(&object_not_null, ne, object,
1576 ne,
1577 scratch,
1578 Operand(isolate()->factory()->null_value())); 1576 Operand(isolate()->factory()->null_value()));
1579 if (ReturnTrueFalseObject()) { 1577 if (ReturnTrueFalseObject()) {
1580 __ LoadRoot(v0, Heap::kFalseValueRootIndex); 1578 __ LoadRoot(v0, Heap::kFalseValueRootIndex);
1581 } else { 1579 } else {
1582 __ li(v0, Operand(Smi::FromInt(1))); 1580 __ li(v0, Operand(Smi::FromInt(1)));
1583 } 1581 }
1584 __ DropAndRet(HasArgsInRegisters() ? 0 : 2); 1582 __ DropAndRet(HasArgsInRegisters() ? 0 : 2);
1585 1583
1586 __ bind(&object_not_null); 1584 __ bind(&object_not_null);
1587 // Smi values are not instances of anything. 1585 // Smi values are not instances of anything.
(...skipping 3339 matching lines...) Expand 10 before | Expand all | Expand 10 after
4927 MemOperand(fp, 6 * kPointerSize), 4925 MemOperand(fp, 6 * kPointerSize),
4928 NULL); 4926 NULL);
4929 } 4927 }
4930 4928
4931 4929
4932 #undef __ 4930 #undef __
4933 4931
4934 } } // namespace v8::internal 4932 } } // namespace v8::internal
4935 4933
4936 #endif // V8_TARGET_ARCH_MIPS 4934 #endif // V8_TARGET_ARCH_MIPS
OLDNEW
« no previous file with comments | « no previous file | src/mips64/code-stubs-mips64.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698