Ignore:
Timestamp:
Nov 10, 2015, 12:22:07 AM (10 years ago)
Author:
[email protected]
Message:

create_hash_table should know whether a function is JSBuiltin or not.
https://bugs.webkit.org/show_bug.cgi?id=151016

Reviewed by Darin Adler.

lut description information can explicitly state that a function is to be implemented as a JS built-in.
To do so, the field used to give the C++ function must be set to "JSBuiltin".
Updated create_hash_table script to handle that.
create_hash_table only includes JSCBuiltins.h if at least one function is set to "JSBuiltin".

Updated builtin generator to remove XX_BUILTIN_EXIST macro.
A further patch should simplify the build system by removing create_hash_table -b option.

Changes to the builtin generator are covered by rebased expectations.

Moved all lut information to using JSBuiltin whenever needed.

  • Scripts/builtins/builtins_generate_combined_header.py:

(generate_section_for_object): Deleted.
(generate_section_for_code_table_macro): Deleted.

  • Scripts/builtins/builtins_templates.py:
  • Scripts/tests/builtins/expected/JavaScriptCore-Builtin.Promise-Combined.js-result:
  • Scripts/tests/builtins/expected/JavaScriptCore-Builtin.Promise-Separate.js-result:
  • Scripts/tests/builtins/expected/JavaScriptCore-Builtin.prototype-Combined.js-result:
  • Scripts/tests/builtins/expected/JavaScriptCore-Builtin.prototype-Separate.js-result:
  • Scripts/tests/builtins/expected/JavaScriptCore-BuiltinConstructor-Combined.js-result:
  • Scripts/tests/builtins/expected/JavaScriptCore-BuiltinConstructor-Separate.js-result:
  • Scripts/tests/builtins/expected/WebCore-ArbitraryConditionalGuard-Separate.js-result:
  • Scripts/tests/builtins/expected/WebCore-GuardedBuiltin-Separate.js-result:
  • Scripts/tests/builtins/expected/WebCore-GuardedInternalBuiltin-Separate.js-result:
  • Scripts/tests/builtins/expected/WebCore-UnguardedBuiltin-Separate.js-result:
  • Scripts/tests/builtins/expected/WebCore-xmlCasingTest-Separate.js-result:
  • create_hash_table:
  • runtime/ArrayConstructor.cpp:
  • runtime/ArrayIteratorPrototype.cpp:
  • runtime/InspectorInstrumentationObject.cpp:
  • runtime/JSInternalPromiseConstructor.cpp:
  • runtime/JSPromiseConstructor.cpp:
  • runtime/JSPromisePrototype.cpp:
  • runtime/ModuleLoaderObject.cpp:
  • runtime/ObjectConstructor.cpp:
  • runtime/ReflectObject.cpp:
  • runtime/StringConstructor.cpp:
  • runtime/StringIteratorPrototype.cpp:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/runtime/ReflectObject.cpp

    r188532 r192204  
    5757/* Source for ReflectObject.lut.h
    5858@begin reflectObjectTable
    59     apply                    reflectObjectApply                    DontEnum|Function 3
     59    apply                    JSBuiltin                             DontEnum|Function 3
    6060    defineProperty           reflectObjectDefineProperty           DontEnum|Function 3
    61     deleteProperty           reflectObjectDeleteProperty           DontEnum|Function 2
     61    deleteProperty           JSBuiltin                             DontEnum|Function 2
    6262    enumerate                reflectObjectEnumerate                DontEnum|Function 1
    6363    get                      reflectObjectGet                      DontEnum|Function 2
    6464    getOwnPropertyDescriptor reflectObjectGetOwnPropertyDescriptor DontEnum|Function 2
    6565    getPrototypeOf           reflectObjectGetPrototypeOf           DontEnum|Function 1
    66     has                      reflectObjectHas                      DontEnum|Function 2
     66    has                      JSBuiltin                             DontEnum|Function 2
    6767    isExtensible             reflectObjectIsExtensible             DontEnum|Function 1
    6868    ownKeys                  reflectObjectOwnKeys                  DontEnum|Function 1
Note: See TracChangeset for help on using the changeset viewer.