I'm having a lot of fun with this. It took me a while to figure out the right idioms. I believe that we can make most of the things in JSGlobalObject lazy. I'm using a combination of the following two approaches.
- LazyProperty<>. This is like WriteBarrier<> but it allows you to initialize it
lazily. You can do:
m_myLazyProperty.initLater([] (const Initializer& init) { init.set(...); });
You're required to use a stateless (i.e. "[]") lambda, and we will assert this. It
successfully converts the lambda into a function pointer and stuffs it into itself.
Then later when you call get(), it will invoke this lambda by extracting it from the
function pointer.
Crucially, the initLater() method compiles down to a store of a constant function
pointer into the pointer field inside m_myLazyProperty.
- New Lookup attributes. It's now possible to put various kinds of property creation
callbacks in a Lookup hashtable. This can be married to a LazyProperty<> so that
the laziness of initialization is coordinated between the two.
When this is all put together, it should be easy to write code in JSGlobalObject that lazily constructs everything. I'm playing with this now.
Attachment 277762[details] did not pass style-queue:
ERROR: Source/JavaScriptCore/runtime/LazyProperty.h:103: The parameter name "initializer" adds no information, so it should be removed. [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/runtime/LazyClassStructure.h:45: The parameter name "prototype" adds no information, so it should be removed. [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/runtime/LazyClassStructure.h:59: The parameter name "constructor" adds no information, so it should be removed. [readability/parameter_name] [5]
ERROR: Source/WTF/wtf/StdLibExtras.h:67: Should have a space between // and comment [whitespace/comments] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:344: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:348: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:353: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:357: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:367: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:371: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:377: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:385: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:389: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:403: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:410: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:429: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:437: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:442: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:446: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:451: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:456: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:463: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:467: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:473: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:477: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:577: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:582: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:586: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:591: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/LazyClassStructureInlines.h:38: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/heap/Heap.cpp:1132: Should have a space between // and comment [whitespace/comments] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.h:34: Alphabetical sorting problem. [build/include_order] [4]
Total errors found: 32 in 34 files
If any of these errors are false positives, please file a bug against check-webkit-style.
Attachment 277770[details] did not pass style-queue:
ERROR: Source/JavaScriptCore/runtime/LazyProperty.h:103: The parameter name "initializer" adds no information, so it should be removed. [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/runtime/LazyClassStructure.h:45: The parameter name "prototype" adds no information, so it should be removed. [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/runtime/LazyClassStructure.h:59: The parameter name "constructor" adds no information, so it should be removed. [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:344: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:348: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:353: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:357: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:367: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:371: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:377: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:385: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:389: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:403: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:410: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:429: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:437: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:442: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:446: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:451: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:456: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:463: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:467: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:473: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:477: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:577: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:582: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:586: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:591: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/LazyClassStructureInlines.h:38: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/heap/Heap.cpp:1132: Should have a space between // and comment [whitespace/comments] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.h:34: Alphabetical sorting problem. [build/include_order] [4]
Total errors found: 31 in 34 files
If any of these errors are false positives, please file a bug against check-webkit-style.
Attachment 277820[details] did not pass style-queue:
ERROR: Source/JavaScriptCore/runtime/LazyProperty.h:103: The parameter name "initializer" adds no information, so it should be removed. [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/runtime/LazyClassStructure.h:45: The parameter name "prototype" adds no information, so it should be removed. [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/runtime/LazyClassStructure.h:59: The parameter name "constructor" adds no information, so it should be removed. [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:344: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:348: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:353: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:357: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:367: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:371: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:377: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:385: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:389: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:403: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:410: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:429: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:437: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:442: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:446: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:451: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:456: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:463: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:467: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:473: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:477: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:577: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:582: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:586: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:591: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/LazyClassStructureInlines.h:38: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/heap/Heap.cpp:1132: Should have a space between // and comment [whitespace/comments] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.h:34: Alphabetical sorting problem. [build/include_order] [4]
Total errors found: 31 in 34 files
If any of these errors are false positives, please file a bug against check-webkit-style.
Attachment 277821[details] did not pass style-queue:
ERROR: Source/JavaScriptCore/runtime/LazyProperty.h:103: The parameter name "initializer" adds no information, so it should be removed. [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/runtime/LazyClassStructure.h:45: The parameter name "prototype" adds no information, so it should be removed. [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/runtime/LazyClassStructure.h:59: The parameter name "constructor" adds no information, so it should be removed. [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:344: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:348: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:353: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:357: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:367: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:371: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:377: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:385: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:389: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:403: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:410: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:429: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:437: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:442: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:446: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:451: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:456: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:463: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:467: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:473: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:477: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:577: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:582: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:586: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:591: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/LazyClassStructureInlines.h:38: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/heap/Heap.cpp:1132: Should have a space between // and comment [whitespace/comments] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.h:34: Alphabetical sorting problem. [build/include_order] [4]
Total errors found: 31 in 34 files
If any of these errors are false positives, please file a bug against check-webkit-style.
Attachment 277822[details] did not pass style-queue:
ERROR: Source/JavaScriptCore/runtime/LazyProperty.h:103: The parameter name "initializer" adds no information, so it should be removed. [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/runtime/LazyClassStructure.h:45: The parameter name "prototype" adds no information, so it should be removed. [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/runtime/LazyClassStructure.h:59: The parameter name "constructor" adds no information, so it should be removed. [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:344: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:348: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:353: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:357: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:367: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:371: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:377: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:385: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:389: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:403: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:410: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:429: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:437: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:442: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:446: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:451: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:456: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:463: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:467: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:473: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:477: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:577: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:582: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:586: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:591: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/LazyClassStructureInlines.h:38: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/heap/Heap.cpp:1132: Should have a space between // and comment [whitespace/comments] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.h:34: Alphabetical sorting problem. [build/include_order] [4]
Total errors found: 31 in 34 files
If any of these errors are false positives, please file a bug against check-webkit-style.
Created attachment 277827[details]
Archive of layout-test-results from ews114 for mac-yosemite
The attached test failures were seen while running run-webkit-tests on the mac-debug-ews.
Bot: ews114 Port: mac-yosemite Platform: Mac OS X 10.10.5
Created attachment 277828[details]
Archive of layout-test-results from ews103 for mac-yosemite
The attached test failures were seen while running run-webkit-tests on the mac-ews.
Bot: ews103 Port: mac-yosemite Platform: Mac OS X 10.10.5
Created attachment 277829[details]
Archive of layout-test-results from ews107 for mac-yosemite-wk2
The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews.
Bot: ews107 Port: mac-yosemite-wk2 Platform: Mac OS X 10.10.5
Created attachment 277830[details]
Archive of layout-test-results from ews126 for ios-simulator-wk2
The attached test failures were seen while running run-webkit-tests on the ios-sim-ews.
Bot: ews126 Port: ios-simulator-wk2 Platform: Mac OS X 10.11.4
Created attachment 277866[details]
more
Fixes a bunch of bugs where the lazy initialization of structures clashed with our allocator's isInitializing assertion. It's good that we have this assertion because this was a real bug. This is subtly wrong:
JSBlah* blah = allocateCell<things>(stuff, globalObject->blahStructure(), more);
In the case that blahStructure() is doing a LazyProperty<Structure>::get(), because by the time we call it, we are already in the middle of allocating. The heap may already contain a half-initialized JSBlah. If we GC'd inside LazyProperty::get(), we'd have a bad time.
Fortunately, there were only a handful of places where we did this:
- Some of them were accessing structures that shouldn't have been lazy, like nullGetterFunction and friends. I was wrong to make them lazy because it turns out that we would always trigger their initialization transitively from JSGlobalObject::init().
- The rest just needed to be changed to do this:
Structure* structure = globalObject->blahStructure();
JSBlah* blah = allocateCell<things>(stuff, structure, more);
There are only a few such places, so it's not so bad.
Note that this is still crashing in debug for me, but less so. I'll leave it up to reviewers if they want to look at the patch in this current form. I suspect that there is still a long tail of small fixes like this one.
That said, the patch now passes all tests in release for me (WebKit and JSC tests).
Attachment 277866[details] did not pass style-queue:
ERROR: Source/JavaScriptCore/runtime/LazyProperty.h:103: The parameter name "initializer" adds no information, so it should be removed. [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/runtime/LazyClassStructure.h:45: The parameter name "prototype" adds no information, so it should be removed. [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/runtime/LazyClassStructure.h:59: The parameter name "constructor" adds no information, so it should be removed. [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:344: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:348: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:353: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:357: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:367: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:371: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:377: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:397: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:404: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:423: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:431: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:436: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:440: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:445: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:450: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:457: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:461: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:467: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:471: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:571: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:576: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:580: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:585: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/LazyClassStructureInlines.h:38: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/heap/Heap.cpp:1134: Should have a space between // and comment [whitespace/comments] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.h:34: Alphabetical sorting problem. [build/include_order] [4]
Total errors found: 29 in 37 files
If any of these errors are false positives, please file a bug against check-webkit-style.
Created attachment 277867[details]
Archive of layout-test-results from ews113 for mac-yosemite
The attached test failures were seen while running run-webkit-tests on the mac-debug-ews.
Bot: ews113 Port: mac-yosemite Platform: Mac OS X 10.10.5
Attachment 277871[details] did not pass style-queue:
ERROR: Source/JavaScriptCore/runtime/LazyProperty.h:103: The parameter name "initializer" adds no information, so it should be removed. [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:344: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:348: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:353: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:357: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:367: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:371: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:377: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:397: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:404: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:423: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:431: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:436: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:440: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:445: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:450: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:457: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:461: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:467: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:471: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:571: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:576: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:580: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:585: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/LazyClassStructure.h:45: The parameter name "prototype" adds no information, so it should be removed. [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/runtime/LazyClassStructure.h:59: The parameter name "constructor" adds no information, so it should be removed. [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/runtime/LazyClassStructureInlines.h:38: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/heap/Heap.cpp:1134: Should have a space between // and comment [whitespace/comments] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.h:34: Alphabetical sorting problem. [build/include_order] [4]
Total errors found: 29 in 41 files
If any of these errors are false positives, please file a bug against check-webkit-style.
Attachment 277873[details] did not pass style-queue:
ERROR: Source/JavaScriptCore/runtime/LazyProperty.h:103: The parameter name "initializer" adds no information, so it should be removed. [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:344: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:348: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:353: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:357: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:367: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:371: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:377: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:397: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:404: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:423: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:431: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:436: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:440: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:445: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:450: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:457: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:461: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:467: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:471: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:571: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:576: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:580: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:585: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/LazyClassStructure.h:45: The parameter name "prototype" adds no information, so it should be removed. [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/runtime/LazyClassStructure.h:59: The parameter name "constructor" adds no information, so it should be removed. [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/runtime/LazyClassStructureInlines.h:38: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/heap/Heap.cpp:1134: Should have a space between // and comment [whitespace/comments] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.h:34: Alphabetical sorting problem. [build/include_order] [4]
Total errors found: 29 in 42 files
If any of these errors are false positives, please file a bug against check-webkit-style.
Attachment 277875[details] did not pass style-queue:
ERROR: Source/JavaScriptCore/runtime/LazyProperty.h:103: The parameter name "initializer" adds no information, so it should be removed. [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:344: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:348: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:353: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:357: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:367: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:371: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:377: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:397: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:404: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:423: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:431: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:436: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:440: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:445: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:450: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:457: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:461: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:467: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:471: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:571: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:576: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:580: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:585: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/LazyClassStructure.h:45: The parameter name "prototype" adds no information, so it should be removed. [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/runtime/LazyClassStructure.h:59: The parameter name "constructor" adds no information, so it should be removed. [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/runtime/LazyClassStructureInlines.h:38: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/heap/Heap.cpp:1134: Should have a space between // and comment [whitespace/comments] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.h:34: Alphabetical sorting problem. [build/include_order] [4]
Total errors found: 29 in 43 files
If any of these errors are false positives, please file a bug against check-webkit-style.
Attachment 277882[details] did not pass style-queue:
ERROR: Source/JavaScriptCore/runtime/LazyProperty.h:103: The parameter name "initializer" adds no information, so it should be removed. [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:344: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:348: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:353: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:357: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:367: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:371: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:377: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:397: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:404: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:423: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:431: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:436: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:440: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:445: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:450: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:457: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:461: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:467: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:471: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:571: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:576: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:580: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:585: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/LazyClassStructure.h:45: The parameter name "prototype" adds no information, so it should be removed. [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/runtime/LazyClassStructure.h:59: The parameter name "constructor" adds no information, so it should be removed. [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/runtime/LazyClassStructureInlines.h:38: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/heap/Heap.cpp:1134: Should have a space between // and comment [whitespace/comments] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.h:34: Alphabetical sorting problem. [build/include_order] [4]
Total errors found: 29 in 43 files
If any of these errors are false positives, please file a bug against check-webkit-style.
Attachment 277885[details] did not pass style-queue:
ERROR: Source/JavaScriptCore/runtime/LazyProperty.h:103: The parameter name "initializer" adds no information, so it should be removed. [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:344: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:348: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:353: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:357: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:367: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:371: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:377: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:397: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:404: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:423: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:431: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:436: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:440: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:445: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:450: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:457: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:461: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:467: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:471: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:571: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:576: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:580: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:585: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/LazyClassStructure.h:45: The parameter name "prototype" adds no information, so it should be removed. [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/runtime/LazyClassStructure.h:59: The parameter name "constructor" adds no information, so it should be removed. [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/runtime/LazyClassStructureInlines.h:38: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.h:34: Alphabetical sorting problem. [build/include_order] [4]
Total errors found: 28 in 42 files
If any of these errors are false positives, please file a bug against check-webkit-style.
Created attachment 277887[details]
Archive of layout-test-results from ews116 for mac-yosemite
The attached test failures were seen while running run-webkit-tests on the mac-debug-ews.
Bot: ews116 Port: mac-yosemite Platform: Mac OS X 10.10.5
Attachment 277888[details] did not pass style-queue:
ERROR: Source/JavaScriptCore/runtime/LazyProperty.h:103: The parameter name "initializer" adds no information, so it should be removed. [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:344: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:348: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:353: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:357: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:367: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:371: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:377: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:397: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:404: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:423: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:431: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:436: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:440: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:445: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:450: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:457: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:461: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:467: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:471: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:571: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:576: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:580: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:585: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/LazyClassStructure.h:45: The parameter name "prototype" adds no information, so it should be removed. [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/runtime/LazyClassStructure.h:59: The parameter name "constructor" adds no information, so it should be removed. [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/runtime/LazyClassStructureInlines.h:38: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.h:34: Alphabetical sorting problem. [build/include_order] [4]
ERROR: Source/JavaScriptCore/debugger/DebuggerScope.h:41: The parameter name "vm" adds no information, so it should be removed. [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/debugger/DebuggerScope.h:41: The parameter name "scope" adds no information, so it should be removed. [readability/parameter_name] [5]
Total errors found: 30 in 45 files
If any of these errors are false positives, please file a bug against check-webkit-style.
Attachment 277918[details] did not pass style-queue:
ERROR: Source/JavaScriptCore/runtime/LazyProperty.h:94: The parameter name "owner" adds no information, so it should be removed. [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/runtime/LazyProperty.h:95: The parameter name "owner" adds no information, so it should be removed. [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:344: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:348: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:353: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:357: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:367: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:371: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:377: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:385: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:405: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:412: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:431: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:439: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:444: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:448: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:453: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:458: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:465: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:469: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:475: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:479: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:579: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:584: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:588: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:593: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/LazyClassStructure.h:45: The parameter name "prototype" adds no information, so it should be removed. [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/runtime/LazyClassStructure.h:59: The parameter name "constructor" adds no information, so it should be removed. [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/runtime/LazyClassStructureInlines.h:38: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.h:34: Alphabetical sorting problem. [build/include_order] [4]
ERROR: Source/JavaScriptCore/debugger/DebuggerScope.h:41: The parameter name "vm" adds no information, so it should be removed. [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/debugger/DebuggerScope.h:41: The parameter name "scope" adds no information, so it should be removed. [readability/parameter_name] [5]
Total errors found: 32 in 45 files
If any of these errors are false positives, please file a bug against check-webkit-style.
(In reply to comment #57)
> (In reply to comment #56)
> > Is this a JSBench speed up?
>
> Haven't measured yet. I think I'll let the bots do that for me.
BTW, now that I think about it, this may not affect in-browser performance if the DOM's subclasses of JSGlobalObject do super expensive things. I don't know if that's the case or not. I'll watch the bots.
Comment on attachment 277918[details]
rebased
View in context: https://bugs.webkit.org/attachment.cgi?id=277918&action=review> Source/JavaScriptCore/runtime/LazyProperty.h:81
> + auto callFunc = bitwise_cast<ElementType* (*)(const Initializer&)>(m_pointer & ~lazyTag);
> + return callFunc(Initializer(const_cast<OwnerType*>(owner), *const_cast<LazyProperty*>(this)));
Removing the least significant bit is completely incorrect on ARMv7 Thumb2.
The 1 bit means for BLX remaining in Thumb2 mode, but 0 bit makes the CPU
switch to ARM mode, but there are Thumb2 instructions on that address.
FUI, we started to experience crashes on iOS PLT since around this patch landed. I haven't confirmed yet the crashes are caused by this change but it is the most likely culprit.
(In reply to comment #62)
> FUI, we started to experience crashes on iOS PLT since around this patch
> landed. I haven't confirmed yet the crashes are caused by this change but it
> is the most likely culprit.
I see you landed a follow-up crash fix. However, we still see the crashes on iOS on r200415.
Regressions on non-optimized builds with GCC, as explained in bug #157338, are due to callFunc instantiations not being aligned. Thumb2 failures are due to the lazy tag conflicting with the arch-specific use of the bottom bit.
Force-aligning callFunc() to 16-byte boundaries and shifting the tags to the second and third lowest bits fixes the issues.
(In reply to comment #67)
> Regressions on non-optimized builds with GCC, as explained in bug #157338,
> are due to callFunc instantiations not being aligned. Thumb2 failures are
> due to the lazy tag conflicting with the arch-specific use of the bottom bit.
>
> Force-aligning callFunc() to 16-byte boundaries and shifting the tags to the
> second and third lowest bits fixes the issues.
Yup. It was a mistake for me to use pointer tagging on function pointers. I have an idea of how to fix that. Working on it now.
(In reply to comment #68)
> (In reply to comment #67)
> > Regressions on non-optimized builds with GCC, as explained in bug #157338,
> > are due to callFunc instantiations not being aligned. Thumb2 failures are
> > due to the lazy tag conflicting with the arch-specific use of the bottom bit.
> >
> > Force-aligning callFunc() to 16-byte boundaries and shifting the tags to the
> > second and third lowest bits fixes the issues.
>
> Yup. It was a mistake for me to use pointer tagging on function pointers.
> I have an idea of how to fix that. Working on it now.
I think I have a glorious fix. LazyProperty<>::m_pointer will now point to a global variable that points to the function. That way, we can do pointer tagging in m_pointer because a pointer to a global pointer variable is guaranteed to be at least 4-bytes aligned and it will not have anything like the Thumb2 tag in it.
Testing this now...
Attachment 278121[details] did not pass style-queue:
ERROR: Source/JavaScriptCore/runtime/LazyProperty.h:98: The parameter name "owner" adds no information, so it should be removed. [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/runtime/LazyProperty.h:99: The parameter name "owner" adds no information, so it should be removed. [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:343: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:347: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:352: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:356: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:366: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:370: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:376: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:384: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:405: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:412: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:431: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:439: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:444: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:448: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:453: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:458: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:465: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:469: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:475: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:479: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:579: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:584: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:588: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.cpp:593: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/LazyClassStructure.h:45: The parameter name "prototype" adds no information, so it should be removed. [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/runtime/LazyClassStructure.h:59: The parameter name "constructor" adds no information, so it should be removed. [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/runtime/LazyClassStructureInlines.h:38: Place brace on its own line for function definitions. [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObject.h:34: Alphabetical sorting problem. [build/include_order] [4]
ERROR: Source/JavaScriptCore/debugger/DebuggerScope.h:41: The parameter name "vm" adds no information, so it should be removed. [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/debugger/DebuggerScope.h:41: The parameter name "scope" adds no information, so it should be removed. [readability/parameter_name] [5]
Total errors found: 32 in 48 files
If any of these errors are false positives, please file a bug against check-webkit-style.
2016-04-26 14:54 PDT, Filip Pizlo
2016-04-26 17:03 PDT, Filip Pizlo
2016-04-26 21:30 PDT, Filip Pizlo
2016-04-27 14:55 PDT, Filip Pizlo
2016-04-27 20:50 PDT, Filip Pizlo
2016-04-27 22:09 PDT, Filip Pizlo
2016-04-28 12:31 PDT, Filip Pizlo
2016-04-28 14:25 PDT, Filip Pizlo
2016-04-28 15:18 PDT, Filip Pizlo
2016-04-28 15:46 PDT, Filip Pizlo
2016-04-29 16:18 PDT, Filip Pizlo
2016-04-29 17:13 PDT, Filip Pizlo
2016-04-29 18:01 PDT, Filip Pizlo
2016-04-30 12:07 PDT, Filip Pizlo
2016-04-30 12:12 PDT, Filip Pizlo
2016-04-30 12:23 PDT, Filip Pizlo
2016-04-30 13:17 PDT, Build Bot
2016-04-30 13:28 PDT, Build Bot
2016-04-30 13:38 PDT, Build Bot
2016-04-30 13:38 PDT, Build Bot
2016-05-01 11:54 PDT, Filip Pizlo
2016-05-01 12:52 PDT, Build Bot
2016-05-01 15:10 PDT, Filip Pizlo
2016-05-01 16:38 PDT, Filip Pizlo
2016-05-01 16:57 PDT, Filip Pizlo
2016-05-01 18:15 PDT, Filip Pizlo
2016-05-01 19:01 PDT, Filip Pizlo
2016-05-01 20:17 PDT, Build Bot
2016-05-01 21:16 PDT, Filip Pizlo
2016-05-02 10:19 PDT, Filip Pizlo
2016-05-02 11:54 PDT, Filip Pizlo
2016-05-04 13:08 PDT, Filip Pizlo
2016-05-04 13:31 PDT, Filip Pizlo