12010-02-09 Alexey Proskuryakov <ap@apple.com> 2 3 Reviewed by Geoffrey Garen. 4 5 https://bugs.webkit.org/show_bug.cgi?id=34490 6 WebCore::ImageEventSender::dispatchPendingEvents() crashes in certain conditions 7 8 * ForwardingHeaders/wtf/ValueCheck.h: Added. 9 102010-02-04 Mark Rowe <mrowe@apple.com> 11 12 Reviewed by Timothy Hatcher. 13 14 Build fix. Remove a symbol corresponding to an inline function from the linker export 15 file to prevent a weak external failure. 16 17 * JavaScriptGlue.xcodeproj/project.pbxproj: Accommodate rename of script. 18 192010-01-28 Oliver Hunt <oliver@apple.com> 20 21 Reviewed by Gavin Barraclough. 22 23 Simplify anonymous slot implementation 24 https://bugs.webkit.org/show_bug.cgi?id=34282 25 26 Update JSGlue Structure usage to pass the anonymous slot count. 27 28 * UserObjectImp.h: 29 (UserObjectImp::createStructure): 30 312010-01-12 Kent Hansen <kent.hansen@nokia.com> 32 33 Reviewed by Geoffrey Garen. 34 35 [ES5] Implement Object.getOwnPropertyNames 36 https://bugs.webkit.org/show_bug.cgi?id=32242 37 38 Add new argument to the reimplementation of getOwnPropertyNames(). 39 40 * UserObjectImp.cpp: 41 (UserObjectImp::getOwnPropertyNames): 42 * UserObjectImp.h: 43 442010-01-07 Alexey Proskuryakov <ap@apple.com> 45 46 Mac build fix. 47 48 * config.h: Define JS_EXPORTCLASS for JavaScriptGlue. 49 502010-01-05 Gavin Barraclough <barraclough@apple.com> 51 52 Reviewed by Sam Weinig. 53 54 https://bugs.webkit.org/show_bug.cgi?id=33236 55 Remove m_identifierTable pointer from UString 56 57 Add API shims similar to those used in the JSC API to track the current identifierTable. 58 59 * JSBase.cpp: 60 (JSBase::Release): 61 * JSUtils.cpp: 62 (JSObjectKJSValue): 63 (KJSValueToCFTypeInternal): 64 (unprotectGlobalObject): 65 (JSGlueAPIEntry::JSGlueAPIEntry): 66 (JSGlueAPIEntry::~JSGlueAPIEntry): 67 (JSGlueAPICallback::JSGlueAPICallback): 68 (JSGlueAPICallback::~JSGlueAPICallback): 69 * JSUtils.h: 70 * JSValueWrapper.cpp: 71 (JSValueWrapper::JSObjectCopyPropertyNames): 72 (JSValueWrapper::JSObjectCopyProperty): 73 (JSValueWrapper::JSObjectSetProperty): 74 (JSValueWrapper::JSObjectCallFunction): 75 (JSValueWrapper::JSObjectCopyCFValue): 76 * JavaScriptGlue.cpp: 77 (JSRunCreate): 78 (JSRunEvaluate): 79 (JSRunCheckSyntax): 80 (JSCollect): 81 * JavaScriptGlue.xcodeproj/project.pbxproj: 82 * UserObjectImp.cpp: 83 (UserObjectImp::callAsFunction): 84 852010-01-04 Gavin Barraclough <barraclough@apple.com> 86 87 Reviewed by Sam Weinig. 88 89 Add a forwarding header so that StringHashFunctions.h can be found. 90 91 * ForwardingHeaders/wtf/StringHashFunctions.h: Added. 92 932010-01-04 Dan Bernstein <mitz@apple.com> 94 95 Reviewed by Ada Chan and Mark Rowe. 96 97 Updated copyright string 98 99 * Info.plist: 100 1012009-12-21 Gavin Barraclough <barraclough@apple.com> 102 103 Reviewed by Darin Adler. 104 105 https://bugs.webkit.org/show_bug.cgi?id=32831 106 Replace UString::Rep implementation, following introduction of ropes to JSC. 107 108 * ForwardingHeaders/wtf/PossiblyNull.h: Added. 109 - add forwarding header. 110 1112009-12-16 Mark Rowe <mrowe@apple.com> 112 113 Build fix. Disable debug variants of WebKit frameworks. 114 115 * JavaScriptGlue.xcodeproj/project.pbxproj: 116 1172009-12-13 Geoffrey Garen <ggaren@apple.com> 118 119 Reviewed by Sam Weinig. 120 121 Changed GC from mark-sweep to mark-allocate. 122 123 * JavaScriptGlue.cpp: 124 (JSCollect): Updated for rename. Fixed a bug where JSGlue would not check 125 to avoid nested GC calls. 126 1272009-12-08 Dmitry Titov <dimich@chromium.org> 128 129 Rubber-stamped by David Levin. 130 131 Revert and reopen "Add asserts to RefCounted to make sure ref/deref happens on the right thread." 132 It may have caused massive increase of reported leaks on the bots. 133 https://bugs.webkit.org/show_bug.cgi?id=31639 134 135 * ForwardingHeaders/wtf/ThreadVerifier.h: Removed. 136 1372009-12-08 Dmitry Titov <dimich@chromium.org> 138 139 Reviewed by Darin Adler. 140 141 Add asserts to RefCounted to make sure ref/deref happens on the right thread. 142 https://bugs.webkit.org/show_bug.cgi?id=31639 143 144 * ForwardingHeaders/wtf/ThreadVerifier.h: Added. 145 1462009-11-24 Mark Rowe <mrowe@apple.com> 147 148 Fix production builds where the source tree may be read-only. 149 150 * JavaScriptGlue.xcodeproj/project.pbxproj: 151 1522009-11-08 David Levin <levin@chromium.org> 153 154 Reviewed by NOBODY (chromium build fix). 155 156 Added the use jsc define for files that use 157 this config file and DateMath.h. This should 158 be able to go away when DateMath is properly 159 split into wtf and jsc portions which is this bug: 160 https://bugs.webkit.org/show_bug.cgi?id=31246 161 162 * config.h: 163 1642009-11-06 Geoffrey Garen <ggaren@apple.com> 165 166 Reviewed by Oliver Hunt. 167 168 https://bugs.webkit.org/show_bug.cgi?id=31197 169 Implemented a timezone cache not based on Mac OS X's notify_check API. 170 171 * ForwardingHeaders/wtf/CurrentTime.h: Added. 172 1732009-10-27 Geoffrey Garen <ggaren@apple.com> 174 175 Build fix: Updated for JavaScriptCore export changes. 176 177 * ForwardingHeaders/wtf/DateInstanceCache.h: Added. 178 1792009-10-27 Geoffrey Garen <ggaren@apple.com> 180 181 Reviewed by Oliver Hunt. 182 183 Updated for JavaScriptCore export changes. 184 185 * ForwardingHeaders/wtf/DateMath.h: Added. 186 1872009-10-27 Dan Bernstein <mitz@apple.com> 188 189 Reviewed by Darin Adler. 190 191 Updated license 192 193 * LICENSE: 194 1952009-10-16 Oliver Hunt <oliver@apple.com> 196 197 Reviewed by Gavin Barraclough. 198 199 Make typeinfo flags default to false 200 https://bugs.webkit.org/show_bug.cgi?id=30372 201 202 Last part -- replace HasDefaultGetPropertyNames with OverridesGetPropertyNames 203 flag. 204 205 * UserObjectImp.h: 206 (UserObjectImp::createStructure): 207 2082009-10-15 Oliver Hunt <oliver@apple.com> 209 210 Reviewed by Darin Adler. 211 212 Make typeinfo flags default to false 213 https://bugs.webkit.org/show_bug.cgi?id=30372 214 215 Part 2 -- Reverse the TypeInfo HasDefaultMark flag to OverridesMarkChildren, etc 216 217 * UserObjectImp.h: 218 (UserObjectImp::createStructure): 219 2202009-10-14 Oliver Hunt <oliver@apple.com> 221 222 Reviewed by Geoff Garen. 223 224 Make typeinfo flags default to false 225 https://bugs.webkit.org/show_bug.cgi?id=30372 226 227 Part 1. Reverse the HasStandardGetOwnPropertySlot flag. 228 229 * UserObjectImp.h: 230 (UserObjectImp::createStructure): 231 2322009-09-28 Geoffrey Garen <ggaren@apple.com> 233 234 Reviewed by Sam Weinig. 235 236 Removed virtual destructor from JSGlobalObjectData to eliminate pointer 237 fix-ups when accessing JSGlobalObject::d. 238 239 Replaced with an explicit destructor function pointer. 240 241 * JSRun.cpp: 242 (JSGlueGlobalObject::destroyData): 243 * JSRun.h: 244 (JSGlueGlobalObject::Data::Data): 245 2462009-09-12 Oliver Hunt <oliver@apple.com> 247 248 Reviewed by Maciej Stachowiak. 249 250 [ES5] Implement Object.keys 251 https://bugs.webkit.org/show_bug.cgi?id=29170 252 253 Switch over to getOwnPropertyNames instead of getPropertyNames. 254 255 * UserObjectImp.cpp: 256 (UserObjectImp::getOwnPropertyNames): 257 * UserObjectImp.h: 258 2592009-09-02 Darin Adler <darin@apple.com> 260 261 Reviewed by Geoff Garen. 262 263 * JSValueWrapper.cpp: 264 (JSValueWrapper::JSObjectMark): Removed a check of the mark 265 bit. It's OK to do more work in this case, and there is no 266 longer a public function to access the mark bit. 267 2682009-08-14 Darin Adler <darin@apple.com> 269 270 Reviewed by Sam Weinig. 271 272 Rename the confusing isObject(<class>) to inherits(<class>). 273 It still works on non-objects, returning false. 274 275 * JSUtils.cpp: 276 (KJSValueToJSObject): 277 (KJSValueToCFTypeInternal): 278 Changed from isObject to inherits. 279 2802009-08-13 Oliver Hunt <oliver@apple.com> 281 282 Reviewed by Maciej Stachowiak. 283 284 Devirtualise marking 285 https://bugs.webkit.org/show_bug.cgi?id=28294 286 287 Continue to jump through hoops to deal with the exposed marking routines 288 in JavaScriptGlue. 289 290 * JSValueWrapper.cpp: 291 (JSValueWrapper::JSObjectMark): 292 2932009-08-07 Oliver Hunt <oliver@apple.com> 294 295 Reviewed by Sam Weinig. 296 297 Stack overflow crash in JavaScript garbage collector mark pass 298 https://bugs.webkit.org/show_bug.cgi?id=12216 299 300 Make JSGlue interact with the new iterative mark logic. 301 302 * JSValueWrapper.cpp: 303 (JSValueWrapper::JSObjectMark): 304 Unfortunately JSGlue exposes recursive marking so we can only flatten 305 the recursion. We just create a local mark stack if necessary and mark 306 the given object iteratively from this point. 307 * UserObjectImp.cpp: 308 (UserObjectImp::markChildren): 309 * UserObjectImp.h: 310 3112009-08-06 Mark Rowe <mrowe@apple.com> 312 313 Rubber-stamped by Sam Weinig. 314 315 Add explicit dependencies for our build verification scripts to ensure that they always run after linking has completed. 316 317 * JavaScriptGlue.xcodeproj/project.pbxproj: 318 3192009-07-27 Alexey Proskuryakov <ap@webkit.org> 320 321 Reviewed by Darin Adler. 322 323 https://bugs.webkit.org/show_bug.cgi?id=27735 324 Give a helpful name to JSLock constructor argument 325 326 * JSBase.cpp: 327 (JSBase::Release): 328 * JSUtils.cpp: 329 (JSObjectKJSValue): 330 (KJSValueToCFTypeInternal): 331 (unprotectGlobalObject): 332 * JSValueWrapper.cpp: 333 (JSValueWrapper::JSObjectCopyPropertyNames): 334 (JSValueWrapper::JSObjectCopyProperty): 335 (JSValueWrapper::JSObjectSetProperty): 336 (JSValueWrapper::JSObjectCallFunction): 337 (JSValueWrapper::JSObjectCopyCFValue): 338 * JavaScriptGlue.cpp: 339 (JSRunCreate): 340 (JSRunEvaluate): 341 (JSRunCheckSyntax): 342 (JSCollect): 343 (JSLockInterpreter): 344 (JSUnlockInterpreter): 345 3462009-07-10 Adam Roben <aroben@apple.com> 347 348 Sort all our Xcode projects 349 350 Accomplished using sort-Xcode-project-file. 351 352 Requested by Dave Kilzer. 353 354 * JavaScriptGlue.xcodeproj/project.pbxproj: 355 3562009-07-08 Darin Adler <darin@apple.com> 357 358 Reviewed by Dan Bernstein 359 360 - fix <rdar://problem/6971484> REGRESSION (r30534): "Scrolling Credits" 361 effect does not scroll on iMovie 7.1.4 on Tiger 362 363 In <http://trac.webkit.org/changeset/30534>, the prototype of 364 JSObject::put() which UserObjectImp had been overriding changed, but 365 UserObjectImp wasn't updated, so its override was no longer getting 366 called after that. 367 368 * UserObjectImp.cpp: 369 (UserObjectImp::put): Match the current prototype of JSObject::put(). 370 The PutPropertySlot argument is unused. 371 * UserObjectImp.h: Ditto. 372 3732009-06-19 Zoltan Horvath <hzoltan@inf.u-szeged.hu> 374 375 Reviewed by Darin Adler. 376 377 Add FastAllocBase.h to JavaScriptGlue's ForwardingHeaders/wtf, because it's needed by HashCountedSet.h on MAC. 378 379 * ForwardingHeaders/wtf/FastAllocBase.h: Added. 380 3812009-06-02 Mark Rowe <mrowe@apple.com> 382 383 Reviewed by Anders Carlsson. 384 385 Remove workaround that was added to address <rdar://problem/5488678> as it no longer affects our Tiger builds. 386 387 * Configurations/Base.xcconfig: 388 3892009-05-25 David Levin <levin@chromium.org> 390 391 Reviewed by Maciej Stachowiak and Oliver Hunt. 392 393 https://bugs.webkit.org/show_bug.cgi?id=25126 394 395 Added forwarding headers. 396 397 * ForwardingHeaders/wtf/CrossThreadRefCounted.h: Added. 398 * ForwardingHeaders/wtf/OwnFastMallocPtr.h: Added. 399 4002009-05-23 David Kilzer <ddkilzer@apple.com> 401 402 Part 1 of 2: Bug 25495: Implement PassOwnPtr and replace uses of std::auto_ptr 403 404 <https://bugs.webkit.org/show_bug.cgi?id=25495> 405 406 Reviewed by Oliver Hunt. 407 408 * ForwardingHeaders/wtf/OwnPtrCommon.h: Added. 409 * ForwardingHeaders/wtf/PassOwnPtr.h: Added. 410 4112009-05-14 Mark Rowe <mrowe@apple.com> 412 413 Rubber-stamped by Darin Adler. 414 415 <rdar://problem/6681868> When building with Xcode 3.1.3 should be using gcc 4.2 416 417 The meaning of XCODE_VERSION_ACTUAL is more sensible in newer versions of Xcode. 418 Update our logic to select the compiler version to use the more appropriate XCODE_VERSION_MINOR 419 if the version of Xcode supports it, and fall back to XCODE_VERSION_ACTUAL if not. 420 421 * Configurations/Base.xcconfig: 422 4232009-05-07 Oliver Hunt <oliver@apple.com> 424 425 Reviewed by Gavin Barraclough. 426 427 Add calling convention annotation 428 429 * JSObject.cpp: 430 4312009-05-01 Geoffrey Garen <ggaren@apple.com> 432 433 Rubber Stamped by Sam Weinig. 434 435 Renamed JSValuePtr => JSValue. 436 437 * JSObject.cpp: 438 (nativeCallFunction): 439 * JSUtils.cpp: 440 (KJSValueToJSObject): 441 (JSObjectKJSValue): 442 (KJSValueToCFTypeInternal): 443 (KJSValueToCFType): 444 * JSUtils.h: 445 * JSValueWrapper.cpp: 446 (JSValueWrapper::JSValueWrapper): 447 (JSValueWrapper::GetValue): 448 (JSValueWrapper::JSObjectCopyProperty): 449 (JSValueWrapper::JSObjectSetProperty): 450 (JSValueWrapper::JSObjectCallFunction): 451 * JSValueWrapper.h: 452 * UserObjectImp.cpp: 453 (UserObjectImp::callAsFunction): 454 (UserObjectImp::userObjectGetter): 455 (UserObjectImp::getOwnPropertySlot): 456 (UserObjectImp::put): 457 (UserObjectImp::toPrimitive): 458 * UserObjectImp.h: 459 (UserObjectImp::createStructure): 460 4612009-04-29 Oliver Hunt <oliver@apple.com> 462 463 Reviewed by Gavin Barraclough. 464 465 Clean up ArgList to be a trivial type 466 467 Start using MarkedArgumentBuffer to create argument lists for function calls 468 469 * JSValueWrapper.cpp: 470 (JSValueWrapper::JSObjectCallFunction): 471 4722009-04-28 Geoffrey Garen <ggaren@apple.com> 473 474 Rubber stamped by Beth Dakin. 475 476 Missed one. 477 478 * UserObjectImp.cpp: 479 (UserObjectImp::callAsFunction): 480 4812009-04-21 Geoffrey Garen <ggaren@apple.com> 482 483 Reviewed by Mark Rowe. 484 485 Tiger crash fix: Put VM tags in their own header file, and fixed up the 486 #ifdefs so they're not used on Tiger. 487 488 * ForwardingHeaders/wtf/VMTags.h: Copied from JavaScriptGlue/ForwardingHeaders/wtf/HashTraits.h. 489 4902009-04-20 Sam Weinig <sam@webkit.org> 491 492 Rubber-stamped by Tim Hatcher. 493 494 Add licenses for xcconfig files. 495 496 * Configurations/Base.xcconfig: 497 * Configurations/DebugRelease.xcconfig: 498 * Configurations/JavaScriptGlue.xcconfig: 499 * Configurations/Version.xcconfig: 500 5012009-03-13 Mark Rowe <mrowe@apple.com> 502 503 Rubber-stamped by Dan Bernstein. 504 505 Take advantage of the ability of recent versions of Xcode to easily switch the active 506 architecture. 507 508 * Configurations/DebugRelease.xcconfig: 509 5102009-02-24 Mark Rowe <mrowe@apple.com> 511 512 Rubber-stamped by Dan Bernstein. 513 514 <rdar://problem/6407844> JavaScriptGlue should use -Os rather than -O2 515 516 * Configurations/Base.xcconfig: 517 5182009-01-28 Sam Weinig <sam@webkit.org> 519 520 Reviewed by Gavin Barraclough. 521 522 Fix for <rdar://problem/6525537> 523 Hang occurs when closing Installer window (iTunes, Aperture) 524 525 * JSUtils.cpp: 526 (getThreadGlobalObject): Use the shared JSGlobalData instance. 527 5282009-01-22 Mark Rowe <mrowe@apple.com> 529 530 Rubber-stamped by Anders Carlsson. 531 532 Disable GCC_WARN_ABOUT_MISSING_PROTOTYPES temporarily. 533 534 Current versions of Xcode only respect it for C and Objective-C files, 535 and our code doesn't currently compile if it is applied to C++ and 536 Objective-C++ files. 537 538 * Configurations/Base.xcconfig: 539 5402009-01-19 Sam Weinig <sam@webkit.org> 541 542 Rubber-stamped by Gavin Barraclough. 543 544 Remove temporary operator-> from JSValuePtr. 545 546 * JSUtils.cpp: 547 (KJSValueToJSObject): 548 (KJSValueToCFTypeInternal): 549 * JSValueWrapper.cpp: 550 (JSValueWrapper::JSObjectCopyPropertyNames): 551 (JSValueWrapper::JSObjectCopyProperty): 552 (JSValueWrapper::JSObjectSetProperty): 553 (JSValueWrapper::JSObjectCallFunction): 554 (JSValueWrapper::JSObjectMark): 555 * UserObjectImp.cpp: 556 (UserObjectImp::getOwnPropertySlot): 557 5582009-01-14 Dan Bernstein <mitz@apple.com> 559 560 Reviewed by John Sullivan. 561 562 - update copyright 563 564 * Info.plist: 565 5662009-01-09 David Levin <levin@chromium.org> 567 568 Reviewed by Oliver Hunt. 569 570 https://bugs.webkit.org/show_bug.cgi?id=23175 571 572 Added forwarding header. 573 574 * ForwardingHeaders/wtf/PtrAndFlags.h: Added. 575 5762009-01-05 Gavin Barraclough <baraclough@apple.com> 577 578 Rubber Stamped by Oliver Hunt. 579 580 Replace all uses of JSValue* with new wrapper class, JSValuePtr. 581 See JavaScriptCore/ChangeLog for more detailed description. 582 583 * JSObject.cpp: 584 (nativeCallFunction): 585 * JSUtils.cpp: 586 (KJSValueToJSObject): 587 (JSObjectKJSValue): 588 (KJSValueToCFTypeInternal): 589 (KJSValueToCFType): 590 * JSUtils.h: 591 * JSValueWrapper.cpp: 592 (JSValueWrapper::JSValueWrapper): 593 (JSValueWrapper::GetValue): 594 (JSValueWrapper::JSObjectCopyProperty): 595 (JSValueWrapper::JSObjectSetProperty): 596 (JSValueWrapper::JSObjectCallFunction): 597 * JSValueWrapper.h: 598 * UserObjectImp.cpp: 599 (UserObjectImp::callAsFunction): 600 (UserObjectImp::userObjectGetter): 601 (UserObjectImp::getOwnPropertySlot): 602 (UserObjectImp::put): 603 (UserObjectImp::toPrimitive): 604 * UserObjectImp.h: 605 (UserObjectImp::createStructure): 606 6072008-12-15 Mark Rowe <mrowe@apple.com> 608 609 Rubber-stamped by Cameron Zwarich. 610 611 <rdar://problem/6289933> Change WebKit-related projects to build with GCC 4.2 on Leopard. 612 613 * Configurations/Base.xcconfig: 614 * Configurations/DebugRelease.xcconfig: 615 6162008-12-08 David Kilzer <ddkilzer@apple.com> 617 618 Bug 22555: Sort "children" sections in Xcode project files 619 620 <https://bugs.webkit.org/show_bug.cgi?id=22555> 621 622 Reviewed by Eric Seidel. 623 624 * JavaScriptGlue.xcodeproj/project.pbxproj: Sorted. 625 6262008-11-17 Geoffrey Garen <ggaren@apple.com> 627 628 Reviewed by Sam Weinig. 629 630 Updated for JavaScriptCore rename. 631 632 * ForwardingHeaders/runtime/CallFrame.h: Copied from JavaScriptGlue/ForwardingHeaders/runtime/ExecState.h. 633 * ForwardingHeaders/runtime/ExecState.h: Removed. 634 * config.h: 635 6362008-11-17 Geoffrey Garen <ggaren@apple.com> 637 638 Reviewed by Sam Weinig. 639 640 Updated for JavaScriptCore rename. 641 642 * ForwardingHeaders/interpreter: Added. 643 * ForwardingHeaders/interpreter/CallFrame.h: Copied from ForwardingHeaders/runtime/ExecState.h. 644 * ForwardingHeaders/runtime/ExecState.h: Removed. 645 6462008-11-15 Darin Adler <darin@apple.com> 647 648 Rubber stamped by Geoff Garen. 649 650 - do the long-planned StructureID -> Structure rename 651 652 * JSRun.cpp: 653 (JSGlueGlobalObject::JSGlueGlobalObject): 654 (JSRun::JSRun): 655 * JSRun.h: 656 (JSGlueGlobalObject::userObjectStructure): 657 * JSUtils.cpp: 658 (getThreadGlobalObject): 659 * UserObjectImp.cpp: 660 (UserObjectImp::UserObjectImp): 661 * UserObjectImp.h: 662 (UserObjectImp::createStructure): 663 6642008-11-15 Geoffrey Garen <ggaren@apple.com> 665 666 Reviewed by Sam Weinig. 667 668 Updated for JavaScriptCore renames. 669 670 * JSRun.cpp: 671 (JSRun::Evaluate): 672 (JSRun::CheckSyntax): 673 6742008-11-05 Cameron Zwarich <zwarich@apple.com> 675 676 Not reviewed. 677 678 Fix the JavaScriptGlue build. This wouldn't show up unless one was 679 doing a clean build, because changes in JavaScriptCore don't cause 680 anything in JavaScriptGlue to get rebuilt. 681 682 * JSRun.cpp: 683 * JSUtils.h: 684 * JavaScriptGlue.cpp: 685 6862008-11-04 Cameron Zwarich <zwarich@apple.com> 687 688 Reviewed by Mark Rowe. 689 690 Remove JavaScriptGlue forwarding headers that are no longer necessary, 691 and correct the path of the ExecState.h forwarding header. 692 693 * ForwardingHeaders/kjs: Removed. 694 * ForwardingHeaders/kjs/CTI.h: Removed. 695 * ForwardingHeaders/kjs/ExecState.h: Removed. 696 * ForwardingHeaders/kjs/JSValue.h: Removed. 697 * ForwardingHeaders/kjs/PutPropertySlot.h: Removed. 698 * ForwardingHeaders/kjs/ustring.h: Removed. 699 * ForwardingHeaders/runtime: Added. 700 * ForwardingHeaders/runtime/ExecState.h: Copied from ForwardingHeaders/kjs/ExecState.h. 701 * config.h: 702 7032008-10-31 Stephanie Lewis <slewis@apple.com> 704 705 Fix build by including right files. 706 707 * JSRun.cpp: 708 7092008-10-30 Mark Rowe <mrowe@apple.com> 710 711 Reviewed by Jon Homeycutt. 712 713 Explicitly default to building for only the native architecture in debug and release builds. 714 715 * Configurations/DebugRelease.xcconfig: 716 7172008-10-24 Darin Adler <darin@apple.com> 718 719 - finish rolling out https://bugs.webkit.org/show_bug.cgi?id=21732 720 721 * JSObject.cpp: 722 (nativeCallFunction): 723 * JSUtils.cpp: 724 (KJSValueToJSObject): 725 (JSObjectKJSValue): 726 (KJSValueToCFTypeInternal): 727 (KJSValueToCFType): 728 * JSUtils.h: 729 * JSValueWrapper.cpp: 730 (JSValueWrapper::JSValueWrapper): 731 (JSValueWrapper::GetValue): 732 (JSValueWrapper::JSObjectCopyProperty): 733 (JSValueWrapper::JSObjectSetProperty): 734 (JSValueWrapper::JSObjectCallFunction): 735 * JSValueWrapper.h: 736 * UserObjectImp.cpp: 737 (UserObjectImp::callAsFunction): 738 (UserObjectImp::userObjectGetter): 739 (UserObjectImp::getOwnPropertySlot): 740 (UserObjectImp::put): 741 (UserObjectImp::toPrimitive): 742 * UserObjectImp.h: 743 (UserObjectImp::createStructureID): 744 Use JSValue* instead of JSValuePtr. 745 7462008-10-23 Darin Adler <darin@apple.com> 747 748 - roll out https://bugs.webkit.org/show_bug.cgi?id=21732 749 750 * JSValueWrapper.cpp: 751 (JSValueWrapper::GetValue): Added missing call to .get(). 752 * JSValueWrapper.h: ProtectedPtr<JSValue> instead of ProtectedPtr<JSValuePtr>. 753 7542008-10-22 Darin Adler <darin@apple.com> 755 756 Reviewed by Sam Weinig. 757 758 - fix https://bugs.webkit.org/show_bug.cgi?id=21294 759 Bug 21294: Devirtualize getOwnPropertySlot() 760 761 * JSRun.cpp: 762 (JSGlueGlobalObject::JSGlueGlobalObject): Moved constructor here. 763 Set up flags in its new location in global object data, and set up 764 a structure for UserObjectImp too. 765 (JSRun::JSRun): Added code to give the JSGlueGlobalObject its own unique 766 structure, rather than using the default one from JSGlobalObject. 767 768 * JSRun.h: Made JSGlueGlobalObject take a structure ID. Also moved 769 the data into a separate data object. And added userObjectStructure, 770 a Structure to be used by UserObjectImp. 771 772 * JSUtils.cpp: Removed unused sharedGlobalData global. 773 (JSObjectKJSValue): Pass Structure in when creating UserObjectImp. 774 (unprotectGlobalObject): Use JSGlueGLobalObject type specifically. 775 (initializeGlobalObjectKey): Removed code to set up unused sharedGlobalData. 776 (getThreadGlobalObject): Added. Shared by JSObjectKJSValue and 777 getThreadGlobalExecState. Also now passes in a structure ID when creating 778 the global object. 779 (getThreadGlobalExecState): Changed to call getThreadGlobalObject. 780 781 * UserObjectImp.cpp: 782 (UserObjectImp::UserObjectImp): Changed to take a structure. 783 * UserObjectImp.h: 784 (UserObjectImp::createStructureID): Added. Returns a structure without 785 HasStandardGetOwnPropertySlot since this class overrides getOwnPropertySlot. 786 7872008-10-20 Sam Weinig <sam@webkit.org> 788 789 Reviewed by Cameron Zwarich. 790 791 Fix for https://bugs.webkit.org/show_bug.cgi?id=21766 792 REGRESSION: 12 JSC tests fail 793 794 The JSGlobalObject constructor no longer takes a JSGlobalData 795 as an argument. 796 797 * JSRun.cpp: 798 (JSRun::JSRun): 799 * JSRun.h: 800 (JSGlueGlobalObject::JSGlueGlobalObject): 801 * JSUtils.cpp: 802 (getThreadGlobalExecState): 803 8042008-10-19 Darin Adler <darin@apple.com> 805 806 Reviewed by Oliver Hunt. 807 808 - next step of https://bugs.webkit.org/show_bug.cgi?id=21732 809 improve performance by eliminating JSValue as a base class for JSCell 810 811 Remove most uses of JSValue, which will be removed in a future patch. 812 813 * JSValueWrapper.h: Use JSValuePtr instead of JSValue*. 814 8152008-10-18 Darin Adler <darin@apple.com> 816 817 Reviewed by Oliver Hunt. 818 819 - next step of https://bugs.webkit.org/show_bug.cgi?id=21732 820 improve performance by eliminating JSValue as a base class for JSCell 821 822 Tweak a little more to get closer to where we can make JSValuePtr a class. 823 824 * JSObject.cpp: 825 (nativeCallFunction): Call asObject. 826 827 * JSUtils.cpp: 828 (KJSValueToJSObject): Use JSValuePtr and asObject. 829 (JSObjectKJSValue): Ditto. 830 (KJSValueToCFTypeInternal): Ditto. 831 (KJSValueToCFType): Ditto. 832 * JSUtils.h: Ditto. 833 834 * UserObjectImp.cpp: 835 (UserObjectImp::callAsFunction): Use JSValuePtr and asObject. 836 (UserObjectImp::userObjectGetter): Ditto. 837 (UserObjectImp::getOwnPropertySlot): Ditto. 838 (UserObjectImp::put): Ditto. 839 (UserObjectImp::toPrimitive): Ditto. 840 * UserObjectImp.h: Ditto. 841 8422008-10-18 Darin Adler <darin@apple.com> 843 844 Reviewed by Cameron Zwarich. 845 846 - next step on https://bugs.webkit.org/show_bug.cgi?id=21732 847 improve performance by eliminating JSValue as a base class for JSCell 848 849 Use JSValuePtr everywhere instead of JSValue*. In the future, we'll be 850 changing JSValuePtr to be a class, and then eventually renaming it 851 to JSValue once that's done. 852 853 * JSObject.cpp: 854 * JSValueWrapper.cpp: 855 * UserObjectImp.cpp: 856 * UserObjectImp.h: 857 Replace JSValue* with JSValuePtr. 858 8592008-10-13 Maciej Stachowiak <mjs@apple.com> 860 861 Rubber stamped by Mark Rowe. 862 863 - use gcc 4.2 when building with Xcode 3.1 or newer on Leopard, even though this is not the default 864 865 * Configurations/DebugRelease.xcconfig: 866 8672008-10-06 Maciej Stachowiak <mjs@apple.com> 868 869 Not reviewed. Build fix. 870 871 - revert toBoolean changes (r37333 and r37335); need to make WebCore work with these 872 873 * JSUtils.cpp: 874 (KJSValueToCFTypeInternal): 875 8762008-10-06 Maciej Stachowiak <mjs@apple.com> 877 878 Not reviewed. 879 880 - fix build; toBoolean no longer takes an ExecState 881 882 * JSUtils.cpp: 883 (KJSValueToCFTypeInternal): 884 8852008-10-04 Mark Rowe <mrowe@apple.com> 886 887 Reviewed by Tim Hatcher. 888 889 Add a 'Check For Weak VTables' build phase to catch weak vtables as early as possible. 890 891 * JavaScriptGlue.xcodeproj/project.pbxproj: 892 8932008-10-01 Geoffrey Garen <ggaren@apple.com> 894 895 Reviewed by Darin Adler and Cameron Zwarich. 896 897 * JSRun.cpp: 898 (JSRun::Evaluate): 899 (JSRun::CheckSyntax): Provide a SourceCode to the Interpreter, since 900 other APIs are no longer supported. 901 9022008-09-29 Geoffrey Garen <ggaren@apple.com> 903 904 Not reviewed. 905 906 Forwarding headers to fix the build. 907 908 * ForwardingHeaders/kjs/CTI.h: Copied from ForwardingHeaders/kjs/ExecState.h. 909 * ForwardingHeaders/kjs/ustring.h: Copied from ForwardingHeaders/kjs/ExecState.h. 910 * ForwardingHeaders/masm: Added. 911 * ForwardingHeaders/masm/X86Assembler.h: Added. 912 * ForwardingHeaders/profiler: Added. 913 * ForwardingHeaders/profiler/Profiler.h: Added. 914 9152008-09-08 Sam Weinig <sam@webkit.org> 916 917 Reviewed by Maciej Stachowiak and Oliver Hunt. 918 919 Add forwarding headers. 920 921 * ForwardingHeaders/wtf/HashFunctions.h: Added. 922 * ForwardingHeaders/wtf/HashTraits.h: Added. 923 9242008-09-02 Geoffrey Garen <ggaren@apple.com> 925 926 Reviewed by Sam Weinig. 927 928 Implemented the rest of Darin's review comments for the 09-01 inline 929 caching patch. 930 931 * ForwardingHeaders/kjs/PutPropertySlot.h: Added. 932 9332008-09-01 Geoffrey Garen <ggaren@apple.com> 934 935 Reviewed by Darin Adler. 936 937 First cut at inline caching for access to vanilla JavaScript properties. 938 939 Updated for JavaScriptCore changes. Mostly mechanical addition of StructureIDs 940 to JavaScriptGlue classes, and PutPropertySlot& arguments to put functions. 941 9422008-08-22 Anders Carlsson <andersca@apple.com> 943 944 Fix build for real this time. 945 946 * UserObjectImp.h: 947 9482008-08-22 Anders Carlsson <andersca@apple.com> 949 950 Fix build. 951 952 * UserObjectImp.cpp: 953 (UserObjectImp::toPrimitive): 954 * UserObjectImp.h: 955 9562008-08-19 Alexey Proskuryakov <ap@webkit.org> 957 958 Reviewed by Geoff Garen. 959 960 Bring back shared JSGlobalData and implicit locking, because too many clients rely on it. 961 962 * JSBase.cpp: 963 (JSBase::Release): 964 * JSUtils.cpp: 965 (JSObjectKJSValue): 966 (KJSValueToCFTypeInternal): 967 (unprotectGlobalObject): 968 * JSUtils.h: 969 * JSValueWrapper.cpp: 970 (JSValueWrapper::JSObjectCopyPropertyNames): 971 (JSValueWrapper::JSObjectCopyProperty): 972 (JSValueWrapper::JSObjectSetProperty): 973 (JSValueWrapper::JSObjectCallFunction): 974 (JSValueWrapper::JSObjectCopyCFValue): 975 * JavaScriptGlue.cpp: 976 (JSRunCreate): 977 (JSRunEvaluate): 978 (JSRunCheckSyntax): 979 (JSCollect): 980 (JSLockInterpreter): 981 (JSUnlockInterpreter): 982 * UserObjectImp.cpp: 983 (UserObjectImp::callAsFunction): 984 9852008-08-12 Darin Adler <darin@apple.com> 986 987 Reviewed by Geoff. 988 989 - eliminate JSValue::type() 990 991 * JSUtils.cpp: 992 (KJSValueToCFTypeInternal): Replaced uses of JSValue::type() with 993 JSValue::is functions. 994 * UserObjectImp.cpp: 995 (UserObjectImp::getOwnPropertySlot): Ditto. 996 (UserObjectImp::toPrimitive): Take PreferredPrimitiveType argument 997 instead of JSType argument. 998 * UserObjectImp.h: Ditto. 999 10002008-08-17 Geoffrey Garen <ggaren@apple.com> 1001 1002 Reviewed by Cameron Zwarich. 1003 1004 Updated project files to XCode 3.1. 1005 1006 * JavaScriptGlue.xcodeproj/project.pbxproj: 1007 10082008-08-15 Mark Rowe <mrowe@apple.com> 1009 1010 Rubber-stamped by Geoff Garen. 1011 1012 <rdar://problem/6139914> Please include a _debug version of JavaScriptCore framework 1013 1014 * Configurations/Base.xcconfig: Factor out the debug-only settings so that they can shared 1015 between the Debug configuration and debug Production variant. 1016 * JavaScriptGlue.xcodeproj/project.pbxproj: Enable the debug variant. 1017 10182008-07-31 Alexey Proskuryakov <ap@webkit.org> 1019 1020 Rubber-stamped by Maciej. 1021 1022 Eliminate JSLock (it was already disabled, removing the stub implementaion and all 1023 call sites now). 1024 1025 * JSBase.cpp: 1026 (JSBase::Release): 1027 * JSUtils.cpp: 1028 (JSObjectKJSValue): 1029 (KJSValueToCFTypeInternal): 1030 (unprotectGlobalObject): 1031 * JSUtils.h: 1032 * JSValueWrapper.cpp: 1033 (JSValueWrapper::JSObjectCopyPropertyNames): 1034 (JSValueWrapper::JSObjectCopyProperty): 1035 (JSValueWrapper::JSObjectSetProperty): 1036 (JSValueWrapper::JSObjectCallFunction): 1037 (JSValueWrapper::JSObjectCopyCFValue): 1038 * JavaScriptGlue.cpp: 1039 (JSRunCreate): 1040 (JSRunEvaluate): 1041 (JSRunCheckSyntax): 1042 (JSCollect): 1043 (JSLockInterpreter): 1044 (JSUnlockInterpreter): 1045 * UserObjectImp.cpp: 1046 (UserObjectImp::callAsFunction): 1047 10482008-07-29 Alexey Proskuryakov <ap@webkit.org> 1049 1050 Reviewed by Geoff Garen. 1051 1052 Implement JSContextGroup APIs to make concurrent execution possible for 1053 JavaScriptCore clients. 1054 1055 * JSRun.cpp: 1056 (JSRun::JSRun): 1057 * JSUtils.cpp: 1058 (getThreadGlobalExecState): 1059 Changed JavaScriptGlue to use a JSGlobalData of its own, now that there is no shared 1060 instance. 1061 10622008-07-23 Alexey Proskuryakov <ap@webkit.org> 1063 1064 Reviewed by Geoff Garen. 1065 1066 Make JSClassRef work with any context, not just the first one it was used in. 1067 1068 * ForwardingHeaders/wtf/HashMap.h: Added. 1069 10702008-07-22 Geoffrey Garen <ggaren@apple.com> 1071 1072 Reviewed by Oliver Hunt and Sam Weinig. 1073 1074 Next step toward putting doubles in registers: Prepare the Register class 1075 and its clients for registers that don't contain JSValue*s. 1076 10772008-07-21 Mark Rowe <mrowe@apple.com> 1078 1079 Reviewed by Sam Weinig. 1080 1081 <rdar://problem/6091287> Revamp the handling of CFBundleShortVersionString to be fixed at the major component of the version number. 1082 1083 * Configurations/Version.xcconfig: 1084 * Info.plist: 1085 10862008-07-18 Geoffrey Garen <ggaren@apple.com> 1087 1088 Reviewed by Cameron Zwarich. 1089 1090 Three renames: 1091 1092 "CallTypeNative" => "CallTypeHost" 1093 "code" => "byteCode" 1094 "generatedCode" => "generatedByteCode" 1095 1096 * ChangeLog: 1097 * JSObject.cpp: 1098 (JSUserObject::getCallData): 1099 11002008-07-14 Alexey Proskuryakov <ap@webkit.org> 1101 1102 Reviewed by Geoff Garen. 1103 1104 Eliminate per-thread JavaScript global data instance support and make arbitrary 1105 global data/global object combinations possible. 1106 1107 * ForwardingHeaders/wtf/ThreadSpecific.h: Added. 1108 * JSRun.cpp: 1109 (JSRun::JSRun): 1110 * JSUtils.cpp: 1111 (getThreadGlobalExecState): 1112 Adapt to the new way of asking for shared JSGlobalData. 1113 11142008-07-10 Mark Rowe <mrowe@apple.com> 1115 1116 Reviewed by Sam Weinig. 1117 1118 Define WEBKIT_VERSION_MIN_REQUIRED=WEBKIT_VERSION_LATEST when building WebKit to ensure that no symbols end up with the weak_import attribute. 1119 1120 * Configurations/JavaScriptGlue.xcconfig: 1121 11222008-07-09 Mark Rowe <mrowe@apple.com> 1123 1124 Reviewed by Geoff Garen. 1125 1126 Don't warn about deprecated functions in production builds. 1127 1128 * Configurations/Base.xcconfig: 1129 * Configurations/DebugRelease.xcconfig: 1130 11312008-07-08 Alexey Proskuryakov <ap@webkit.org> 1132 1133 Reviewed by Darin Adler. 1134 1135 <rdar://problem/6058368> REGRESSION: Crash occurs in KJS::Machine after launching 1136 Apple Installer 1137 1138 The problem was that JSUserObject::getCallData() was setting call type to native, but 1139 left callData.native.function uninitialized. 1140 1141 * JSObject.cpp: 1142 (JSUserObject::getCallData): Initialize callData.native.function. 1143 (nativeCallFunction): Call UserObjectImp::callAsFunction(). 1144 11452008-07-04 Sam Weinig <sam@webkit.org> 1146 1147 Rubber-stamped by Dan Bernstein. 1148 1149 * JSObject.h: Rename the header guard as it now conflicts with the 1150 JSObject in JavaScriptCore. 1151 11522008-07-01 Alexey Proskuryakov <ap@webkit.org> 1153 1154 Reviewed by Darin Adler. 1155 1156 Disable JSLock for per-thread contexts. 1157 1158 * ForwardingHeaders/wtf/Locker.h: Added. 1159 * ForwardingHeaders/wtf/Threading.h: Added. 1160 * JSBase.cpp: 1161 (JSBase::Release): 1162 * JSUtils.cpp: 1163 (JSObjectKJSValue): 1164 (KJSValueToCFTypeInternal): 1165 (unprotectGlobalObject): 1166 * JSUtils.h: 1167 * JSValueWrapper.cpp: 1168 (JSValueWrapper::JSObjectCopyPropertyNames): 1169 (JSValueWrapper::JSObjectCopyProperty): 1170 (JSValueWrapper::JSObjectSetProperty): 1171 (JSValueWrapper::JSObjectCallFunction): 1172 (JSValueWrapper::JSObjectCopyCFValue): 1173 * JavaScriptGlue.cpp: 1174 (JSRunCreate): 1175 (JSRunEvaluate): 1176 (JSRunCheckSyntax): 1177 (JSCollect): 1178 (JSLockInterpreter): 1179 (JSUnlockInterpreter): 1180 * UserObjectImp.cpp: 1181 (UserObjectImp::callAsFunction): 1182 Pass a parameter (always true) to JSLock and JSLock::DropAllLocks to indicate that JSG 1183 clients always need implicit mutex protection. 1184 Added includes that are now needed. 1185 11862008-06-26 Darin Adler <darin@apple.com> 1187 1188 Reviewed by Geoff. 1189 1190 * JSUtils.cpp: Added include of <JavaScriptCore/JSString.h> since jsString 1191 will soon be changed to return a JSString*. 1192 * UserObjectImp.cpp: Ditto. 1193 11942008-06-23 Darin Adler <darin@apple.com> 1195 1196 Reviewed by Geoff. 1197 1198 * JSValueWrapper.cpp: 1199 (JSValueWrapper::JSObjectCallFunction): Updated to use getCallData and call instead 1200 of the old callAsFunction. 1201 12022008-06-17 Alexey Proskuryakov <ap@webkit.org> 1203 1204 Reviewed by Darin Adler. 1205 1206 Prepare JavaScript heap for being per-thread. 1207 1208 * JSRun.cpp: (JSRun::JSRun): Create JSGlueGlobalObject in a shared JS heap. 1209 1210 * JSUtils.h: Made getThreadGlobalExecState available throughout JSGlue. 1211 1212 * JSUtils.cpp: 1213 (JSObjectKJSValue): Pass an ExecState where now required. 1214 (unprotectGlobalObject): 1215 (initializeGlobalObjectKey): 1216 (getThreadGlobalExecState): 1217 Moved these functions from JSValueWrapper.cpp, as the global exec state is now needed 1218 elsewhere. I'm not quite sure how this relates to the global object from JSRun, but 1219 since the new uses are all for Heap access, there doesn't seem to be any behavior change. 1220 1221 * JavaScriptGlue.cpp: 1222 (JSLockInterpreter): Don't call registerThread explicitly, as JSLock will do that. 1223 1224 * UserObjectImp.cpp: (UserObjectImp::toPrimitive): Pass ExecState* where now required. 1225 12262008-06-17 Mark Rowe <mrowe@apple.com> 1227 1228 Reviewed by Darin Adler. 1229 1230 <rdar://problem/5775802> JavaScriptGlue should not force use of GCC 4.0. 1231 1232 * JavaScriptGlue.xcodeproj/project.pbxproj: 1233 12342008-06-16 Maciej Stachowiak <mjs@apple.com> 1235 1236 Reviewed by Alexey. 1237 1238 - removed nearly unused types.h and LocalStorageEntry.h headers 1239 1240 * JSUtils.h: 1241 12422008-06-16 Alexey Proskuryakov <ap@webkit.org> 1243 1244 Reviewed by Geoff Garen. 1245 1246 Make Identifier construction use an explicitly passed IdentifierTable. 1247 1248 * JSUtils.cpp: 1249 (CFStringToIdentifier): 1250 (KJSValueToCFTypeInternal): 1251 * JSUtils.h: 1252 * JSValueWrapper.cpp: 1253 (JSValueWrapper::JSObjectCopyPropertyNames): 1254 (JSValueWrapper::JSObjectCopyProperty): 1255 (JSValueWrapper::JSObjectSetProperty): 1256 * UserObjectImp.cpp: 1257 (UserObjectImp::getPropertyNames): 1258 Pass ExecState or JSGlobalData everywhere. 1259 12602008-06-15 Darin Adler <darin@apple.com> 1261 1262 - rename KJS::List to KJS::ArgList 1263 1264 * JSValueWrapper.cpp: 1265 (JSValueWrapper::JSObjectCallFunction): 1266 * UserObjectImp.cpp: 1267 (UserObjectImp::callAsFunction): 1268 * UserObjectImp.h: 1269 12702008-06-15 Darin Adler <darin@apple.com> 1271 1272 - new names for a few key JavaScriptCore files 1273 1274 * ForwardingHeaders/kjs/JSValue.h: Copied from JavaScriptGlue/ForwardingHeaders/kjs/value.h. 1275 * ForwardingHeaders/kjs/value.h: Removed. 1276 * JSUtils.h: 1277 12782008-06-03 Darin Adler <darin@apple.com> 1279 1280 - update for JavaScriptCore changes for https://bugs.webkit.org/show_bug.cgi?id=19269 1281 speed up SunSpider by eliminating the toObject call for most get/put/delete 1282 1283 * UserObjectImp.cpp: 1284 (UserObjectImp::userObjectGetter): Removed originalObject argument. 1285 * UserObjectImp.h: Ditto. 1286 12872008-06-02 Geoffrey Garen <ggaren@apple.com> 1288 1289 Reviewed by Alexey Proskuryakov. 1290 1291 Removed JSObject::call, since it just called JSObject::callAsFunction. 1292 1293 SunSpider reports no change. 1294 12952008-05-28 Geoffrey Garen <ggaren@apple.com> 1296 1297 Reviewed by Oliver Hunt. 1298 1299 Fixed total destruction in Software Update.app. 1300 1301 Updated JavaScriptGlue to honor squirrelfish's new getCallData mechanism for 1302 indicating that an object can be called as a function. 1303 13042008-05-10 Maciej Stachowiak <mjs@apple.com> 1305 1306 Reviewed by Oliver. 1307 1308 - JavaScriptGlue part of fix for: "SQUIRRELFISH: function toString broken after calling" 1309 https://bugs.webkit.org/show_bug.cgi?id=18869 1310 1311 * JSRun.cpp: 1312 (JSRun::Evaluate): Use UString version of eveluate() instead of 1313 the now departed UChar*/length variant; use of the lower-level 1314 version was gratuitous in any case. 1315 (JSRun::CheckSyntax): Ditto for checkSyntax(). 1316 13172008-04-30 Geoffrey Garen <ggaren@apple.com> 1318 1319 Build fix: supply missing parameter that used to be implicit. 1320 1321 * JSRun.cpp: 1322 (JSRun::Evaluate): 1323 13242008-03-30 Geoffrey Garen <ggaren@apple.com> 1325 1326 Reviewed by Oliver Hunt. 1327 1328 Build fix. 1329 1330 * ForwardingHeaders/wtf/UnusedParam.h: Copied from ForwardingHeaders/wtf/OwnPtr.h. 1331 13322008-05-12 Alexey Proskuryakov <ap@webkit.org> 1333 1334 Roll out recent threading changes (r32807, r32810, r32819, r32822) to simplify 1335 SquirrelFish merging. 1336 1337 * JSUtils.cpp: 1338 (JSObjectKJSValue): 1339 * JSUtils.h: 1340 * JSValueWrapper.cpp: 1341 (unprotectGlobalObject): 1342 (initializeGlobalObjectKey): 1343 (getThreadGlobalExecState): 1344 * JavaScriptGlue.cpp: 1345 (JSCollect): 1346 (JSLockInterpreter): 1347 * UserObjectImp.cpp: 1348 (UserObjectImp::toPrimitive): 1349 13502008-05-02 Alexey Proskuryakov <ap@webkit.org> 1351 1352 Reviewed by Darin Adler. 1353 1354 Make JavaScriptGlue and JavaScriptCore API functions implicitly call initializeThreading 1355 for the sake of non-WebKit clients. 1356 1357 * JavaScriptGlue.cpp: 1358 (JSRunCreate): 1359 (JSCollect): 1360 (JSCreateJSArrayFromCFArray): 1361 (JSLockInterpreter): 1362 These are all possible JavaScriptGlue entry points. 1363 13642008-05-02 Alexey Proskuryakov <ap@webkit.org> 1365 1366 Reviewed by Geoffrey Garen. 1367 1368 https://bugs.webkit.org/show_bug.cgi?id=18826 1369 Make JavaScript heap per-thread 1370 1371 * JSValueWrapper.cpp: 1372 * JSUtils.h: 1373 Moved getThreadGlobalExecState() to JSUtils and made it extern, as ExecState is now needed 1374 for all JS allocations. 1375 1376 * JSUtils.cpp: 1377 (JSObjectKJSValue): Pass ExecState to functions that now need it. 1378 (unprotectGlobalObject): Moved from JSValueWrapper.cpp. 1379 (initializeGlobalObjectKey): Ditto. 1380 (getThreadGlobalExecState): Ditto. 1381 1382 * UserObjectImp.cpp: (UserObjectImp::toPrimitive): Pass ExecState to jsString and jsNumber. 1383 1384 * JavaScriptGlue.cpp: 1385 (JSCollect): Use current thread's heap. 1386 (JSLockInterpreter): Removed JSLock::registerThread(), because a JS heap doesn't need to 1387 know about other threads. 1388 13892008-04-25 Alexey Proskuryakov <ap@webkit.org> 1390 1391 Reviewed by Darin Adler. 1392 1393 Fix run-webkit-tests --threading 1394 and provisionally fix <https://bugs.webkit.org/show_bug.cgi?id=18661> 1395 Proxy server issue in Sunday's Nightly 1396 1397 * UserObjectImp.cpp: Adjusted for the new member added to ClassInfo. 1398 13992008-04-25 Mark Rowe <mrowe@apple.com> 1400 1401 Reviewed by Adele Peterson. 1402 1403 <rdar://problem/5891264> Don't install the JavaScriptGlue headers 1404 1405 * JavaScriptGlue.xcodeproj/project.pbxproj: 1406 14072008-04-25 Mark Rowe <mrowe@apple.com> 1408 1409 Rubber-stamped by Sam Weinig. 1410 1411 Add some content to an empty ICU header file to prevent verification errors. 1412 1413 * icu/unicode/utf_old.h: 1414 14152008-04-02 Mark Rowe <mrowe@apple.com> 1416 1417 Reviewed by Oliver Hunt. 1418 1419 Ensure that debug symbols are generated for x86_64 and ppc64 builds. 1420 1421 * Configurations/Base.xcconfig: 1422 14232008-03-20 Maciej Stachowiak <mjs@apple.com> 1424 1425 - fix build 1426 1427 * ForwardingHeaders/wtf/ListRefPtr.h: Added. 1428 14292008-03-01 Mark Rowe <mrowe@apple.com> 1430 1431 Reviewed by Tim Hatcher. 1432 1433 Update Xcode configuration to support building debug and release from the mysterious future. 1434 1435 * Configurations/Base.xcconfig: 1436 * Configurations/DebugRelease.xcconfig: 1437 14382008-02-29 Geoffrey Garen <ggaren@apple.com> 1439 1440 Reviewed by David Harrison. 1441 1442 Fixed <rdar://problem/5765063> TOT REGRESSION: Software Update crash in 1443 KJS::Collector::collect() (missing JSLock) 1444 1445 * JSValueWrapper.cpp: 1446 (unprotectGlobalObject): Added missing JSLock. 1447 14482008-02-05 Mark Rowe <mrowe@apple.com> 1449 1450 Reviewed by Oliver Hunt. 1451 1452 Update versioning to support the mysterious future. 1453 1454 * Configurations/Version.xcconfig: Add SYSTEM_VERSION_PREFIX_1060. 1455 14562008-01-28 Eric Seidel <eric@webkit.org> 1457 1458 Reviewed by darin. 1459 1460 Add icu headers to JSG in preparation for depending on ::UChar. 1461 1462 * Configurations/Base.xcconfig: 1463 * ForwardingHeaders/wtf/unicode: Added. 1464 * ForwardingHeaders/wtf/unicode/Unicode.h: Added. 1465 * ForwardingHeaders/wtf/unicode/icu: Added. 1466 * ForwardingHeaders/wtf/unicode/icu/UnicodeIcu.h: Added. 1467 * icu: Copied from ../JavaScriptCore/icu. 1468 14692007-12-19 Geoffrey Garen <ggaren@apple.com> 1470 1471 Build fix. 1472 1473 * ForwardingHeaders/wtf/VectorTraits.h: Added. 1474 14752007-12-10 Timothy Hatcher <timothy@apple.com> 1476 1477 Reviewed by Mark Rowe. 1478 1479 <rdar://problem/5639463> Bundle versions on Tiger should be 4523.x not 523.x 1480 1481 * Configurations/Version.xcconfig: Some Tiger versions of Xcode don't set MAC_OS_X_VERSION_MAJOR, 1482 so assume Tiger and use a 4 for the SYSTEM_VERSION_PREFIX. 1483 14842007-12-04 Geoffrey Garen <ggaren@apple.com> 1485 1486 Reviewed by Darin Adler. 1487 1488 Third step in refactoring JSGlobalObject: Moved data members and data 1489 member access from Interpreter to JSGlobalObject. Replaced JSInterpreter 1490 subclass with JSGlobalObject subclass. 1491 1492 * JSRun.cpp: 1493 (JSRun::JSRun): 1494 (JSRun::Evaluate): 1495 (JSRun::CheckSyntax): 1496 * JSRun.h: 1497 (JSGlueGlobalObject::JSGlueGlobalObject): 1498 * JSUtils.cpp: 1499 (KJSValueToCFTypeInternal): 1500 * JSValueWrapper.cpp: 1501 (getThreadGlobalExecState): 1502 15032007-12-02 Geoffrey Garen <ggaren@apple.com> 1504 1505 Reviewed by Eric Seidel. 1506 1507 Updated to match the JavaScriptCore change to move virtual methods from 1508 Interpreter to JSGlobalObject. 1509 1510 * JSRun.cpp: 1511 * JSRun.h: 1512 * JSValueWrapper.cpp: 1513 (getThreadGlobalExecState): 1514 * JavaScriptGlue.cpp: 1515 (JSRunCopyGlobalObject): 1516 (JSRunEvaluate): 1517 15182007-11-30 Geoffrey Garen <ggaren@apple.com> 1519 1520 Reviewed by Beth Dakin. 1521 1522 Modified to follow new JSGlobalObject/Interpreter ownership rules 1523 in JavaScriptCore. 1524 1525 * JSRun.cpp: 1526 (JSRun::JSRun): 1527 (JSRun::GetInterpreter): 1528 (JSRun::Evaluate): 1529 (JSRun::CheckSyntax): 1530 * JSRun.h: 1531 * JSValueWrapper.cpp: 1532 (unprotectGlobalObject): 1533 (initializeGlobalObjectKey): 1534 (getThreadGlobalExecState): 1535 15362007-11-29 Mark Rowe <mrowe@apple.com> 1537 1538 Reviewed by Maciej. 1539 1540 Fix REGRESSION(r27885): Installer hits assertion failure in JavaScriptGlue. 1541 1542 * JSValueWrapper.cpp: 1543 (getThreadGlobalExecState): Set the global object on the Interpreter before using it. 1544 15452007-11-27 Anders Carlsson <andersca@apple.com> 1546 1547 Build fix. 1548 1549 * JSUtils.cpp: 1550 (KJSValueToCFTypeInternal): 1551 * JSValueWrapper.cpp: 1552 (JSValueWrapper::JSObjectCopyPropertyNames): 1553 15542007-11-21 Mark Rowe <mrowe@apple.com> 1555 1556 Reviewed by Eric. 1557 1558 Fix JavaScriptGlue to build without warnings using GCC 4.2. 1559 1560 * Configurations/Base.xcconfig: 1561 * JSRun.h: 1562 15632007-11-17 Mark Rowe <mrowe@apple.com> 1564 1565 Reviewed by Darin Adler. 1566 1567 Fix: <rdar://problem/5607032> REGRESSION: testapi exits with assertion failure in debug build 1568 <rdar://problem/5440659> JSGlobalContextCreate throws away globalObjectClass's prototype 1569 http://bugs.webkit.org/show_bug.cgi?id=16033 1570 1571 Update for changes in Interpreter method signatures. 1572 1573 * JSRun.h: 1574 15752007-11-13 Geoffrey Garen <ggaren@apple.com> 1576 1577 Reviewed by Anders Carlsson. 1578 1579 Renamed Shared to RefCounted. 1580 1581 * ForwardingHeaders/wtf/RefCounted.h: Copied from JavaScriptGlue/ForwardingHeaders/wtf/Shared.h. 1582 * ForwardingHeaders/wtf/Shared.h: Removed. 1583 15842007-11-13 Geoffrey Garen <ggaren@apple.com> 1585 1586 Reviewed by Sam Weinig. 1587 1588 Moved Shared.h into wtf so it could be used in more places. 1589 1590 * ForwardingHeaders/wtf/Shared.h: Added. 1591 15922007-11-08 Mark Rowe <mrowe@apple.com> 1593 1594 Build fix. 1595 1596 * ForwardingHeaders/wtf/MathExtras.h: Copied from WebCore/ForwardingHeaders/wtf/MathExtras.h. 1597 15982007-11-05 Geoffrey Garen <ggaren@apple.com> 1599 1600 Build fix. 1601 1602 * ForwardingHeaders/kjs/value.h: Added. 1603 16042007-11-03 Sam Weinig <sam@webkit.org> 1605 1606 Build-fix. 1607 1608 * UserObjectImp.cpp: 1609 16102007-11-03 David D. Kilzer <ddkilzer@webkit.org> 1611 1612 Sort files(...); sections of Xcode project files. 1613 1614 Rubber-stamped by Darin Adler. 1615 1616 * JavaScriptGlue.xcodeproj/project.pbxproj: 1617 16182007-10-25 Eric Seidel <eric@webkit.org> 1619 1620 Reviewed by Geoff. 1621 1622 Make JSG build again after JSGlobalObject change. 1623 1624 * JSRun.cpp: 1625 (JSRun::JSRun): 1626 (JSRun::GlobalObject): 1627 * JSRun.h: 1628 (JSInterpreter::JSInterpreter): 1629 * JSUtils.h: 1630 16312007-10-11 Mark Rowe <mrowe@apple.com> 1632 1633 Reviewed by Tim Hatcher. 1634 1635 Fix for <rdar://problem/5488678>. Disable debugging symbols in production builds for 10.4 1636 PowerPC to prevent a huge STABS section from being generated. 1637 1638 * Configurations/Base.xcconfig: 1639 16402007-10-04 Mark Rowe <mrowe@apple.com> 1641 1642 Reviewed by Oliver. 1643 1644 Switch to default level of debugging symbols to resolve <rdar://problem/5488678>. 1645 The "full" level appears to offer no observable benefits even though the documentation 1646 suggests it be used for dead code stripping. This should also decrease link times. 1647 1648 * Configurations/Base.xcconfig: 1649 16502007-09-03 Mark Rowe <mrowe@apple.com> 1651 1652 Reviewed by Tim Hatcher. 1653 1654 <rdar://problem/5452164> Production build with in symbols directory has no debug info 1655 1656 Enable debug symbol generation on all build configurations. Production builds are stripped 1657 of symbols by Xcode during deployment post-processing. 1658 1659 * Configurations/Base.xcconfig: 1660 * JavaScriptGlue.xcodeproj/project.pbxproj: 1661 16622007-08-09 Mark Rowe <mrowe@apple.com> 1663 1664 Reviewed by Antti. 1665 1666 <rdar://problem/5400709> Versioning in debug and release builds should include minor and tiny version before + 1667 1668 * Configurations/Version.xcconfig: 1669 * JavaScriptGlue.xcodeproj/project.pbxproj: Add a shell script phase to make to dependency between 1670 Version.xcconfig and Info.plist explicit to Xcode. 1671 16722007-07-16 Sam Weinig <sam@webkit.org> 1673 1674 Reviewed by Oliver. 1675 1676 Turn off -Wshorten-64-to-32 warning for 64-bit builds. 1677 1678 * Configurations/Base.xcconfig: 1679 16802007-04-27 Mark Rowe <mrowe@apple.com> 1681 1682 Reviewed by Oliver. 1683 1684 * JavaScriptGlue.xcodeproj/project.pbxproj: Improve dependencies in Xcode project 1685 by marking JavaScriptGlue as a dependency of testjsglue. 1686 16872007-03-24 Mark Rowe <mrowe@apple.com> 1688 1689 Reviewed by Dave Hyatt. 1690 1691 * JavaScriptGlue.xcodeproj/project.pbxproj: Use GCC 4.0 for testjsglue. 1692 16932007-03-24 Mark Rowe <mrowe@apple.com> 1694 1695 Rubber-stamped by Darin Adler. 1696 1697 * Configurations/JavaScriptGlue.xcconfig: Remove unnecessary INFOPLIST_PREPROCESS. 1698 16992007-03-19 Andrew Wellington <proton@wiretapped.net> 1700 1701 Reviewed by Maciej. 1702 1703 Really set Xcode editor to use 4 space indentation (http://webkit.org/coding/coding-style.html) 1704 1705 * JavaScriptGlue.xcodeproj/project.pbxproj: 1706 17072007-03-18 Andrew Wellington <proton@wiretapped.net> 1708 1709 Reviewed by Mark Rowe 1710 1711 Set Xcode editor to use 4 space indentation (http://webkit.org/coding/coding-style.html) 1712 1713 * JavaScriptGlue.xcodeproj/project.pbxproj: 1714 17152007-03-17 Timothy Hatcher <timothy@apple.com> 1716 1717 Reviewed by Mark Rowe. 1718 1719 Made Version.xcconfig smarter when building for different configurations. 1720 Now uses the 522+ OpenSource version for Debug and Release, while using the 1721 full 522.4 version for Production builds. The system prefix is also computed 1722 based on the current system, so 4522.4 on Tiger and 5522.4 on Leopard. 1723 1724 * Configurations/JavaScriptGlue.xcconfig: 1725 * Configurations/Version.xcconfig: 1726 17272007-03-15 Timothy Hatcher <timothy@apple.com> 1728 1729 Reviewed by John. 1730 1731 * Factored out most of our common build settings into .xcconfig files. Anything that was common in 1732 each build configuration was factored out into the shared .xcconfig file. 1733 * Adds a Version.xcconfig file to define the current framework version, to be used in other places. 1734 * Use the new $(BUNDLE_VERSION) (defined in Version.xcconfig) in the preprocessed Info.plist. 1735 * Use the versions defined in Version.xcconfig to set $(DYLIB_CURRENT_VERSION). 1736 1737 * Configurations/Base.xcconfig: Added. 1738 * Configurations/DebugRelease.xcconfig: Added. 1739 * Configurations/JavaScriptGlue.xcconfig: Added. 1740 * Configurations/Version.xcconfig: Added. 1741 * Info.plist: 1742 * JavaScriptGlue.xcodeproj/project.pbxproj: 1743 1744=== Safari-5522.4 === 1745 17462007-03-12 Geoffrey Garen <ggaren@apple.com> 1747 1748 Reviewed by Oliver Hunt. 1749 1750 Updated in light of fix for <rdar://problem/4681051> Installer crashes 1751 in KJS::Collector::markOtherThreadConservatively(KJS::Collector::Thread*) 1752 trying to install iLife 06 using Rosetta on an Intel Machine 1753 1754 * JavaScriptGlue.cpp: 1755 (JSLockInterpreter): Ensure backwards compatibility by calling 1756 registerThread() when explicitly taking the JSLock. (This doesn't happen 1757 automatically anymore.) I doubt this actally matters, but in JavaScriptGlue 1758 territory, that kind of thinking will get you killed. 1759 17602007-03-06 Geoffrey Garen <ggaren@apple.com> 1761 1762 Reviewed by Maciej Stachowiak. 1763 1764 Fixed all known crashers exposed by run-webkit-tests --threaded while using 1765 a PAC file (for maximum carnage). See JavaScriptCore ChangeLog for 1766 more details. 1767 1768 * JSBase.cpp: 1769 (JSBase::Release): Lock when deleting, because we may be deleting an object 1770 (like a JSRun) that holds thread-unsafe data. 1771 1772 * JSUtils.cpp: 1773 (CFStringToUString): Don't lock, because our caller locks. Also, locking 1774 inside a function that returns thread-unsafe data by copy will only mask 1775 threading problems. 1776 1777 * JavaScriptGlue.cpp: 1778 (JSRunEvaluate): Added missing JSLock. 1779 (JSRunCheckSyntax): Converted to JSLock. 1780 * JavaScriptGlue.xcodeproj/project.pbxproj: 1781 17822007-02-22 Geoffrey Garen <ggaren@apple.com> 1783 1784 Reviewed by Darin Adler. 1785 1786 Fixed <rdar://problem/4942528> Installer.app Stuck "Examining additional 1787 volumes..." 1788 1789 The problem was that JavaScriptGlue held a JSObject in a static pointer 1790 without protecting it from garbage collection. 1791 1792 sUserObjectPrototypeImp = new UserObjectPrototypeImp(); 1793 static ProtectedPtr<UserObjectPrototypeImp> protectPrototype; // valiant, brave, but useless 1794 1795 Through an interesting comedy of errors, this object would be collected 1796 and then assigned as the prototype of another object allocated at the 1797 same address, thus becoming its own prototype. (See http://www.ziplo.com/grandpa.htm 1798 for further explanation of this phenomenon.) Hence the infinte loop in 1799 property lookup. 1800 1801 The solution is equally humorous: all of this code was completely useless -- 1802 it only served to create an empty object in the prototype chain -- so 1803 I just removed it. 1804 1805 * UserObjectImp.cpp: 1806 (UserObjectImp::UserObjectImp): 1807 * UserObjectImp.h: 1808 18092007-02-19 Timothy Hatcher <timothy@apple.com> 1810 1811 Reviewed by Geoff. 1812 1813 <rdar://problem/4636301> Deprecate JavaScriptGlue 1814 1815 * JavaScriptGlue.h: adds DEPRECATED_IN_MAC_OS_X_VERSION_10_5_AND_LATER to everything 1816 * JavaScriptGlue.xcodeproj/project.pbxproj: use -Wno-deprecated-declarations to keep the project building 1817 * config.h: define DEPRECATED_IN_MAC_OS_X_VERSION_10_5_AND_LATER as empty on other systems 1818 18192007-02-16 Darin Adler <darin@apple.com> 1820 1821 Reviewed by Anders. 1822 1823 - fix <rdar://problem/5000216> JavaScriptGlue framework started turning all CFNumbers 1824 into signed 32bit values 1825 1826 Circumstantial evidence seems to indicate that JavaScriptGlue was depending on a bug 1827 in CFNumber where CFNumberIsFloatType was returning true for 64-bit integer values. 1828 1829 * JSUtils.cpp: (JSObjectKJSValue): Removed the call to CFNumberIsFloatType in the 1830 conversion of numeric values, and always use kCFNumberDoubleType, since double is 1831 the internal format of numbers in JavaScriptCore. There's no value to having a 1832 separate code path for integers. There's also no reason to check the return value 1833 from CFNumberGetValue -- if it returns false it still does the best it can to convert 1834 to a double, which is what we want. 1835 1836 * UserObjectImp.cpp: (UserObjectImp::toString): Removed a similar code path that 1837 tried to handle integers separate from double. Instead, always use a double. For 1838 compatibility, use a format without a decimal point when CFNumberIsFloatType returns 1839 false. Also removed a bogus cast to float; the "%f" format string takes a double, 1840 not a float, so all the cast did was cut down on precision. 1841 18422007-01-25 Mark Rowe <mrowe@apple.com> 1843 1844 Reviewed by Maciej. 1845 1846 * Info.plist: Update copyright string. 1847 18482006-12-19 Timothy Hatcher <timothy@apple.com> 1849 1850 Reviewed by Darin Adler. 1851 1852 <rdar://problem/4891774> Local WebCore/WebBrowser builds fail in 9A328 due to warning about ObjC-2.0 language features 1853 1854 * JavaScriptGlue.xcodeproj/project.pbxproj: 1855 1856=== Safari-521.26 === 1857 18582006-08-15 Mark Rowe <opendarwin.org@bdash.net.nz> 1859 1860 Reviewed by Tim H. 1861 1862 Build fix: DWARF and -gfull are incompatible with symbol separation. 1863 1864 * JavaScriptGlue.xcodeproj/project.pbxproj: 1865 18662006-08-15 Mark Rowe <opendarwin.org@bdash.net.nz> 1867 1868 Reviewed by Tim H. 1869 1870 http://bugs.webkit.org/show_bug.cgi?id=10394 1871 Bug 10394: WebKit Release and Production configurations should enable dead code stripping 1872 1873 * JavaScriptGlue.xcodeproj/project.pbxproj: 1874 18752006-08-15 Mark Rowe <opendarwin.org@bdash.net.nz> 1876 1877 Reviewed by Tim H. 1878 1879 http://bugs.webkit.org/show_bug.cgi?id=10384 1880 Bug 10384: Switch to DWARF for Release configuration 1881 1882 * JavaScriptGlue.xcodeproj/project.pbxproj: 1883 18842006-08-04 Sam Weinig <sam.weinig@gmail.com> 1885 1886 Reviewed by Darin Adler. 1887 1888 - patch for http://bugs.webkit.org/show_bug.cgi?id=10192 1889 Make WebCore (and friends) compile with -Wshorten-64-to-32 1890 1891 * Adds -Wshorten-64-to-32 flag to Xcode project. 1892 1893 * JavaScriptGlue.xcodeproj/project.pbxproj: 1894 18952006-08-03 Sam Weinig <sam.weinig@gmail.com> 1896 1897 Reviewed by Darin Adler. 1898 1899 - patch for http://bugs.webkit.org/show_bug.cgi?id=10176 1900 Make WebCore compile with -Wundef 1901 1902 * Adds -Wundef flag to Xcode project 1903 1904 * JavaScriptGlue.xcodeproj/project.pbxproj: 1905 19062006-07-29 Sam Weinig <sam.weinig@gmail.com> 1907 1908 Reviewed by Darin Adler. 1909 1910 - patch for http://bugs.webkit.org/show_bug.cgi?id=10080 1911 Adopt pedantic changes from the Unity project to improve 1912 cross-compiler compatibility 1913 1914 Changes include: 1915 * Turning on gcc warning for missing newline at the end of a source file 1916 (GCC_WARN_ABOUT_MISSING_NEWLINE in Xcode, -Wnewline in gcc). 1917 1918 * JavaScriptGlue.xcodeproj/project.pbxproj: 1919 1920=== Safari-521.19 === 1921 19222006-07-19 Geoffrey Garen <ggaren@apple.com> 1923 1924 Fixed by Darin & Maciej, reviewed by me. 1925 1926 - Fixed <rdar://problem/4638934> Leopard 9A227: Installer crashes right 1927 after LCA and while preparing Installation 1928 1929 Compile release/production with NDEBUG set, to ensure binary compatibility 1930 between JavaScriptGlue and JavaScriptCore. In debug builds, JavaScriptCore 1931 includes an extra debug data member in HashSet. 1932 1933 * JavaScriptGlue.xcodeproj/project.pbxproj: 1934 1935=== Safari-521.18 === 1936 19372006-07-15 Maciej Stachowiak <mjs@apple.com> 1938 1939 Reviewed by Darin Adler. 1940 1941 - switch property lists to be vector+set of Identifiers instead of list of References 1942 1943 * JSUtils.cpp: 1944 (KJSValueToCFTypeInternal): updated for JSC SPI changes 1945 * JSValueWrapper.cpp: 1946 (JSValueWrapper::JSObjectCopyPropertyNames): ditto 1947 * UserObjectImp.cpp: 1948 (UserObjectImp::getPropertyNames): ditto 1949 * UserObjectImp.h: 1950 1951=== Safari-521.17 === 1952 19532006-07-14 Geoffrey Garen <ggaren@apple.com> 1954 1955 Reviewed by Maciej. 1956 1957 - Updated JSInterpreter to work with Interpreter ref-counting in JavaScriptCore. 1958 1959 (JSInterpreter::JSInterpreter::~JSInterpreter): Now protected to catch 1960 manual delete. 1961 19622006-07-12 Anders Carlsson <acarlsson@apple.com> 1963 1964 Build fix 1965 1966 * JSUtils.cpp: 1967 (KJSValueToCFTypeInternal): 1968 * JSValueWrapper.cpp: 1969 (JSValueWrapper::JSObjectCopyPropertyNames): 1970 * UserObjectImp.cpp: 1971 (UserObjectImp::getPropertyList): 1972 1973=== Safari-521.15 === 1974 19752006-07-07 Geoffrey Garen <ggaren@apple.com> 1976 1977 - build fix 1978 1979 * JSUtils.cpp: 1980 (KJSValueToCFTypeInternal): 1981 * JSValueWrapper.cpp: 1982 (JSValueWrapper::JSObjectCopyPropertyNames): 1983 19842006-07-03 Geoffrey Garen <ggaren@apple.com> 1985 1986 Reviewed by Maciej. 1987 1988 * JSRun.cpp: 1989 (JSRun::CheckSyntax): Updated to use new checkSyntax syntax in JSC. 1990 * JavaScriptGlue.xcodeproj/project.pbxproj: 1991 1992=== Safari-521.14 === 1993 19942006-06-28 Timothy Hatcher <timothy@apple.com> 1995 1996 Prefer the Stabs debugging symbols format until DWARF bugs are fixed. 1997 1998 * JavaScriptGlue.xcodeproj/project.pbxproj: 1999 20002006-06-24 David Kilzer <ddkilzer@kilzer.net> 2001 2002 Reviewed by Timothy. 2003 2004 * Info.plist: Fixed copyright to include 2003-2006. 2005 2006=== JavaScriptGlue-521.13 === 2007 20082006-06-20 Geoffrey Garen <ggaren@apple.com> 2009 2010 Reviewed by Anders. 2011 2012 - Required for JS API: Rename propList to getPropertyList and have it 2013 take its target property list by reference so that subclasses can 2014 add properties to the list before calling through to their superclasses. 2015 2016 * JSUtils.cpp: 2017 (KJSValueToCFTypeInternal): 2018 * JSValueWrapper.cpp: 2019 (JSValueWrapper::JSObjectCopyPropertyNames): 2020 * UserObjectImp.cpp: 2021 (UserObjectImp::getPropertyList): 2022 * UserObjectImp.h: 2023 20242006-06-15 Timothy Hatcher <timothy@apple.com> 2025 2026 Reviewed by Geoff and Darin. 2027 2028 Prefer the DWARF debugging symbols format for use in Xcode 2.3. 2029 2030 * JavaScriptGlue.xcodeproj/project.pbxproj: 2031 20322006-06-12 Geoffrey Garen <ggaren@apple.com> 2033 2034 Reviewed by TimO, Maciej. 2035 2036 - JSGlue part of merging InterpreterImp into Interpreter. 2037 2038 Since there's now a kjs forwarding header, I moved all forwarding 2039 headers into a "ForwardingHeaders" directory, like in WebCore. 2040 2041 * ForwardingHeaders: Added. 2042 * ForwardingHeaders/kjs: Added. 2043 * ForwardingHeaders/kjs/ExecState.h: Added. 2044 * ForwardingHeaders/wtf: Added. 2045 * JavaScriptGlue.xcodeproj/project.pbxproj: 2046 * config.h: 2047 * wtf: Removed. 2048 * wtf/AlwaysInline.h: Removed. 2049 * wtf/Assertions.h: Removed. 2050 * wtf/FastMalloc.h: Removed. 2051 * wtf/Forward.h: Removed. 2052 * wtf/HashCountedSet.h: Removed. 2053 * wtf/HashSet.h: Removed. 2054 * wtf/Noncopyable.h: Removed. 2055 * wtf/OwnArrayPtr.h: Removed. 2056 * wtf/OwnPtr.h: Removed. 2057 * wtf/PassRefPtr.h: Removed. 2058 * wtf/Platform.h: Removed. 2059 * wtf/RefPtr.h: Removed. 2060 * wtf/Vector.h: Removed. 2061 2062=== JavaScriptGlue-521.10 === 2063 20642006-05-09 Maciej Stachowiak <mjs@apple.com> 2065 2066 Rubber stamped by Anders. 2067 2068 - renamed kxmlcore to wtf 2069 2070 kxmlcore --> wtf 2071 KXMLCore --> WTF 2072 KXC --> WTF 2073 2074 * config.h: 2075 * kxmlcore: Removed. 2076 * kxmlcore/AlwaysInline.h: Removed. 2077 * kxmlcore/Assertions.h: Removed. 2078 * kxmlcore/FastMalloc.h: Removed. 2079 * kxmlcore/Forward.h: Removed. 2080 * kxmlcore/HashCountedSet.h: Removed. 2081 * kxmlcore/HashSet.h: Removed. 2082 * kxmlcore/Noncopyable.h: Removed. 2083 * kxmlcore/OwnArrayPtr.h: Removed. 2084 * kxmlcore/OwnPtr.h: Removed. 2085 * kxmlcore/PassRefPtr.h: Removed. 2086 * kxmlcore/Platform.h: Removed. 2087 * kxmlcore/RefPtr.h: Removed. 2088 * kxmlcore/Vector.h: Removed. 2089 * wtf: Added. 2090 20912006-04-11 Darin Adler <darin@apple.com> 2092 2093 - try to fix Windows build 2094 2095 * kxmlcore/HashForward.h: Removed. 2096 20972006-04-10 Darin Adler <darin@apple.com> 2098 2099 Rubber-stamped by John Sullivan. 2100 2101 - added forwarding headers for the new Forward.h and HashForward.h files 2102 2103 * kxmlcore/Forward.h: Added. 2104 * kxmlcore/HashForward.h: Added. 2105 21062006-04-04 Timothy Hatcher <timothy@apple.com> 2107 2108 Reviewed by Darin Adler. 2109 2110 The Debug and Release frameworks are now built with install paths relative to the build products directory. 2111 This removes the need for other projects to build with -framework WebCore and -framework JavaScriptCore. 2112 2113 * JavaScriptGlue.xcodeproj/project.pbxproj: 2114 21152006-04-02 Eric Seidel <eseidel@apple.com> 2116 2117 Reviewed by andersca. 2118 2119 Add missing forwarding header. 2120 2121 * kxmlcore/Vector.h: Added. 2122 21232006-03-31 Geoffrey Garen <ggaren@apple.com> 2124 2125 Reviewed by Darin Adler. 2126 2127 - Fixed <rdar://problem/4430836> JavaScript patch crashing Quartz 2128 Composer 2129 2130 JSValueWrappers used to hold on to the ExecState that pertained at 2131 the time of their creation. Since ExecStates are transient, that 2132 design was totally bogus, and it would crash once the ExecState had 2133 been deallocated. 2134 2135 Unfortunately, there's no clean solution to this problem, since 2136 the JSGlue API has no notion of state. The solution here is to use 2137 a shared, global ExecState for the purpose of JSGlue calls. Given 2138 the pre-existing limitations in the JSGlue API, this design 2139 shouldn't actually introduce any new limitations (see comments in 2140 JSValueWrapper.cpp). 2141 2142 I tested with Quartz Composer and PAC files, neither of which are 2143 layout-testable. 2144 2145 * JSUtils.cpp: 2146 (KJSValueToJSObject): 2147 * JSValueWrapper.cpp: 2148 (JSValueWrapper::JSValueWrapper): 2149 (JSValueWrapper::GetValue): 2150 (getProcessGlobalExecState): 2151 (JSValueWrapper::JSObjectCopyPropertyNames): 2152 (JSValueWrapper::JSObjectCopyProperty): 2153 (JSValueWrapper::JSObjectSetProperty): 2154 (JSValueWrapper::JSObjectCallFunction): 2155 (JSValueWrapper::JSObjectCopyCFValue): 2156 * JSValueWrapper.h: 2157 2158 Also added a test harness file. It was helpful while I was testing, 2159 and may come in handy in the future: 2160 2161 * JavaScriptGlue.xcodeproj/project.pbxproj: 2162 testjsglue.cpp: Added. 2163 21642006-03-28 Darin Adler <darin@apple.com> 2165 2166 Reviewed by Geoff. 2167 2168 - added a build step that checks for init routines 2169 2170 * JavaScriptGlue.xcodeproj/project.pbxproj: Added a custom build phase that invokes the 2171 check-for-global-initializers script. 2172 21732006-03-02 Maciej Stachowiak <mjs@apple.com> 2174 2175 Not reviewed, but I noticed these trivial extra changes were needed to avoid 2176 breaking the build with my reviewed patch for: 2177 2178 http://bugs.webkit.org/show_bug.cgi?id=7387 2179 2180 Add config.h, includes of it, and Platform.h forwarding header. 2181 2182 * JSBase.cpp: 2183 * JSObject.cpp: 2184 * JSRun.cpp: 2185 * JSUtils.cpp: 2186 * JSValueWrapper.cpp: 2187 * JavaScriptGlue.cpp: 2188 * UserObjectImp.cpp: 2189 * config.h: Added. 2190 * kxmlcore/Platform.h: Added. 2191 2192=== JavaScriptGlue-521.7 === 2193 21942006-02-10 Geoffrey Garen <ggaren@apple.com> 2195 2196 Reviewed by eric. 2197 2198 - Fixed build. 2199 2200 * UserObjectImp.cpp: 2201 (UserObjectImp::toPrimitive): 2202 * UserObjectImp.h: 2203 22042006-02-03 Timothy Hatcher <timothy@apple.com> 2205 2206 Reviewed by Justin. 2207 2208 Renamed configuration names to Debug, Release and Production. 2209 2210 * JavaScriptGlue.xcodeproj/project.pbxproj: 2211 22122006-02-01 Darin Adler <darin@apple.com> 2213 2214 - added some forwarding headers to make new JavaScriptCore changes work 2215 2216 * kxmlcore/Assertions.h: Added. 2217 * kxmlcore/Noncopyable.h: Added. 2218 * kxmlcore/OwnPtr.h: Added. 2219 * kxmlcore/OwnArrayPtr.h: Added. 2220 22212006-01-16 Timothy Hatcher <timothy@apple.com> 2222 2223 Adding the license header to all files so we can 2224 move JavaScriptGlue into the open source repository. 2225 2226 * LICENSE: Added. 2227 * JSBase.cpp: license header added. 2228 * JSBase.h: ditto. 2229 * JSObject.cpp: ditto. 2230 * JSObject.h: ditto. 2231 * JSRun.cpp: ditto. 2232 * JSRun.h: ditto. 2233 * JSUtils.cpp: ditto. 2234 * JSUtils.h: ditto. 2235 * JSValueWrapper.cpp: ditto. 2236 * JSValueWrapper.h: ditto. 2237 * JavaScriptGlue.cpp: ditto. 2238 * JavaScriptGlue.h: ditto. 2239 * UserObjectImp.cpp: ditto. 2240 * UserObjectImp.h: ditto. 2241 22422005-12-21 Timothy Hatcher <timothy@apple.com> 2243 2244 * JavaScriptGlue.xcodeproj/project.pbxproj: 2245 Set tab width to 8, indent width to 4 and uses tabs to false per file. 2246 22472005-12-19 Darin Adler <darin@apple.com> 2248 2249 Reviewed by Geoff Garen and Eric Seidel. 2250 2251 - fix http://bugs.webkit.org/show_bug.cgi?id=4923 2252 stop using <ostream> in WebCore, eliminating the <cmath> troubles it causes 2253 2254 * kxmlcore/AlwaysInline.h: Added. 2255 22562005-12-15 Darin Adler <darin@apple.com> 2257 2258 Reviewed by Maciej. 2259 2260 * JSRun.cpp: (JSRun::Evaluate): Updated for change to Interpreter::evaluate. 2261 22622005-12-15 Darin Adler <darin@apple.com> 2263 2264 Reviewed by Tim Hatcher. 2265 2266 * JavaScriptGlue.xcodeproj/project.pbxproj: Removed some redundant build 2267 settings, turned off prebinding explicitly for our Development and 2268 Deployment builds, remove .exp file from sources. All "clean-up". 2269 2270=== Safari-521~5 === 2271 22722005-12-13 Geoffrey Garen <ggaren@apple.com> 2273 2274 - Fixed build after Anders's last checkin to JavaScriptCore. 2275 2276 Reviewed by darin. 2277 2278 * UserObjectImp.cpp: 2279 (UserObjectImp::userObjectGetter): Updated to reflect new argument that 2280 getters take (unused here). 2281 * UserObjectImp.h: 2282 22832005-12-13 Maciej Stachowiak <mjs@apple.com> 2284 2285 Reviewed by Eric. 2286 2287 - added forwarding header for HashCountedSet 2288 2289 * kxmlcore/HashCountedSet.h: Added. 2290 22912005-12-10 Darin Adler <darin@apple.com> 2292 2293 Rubber stamped by Maciej. 2294 2295 - updated for KJS class renaming 2296 2297 * many files and functions 2298 22992005-12-10 Darin Adler <darin@apple.com> 2300 2301 Reviewed by Maciej. 2302 2303 - eliminated the old Undefined(), Null(), Boolean(), Number(), and String() 2304 2305 Code now uses jsUndefined(), jsNull(), jsBoolean(), jsNumber(), and jsString(). 2306 2307 * JSUtils.cpp: 2308 (JSObjectKJSValue): 2309 * UserObjectImp.cpp: 2310 (UserObjectImp::callAsFunction): 2311 (UserObjectImp::toPrimitive): 2312 23132005-12-05 Maciej Stachowiak <mjs@apple.com> 2314 2315 - added new forwarding headers 2316 2317 * kxmlcore/PassRefPtr.h: Added. 2318 * kxmlcore/RefPtr.h: Added. 2319 23202005-12-05 Maciej Stachowiak <mjs@apple.com> 2321 2322 * kxmlcore/PassRefPtr.h: Added. 2323 23242005-11-26 Maciej Stachowiak <mjs@apple.com> 2325 2326 Rubber stamped by Eric. 2327 2328 - renamed InterpreterLock to JSLock 2329 2330 * JSUtils.cpp: 2331 (CFStringToUString): 2332 (JSObjectKJSValue): 2333 (KJSValueToCFTypeInternal): 2334 * JSValueWrapper.cpp: 2335 (JSValueWrapper::JSObjectCopyPropertyNames): 2336 (JSValueWrapper::JSObjectCopyProperty): 2337 (JSValueWrapper::JSObjectSetProperty): 2338 (JSValueWrapper::JSObjectCallFunction): 2339 (JSValueWrapper::JSObjectCopyCFValue): 2340 * JavaScriptGlue.cpp: 2341 (JSRunCreate): 2342 (JSCollect): 2343 (JSLockInterpreter): 2344 (JSUnlockInterpreter): 2345 * UserObjectImp.cpp: 2346 (UserObjectImp::callAsFunction): 2347 23482005-11-16 Maciej Stachowiak <mjs@apple.com> 2349 2350 Reviewed by Geoff. 2351 2352 Updated to use new API to drop all locks. 2353 2354 * JavaScriptGlue.cpp: 2355 (JSLockInterpreter): 2356 (JSUnlockInterpreter): 2357 * UserObjectImp.cpp: 2358 (UserObjectImp::callAsFunction): 2359 23602005-11-14 Geoffrey Garen <ggaren@apple.com> 2361 2362 Reviewed by mjs. 2363 2364 - Part of the fix for <rdar://problem/4342216> Installer crash in 2365 KJS::ValueImp::marked() when garbage collector runs inside call to 2366 ConstantValues::init() 2367 2368 Added locking in JSRunCreate, since JSRun::JSRun constructs an object. 2369 2370 * JavaScriptGlue.cpp: 2371 (JSRunCreate): 2372 23732005-11-10 Geoffrey Garen <ggaren@apple.com> 2374 2375 Reviewed by Maciej. 2376 2377 - Fixed <rdar://problem/4334445> installer crashed on my 2378 dual g4 450Mhz after clicking language 2379 2380 - Reversed backwards NULL check. 2381 - Inserted guards against NULL fJSUserObject data member. 2382 - Cleaned up some style. 2383 2384 * JSUtils.cpp: 2385 (KJSValueToCFTypeInternal): 2386 * UserObjectImp.cpp: 2387 (UserObjectImp::~UserObjectImp): 2388 (UserObjectImp::callAsFunction): 2389 (UserObjectImp::userObjectGetter): 2390 (UserObjectImp::getOwnPropertySlot): 2391 (UserObjectImp::put): 2392 (UserObjectImp::mark): 2393 23942005-11-04 Timothy Hatcher <timothy@apple.com> 2395 2396 Reviewed by Darin Adler. 2397 2398 * JavaScriptGlue.xcodeproj/project.pbxproj: 2399 Fixed the FRAMEWORK_SEARCH_PATHS to look in the WebKit 2400 Frameworks for the Default config. 2401 24022005-11-03 Timothy Hatcher <timothy@apple.com> 2403 2404 Reviewed by Darin and Vicki. 2405 2406 * JavaScriptGlue.xcodeproj/project.pbxproj: 2407 Change to use $(SYSTEM_LIBRARY_DIR) consistently and place 2408 $(NEXT_ROOT) in a few spots to make build-root work. 2409 24102005-11-01 Maciej Stachowiak <mjs@apple.com> 2411 2412 Reviewed by: Eric. 2413 2414 <rdar://problem/4324107> get JavaScriptGlue working with TOT JavaScriptCore again 2415 2416 - reverted all this stuff to use ReferenceList instead of IdentifierSequencedSet 2417 2418 * JSUtils.cpp: 2419 (KJSValueToCFTypeInternal): 2420 * JSValueWrapper.cpp: 2421 (JSValueWrapper::JSObjectCopyPropertyNames): 2422 * UserObjectImp.cpp: 2423 (UserObjectImp::propList): 2424 * UserObjectImp.h: 2425 24262005-10-11 Timothy Hatcher <timothy@apple.com> 2427 2428 Setup the proper Framework search path for the Default config. 2429 Prepping for a TOT submission and build by B&I. 2430 2431 * JavaScriptGlue.xcodeproj/project.pbxproj: 2432 24332005-10-10 Darin Adler <darin@apple.com> 2434 2435 Reviewed by Eric. 2436 2437 - converted tabs to spaces, NULL to 0, added some (void), got rid of __ prefixes 2438 in headers (reserved for compiler/library) 2439 2440 * Info.plist: 2441 * JSBase.cpp: 2442 * JSBase.h: 2443 * JSObject.cpp: 2444 * JSObject.h: 2445 * JSRun.cpp: 2446 * JSRun.h: 2447 * JSUtils.cpp: 2448 * JSUtils.h: 2449 * JSValueWrapper.cpp: 2450 * JSValueWrapper.h: 2451 * JavaScriptGlue.cpp: 2452 * JavaScriptGlue.h: 2453 * UserObjectImp.cpp: 2454 * UserObjectImp.h: 2455 24562005-10-10 Darin Adler <darin@apple.com> 2457 2458 * .cvsignore: Added. Ignore Makefile.in and Makefile. 2459 24602005-10-07 Timothy Hatcher <timothy@apple.com> 2461 2462 Reviewed by Maciej. 2463 2464 Build fix, needed to disable RTTI. Upgraded to a native target. 2465 2466 * JavaScriptGlue.xcodeproj/project.pbxproj: 2467 * Info.plist 2468 24692005-10-05 Maciej Stachowiak <mjs@apple.com> 2470 2471 Reviewed by Eric and Darin. 2472 2473 <rdar://problem/4260506> Port JavaScriptGlue to TOT JavaScriptCore 2474 2475 * JSRun.cpp: 2476 (JSRun::JSRun): 2477 (JSRun::GlobalObject): 2478 * JSRun.h: 2479 (JSInterpreter::JSInterpreter): 2480 * JSUtils.cpp: 2481 (KJSValueToJSObject): 2482 (JSObjectKJSValue): 2483 (KJSValueToCFTypeInternal): 2484 (KJSValueToCFType): 2485 * JSUtils.h: 2486 * JSValueWrapper.cpp: 2487 (JSValueWrapper::JSValueWrapper): 2488 (JSValueWrapper::GetValue): 2489 (JSValueWrapper::JSObjectCopyPropertyNames): 2490 (JSValueWrapper::JSObjectCopyProperty): 2491 (JSValueWrapper::JSObjectSetProperty): 2492 (JSValueWrapper::JSObjectCallFunction): 2493 (JSValueWrapper::JSObjectMark): 2494 * JSValueWrapper.h: 2495 * JavaScriptGlue.cpp: 2496 (JSRunCopyGlobalObject): 2497 * JavaScriptGlue.xcodeproj/project.pbxproj: 2498 * Makefile.am: Added. 2499 * UserObjectImp.cpp: 2500 (UserObjectPrototypeImp::GlobalUserObjectPrototypeImp): 2501 (UserObjectImp::UserObjectImp): 2502 (UserObjectImp::callAsFunction): 2503 (UserObjectImp::getPropertyNames): 2504 (UserObjectImp::userObjectGetter): 2505 (UserObjectImp::getOwnPropertySlot): 2506 (UserObjectImp::put): 2507 (UserObjectImp::toPrimitive): 2508 (UserObjectImp::mark): 2509 * UserObjectImp.h: 2510 * kxmlcore/FastMalloc.h: Added. 2511 * kxmlcore/HashSet.h: Added. 2512 25132005-09-14 Maciej Stachowiak <mjs@apple.com> 2514 2515 Reviewed by Geoff. 2516 2517 - fixed <rdar://problem/4214783> REGRESSION: kjs_fast_malloc crash due to lack of locking on multiple threads (seen selecting volumes in the installer) 2518 2519 Make sure to lock using the InterpreterLock class in all places that need it 2520 (including anything that uses the collector, the parser, the protect count hash table, 2521 and anything that allocates via fast_malloc). 2522 2523 * JSUtils.cpp: 2524 (CFStringToUString): 2525 (JSObjectKJSValue): 2526 (KJSValueToCFTypeInternal): 2527 * JSUtils.h: 2528 * JSValueWrapper.cpp: 2529 (JSValueWrapper::JSObjectCopyPropertyNames): 2530 (JSValueWrapper::JSObjectCopyProperty): 2531 (JSValueWrapper::JSObjectSetProperty): 2532 (JSValueWrapper::JSObjectCallFunction): 2533 (JSValueWrapper::JSObjectCopyCFValue): 2534 * JavaScriptGlue.cpp: 2535 (JSCollect): 2536 25372005-09-27 Adele Peterson <adele@apple.com> 2538 2539 Reviewed by Maciej. 2540 2541 <rdar://problem/4223297> JavaScriptGlue: Submit 64-bit compatible versions of your API and SPIs by September 15 2542 2543 * JavaScriptGlue.h: Changed UInt32 to CFTypeID for JSTypeID 2544 25452005-09-06 Geoffrey Garen <ggaren@apple.com> 2546 2547 -upgraded project files to XCode 2.1 2548 2549 * JavaScriptGlue.pbproj/project.pbxproj: Removed. 2550 * JavaScriptGlue.xcodeproj/.cvsignore: Added. 2551 * JavaScriptGlue.xcodeproj/project.pbxproj: Added. 2552 25532005-09-01 Maciej Stachowiak <mjs@apple.com> 2554 2555 Rubber stamped by hyatt. 2556 2557 - initial import of JavaScriptGlue into our repository 2558 2559 * English.lproj/InfoPlist.strings: Added. 2560 * JSBase.cpp: Added. 2561 (JSBase::JSBase): 2562 (JSBase::~JSBase): 2563 (JSBase::Retain): 2564 (JSBase::Release): 2565 (JSBase::RetainCount): 2566 (JSBase::GetTypeID): 2567 (JSBase::CopyDescription): 2568 (JSBase::Equal): 2569 * JSBase.h: Added. 2570 * JSObject.cpp: Added. 2571 (JSUserObject::JSUserObject): 2572 (JSUserObject::~JSUserObject): 2573 (JSUserObject::CopyPropertyNames): 2574 (JSUserObject::CopyProperty): 2575 (JSUserObject::SetProperty): 2576 (JSUserObject::ImplementsCall): 2577 (JSUserObject::CallFunction): 2578 (JSUserObject::CopyCFValue): 2579 (JSUserObject::Equal): 2580 (JSUserObject::Mark): 2581 (JSUserObject::GetData): 2582 * JSObject.h: Added. 2583 (JSUserObject::DataType): 2584 * JSRun.cpp: Added. 2585 (JSRun::JSRun): 2586 (JSRun::~JSRun): 2587 (JSRun::Flags): 2588 (JSRun::GetSource): 2589 (JSRun::GlobalObject): 2590 (JSRun::GetInterpreter): 2591 (JSRun::Evaluate): 2592 (JSRun::CheckSyntax): 2593 * JSRun.h: Added. 2594 (JSInterpreter::JSInterpreter): 2595 (JSInterpreter::JSInterpreter::~JSInterpreter): 2596 (JSInterpreter::Flags): 2597 * JSUtils.cpp: Added. 2598 (CFStringToUString): 2599 (UStringToCFString): 2600 (CFStringToIdentifier): 2601 (IdentifierToCFString): 2602 (KJSValueToJSObject): 2603 (JSObjectKJSValue): 2604 (KJSValueToCFTypeInternal): 2605 (KJSValueToCFType): 2606 (GetCFNull): 2607 * JSUtils.h: Added. 2608 (RetainCFType): 2609 (ReleaseCFType): 2610 * JSValueWrapper.cpp: Added. 2611 (JSValueWrapper::JSValueWrapper): 2612 (JSValueWrapper::~JSValueWrapper): 2613 (JSValueWrapper::GetValue): 2614 (JSValueWrapper::GetExecState): 2615 (JSValueWrapper::GetJSObectCallBacks): 2616 (JSValueWrapper::JSObjectDispose): 2617 (JSValueWrapper::JSObjectCopyPropertyNames): 2618 (JSValueWrapper::JSObjectCopyProperty): 2619 (JSValueWrapper::JSObjectSetProperty): 2620 (JSValueWrapper::JSObjectCallFunction): 2621 (JSValueWrapper::JSObjectCopyCFValue): 2622 (JSValueWrapper::JSObjectMark): 2623 * JSValueWrapper.h: Added. 2624 * JavaScriptGlue.cpp: Added. 2625 (JSSetCFNull): 2626 (JSGetCFNull): 2627 (JSRetain): 2628 (JSRelease): 2629 (JSCopyDescription): 2630 (JSEqual): 2631 (JSGetTypeID): 2632 (JSGetRetainCount): 2633 (JSObjectCreate): 2634 (JSObjectCreateInternal): 2635 (JSObjectCopyCFValue): 2636 (JSObjectGetData): 2637 (JSObjectCopyProperty): 2638 (JSObjectSetProperty): 2639 (JSObjectCallFunction): 2640 (JSRunCreate): 2641 (JSRunCopySource): 2642 (JSRunCopyGlobalObject): 2643 (JSRunEvaluate): 2644 (JSRunCheckSyntax): 2645 (JSCollect): 2646 (JSTypeGetCFArrayCallBacks): 2647 (JSCFRetain): 2648 (JSCFRelease): 2649 (JSObjectCreateWithCFType): 2650 (CFJSObjectDispose): 2651 (JSObjectCopyPropertyNames): 2652 (CFJSObjectCopyProperty): 2653 (CFJSObjectSetProperty): 2654 (CFJSObjectCopyCFValue): 2655 (CFJSObjectEqual): 2656 (CFJSObjectCopyPropertyNames): 2657 (JSCreateCFArrayFromJSArray): 2658 (JSCreateJSArrayFromCFArray): 2659 (JSLockInterpreter): 2660 (JSUnlockInterpreter): 2661 * JavaScriptGlue.exp: Added. 2662 * JavaScriptGlue.h: Added. 2663 * JavaScriptGlue.pbproj/project.pbxproj: Added. 2664 * UserObjectImp.cpp: Added. 2665 (UserObjectPrototypeImp::UserObjectPrototypeImp): 2666 (UserObjectPrototypeImp::GlobalUserObjectPrototypeImp): 2667 (UserObjectImp::UserObjectImp): 2668 (UserObjectImp::~UserObjectImp): 2669 (UserObjectImp::classInfo): 2670 (UserObjectImp::implementsCall): 2671 (UserObjectImp::call): 2672 (UserObjectImp::propList): 2673 (UserObjectImp::hasProperty): 2674 (UserObjectImp::get): 2675 (UserObjectImp::put): 2676 (UserObjectImp::GetJSUserObject): 2677 (UserObjectImp::toPrimitive): 2678 (UserObjectImp::toBoolean): 2679 (UserObjectImp::toNumber): 2680 (UserObjectImp::toString): 2681 (UserObjectImp::mark): 2682 * UserObjectImp.h: Added. 2683 2684