Chromium Code Reviews
DescriptionGenerate a class table of all the IDL classes in the database. This table is used
to access the C++ class hierachy information to do a proper subtype of check.
The new subtype of check improves the following benchmarks
Dromaeo-drt dom-modify appendChild runs-per-second from 889.0 to 1575.0
Dromaeo-drt dom-modify insertBefore runs-per-second from 592.4075924075925 to 1298.0
The generated class table is as follows:
enum {
_HistoryCrossFrameClassId = 0,
_LocationCrossFrameClassId,
_DOMWindowCrossFrameClassId,
_DateTimeClassId,
// New types that are not auto-generated should be added here.
ANGLEInstancedArraysClassId,
AbstractWorkerClassId,
....
....
};
typedef struct {
const char* class_name;
int library_id;
int base_class_id;
bool is_node;
bool is_active;
bool is_event;
} _Classinfo;
typedef _Classinfo _DartWebkitClassInfo[NumWebkitClassIds];
_DartWebkitClassInfo DartWebkitClassInfo = {
{ "_HistoryCrossFrame", DartHtmlLibraryId, -1, false, false, false },
{ "_LocationCrossFrame", DartHtmlLibraryId, -1, false, false, false },
{ "_DOMWindowCrossFrame", DartHtmlLibraryId, -1, false, false, true },
{ "DateTime", DartCoreLibraryId, -1, false, false, false },
// New types that are not auto-generated should be added here.
{ "AngleInstancedArrays", DartWebGlLibraryId, -1, false, false, false, },
{ "AbstractWorker", DartHtmlLibraryId, -1, false, false, false, },
.....
.....
};
R=rmacnak@google.com, vsm@google.com
Committed: https://code.google.com/p/dart/source/detail?r=28821
Patch Set 1 #Patch Set 2 : #Patch Set 3 : #
Total comments: 3
Messages
Total messages: 7 (0 generated)
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||