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

Unified Diff: src/builtins/builtins.cc

Issue 2145023002: [builtins] move builtin files to src/builtins/. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: rebase Created 4 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/builtins/builtins.h ('k') | src/builtins/ia32/builtins-ia32.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/builtins/builtins.cc
diff --git a/src/builtins.cc b/src/builtins/builtins.cc
similarity index 99%
rename from src/builtins.cc
rename to src/builtins/builtins.cc
index 8be2870449aaee58a6c5229fbe434da5be7afbef..0545c85d6b7cc66339186bb2e839594fdb340d55 100644
--- a/src/builtins.cc
+++ b/src/builtins/builtins.cc
@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "src/builtins.h"
+#include "src/builtins/builtins.h"
#include "src/api-arguments.h"
#include "src/api-natives.h"
@@ -43,12 +43,13 @@ class BuiltinArguments : public Arguments {
DCHECK_LE(1, this->length());
}
- Object*& operator[] (int index) {
+ Object*& operator[](int index) {
DCHECK_LT(index, length());
return Arguments::operator[](index);
}
- template <class S> Handle<S> at(int index) {
+ template <class S>
+ Handle<S> at(int index) {
DCHECK_LT(index, length());
return Arguments::at<S>(index);
}
@@ -60,9 +61,7 @@ class BuiltinArguments : public Arguments {
return at<Object>(index);
}
- Handle<Object> receiver() {
- return Arguments::at<Object>(0);
- }
+ Handle<Object> receiver() { return Arguments::at<Object>(0); }
static const int kNewTargetOffset = 0;
static const int kTargetOffset = 1;
@@ -84,7 +83,6 @@ class BuiltinArguments : public Arguments {
int length() const { return Arguments::length() - kNumExtraArgs; }
};
-
// ----------------------------------------------------------------------------
// Support macro for defining builtins in C++.
// ----------------------------------------------------------------------------
@@ -179,7 +177,6 @@ inline bool ClampedToInteger(Isolate* isolate, Object* object, int* out) {
return false;
}
-
inline bool GetSloppyArgumentsLength(Isolate* isolate, Handle<JSObject> object,
int* out) {
Context* context = *isolate->native_context();
@@ -294,7 +291,7 @@ MUST_USE_RESULT static Object* CallJsIntrinsic(Isolate* isolate,
BuiltinArguments args) {
HandleScope handleScope(isolate);
int argc = args.length() - 1;
- ScopedVector<Handle<Object> > argv(argc);
+ ScopedVector<Handle<Object>> argv(argc);
for (int i = 0; i < argc; ++i) {
argv[i] = args.at<Object>(i + 1);
}
@@ -303,16 +300,13 @@ MUST_USE_RESULT static Object* CallJsIntrinsic(Isolate* isolate,
Execution::Call(isolate, function, args.receiver(), argc, argv.start()));
}
-
} // namespace
-
BUILTIN(Illegal) {
UNREACHABLE();
return isolate->heap()->undefined_value(); // Make compiler happy.
}
-
BUILTIN(EmptyFunction) { return isolate->heap()->undefined_value(); }
void Builtins::Generate_ArrayIsArray(CodeStubAssembler* assembler) {
@@ -465,7 +459,6 @@ BUILTIN(ArrayPop) {
return *result;
}
-
BUILTIN(ArrayShift) {
HandleScope scope(isolate);
Heap* heap = isolate->heap();
@@ -487,7 +480,6 @@ BUILTIN(ArrayShift) {
return *first;
}
-
BUILTIN(ArrayUnshift) {
HandleScope scope(isolate);
Handle<Object> receiver = args.receiver();
@@ -510,7 +502,6 @@ BUILTIN(ArrayUnshift) {
return Smi::FromInt(new_length);
}
-
BUILTIN(ArraySlice) {
HandleScope scope(isolate);
Handle<Object> receiver = args.receiver();
@@ -580,7 +571,6 @@ BUILTIN(ArraySlice) {
return *accessor->Slice(object, actual_start, actual_end);
}
-
BUILTIN(ArraySplice) {
HandleScope scope(isolate);
Handle<Object> receiver = args.receiver();
@@ -641,7 +631,6 @@ BUILTIN(ArraySplice) {
return *result_array;
}
-
// Array Concat -------------------------------------------------------------
namespace {
@@ -817,7 +806,6 @@ class ArrayConcatVisitor {
uint32_t bit_field_;
};
-
uint32_t EstimateElementCount(Handle<JSArray> array) {
DisallowHeapAllocation no_gc;
uint32_t length = static_cast<uint32_t>(array->length()->Number());
@@ -887,7 +875,6 @@ uint32_t EstimateElementCount(Handle<JSArray> array) {
return element_count;
}
-
// Used for sorting indices in a List<uint32_t>.
int compareUInt32(const uint32_t* ap, const uint32_t* bp) {
uint32_t a = *ap;
@@ -895,7 +882,6 @@ int compareUInt32(const uint32_t* ap, const uint32_t* bp) {
return (a == b) ? 0 : (a < b) ? -1 : 1;
}
-
void CollectElementIndices(Handle<JSObject> object, uint32_t range,
List<uint32_t>* indices) {
Isolate* isolate = object->GetIsolate();
@@ -1011,7 +997,6 @@ void CollectElementIndices(Handle<JSObject> object, uint32_t range,
}
}
-
bool IterateElementsSlow(Isolate* isolate, Handle<JSReceiver> receiver,
uint32_t length, ArrayConcatVisitor* visitor) {
FOR_WITH_HANDLE_SCOPE(isolate, uint32_t, i = 0, i, i < length, ++i, {
@@ -1029,7 +1014,6 @@ bool IterateElementsSlow(Isolate* isolate, Handle<JSReceiver> receiver,
return true;
}
-
/**
* A helper function that visits "array" elements of a JSReceiver in numerical
* order.
@@ -1442,7 +1426,6 @@ MaybeHandle<JSArray> Fast_ArrayConcat(Isolate* isolate,
} // namespace
-
// ES6 22.1.3.1 Array.prototype.concat
BUILTIN(ArrayConcat) {
HandleScope scope(isolate);
@@ -1484,7 +1467,6 @@ BUILTIN(ArrayConcat) {
return Slow_ArrayConcat(&args, species, isolate);
}
-
namespace {
MUST_USE_RESULT Maybe<bool> FastAssign(Handle<JSReceiver> to,
@@ -1624,7 +1606,6 @@ BUILTIN(ObjectAssign) {
return *to;
}
-
// ES6 section 19.1.2.2 Object.create ( O [ , Properties ] )
// TODO(verwaest): Support the common cases with precached map directly in
// an Object.create stub.
@@ -1841,21 +1822,19 @@ BUILTIN(ObjectFreeze) {
return *object;
}
-
// ES section 19.1.2.9 Object.getPrototypeOf ( O )
BUILTIN(ObjectGetPrototypeOf) {
HandleScope scope(isolate);
Handle<Object> object = args.atOrUndefined(isolate, 1);
Handle<JSReceiver> receiver;
- ASSIGN_RETURN_FAILURE_ON_EXCEPTION(
- isolate, receiver, Object::ToObject(isolate, object));
+ ASSIGN_RETURN_FAILURE_ON_EXCEPTION(isolate, receiver,
+ Object::ToObject(isolate, object));
RETURN_RESULT_OR_FAILURE(isolate,
JSReceiver::GetPrototype(isolate, receiver));
}
-
// ES6 section 19.1.2.6 Object.getOwnPropertyDescriptor ( O, P )
BUILTIN(ObjectGetOwnPropertyDescriptor) {
HandleScope scope(isolate);
@@ -1879,7 +1858,6 @@ BUILTIN(ObjectGetOwnPropertyDescriptor) {
return *desc.ToObject(isolate);
}
-
namespace {
Object* GetOwnPropertyKeys(Isolate* isolate, BuiltinArguments args,
@@ -1899,19 +1877,16 @@ Object* GetOwnPropertyKeys(Isolate* isolate, BuiltinArguments args,
} // namespace
-
// ES6 section 19.1.2.7 Object.getOwnPropertyNames ( O )
BUILTIN(ObjectGetOwnPropertyNames) {
return GetOwnPropertyKeys(isolate, args, SKIP_SYMBOLS);
}
-
// ES6 section 19.1.2.8 Object.getOwnPropertySymbols ( O )
BUILTIN(ObjectGetOwnPropertySymbols) {
return GetOwnPropertyKeys(isolate, args, SKIP_STRINGS);
}
-
// ES#sec-object.is Object.is ( value1, value2 )
BUILTIN(ObjectIs) {
SealHandleScope shs(isolate);
@@ -1921,7 +1896,6 @@ BUILTIN(ObjectIs) {
return isolate->heap()->ToBoolean(value1->SameValue(*value2));
}
-
// ES6 section 19.1.2.11 Object.isExtensible ( O )
BUILTIN(ObjectIsExtensible) {
HandleScope scope(isolate);
@@ -1934,7 +1908,6 @@ BUILTIN(ObjectIsExtensible) {
return isolate->heap()->ToBoolean(result.FromJust());
}
-
// ES6 section 19.1.2.12 Object.isFrozen ( O )
BUILTIN(ObjectIsFrozen) {
HandleScope scope(isolate);
@@ -1947,7 +1920,6 @@ BUILTIN(ObjectIsFrozen) {
return isolate->heap()->ToBoolean(result.FromJust());
}
-
// ES6 section 19.1.2.13 Object.isSealed ( O )
BUILTIN(ObjectIsSealed) {
HandleScope scope(isolate);
@@ -1960,7 +1932,6 @@ BUILTIN(ObjectIsSealed) {
return isolate->heap()->ToBoolean(result.FromJust());
}
-
// ES6 section 19.1.2.14 Object.keys ( O )
BUILTIN(ObjectKeys) {
HandleScope scope(isolate);
@@ -2008,7 +1979,6 @@ BUILTIN(ObjectValues) {
return *isolate->factory()->NewJSArrayWithElements(values);
}
-
BUILTIN(ObjectEntries) {
HandleScope scope(isolate);
Handle<Object> object = args.atOrUndefined(isolate, 1);
@@ -2071,7 +2041,6 @@ BUILTIN(ObjectPreventExtensions) {
return *object;
}
-
// ES6 section 19.1.2.17 Object.seal ( O )
BUILTIN(ObjectSeal) {
HandleScope scope(isolate);
@@ -2169,7 +2138,6 @@ bool CodeGenerationFromStringsAllowed(Isolate* isolate,
}
}
-
MaybeHandle<JSFunction> CompileString(Handle<Context> context,
Handle<String> source,
ParseRestriction restriction) {
@@ -2198,7 +2166,6 @@ MaybeHandle<JSFunction> CompileString(Handle<Context> context,
} // namespace
-
// ES6 section 18.2.1 eval (x)
BUILTIN(GlobalEval) {
HandleScope scope(isolate);
@@ -3033,8 +3000,8 @@ void Generate_GeneratorPrototypeResume(
Node* receiver = assembler->Parameter(0);
Node* value = assembler->Parameter(1);
Node* context = assembler->Parameter(4);
- Node* closed = assembler->SmiConstant(
- Smi::FromInt(JSGeneratorObject::kGeneratorClosed));
+ Node* closed =
+ assembler->SmiConstant(Smi::FromInt(JSGeneratorObject::kGeneratorClosed));
// Check if the {receiver} is actually a JSGeneratorObject.
Label if_receiverisincompatible(assembler, Label::kDeferred);
@@ -3158,7 +3125,6 @@ BUILTIN(ReflectDefineProperty) {
return *isolate->factory()->ToBoolean(result.FromJust());
}
-
// ES6 section 26.1.4 Reflect.deleteProperty
BUILTIN(ReflectDeleteProperty) {
HandleScope scope(isolate);
@@ -3183,7 +3149,6 @@ BUILTIN(ReflectDeleteProperty) {
return *isolate->factory()->ToBoolean(result.FromJust());
}
-
// ES6 section 26.1.6 Reflect.get
BUILTIN(ReflectGet) {
HandleScope scope(isolate);
@@ -3207,7 +3172,6 @@ BUILTIN(ReflectGet) {
Handle<JSReceiver>::cast(target)));
}
-
// ES6 section 26.1.7 Reflect.getOwnPropertyDescriptor
BUILTIN(ReflectGetOwnPropertyDescriptor) {
HandleScope scope(isolate);
@@ -3234,7 +3198,6 @@ BUILTIN(ReflectGetOwnPropertyDescriptor) {
return *desc.ToObject(isolate);
}
-
// ES6 section 26.1.8 Reflect.getPrototypeOf
BUILTIN(ReflectGetPrototypeOf) {
HandleScope scope(isolate);
@@ -3252,7 +3215,6 @@ BUILTIN(ReflectGetPrototypeOf) {
JSReceiver::GetPrototype(isolate, receiver));
}
-
// ES6 section 26.1.9 Reflect.has
BUILTIN(ReflectHas) {
HandleScope scope(isolate);
@@ -3277,7 +3239,6 @@ BUILTIN(ReflectHas) {
: isolate->heap()->exception();
}
-
// ES6 section 26.1.10 Reflect.isExtensible
BUILTIN(ReflectIsExtensible) {
HandleScope scope(isolate);
@@ -3297,7 +3258,6 @@ BUILTIN(ReflectIsExtensible) {
return *isolate->factory()->ToBoolean(result.FromJust());
}
-
// ES6 section 26.1.11 Reflect.ownKeys
BUILTIN(ReflectOwnKeys) {
HandleScope scope(isolate);
@@ -3320,7 +3280,6 @@ BUILTIN(ReflectOwnKeys) {
return *isolate->factory()->NewJSArrayWithElements(keys);
}
-
// ES6 section 26.1.12 Reflect.preventExtensions
BUILTIN(ReflectPreventExtensions) {
HandleScope scope(isolate);
@@ -3340,7 +3299,6 @@ BUILTIN(ReflectPreventExtensions) {
return *isolate->factory()->ToBoolean(result.FromJust());
}
-
// ES6 section 26.1.13 Reflect.set
BUILTIN(ReflectSet) {
HandleScope scope(isolate);
@@ -3368,7 +3326,6 @@ BUILTIN(ReflectSet) {
return *isolate->factory()->ToBoolean(result.FromJust());
}
-
// ES6 section 26.1.14 Reflect.setPrototypeOf
BUILTIN(ReflectSetPrototypeOf) {
HandleScope scope(isolate);
@@ -3394,11 +3351,9 @@ BUILTIN(ReflectSetPrototypeOf) {
return *isolate->factory()->ToBoolean(result.FromJust());
}
-
// -----------------------------------------------------------------------------
// ES6 section 19.3 Boolean Objects
-
// ES6 section 19.3.1.1 Boolean ( value ) for the [[Call]] case.
BUILTIN(BooleanConstructor) {
HandleScope scope(isolate);
@@ -3406,7 +3361,6 @@ BUILTIN(BooleanConstructor) {
return isolate->heap()->ToBoolean(value->BooleanValue());
}
-
// ES6 section 19.3.1.1 Boolean ( value ) for the [[Construct]] case.
BUILTIN(BooleanConstructor_ConstructStub) {
HandleScope scope(isolate);
@@ -3422,7 +3376,6 @@ BUILTIN(BooleanConstructor_ConstructStub) {
return *result;
}
-
// ES6 section 19.3.3.2 Boolean.prototype.toString ( )
void Builtins::Generate_BooleanPrototypeToString(CodeStubAssembler* assembler) {
typedef compiler::Node Node;
@@ -3451,7 +3404,6 @@ void Builtins::Generate_BooleanPrototypeValueOf(CodeStubAssembler* assembler) {
// -----------------------------------------------------------------------------
// ES6 section 24.2 DataView Objects
-
// ES6 section 24.2.2 The DataView Constructor for the [[Call]] case.
BUILTIN(DataViewConstructor) {
HandleScope scope(isolate);
@@ -3461,7 +3413,6 @@ BUILTIN(DataViewConstructor) {
isolate->factory()->NewStringFromAsciiChecked("DataView")));
}
-
// ES6 section 24.2.2 The DataView Constructor for the [[Construct]] case.
BUILTIN(DataViewConstructor_ConstructStub) {
HandleScope scope(isolate);
@@ -3527,8 +3478,8 @@ BUILTIN(DataViewConstructor_ConstructStub) {
// a. Let viewByteLength be ? ToLength(byteLength).
// b. If offset+viewByteLength > bufferByteLength, throw a RangeError
// exception
- ASSIGN_RETURN_FAILURE_ON_EXCEPTION(
- isolate, view_byte_length, Object::ToLength(isolate, byte_length));
+ ASSIGN_RETURN_FAILURE_ON_EXCEPTION(isolate, view_byte_length,
+ Object::ToLength(isolate, byte_length));
if (offset->Number() + view_byte_length->Number() > buffer_byte_length) {
THROW_NEW_ERROR_RETURN_FAILURE(
isolate, NewRangeError(MessageTemplate::kInvalidDataViewLength));
@@ -3676,7 +3627,6 @@ void Builtins::Generate_TypedArrayPrototypeLength(
// -----------------------------------------------------------------------------
// ES6 section 20.3 Date Objects
-
namespace {
// ES6 section 20.3.1.1 Time Values and Time Range
@@ -3685,17 +3635,14 @@ const double kMaxYear = -kMinYear;
const double kMinMonth = -10000000.0;
const double kMaxMonth = -kMinMonth;
-
// 20.3.1.2 Day Number and Time within Day
const double kMsPerDay = 86400000.0;
-
// ES6 section 20.3.1.11 Hours, Minutes, Second, and Milliseconds
const double kMsPerSecond = 1000.0;
const double kMsPerMinute = 60000.0;
const double kMsPerHour = 3600000.0;
-
// ES6 section 20.3.1.14 MakeDate (day, time)
double MakeDate(double day, double time) {
if (std::isfinite(day) && std::isfinite(time)) {
@@ -3704,7 +3651,6 @@ double MakeDate(double day, double time) {
return std::numeric_limits<double>::quiet_NaN();
}
-
// ES6 section 20.3.1.13 MakeDay (year, month, date)
double MakeDay(double year, double month, double date) {
if ((kMinYear <= year && year <= kMaxYear) &&
@@ -3749,7 +3695,6 @@ double MakeDay(double year, double month, double date) {
return std::numeric_limits<double>::quiet_NaN();
}
-
// ES6 section 20.3.1.12 MakeTime (hour, min, sec, ms)
double MakeTime(double hour, double min, double sec, double ms) {
if (std::isfinite(hour) && std::isfinite(min) && std::isfinite(sec) &&
@@ -3763,7 +3708,6 @@ double MakeTime(double hour, double min, double sec, double ms) {
return std::numeric_limits<double>::quiet_NaN();
}
-
// ES6 section 20.3.1.15 TimeClip (time)
double TimeClip(double time) {
if (-DateCache::kMaxTimeInMs <= time && time <= DateCache::kMaxTimeInMs) {
@@ -3772,13 +3716,11 @@ double TimeClip(double time) {
return std::numeric_limits<double>::quiet_NaN();
}
-
const char* kShortWeekDays[] = {"Sun", "Mon", "Tue", "Wed",
"Thu", "Fri", "Sat"};
const char* kShortMonths[] = {"Jan", "Feb", "Mar", "Apr", "May", "Jun",
"Jul", "Aug", "Sep", "Oct", "Nov", "Dec"};
-
// ES6 section 20.3.1.16 Date Time String Format
double ParseDateTimeString(Handle<String> str) {
Isolate* const isolate = str->GetIsolate();
@@ -3810,10 +3752,8 @@ double ParseDateTimeString(Handle<String> str) {
return date;
}
-
enum ToDateStringMode { kDateOnly, kTimeOnly, kDateAndTime };
-
// ES6 section 20.3.4.41.1 ToDateString(tv)
void ToDateString(double time_val, Vector<char> str, DateCache* date_cache,
ToDateStringMode mode = kDateAndTime) {
@@ -3850,7 +3790,6 @@ void ToDateString(double time_val, Vector<char> str, DateCache* date_cache,
UNREACHABLE();
}
-
Object* SetLocalDateValue(Handle<JSDate> date, double time_val) {
if (time_val >= -DateCache::kMaxTimeBeforeUTCInMs &&
time_val <= DateCache::kMaxTimeBeforeUTCInMs) {
@@ -3864,7 +3803,6 @@ Object* SetLocalDateValue(Handle<JSDate> date, double time_val) {
} // namespace
-
// ES6 section 20.3.2 The Date Constructor for the [[Call]] case.
BUILTIN(DateConstructor) {
HandleScope scope(isolate);
@@ -3875,7 +3813,6 @@ BUILTIN(DateConstructor) {
isolate, isolate->factory()->NewStringFromUtf8(CStrVector(buffer)));
}
-
// ES6 section 20.3.2 The Date Constructor for the [[Construct]] case.
BUILTIN(DateConstructor_ConstructStub) {
HandleScope scope(isolate);
@@ -3957,14 +3894,12 @@ BUILTIN(DateConstructor_ConstructStub) {
RETURN_RESULT_OR_FAILURE(isolate, JSDate::New(target, new_target, time_val));
}
-
// ES6 section 20.3.3.1 Date.now ( )
BUILTIN(DateNow) {
HandleScope scope(isolate);
return *isolate->factory()->NewNumber(JSDate::CurrentTimeValue(isolate));
}
-
// ES6 section 20.3.3.2 Date.parse ( string )
BUILTIN(DateParse) {
HandleScope scope(isolate);
@@ -3975,7 +3910,6 @@ BUILTIN(DateParse) {
return *isolate->factory()->NewNumber(ParseDateTimeString(string));
}
-
// ES6 section 20.3.3.4 Date.UTC (year,month,date,hours,minutes,seconds,ms)
BUILTIN(DateUTC) {
HandleScope scope(isolate);
@@ -4035,7 +3969,6 @@ BUILTIN(DateUTC) {
return *isolate->factory()->NewNumber(TimeClip(MakeDate(day, time)));
}
-
// ES6 section 20.3.4.20 Date.prototype.setDate ( date )
BUILTIN(DatePrototypeSetDate) {
HandleScope scope(isolate);
@@ -4055,7 +3988,6 @@ BUILTIN(DatePrototypeSetDate) {
return SetLocalDateValue(date, time_val);
}
-
// ES6 section 20.3.4.21 Date.prototype.setFullYear (year, month, date)
BUILTIN(DatePrototypeSetFullYear) {
HandleScope scope(isolate);
@@ -4089,7 +4021,6 @@ BUILTIN(DatePrototypeSetFullYear) {
return SetLocalDateValue(date, time_val);
}
-
// ES6 section 20.3.4.22 Date.prototype.setHours(hour, min, sec, ms)
BUILTIN(DatePrototypeSetHours) {
HandleScope scope(isolate);
@@ -4127,7 +4058,6 @@ BUILTIN(DatePrototypeSetHours) {
return SetLocalDateValue(date, time_val);
}
-
// ES6 section 20.3.4.23 Date.prototype.setMilliseconds(ms)
BUILTIN(DatePrototypeSetMilliseconds) {
HandleScope scope(isolate);
@@ -4148,7 +4078,6 @@ BUILTIN(DatePrototypeSetMilliseconds) {
return SetLocalDateValue(date, time_val);
}
-
// ES6 section 20.3.4.24 Date.prototype.setMinutes ( min, sec, ms )
BUILTIN(DatePrototypeSetMinutes) {
HandleScope scope(isolate);
@@ -4181,7 +4110,6 @@ BUILTIN(DatePrototypeSetMinutes) {
return SetLocalDateValue(date, time_val);
}
-
// ES6 section 20.3.4.25 Date.prototype.setMonth ( month, date )
BUILTIN(DatePrototypeSetMonth) {
HandleScope scope(isolate);
@@ -4209,7 +4137,6 @@ BUILTIN(DatePrototypeSetMonth) {
return SetLocalDateValue(date, time_val);
}
-
// ES6 section 20.3.4.26 Date.prototype.setSeconds ( sec, ms )
BUILTIN(DatePrototypeSetSeconds) {
HandleScope scope(isolate);
@@ -4237,7 +4164,6 @@ BUILTIN(DatePrototypeSetSeconds) {
return SetLocalDateValue(date, time_val);
}
-
// ES6 section 20.3.4.27 Date.prototype.setTime ( time )
BUILTIN(DatePrototypeSetTime) {
HandleScope scope(isolate);
@@ -4247,7 +4173,6 @@ BUILTIN(DatePrototypeSetTime) {
return *JSDate::SetValue(date, TimeClip(value->Number()));
}
-
// ES6 section 20.3.4.28 Date.prototype.setUTCDate ( date )
BUILTIN(DatePrototypeSetUTCDate) {
HandleScope scope(isolate);
@@ -4265,7 +4190,6 @@ BUILTIN(DatePrototypeSetUTCDate) {
return *JSDate::SetValue(date, TimeClip(time_val));
}
-
// ES6 section 20.3.4.29 Date.prototype.setUTCFullYear (year, month, date)
BUILTIN(DatePrototypeSetUTCFullYear) {
HandleScope scope(isolate);
@@ -4298,7 +4222,6 @@ BUILTIN(DatePrototypeSetUTCFullYear) {
return *JSDate::SetValue(date, TimeClip(time_val));
}
-
// ES6 section 20.3.4.30 Date.prototype.setUTCHours(hour, min, sec, ms)
BUILTIN(DatePrototypeSetUTCHours) {
HandleScope scope(isolate);
@@ -4335,7 +4258,6 @@ BUILTIN(DatePrototypeSetUTCHours) {
return *JSDate::SetValue(date, TimeClip(time_val));
}
-
// ES6 section 20.3.4.31 Date.prototype.setUTCMilliseconds(ms)
BUILTIN(DatePrototypeSetUTCMilliseconds) {
HandleScope scope(isolate);
@@ -4355,7 +4277,6 @@ BUILTIN(DatePrototypeSetUTCMilliseconds) {
return *JSDate::SetValue(date, TimeClip(time_val));
}
-
// ES6 section 20.3.4.32 Date.prototype.setUTCMinutes ( min, sec, ms )
BUILTIN(DatePrototypeSetUTCMinutes) {
HandleScope scope(isolate);
@@ -4387,7 +4308,6 @@ BUILTIN(DatePrototypeSetUTCMinutes) {
return *JSDate::SetValue(date, TimeClip(time_val));
}
-
// ES6 section 20.3.4.31 Date.prototype.setUTCMonth ( month, date )
BUILTIN(DatePrototypeSetUTCMonth) {
HandleScope scope(isolate);
@@ -4414,7 +4334,6 @@ BUILTIN(DatePrototypeSetUTCMonth) {
return *JSDate::SetValue(date, TimeClip(time_val));
}
-
// ES6 section 20.3.4.34 Date.prototype.setUTCSeconds ( sec, ms )
BUILTIN(DatePrototypeSetUTCSeconds) {
HandleScope scope(isolate);
@@ -4441,7 +4360,6 @@ BUILTIN(DatePrototypeSetUTCSeconds) {
return *JSDate::SetValue(date, TimeClip(time_val));
}
-
// ES6 section 20.3.4.35 Date.prototype.toDateString ( )
BUILTIN(DatePrototypeToDateString) {
HandleScope scope(isolate);
@@ -4453,7 +4371,6 @@ BUILTIN(DatePrototypeToDateString) {
isolate, isolate->factory()->NewStringFromUtf8(CStrVector(buffer)));
}
-
// ES6 section 20.3.4.36 Date.prototype.toISOString ( )
BUILTIN(DatePrototypeToISOString) {
HandleScope scope(isolate);
@@ -4481,7 +4398,6 @@ BUILTIN(DatePrototypeToISOString) {
return *isolate->factory()->NewStringFromAsciiChecked(buffer);
}
-
// ES6 section 20.3.4.41 Date.prototype.toString ( )
BUILTIN(DatePrototypeToString) {
HandleScope scope(isolate);
@@ -4493,7 +4409,6 @@ BUILTIN(DatePrototypeToString) {
isolate, isolate->factory()->NewStringFromUtf8(CStrVector(buffer)));
}
-
// ES6 section 20.3.4.42 Date.prototype.toTimeString ( )
BUILTIN(DatePrototypeToTimeString) {
HandleScope scope(isolate);
@@ -4505,7 +4420,6 @@ BUILTIN(DatePrototypeToTimeString) {
isolate, isolate->factory()->NewStringFromUtf8(CStrVector(buffer)));
}
-
// ES6 section 20.3.4.43 Date.prototype.toUTCString ( )
BUILTIN(DatePrototypeToUTCString) {
HandleScope scope(isolate);
@@ -4525,7 +4439,6 @@ BUILTIN(DatePrototypeToUTCString) {
return *isolate->factory()->NewStringFromAsciiChecked(buffer);
}
-
// ES6 section 20.3.4.44 Date.prototype.valueOf ( )
BUILTIN(DatePrototypeValueOf) {
HandleScope scope(isolate);
@@ -4533,7 +4446,6 @@ BUILTIN(DatePrototypeValueOf) {
return date->value();
}
-
// ES6 section 20.3.4.45 Date.prototype [ @@toPrimitive ] ( hint )
BUILTIN(DatePrototypeToPrimitive) {
HandleScope scope(isolate);
@@ -4543,7 +4455,6 @@ BUILTIN(DatePrototypeToPrimitive) {
RETURN_RESULT_OR_FAILURE(isolate, JSDate::ToPrimitive(receiver, hint));
}
-
// ES6 section B.2.4.1 Date.prototype.getYear ( )
BUILTIN(DatePrototypeGetYear) {
HandleScope scope(isolate);
@@ -4558,7 +4469,6 @@ BUILTIN(DatePrototypeGetYear) {
return Smi::FromInt(year - 1900);
}
-
// ES6 section B.2.4.2 Date.prototype.setYear ( year )
BUILTIN(DatePrototypeSetYear) {
HandleScope scope(isolate);
@@ -4617,109 +4527,91 @@ void Builtins::Generate_DatePrototypeGetDate(MacroAssembler* masm) {
Generate_DatePrototype_GetField(masm, JSDate::kDay);
}
-
// static
void Builtins::Generate_DatePrototypeGetDay(MacroAssembler* masm) {
Generate_DatePrototype_GetField(masm, JSDate::kWeekday);
}
-
// static
void Builtins::Generate_DatePrototypeGetFullYear(MacroAssembler* masm) {
Generate_DatePrototype_GetField(masm, JSDate::kYear);
}
-
// static
void Builtins::Generate_DatePrototypeGetHours(MacroAssembler* masm) {
Generate_DatePrototype_GetField(masm, JSDate::kHour);
}
-
// static
void Builtins::Generate_DatePrototypeGetMilliseconds(MacroAssembler* masm) {
Generate_DatePrototype_GetField(masm, JSDate::kMillisecond);
}
-
// static
void Builtins::Generate_DatePrototypeGetMinutes(MacroAssembler* masm) {
Generate_DatePrototype_GetField(masm, JSDate::kMinute);
}
-
// static
void Builtins::Generate_DatePrototypeGetMonth(MacroAssembler* masm) {
Generate_DatePrototype_GetField(masm, JSDate::kMonth);
}
-
// static
void Builtins::Generate_DatePrototypeGetSeconds(MacroAssembler* masm) {
Generate_DatePrototype_GetField(masm, JSDate::kSecond);
}
-
// static
void Builtins::Generate_DatePrototypeGetTime(MacroAssembler* masm) {
Generate_DatePrototype_GetField(masm, JSDate::kDateValue);
}
-
// static
void Builtins::Generate_DatePrototypeGetTimezoneOffset(MacroAssembler* masm) {
Generate_DatePrototype_GetField(masm, JSDate::kTimezoneOffset);
}
-
// static
void Builtins::Generate_DatePrototypeGetUTCDate(MacroAssembler* masm) {
Generate_DatePrototype_GetField(masm, JSDate::kDayUTC);
}
-
// static
void Builtins::Generate_DatePrototypeGetUTCDay(MacroAssembler* masm) {
Generate_DatePrototype_GetField(masm, JSDate::kWeekdayUTC);
}
-
// static
void Builtins::Generate_DatePrototypeGetUTCFullYear(MacroAssembler* masm) {
Generate_DatePrototype_GetField(masm, JSDate::kYearUTC);
}
-
// static
void Builtins::Generate_DatePrototypeGetUTCHours(MacroAssembler* masm) {
Generate_DatePrototype_GetField(masm, JSDate::kHourUTC);
}
-
// static
void Builtins::Generate_DatePrototypeGetUTCMilliseconds(MacroAssembler* masm) {
Generate_DatePrototype_GetField(masm, JSDate::kMillisecondUTC);
}
-
// static
void Builtins::Generate_DatePrototypeGetUTCMinutes(MacroAssembler* masm) {
Generate_DatePrototype_GetField(masm, JSDate::kMinuteUTC);
}
-
// static
void Builtins::Generate_DatePrototypeGetUTCMonth(MacroAssembler* masm) {
Generate_DatePrototype_GetField(masm, JSDate::kMonthUTC);
}
-
// static
void Builtins::Generate_DatePrototypeGetUTCSeconds(MacroAssembler* masm) {
Generate_DatePrototype_GetField(masm, JSDate::kSecondUTC);
}
-
namespace {
// ES6 section 19.2.1.1.1 CreateDynamicFunction
@@ -4833,7 +4725,6 @@ MaybeHandle<JSFunction> CreateDynamicFunction(Isolate* isolate,
} // namespace
-
// ES6 section 19.2.1.1 Function ( p1, p2, ... , pn, body )
BUILTIN(FunctionConstructor) {
HandleScope scope(isolate);
@@ -4960,7 +4851,6 @@ BUILTIN(FunctionPrototypeToString) {
"Function.prototype.toString")));
}
-
// ES6 section 25.2.1.1 GeneratorFunction (p1, p2, ... , pn, body)
BUILTIN(GeneratorFunctionConstructor) {
HandleScope scope(isolate);
@@ -5026,7 +4916,6 @@ BUILTIN(SymbolConstructor) {
return *result;
}
-
// ES6 section 19.4.1.1 Symbol ( [ description ] ) for the [[Construct]] case.
BUILTIN(SymbolConstructor_ConstructStub) {
HandleScope scope(isolate);
@@ -5604,7 +5493,6 @@ BUILTIN(ArrayBufferConstructor) {
handle(target->shared()->name(), isolate)));
}
-
// ES6 section 24.1.2.1 ArrayBuffer ( length ) for the [[Construct]] case.
BUILTIN(ArrayBufferConstructor_ConstructStub) {
HandleScope scope(isolate);
@@ -5691,7 +5579,6 @@ BUILTIN(ProxyConstructor) {
isolate->factory()->NewStringFromAsciiChecked("Proxy")));
}
-
// ES6 section 26.2.1.1 Proxy ( target, handler ) for the [[Construct]] case.
BUILTIN(ProxyConstructor_ConstructStub) {
HandleScope scope(isolate);
@@ -5701,30 +5588,25 @@ BUILTIN(ProxyConstructor_ConstructStub) {
RETURN_RESULT_OR_FAILURE(isolate, JSProxy::New(isolate, target, handler));
}
-
// -----------------------------------------------------------------------------
// Throwers for restricted function properties and strict arguments object
// properties
-
BUILTIN(RestrictedFunctionPropertiesThrower) {
HandleScope scope(isolate);
THROW_NEW_ERROR_RETURN_FAILURE(
isolate, NewTypeError(MessageTemplate::kRestrictedFunctionProperties));
}
-
BUILTIN(RestrictedStrictArgumentsPropertiesThrower) {
HandleScope scope(isolate);
THROW_NEW_ERROR_RETURN_FAILURE(
isolate, NewTypeError(MessageTemplate::kStrictPoisonPill));
}
-
// -----------------------------------------------------------------------------
//
-
namespace {
// Returns the holder JSObject if the function can legally be called with this
@@ -5834,7 +5716,6 @@ MUST_USE_RESULT MaybeHandle<Object> HandleApiCallHelper(
} // namespace
-
BUILTIN(HandleApiCall) {
HandleScope scope(isolate);
Handle<JSFunction> function = args.target<JSFunction>();
@@ -5853,7 +5734,6 @@ BUILTIN(HandleApiCall) {
}
}
-
Handle<Code> Builtins::CallFunction(ConvertReceiverMode mode,
TailCallMode tail_call_mode) {
switch (tail_call_mode) {
@@ -6014,7 +5894,6 @@ MaybeHandle<Object> Builtins::InvokeApiFunction(Isolate* isolate,
return result;
}
-
// Helper function to handle calls to non-function objects created through the
// API. The object can be called as either a constructor (using new) or just as
// a function (without new).
@@ -6074,14 +5953,12 @@ MUST_USE_RESULT static Object* HandleApiCallAsFunctionOrConstructor(
return result;
}
-
// Handle calls to non-function objects created through the API. This delegate
// function is used when the call is a normal function call.
BUILTIN(HandleApiCallAsFunction) {
return HandleApiCallAsFunctionOrConstructor(isolate, false, args);
}
-
// Handle calls to non-function objects created through the API. This delegate
// function is used when the call is a construct call.
BUILTIN(HandleApiCallAsConstructor) {
@@ -6251,17 +6128,13 @@ Builtins::Builtins() : initialized_(false) {
memset(names_, 0, sizeof(names_[0]) * builtin_count);
}
-
-Builtins::~Builtins() {
-}
+Builtins::~Builtins() {}
#define DEF_ENUM_C(name, ignore) FUNCTION_ADDR(Builtin_##name),
Address const Builtins::c_functions_[cfunction_count] = {
- BUILTIN_LIST_C(DEF_ENUM_C)
-};
+ BUILTIN_LIST_C(DEF_ENUM_C)};
#undef DEF_ENUM_C
-
struct BuiltinDesc {
Handle<Code> (*builder)(Isolate*, struct BuiltinDesc const*);
byte* generator;
@@ -6273,7 +6146,10 @@ struct BuiltinDesc {
int argc;
};
-#define BUILTIN_FUNCTION_TABLE_INIT { V8_ONCE_INIT, {} }
+#define BUILTIN_FUNCTION_TABLE_INIT \
+ { \
+ V8_ONCE_INIT, {} \
+ }
class BuiltinFunctionTable {
public:
@@ -6446,7 +6322,6 @@ void Builtins::InitBuiltinFunctionTable() {
#undef DEF_FUNCTION_PTR_H
}
-
void Builtins::SetUp(Isolate* isolate, bool create_heap_objects) {
DCHECK(!initialized_);
@@ -6491,17 +6366,12 @@ void Builtins::SetUp(Isolate* isolate, bool create_heap_objects) {
initialized_ = true;
}
-
-void Builtins::TearDown() {
- initialized_ = false;
-}
-
+void Builtins::TearDown() { initialized_ = false; }
void Builtins::IterateBuiltins(ObjectVisitor* v) {
v->VisitPointers(&builtins_[0], &builtins_[0] + builtin_count);
}
-
const char* Builtins::Lookup(byte* pc) {
// may be called during initialization (disassembler!)
if (initialized_) {
@@ -6515,12 +6385,10 @@ const char* Builtins::Lookup(byte* pc) {
return NULL;
}
-
void Builtins::Generate_InterruptCheck(MacroAssembler* masm) {
masm->TailCallRuntime(Runtime::kInterrupt);
}
-
void Builtins::Generate_StackCheck(MacroAssembler* masm) {
masm->TailCallRuntime(Runtime::kStackGuard);
}
@@ -6782,12 +6650,11 @@ void Builtins::Generate_AtomicsStore(CodeStubAssembler* a) {
Code** code_address = reinterpret_cast<Code**>(builtin_address(k##name)); \
return Handle<Code>(code_address); \
}
-#define DEFINE_BUILTIN_ACCESSOR_H(name, kind) \
-Handle<Code> Builtins::name() { \
- Code** code_address = \
- reinterpret_cast<Code**>(builtin_address(k##name)); \
- return Handle<Code>(code_address); \
-}
+#define DEFINE_BUILTIN_ACCESSOR_H(name, kind) \
+ Handle<Code> Builtins::name() { \
+ Code** code_address = reinterpret_cast<Code**>(builtin_address(k##name)); \
+ return Handle<Code>(code_address); \
+ }
BUILTIN_LIST_C(DEFINE_BUILTIN_ACCESSOR_C)
BUILTIN_LIST_A(DEFINE_BUILTIN_ACCESSOR_A)
BUILTIN_LIST_T(DEFINE_BUILTIN_ACCESSOR_T)
« no previous file with comments | « src/builtins/builtins.h ('k') | src/builtins/ia32/builtins-ia32.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698