| OLD | NEW | 
|     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/code-stubs.h" |     5 #include "src/code-stubs.h" | 
|     6  |     6  | 
|     7 #include "src/bailout-reason.h" |     7 #include "src/bailout-reason.h" | 
|     8 #include "src/crankshaft/hydrogen.h" |     8 #include "src/crankshaft/hydrogen.h" | 
|     9 #include "src/crankshaft/lithium.h" |     9 #include "src/crankshaft/lithium.h" | 
|    10 #include "src/field-index.h" |    10 #include "src/field-index.h" | 
| (...skipping 1401 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  1412   return BuildInternalArrayConstructor(kind, MULTIPLE); |  1412   return BuildInternalArrayConstructor(kind, MULTIPLE); | 
|  1413 } |  1413 } | 
|  1414  |  1414  | 
|  1415  |  1415  | 
|  1416 Handle<Code> InternalArrayNArgumentsConstructorStub::GenerateCode() { |  1416 Handle<Code> InternalArrayNArgumentsConstructorStub::GenerateCode() { | 
|  1417   return DoGenerateCode(this); |  1417   return DoGenerateCode(this); | 
|  1418 } |  1418 } | 
|  1419  |  1419  | 
|  1420  |  1420  | 
|  1421 template <> |  1421 template <> | 
 |  1422 HValue* CodeStubGraphBuilder<CompareNilICStub>::BuildCodeInitializedStub() { | 
 |  1423   Isolate* isolate = graph()->isolate(); | 
 |  1424   CompareNilICStub* stub = casted_stub(); | 
 |  1425   HIfContinuation continuation; | 
 |  1426   Handle<Map> sentinel_map(isolate->heap()->meta_map()); | 
 |  1427   Type* type = stub->GetType(zone(), sentinel_map); | 
 |  1428   BuildCompareNil(GetParameter(0), type, &continuation, kEmbedMapsViaWeakCells); | 
 |  1429   IfBuilder if_nil(this, &continuation); | 
 |  1430   if_nil.Then(); | 
 |  1431   if (continuation.IsFalseReachable()) { | 
 |  1432     if_nil.Else(); | 
 |  1433     if_nil.Return(graph()->GetConstantFalse()); | 
 |  1434   } | 
 |  1435   if_nil.End(); | 
 |  1436   return continuation.IsTrueReachable() ? graph()->GetConstantTrue() | 
 |  1437                                         : graph()->GetConstantUndefined(); | 
 |  1438 } | 
 |  1439  | 
 |  1440  | 
 |  1441 Handle<Code> CompareNilICStub::GenerateCode() { | 
 |  1442   return DoGenerateCode(this); | 
 |  1443 } | 
 |  1444  | 
 |  1445  | 
 |  1446 template <> | 
|  1422 HValue* CodeStubGraphBuilder<BinaryOpICStub>::BuildCodeInitializedStub() { |  1447 HValue* CodeStubGraphBuilder<BinaryOpICStub>::BuildCodeInitializedStub() { | 
|  1423   BinaryOpICState state = casted_stub()->state(); |  1448   BinaryOpICState state = casted_stub()->state(); | 
|  1424  |  1449  | 
|  1425   HValue* left = GetParameter(BinaryOpICStub::kLeft); |  1450   HValue* left = GetParameter(BinaryOpICStub::kLeft); | 
|  1426   HValue* right = GetParameter(BinaryOpICStub::kRight); |  1451   HValue* right = GetParameter(BinaryOpICStub::kRight); | 
|  1427  |  1452  | 
|  1428   Type* left_type = state.GetLeftType(); |  1453   Type* left_type = state.GetLeftType(); | 
|  1429   Type* right_type = state.GetRightType(); |  1454   Type* right_type = state.GetRightType(); | 
|  1430   Type* result_type = state.GetResultType(); |  1455   Type* result_type = state.GetResultType(); | 
|  1431  |  1456  | 
| (...skipping 967 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  2399   return Pop(); |  2424   return Pop(); | 
|  2400 } |  2425 } | 
|  2401  |  2426  | 
|  2402  |  2427  | 
|  2403 Handle<Code> KeyedLoadGenericStub::GenerateCode() { |  2428 Handle<Code> KeyedLoadGenericStub::GenerateCode() { | 
|  2404   return DoGenerateCode(this); |  2429   return DoGenerateCode(this); | 
|  2405 } |  2430 } | 
|  2406  |  2431  | 
|  2407 }  // namespace internal |  2432 }  // namespace internal | 
|  2408 }  // namespace v8 |  2433 }  // namespace v8 | 
| OLD | NEW |