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

Side by Side Diff: src/crankshaft/mips/lithium-codegen-mips.cc

Issue 1999403002: Version 5.1.281.45 (cherry-pick) (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@5.1
Patch Set: Created 4 years, 7 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.7 1 // Copyright 2012 the V8 project authors. All rights reserved.7
2 // Redistribution and use in source and binary forms, with or without 2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions are 3 // modification, are permitted provided that the following conditions are
4 // met: 4 // met:
5 // 5 //
6 // * Redistributions of source code must retain the above copyright 6 // * Redistributions of source code must retain the above copyright
7 // notice, this list of conditions and the following disclaimer. 7 // notice, this list of conditions and the following disclaimer.
8 // * Redistributions in binary form must reproduce the above 8 // * Redistributions in binary form must reproduce the above
9 // copyright notice, this list of conditions and the following 9 // copyright notice, this list of conditions and the following
10 // disclaimer in the documentation and/or other materials provided 10 // disclaimer in the documentation and/or other materials provided
(...skipping 2333 matching lines...) Expand 10 before | Expand all | Expand 10 after
2344 Handle<String>class_name, 2344 Handle<String>class_name,
2345 Register input, 2345 Register input,
2346 Register temp, 2346 Register temp,
2347 Register temp2) { 2347 Register temp2) {
2348 DCHECK(!input.is(temp)); 2348 DCHECK(!input.is(temp));
2349 DCHECK(!input.is(temp2)); 2349 DCHECK(!input.is(temp2));
2350 DCHECK(!temp.is(temp2)); 2350 DCHECK(!temp.is(temp2));
2351 2351
2352 __ JumpIfSmi(input, is_false); 2352 __ JumpIfSmi(input, is_false);
2353 __ GetObjectType(input, temp, temp2); 2353 __ GetObjectType(input, temp, temp2);
2354 STATIC_ASSERT(LAST_FUNCTION_TYPE == LAST_TYPE);
2354 if (String::Equals(isolate()->factory()->Function_string(), class_name)) { 2355 if (String::Equals(isolate()->factory()->Function_string(), class_name)) {
2355 __ Branch(is_true, eq, temp2, Operand(JS_FUNCTION_TYPE)); 2356 __ Branch(is_true, hs, temp2, Operand(FIRST_FUNCTION_TYPE));
2356 } else { 2357 } else {
2357 __ Branch(is_false, eq, temp2, Operand(JS_FUNCTION_TYPE)); 2358 __ Branch(is_false, hs, temp2, Operand(FIRST_FUNCTION_TYPE));
2358 } 2359 }
2359 2360
2360 // Check if the constructor in the map is a function. 2361 // Check if the constructor in the map is a function.
2361 Register instance_type = scratch1(); 2362 Register instance_type = scratch1();
2362 DCHECK(!instance_type.is(temp)); 2363 DCHECK(!instance_type.is(temp));
2363 __ GetMapConstructor(temp, temp, temp2, instance_type); 2364 __ GetMapConstructor(temp, temp, temp2, instance_type);
2364 2365
2365 // Objects with a non-function constructor have class 'Object'. 2366 // Objects with a non-function constructor have class 'Object'.
2366 if (String::Equals(class_name, isolate()->factory()->Object_string())) { 2367 if (String::Equals(class_name, isolate()->factory()->Object_string())) {
2367 __ Branch(is_true, ne, instance_type, Operand(JS_FUNCTION_TYPE)); 2368 __ Branch(is_true, ne, instance_type, Operand(JS_FUNCTION_TYPE));
(...skipping 3186 matching lines...) Expand 10 before | Expand all | Expand 10 after
5554 __ lw(result, FieldMemOperand(scratch, 5555 __ lw(result, FieldMemOperand(scratch,
5555 FixedArray::kHeaderSize - kPointerSize)); 5556 FixedArray::kHeaderSize - kPointerSize));
5556 __ bind(deferred->exit()); 5557 __ bind(deferred->exit());
5557 __ bind(&done); 5558 __ bind(&done);
5558 } 5559 }
5559 5560
5560 #undef __ 5561 #undef __
5561 5562
5562 } // namespace internal 5563 } // namespace internal
5563 } // namespace v8 5564 } // namespace v8
OLDNEW
« no previous file with comments | « src/crankshaft/ia32/lithium-codegen-ia32.cc ('k') | src/crankshaft/mips64/lithium-codegen-mips64.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698