Commit 3e49c601 authored by ulan@chromium.org's avatar ulan@chromium.org

Handlify and convert the remaining Script accesssors.

BUG=
R=yangguo@chromium.org

Review URL: https://codereview.chromium.org/236313015

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20814 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
parent dd206283
This diff is collapsed.
...@@ -42,22 +42,22 @@ namespace internal { ...@@ -42,22 +42,22 @@ namespace internal {
V(FunctionName) \ V(FunctionName) \
V(FunctionArguments) \ V(FunctionArguments) \
V(FunctionCaller) \ V(FunctionCaller) \
V(ArrayLength) \ V(ArrayLength)
V(ScriptType) \
#define ACCESSOR_INFO_LIST(V) \
V(ScriptColumnOffset) \
V(ScriptCompilationType) \ V(ScriptCompilationType) \
V(ScriptLineEnds) \
V(ScriptContextData) \ V(ScriptContextData) \
V(ScriptEvalFromScript) \ V(ScriptEvalFromScript) \
V(ScriptEvalFromScriptPosition) \ V(ScriptEvalFromScriptPosition) \
V(ScriptEvalFromFunctionName) V(ScriptEvalFromFunctionName) \
#define ACCESSOR_INFO_LIST(V) \
V(ScriptColumnOffset) \
V(ScriptId) \ V(ScriptId) \
V(ScriptLineEnds) \
V(ScriptLineOffset) \ V(ScriptLineOffset) \
V(ScriptName) \ V(ScriptName) \
V(ScriptSource) \ V(ScriptSource) \
V(StringLength) \ V(ScriptType) \
V(StringLength)
// Accessors contains all predefined proxy accessors. // Accessors contains all predefined proxy accessors.
...@@ -137,25 +137,6 @@ class Accessors : public AllStatic { ...@@ -137,25 +137,6 @@ class Accessors : public AllStatic {
Object*, Object*,
void*); void*);
static MaybeObject* ArrayGetLength(Isolate* isolate, Object* object, void*); static MaybeObject* ArrayGetLength(Isolate* isolate, Object* object, void*);
static MaybeObject* ScriptGetType(Isolate* isolate, Object* object, void*);
static MaybeObject* ScriptGetCompilationType(Isolate* isolate,
Object* object,
void*);
static MaybeObject* ScriptGetLineEnds(Isolate* isolate,
Object* object,
void*);
static MaybeObject* ScriptGetContextData(Isolate* isolate,
Object* object,
void*);
static MaybeObject* ScriptGetEvalFromScript(Isolate* isolate,
Object* object,
void*);
static MaybeObject* ScriptGetEvalFromScriptPosition(Isolate* isolate,
Object* object,
void*);
static MaybeObject* ScriptGetEvalFromFunctionName(Isolate* isolate,
Object* object,
void*);
// Helper functions. // Helper functions.
static Handle<Object> FlattenNumber(Isolate* isolate, Handle<Object> value); static Handle<Object> FlattenNumber(Isolate* isolate, Handle<Object> value);
......
...@@ -1682,38 +1682,6 @@ bool Genesis::InstallNatives() { ...@@ -1682,38 +1682,6 @@ bool Genesis::InstallNatives() {
Handle<Map> script_map = Handle<Map>(script_fun->initial_map()); Handle<Map> script_map = Handle<Map>(script_fun->initial_map());
Map::EnsureDescriptorSlack(script_map, 13); Map::EnsureDescriptorSlack(script_map, 13);
Handle<String> type_string(factory()->InternalizeOneByteString(
STATIC_ASCII_VECTOR("type")));
Handle<Foreign> script_type(factory()->NewForeign(&Accessors::ScriptType));
Handle<String> compilation_type_string(
factory()->InternalizeOneByteString(
STATIC_ASCII_VECTOR("compilation_type")));
Handle<Foreign> script_compilation_type(
factory()->NewForeign(&Accessors::ScriptCompilationType));
Handle<String> line_ends_string(factory()->InternalizeOneByteString(
STATIC_ASCII_VECTOR("line_ends")));
Handle<Foreign> script_line_ends(
factory()->NewForeign(&Accessors::ScriptLineEnds));
Handle<String> context_data_string(
factory()->InternalizeOneByteString(
STATIC_ASCII_VECTOR("context_data")));
Handle<Foreign> script_context_data(
factory()->NewForeign(&Accessors::ScriptContextData));
Handle<String> eval_from_script_string(
factory()->InternalizeOneByteString(
STATIC_ASCII_VECTOR("eval_from_script")));
Handle<Foreign> script_eval_from_script(
factory()->NewForeign(&Accessors::ScriptEvalFromScript));
Handle<String> eval_from_script_position_string(
factory()->InternalizeOneByteString(
STATIC_ASCII_VECTOR("eval_from_script_position")));
Handle<Foreign> script_eval_from_script_position(
factory()->NewForeign(&Accessors::ScriptEvalFromScriptPosition));
Handle<String> eval_from_function_name_string(
factory()->InternalizeOneByteString(
STATIC_ASCII_VECTOR("eval_from_function_name")));
Handle<Foreign> script_eval_from_function_name(
factory()->NewForeign(&Accessors::ScriptEvalFromFunctionName));
PropertyAttributes attribs = PropertyAttributes attribs =
static_cast<PropertyAttributes>(DONT_ENUM | DONT_DELETE | READ_ONLY); static_cast<PropertyAttributes>(DONT_ENUM | DONT_DELETE | READ_ONLY);
...@@ -1758,47 +1726,64 @@ bool Genesis::InstallNatives() { ...@@ -1758,47 +1726,64 @@ bool Genesis::InstallNatives() {
script_map->AppendDescriptor(&d); script_map->AppendDescriptor(&d);
} }
Handle<AccessorInfo> script_type =
Accessors::ScriptTypeInfo(isolate(), attribs);
{ {
CallbacksDescriptor d(type_string, script_type, attribs); CallbacksDescriptor d(Handle<Name>(Name::cast(script_type->name())),
script_type, attribs);
script_map->AppendDescriptor(&d); script_map->AppendDescriptor(&d);
} }
Handle<AccessorInfo> script_compilation_type =
Accessors::ScriptCompilationTypeInfo(isolate(), attribs);
{ {
CallbacksDescriptor d( CallbacksDescriptor d(
compilation_type_string, script_compilation_type, attribs); Handle<Name>(Name::cast(script_compilation_type->name())),
script_compilation_type, attribs);
script_map->AppendDescriptor(&d); script_map->AppendDescriptor(&d);
} }
Handle<AccessorInfo> script_line_ends =
Accessors::ScriptLineEndsInfo(isolate(), attribs);
{ {
CallbacksDescriptor d(line_ends_string, script_line_ends, attribs); CallbacksDescriptor d(Handle<Name>(Name::cast(script_line_ends->name())),
script_line_ends, attribs);
script_map->AppendDescriptor(&d); script_map->AppendDescriptor(&d);
} }
Handle<AccessorInfo> script_context_data =
Accessors::ScriptContextDataInfo(isolate(), attribs);
{ {
CallbacksDescriptor d( CallbacksDescriptor d(
context_data_string, script_context_data, attribs); Handle<Name>(Name::cast(script_context_data->name())),
script_context_data, attribs);
script_map->AppendDescriptor(&d); script_map->AppendDescriptor(&d);
} }
Handle<AccessorInfo> script_eval_from_script =
Accessors::ScriptEvalFromScriptInfo(isolate(), attribs);
{ {
CallbacksDescriptor d( CallbacksDescriptor d(
eval_from_script_string, script_eval_from_script, attribs); Handle<Name>(Name::cast(script_eval_from_script->name())),
script_eval_from_script, attribs);
script_map->AppendDescriptor(&d); script_map->AppendDescriptor(&d);
} }
Handle<AccessorInfo> script_eval_from_script_position =
Accessors::ScriptEvalFromScriptPositionInfo(isolate(), attribs);
{ {
CallbacksDescriptor d( CallbacksDescriptor d(
eval_from_script_position_string, Handle<Name>(Name::cast(script_eval_from_script_position->name())),
script_eval_from_script_position, script_eval_from_script_position, attribs);
attribs);
script_map->AppendDescriptor(&d); script_map->AppendDescriptor(&d);
} }
Handle<AccessorInfo> script_eval_from_function_name =
Accessors::ScriptEvalFromFunctionNameInfo(isolate(), attribs);
{ {
CallbacksDescriptor d( CallbacksDescriptor d(
eval_from_function_name_string, Handle<Name>(Name::cast(script_eval_from_function_name->name())),
script_eval_from_function_name, script_eval_from_function_name, attribs);
attribs);
script_map->AppendDescriptor(&d); script_map->AppendDescriptor(&d);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment