| OLD | NEW | 
|---|
| 1 // Copyright 2015 the V8 project authors. All rights reserved. | 1 // Copyright 2015 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/interface-descriptors.h" | 5 #include "src/interface-descriptors.h" | 
| 6 #include "src/isolate.h" | 6 #include "src/isolate.h" | 
| 7 #include "test/cctest/compiler/function-tester.h" | 7 #include "test/cctest/compiler/function-tester.h" | 
| 8 | 8 | 
| 9 namespace v8 { | 9 namespace v8 { | 
| 10 namespace internal { | 10 namespace internal { | 
| (...skipping 301 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 312       parameter_count_with_receiver - 1);  // Implicit undefined receiver. | 312       parameter_count_with_receiver - 1);  // Implicit undefined receiver. | 
| 313   return function; | 313   return function; | 
| 314 } | 314 } | 
| 315 | 315 | 
| 316 }  // namespace | 316 }  // namespace | 
| 317 | 317 | 
| 318 TEST(JSFunction) { | 318 TEST(JSFunction) { | 
| 319   const int kNumParams = 3;  // Receiver, left, right. | 319   const int kNumParams = 3;  // Receiver, left, right. | 
| 320   Isolate* isolate(CcTest::InitIsolateOnce()); | 320   Isolate* isolate(CcTest::InitIsolateOnce()); | 
| 321   CodeStubAssemblerTester m(isolate, kNumParams); | 321   CodeStubAssemblerTester m(isolate, kNumParams); | 
| 322   m.Return(m.SmiTag( | 322   m.Return(m.SmiTag(m.Int32Add(m.SmiToWord32(m.Parameter(1)), | 
| 323       m.Int32Add(m.SmiToInt32(m.Parameter(1)), m.SmiToInt32(m.Parameter(2))))); | 323                                m.SmiToWord32(m.Parameter(2))))); | 
| 324   Handle<Code> code = m.GenerateCode(); | 324   Handle<Code> code = m.GenerateCode(); | 
| 325   Handle<JSFunction> function = CreateFunctionFromCode(kNumParams, code); | 325   Handle<JSFunction> function = CreateFunctionFromCode(kNumParams, code); | 
| 326   Handle<Object> args[] = {Handle<Smi>(Smi::FromInt(23), isolate), | 326   Handle<Object> args[] = {Handle<Smi>(Smi::FromInt(23), isolate), | 
| 327                            Handle<Smi>(Smi::FromInt(34), isolate)}; | 327                            Handle<Smi>(Smi::FromInt(34), isolate)}; | 
| 328   MaybeHandle<Object> result = | 328   MaybeHandle<Object> result = | 
| 329       Execution::Call(isolate, function, isolate->factory()->undefined_value(), | 329       Execution::Call(isolate, function, isolate->factory()->undefined_value(), | 
| 330                       arraysize(args), args); | 330                       arraysize(args), args); | 
| 331   CHECK_EQ(57, Handle<Smi>::cast(result.ToHandleChecked())->value()); | 331   CHECK_EQ(57, Handle<Smi>::cast(result.ToHandleChecked())->value()); | 
| 332 } | 332 } | 
| 333 | 333 | 
| (...skipping 23 matching lines...) Expand all  Loading... | 
| 357   m.Goto(&l2); | 357   m.Goto(&l2); | 
| 358   m.Bind(&l2); | 358   m.Bind(&l2); | 
| 359   m.Goto(&default_label); | 359   m.Goto(&default_label); | 
| 360   m.Bind(&default_label); | 360   m.Bind(&default_label); | 
| 361   USE(m.GenerateCode()); | 361   USE(m.GenerateCode()); | 
| 362 } | 362 } | 
| 363 | 363 | 
| 364 }  // namespace compiler | 364 }  // namespace compiler | 
| 365 }  // namespace internal | 365 }  // namespace internal | 
| 366 }  // namespace v8 | 366 }  // namespace v8 | 
| OLD | NEW | 
|---|