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

Side by Side Diff: src/runtime.cc

Issue 364853009: Implement ES6 Array.of() (Closed) Base URL: https://github.com/v8/v8@master
Patch Set: Created 6 years, 5 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. 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 <stdlib.h> 5 #include <stdlib.h>
6 #include <limits> 6 #include <limits>
7 7
8 #include "src/v8.h" 8 #include "src/v8.h"
9 9
10 #include "src/accessors.h" 10 #include "src/accessors.h"
(...skipping 7786 matching lines...) Expand 10 before | Expand all | Expand 10 after
7797 if (y == 0) { 7797 if (y == 0) {
7798 return Smi::FromInt(1); 7798 return Smi::FromInt(1);
7799 } else { 7799 } else {
7800 double result = power_double_double(x, y); 7800 double result = power_double_double(x, y);
7801 if (std::isnan(result)) return isolate->heap()->nan_value(); 7801 if (std::isnan(result)) return isolate->heap()->nan_value();
7802 return *isolate->factory()->NewNumber(result); 7802 return *isolate->factory()->NewNumber(result);
7803 } 7803 }
7804 } 7804 }
7805 7805
7806 7806
7807 RUNTIME_FUNCTION(Runtime_IsConstructor) {
rossberg 2014/07/08 08:39:17 Drive-by-comment: Unfortunately, I don't think thi
rossberg 2014/07/08 09:59:09 And more importantly, for JSFunctions it is testin
7808 HandleScope scope(isolate);
7809 ASSERT(args.length() == 1);
7810
7811 CONVERT_ARG_CHECKED(JSFunction, obj, 0);
7812 if (!obj->IsObject()) return isolate->heap()->false_value();
7813 bool hasConstructor = !!obj->GetConstructor();
7814 return hasConstructor ? isolate->heap()->true_value()
7815 : isolate->heap()->false_value();
7816 }
7817
7818
7807 RUNTIME_FUNCTION(Runtime_RoundNumber) { 7819 RUNTIME_FUNCTION(Runtime_RoundNumber) {
7808 HandleScope scope(isolate); 7820 HandleScope scope(isolate);
7809 ASSERT(args.length() == 1); 7821 ASSERT(args.length() == 1);
7810 CONVERT_NUMBER_ARG_HANDLE_CHECKED(input, 0); 7822 CONVERT_NUMBER_ARG_HANDLE_CHECKED(input, 0);
7811 isolate->counters()->math_round()->Increment(); 7823 isolate->counters()->math_round()->Increment();
7812 7824
7813 if (!input->IsHeapNumber()) { 7825 if (!input->IsHeapNumber()) {
7814 ASSERT(input->IsSmi()); 7826 ASSERT(input->IsSmi());
7815 return *input; 7827 return *input;
7816 } 7828 }
(...skipping 7291 matching lines...) Expand 10 before | Expand all | Expand 10 after
15108 } 15120 }
15109 return NULL; 15121 return NULL;
15110 } 15122 }
15111 15123
15112 15124
15113 const Runtime::Function* Runtime::FunctionForId(Runtime::FunctionId id) { 15125 const Runtime::Function* Runtime::FunctionForId(Runtime::FunctionId id) {
15114 return &(kIntrinsicFunctions[static_cast<int>(id)]); 15126 return &(kIntrinsicFunctions[static_cast<int>(id)]);
15115 } 15127 }
15116 15128
15117 } } // namespace v8::internal 15129 } } // namespace v8::internal
OLDNEW
« src/harmony-array.js ('K') | « src/runtime.h ('k') | test/mjsunit/es6/array-of-1.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698