| 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/v8.h" | 5 #include "src/v8.h" | 
| 6 | 6 | 
| 7 #if V8_TARGET_ARCH_X87 | 7 #if V8_TARGET_ARCH_X87 | 
| 8 | 8 | 
| 9 #include "src/code-factory.h" | 9 #include "src/code-factory.h" | 
| 10 #include "src/code-stubs.h" | 10 #include "src/code-stubs.h" | 
| (...skipping 3630 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 3641   __ mov(eax, FieldOperand(eax, JSValue::kValueOffset)); | 3641   __ mov(eax, FieldOperand(eax, JSValue::kValueOffset)); | 
| 3642 | 3642 | 
| 3643   __ bind(&done); | 3643   __ bind(&done); | 
| 3644   context()->Plug(eax); | 3644   context()->Plug(eax); | 
| 3645 } | 3645 } | 
| 3646 | 3646 | 
| 3647 | 3647 | 
| 3648 void FullCodeGenerator::EmitDateField(CallRuntime* expr) { | 3648 void FullCodeGenerator::EmitDateField(CallRuntime* expr) { | 
| 3649   ZoneList<Expression*>* args = expr->arguments(); | 3649   ZoneList<Expression*>* args = expr->arguments(); | 
| 3650   DCHECK(args->length() == 2); | 3650   DCHECK(args->length() == 2); | 
| 3651   DCHECK_NE(NULL, args->at(1)->AsLiteral()); | 3651   DCHECK_NOT_NUL(args->at(1)->AsLiteral()); | 
| 3652   Smi* index = Smi::cast(*(args->at(1)->AsLiteral()->value())); | 3652   Smi* index = Smi::cast(*(args->at(1)->AsLiteral()->value())); | 
| 3653 | 3653 | 
| 3654   VisitForAccumulatorValue(args->at(0));  // Load the object. | 3654   VisitForAccumulatorValue(args->at(0));  // Load the object. | 
| 3655 | 3655 | 
| 3656   Label runtime, done, not_date_object; | 3656   Label runtime, done, not_date_object; | 
| 3657   Register object = eax; | 3657   Register object = eax; | 
| 3658   Register result = eax; | 3658   Register result = eax; | 
| 3659   Register scratch = ecx; | 3659   Register scratch = ecx; | 
| 3660 | 3660 | 
| 3661   __ JumpIfSmi(object, ¬_date_object); | 3661   __ JumpIfSmi(object, ¬_date_object); | 
| (...skipping 334 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 3996   __ pop(ecx); | 3996   __ pop(ecx); | 
| 3997   __ CallStub(&stub); | 3997   __ CallStub(&stub); | 
| 3998   context()->Plug(eax); | 3998   context()->Plug(eax); | 
| 3999 } | 3999 } | 
| 4000 | 4000 | 
| 4001 | 4001 | 
| 4002 void FullCodeGenerator::EmitGetFromCache(CallRuntime* expr) { | 4002 void FullCodeGenerator::EmitGetFromCache(CallRuntime* expr) { | 
| 4003   ZoneList<Expression*>* args = expr->arguments(); | 4003   ZoneList<Expression*>* args = expr->arguments(); | 
| 4004   DCHECK_EQ(2, args->length()); | 4004   DCHECK_EQ(2, args->length()); | 
| 4005 | 4005 | 
| 4006   DCHECK_NE(NULL, args->at(0)->AsLiteral()); | 4006   DCHECK_NOT_NULL(args->at(0)->AsLiteral()); | 
| 4007   int cache_id = Smi::cast(*(args->at(0)->AsLiteral()->value()))->value(); | 4007   int cache_id = Smi::cast(*(args->at(0)->AsLiteral()->value()))->value(); | 
| 4008 | 4008 | 
| 4009   Handle<FixedArray> jsfunction_result_caches( | 4009   Handle<FixedArray> jsfunction_result_caches( | 
| 4010       isolate()->native_context()->jsfunction_result_caches()); | 4010       isolate()->native_context()->jsfunction_result_caches()); | 
| 4011   if (jsfunction_result_caches->length() <= cache_id) { | 4011   if (jsfunction_result_caches->length() <= cache_id) { | 
| 4012     __ Abort(kAttemptToUseUndefinedCache); | 4012     __ Abort(kAttemptToUseUndefinedCache); | 
| 4013     __ mov(eax, isolate()->factory()->undefined_value()); | 4013     __ mov(eax, isolate()->factory()->undefined_value()); | 
| 4014     context()->Plug(eax); | 4014     context()->Plug(eax); | 
| 4015     return; | 4015     return; | 
| 4016   } | 4016   } | 
| (...skipping 1199 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 5216   DCHECK_EQ(isolate->builtins()->OsrAfterStackCheck()->entry(), | 5216   DCHECK_EQ(isolate->builtins()->OsrAfterStackCheck()->entry(), | 
| 5217             Assembler::target_address_at(call_target_address, | 5217             Assembler::target_address_at(call_target_address, | 
| 5218                                          unoptimized_code)); | 5218                                          unoptimized_code)); | 
| 5219   return OSR_AFTER_STACK_CHECK; | 5219   return OSR_AFTER_STACK_CHECK; | 
| 5220 } | 5220 } | 
| 5221 | 5221 | 
| 5222 | 5222 | 
| 5223 } }  // namespace v8::internal | 5223 } }  // namespace v8::internal | 
| 5224 | 5224 | 
| 5225 #endif  // V8_TARGET_ARCH_X87 | 5225 #endif  // V8_TARGET_ARCH_X87 | 
| OLD | NEW | 
|---|