Chromium Code Reviews| OLD | NEW |
|---|---|
| (Empty) | |
| 1 // Copyright 2014 the V8 project authors. All rights reserved. | |
|
arv (Not doing code reviews)
2015/05/28 15:18:33
15
Michael Hablich
2015/05/29 14:36:59
Done.
| |
| 2 // Use of this source code is governed by a BSD-style license that can be | |
| 3 // found in the LICENSE file. | |
| 4 | |
| 5 new BenchmarkSuite('With', [1000], [ | |
|
Michael Hablich
2015/05/29 14:36:59
Does anybody have a clue what would be a good refe
| |
| 6 new Benchmark('AccessOnSameLevel', false, false, 0, | |
| 7 AccessOnSameLevel, AccessOnSameLevelSetup, | |
| 8 AccessOnSameLevelTearDown), | |
| 9 new Benchmark('AccessOverPrototypeChain', false, false, 0, | |
| 10 AccessOverPrototypeChainSetup, AccessOverPrototypeChainSetup, | |
| 11 AccessOverPrototypeChainTearDown), | |
| 12 new Benchmark('CompetingScope', false, false, 0, | |
| 13 CompetingScope, CompetingScopeSetup, CompetingScopeTearDown) | |
| 14 ]); | |
| 15 | |
| 16 var objectUnderTest; | |
| 17 var objectUnderTestExtended; | |
| 18 var resultStore; | |
| 19 var VALUE_OF_PROPERTY = "Simply a string"; | |
|
arv (Not doing code reviews)
2015/05/28 15:18:33
Don't mix and match " and '. Stick to one.
Michael Hablich
2015/05/29 14:36:59
Done.
| |
| 20 | |
| 21 // ---------------------------------------------------------------------------- | |
| 22 | |
| 23 function AccessOnSameLevelSetup() { | |
| 24 objectUnderTest = {"First": VALUE_OF_PROPERTY}; | |
|
arv (Not doing code reviews)
2015/05/28 15:18:33
objectUnderTest = {first: VALUE_OF_PROPERTY};
Cap
Michael Hablich
2015/05/29 14:36:58
Done.
| |
| 25 } | |
| 26 | |
| 27 function AccessOnSameLevel() { | |
| 28 with(objectUnderTest) { | |
|
arv (Not doing code reviews)
2015/05/28 15:18:33
with (
just like, if, else for, while, catch etc.
Michael Hablich
2015/05/29 14:36:59
Done.
| |
| 29 resultStore = First; | |
| 30 } | |
| 31 } | |
| 32 | |
| 33 function AccessOnSameLevelTearDown() { | |
| 34 return objectUnderTest.First === resultStore; | |
| 35 } | |
| 36 | |
| 37 // ---------------------------------------------------------------------------- | |
| 38 | |
| 39 function AccessOverPrototypeChainSetup() { | |
| 40 objectUnderTest = {"First": VALUE_OF_PROPERTY}; | |
| 41 objectUnderTestExtended = Object.create(objectUnderTest); | |
|
arv (Not doing code reviews)
2015/05/28 15:18:33
Or
objectUnderTestExtended = {
__proto__: objec
Michael Hablich
2015/05/29 14:36:59
IMO mine is more readable.
arv (Not doing code reviews)
2015/05/29 14:43:39
IMO does not apply to style =P
https://google-sty
| |
| 42 objectUnderTestExtended.Second = "Another string"; | |
| 43 } | |
| 44 | |
| 45 function AccessOverPrototypeChain() { | |
| 46 with(objectUnderTestExtended) { | |
| 47 resultStore = First; | |
| 48 } | |
| 49 } | |
| 50 | |
| 51 function AccessOverPrototypeChainTearDown() { | |
| 52 return objectUnderTest.First === resultStore; | |
| 53 } | |
| 54 | |
| 55 // ---------------------------------------------------------------------------- | |
| 56 | |
| 57 function CompetingScopeSetup() { | |
| 58 objectUnderTest = {"First": VALUE_OF_PROPERTY}; | |
| 59 } | |
| 60 | |
| 61 function CompetingScope() { | |
| 62 var First = "Not correct"; | |
| 63 with(objectUnderTest) { | |
| 64 resultStore = First; | |
| 65 } | |
| 66 } | |
| 67 | |
| 68 function CompetingScopeTearDown() { | |
| 69 return objectUnderTest.First === resultStore; | |
| 70 } | |
|
arv (Not doing code reviews)
2015/05/28 15:18:33
Do we want to test assignment too?
with (objectUn
Michael Hablich
2015/05/29 14:36:59
Done.
| |
| OLD | NEW |