[v8-dev] Re: Bubble up the transitions associated with PreventExtensionsWithTransition (issue 1239803004 by conr...@chromium.org)

2015-09-18 Thread conradw
After some iterations on strong class semantics, this change probably doesn't need to go ahead, since instances are no longer going to be sealed. https://codereview.chromium.org/1239803004/ -- -- v8-dev mailing list v8-dev@googlegroups.com http://groups.google.com/group/v8-dev --- You

[v8-dev] Re: When parsing inner functions, try to allocate in a temporary Zone (issue 1304923004 by conr...@chromium.org)

2015-09-10 Thread conradw
https://codereview.chromium.org/1304923004/diff/11/src/parser.cc File src/parser.cc (right): https://codereview.chromium.org/1304923004/diff/11/src/parser.cc#newcode4241 src/parser.cc:4241: factory()->set_zone(outer_zone); On 2015/09/10 12:16:54, Michael Starzinger wrote: Suggestion as

[v8-dev] Re: When parsing inner functions, try to allocate in a temporary Zone (issue 1304923004 by conr...@chromium.org)

2015-09-10 Thread conradw
https://codereview.chromium.org/1304923004/diff/60001/src/ast.h File src/ast.h (right): https://codereview.chromium.org/1304923004/diff/60001/src/ast.h#newcode3280 src/ast.h:3280: : zone_(ast_value_factory->zone()), On 2015/09/09 19:48:16, titzer wrote: Can we rename this zone to be clearer as

[v8-dev] Re: When parsing inner functions, try to allocate in a temporary Zone (issue 1304923004 by conr...@chromium.org)

2015-09-10 Thread conradw
https://codereview.chromium.org/1304923004/diff/180001/src/ast.h File src/ast.h (right): https://codereview.chromium.org/1304923004/diff/180001/src/ast.h#newcode3696 src/ast.h:3696: // HeapObjects which need to persist until scope analysis must be allocated in On 2015/09/10 14:06:36, Michael

[v8-dev] When parsing inner functions, try to allocate in a temporary Zone (issue 1304923004 by conr...@chromium.org)

2015-09-09 Thread conradw
Reviewers: titzer, Michael Starzinger, rossberg, Message: PTAL Of the "worst" allocations mentioned here.. https://code.google.com/p/chromium/issues/detail?id=417697#c14 Allocations that are discarded: NewAssignment, NewNumberLiteral, NewBinaryOperation, NewExpressionStatement, NewProperty,

[v8-dev] [strong] weak classes can't inherit from strong ones (issue 1316333002 by conr...@chromium.org)

2015-09-02 Thread conradw
Reviewers: rossberg, Benedikt Meurer, Message: PTAL Description: [strong] weak classes can't inherit from strong ones Prerequisite for sealing strong class instances. Depends on https://codereview.chromium.org/1314203002/ BUG=v8:3956 LOG=N Please review this at

[v8-dev] Re: Bubble up the transitions associated with PreventExtensionsWithTransition (issue 1239803004 by conr...@chromium.org)

2015-09-02 Thread conradw
On 2015/09/02 14:53:52, rossberg wrote: Igor, given that Toon is away, can you perhaps have a look at this CL? I'm not completely happy with this CL just now, I was talking to Jakob about this issue recently and it seems like there might be a better way to do it (plus I've still not checked

[v8-dev] Re: [strong] Class constructor bodies cannot contain "use strong" directive (issue 1314203002 by conr...@chromium.org)

2015-09-01 Thread conradw
Adding some other reviewers since rossberg is at ICFP, this is blocking a couple of other things. https://codereview.chromium.org/1314203002/ -- -- v8-dev mailing list v8-dev@googlegroups.com http://groups.google.com/group/v8-dev --- You received this message because you are subscribed to

[v8-dev] Re: [strong] Class constructor bodies cannot contain "use strong" directive (issue 1314203002 by conr...@chromium.org)

2015-09-01 Thread conradw
https://codereview.chromium.org/1314203002/diff/40001/test/mjsunit/strong/function-arity.js File test/mjsunit/strong/function-arity.js (left): https://codereview.chromium.org/1314203002/diff/40001/test/mjsunit/strong/function-arity.js#oldcode220 test/mjsunit/strong/function-arity.js:220: `'use

[v8-dev] Re: [es6] parse destructuring assignment (issue 1309813007 by caitpotte...@gmail.com)

2015-08-31 Thread conradw
RecordPatternError(const Scanner::Location& loc, On 2015/08/27 15:32:24, conradw wrote: > I was thinking it might be possible to eliminate/combine the > assignment_pattern_error_ object, since every time assignment_pattern_error_ is > set, binding_pattern_error_ is set identically. Fro

[v8-dev] Re: [es6] parse destructuring assignment (issue 1309813007 by caitpotte...@gmail.com)

2015-08-31 Thread conradw
On 2015/08/31 13:13:30, wingo wrote: On 2015/08/31 11:22:53, conradw wrote: > On 2015/08/28 09:54:13, wingo wrote: > > https://codereview.chromium.org/1309813007/diff/1/src/expression-classifier.h > > File src/expression-classifier.h (right): > > > > > h

[v8-dev] Re: [es6] parse destructuring assignment (issue 1309813007 by caitpotte...@gmail.com)

2015-08-27 Thread conradw
, On 2015/08/27 15:16:01, caitp wrote: On 2015/08/27 09:40:26, conradw wrote: BindingPatternErrors and AssignmentPatternErrors being separate seems odd to me, from scanning the parser code it looks like the latter implies the former. This might be an opportunity to unify them somewhat

[v8-dev] Re: [es6] parse destructuring assignment (issue 1309813007 by caitpotte...@gmail.com)

2015-08-27 Thread conradw
https://codereview.chromium.org/1309813007/diff/1/src/expression-classifier.h File src/expression-classifier.h (right): https://codereview.chromium.org/1309813007/diff/1/src/expression-classifier.h#newcode158 src/expression-classifier.h:158: void RecordPatternError(const Scanner::Location loc,

[v8-dev] [es6] Make harmony_destructuring imply harmony_default_parameters (issue 1317843002 by conr...@chromium.org)

2015-08-26 Thread conradw
Reviewers: rossberg, Message: PTAL Description: [es6] Make harmony_destructuring imply harmony_default_parameters When encountering a = token in ParseAssignmentExpression, the default parameter case is not locally distinguishable from the destructuring case. BUG= Please review this at

[v8-dev] [strong] Class constructor bodies cannot contain use strong directive (issue 1314203002 by conr...@chromium.org)

2015-08-26 Thread conradw
Reviewers: rossberg, Message: PTAL Description: [strong] Class constructor bodies cannot contain use strong directive Since the constructor is also the class object itself, allowing it to retroactively become a strong object would have unintuitive consequences wrt the strength of the other

[v8-dev] Re: [parser] partially revert use-strict directives in function body affect init block (issue 1300103005 by conr...@chromium.org)

2015-08-25 Thread conradw
https://codereview.chromium.org/1300103005/diff/11/src/expression-classifier.h File src/expression-classifier.h (right): https://codereview.chromium.org/1300103005/diff/11/src/expression-classifier.h#newcode235 src/expression-classifier.h:235: // parameter On 2015/08/24 13:11:08,

[v8-dev] Re: [parser] partially revert use-strict directives in function body affect init block (issue 1300103005 by conr...@chromium.org)

2015-08-25 Thread conradw
On 2015/08/25 12:35:32, rossberg wrote: lgtm this will need to wait for the other arrow stuff to be relanded, however https://codereview.chromium.org/1300103005/ -- -- v8-dev mailing list v8-dev@googlegroups.com http://groups.google.com/group/v8-dev --- You received this message because you

[v8-dev] [parser] partially revert use-strict directives in function body affect init block (issue 1300103005 by conr...@chromium.org)

2015-08-21 Thread conradw
Reviewers: rossberg, Message: PTAL Description: [parser] partially revert use-strict directives in function body affect init block TC39 agreed to disallow use strict directives in function body when non-simple parameter lists are used. This is a continuation of caitp's CL

[v8-dev] [strong] Refactor out separate strong runtime call for class objects (issue 1270393002 by conr...@chromium.org)

2015-08-05 Thread conradw
::kDateField: case Runtime::kFinalizeClassDefinition:// TODO(conradw): Is it safe? -case Runtime::kFinalizeClassDefinitionStrong: // TODO(conradw): Is it safe? case Runtime::kDefineClassMethod: // TODO(jarin): Is it safe? case Runtime

[v8-dev] Re: [strong] Refactor out separate strong runtime call for class objects (issue 1270393002 by conr...@chromium.org)

2015-08-05 Thread conradw
https://codereview.chromium.org/1270393002/diff/1/src/runtime/runtime-classes.cc File src/runtime/runtime-classes.cc (right): https://codereview.chromium.org/1270393002/diff/1/src/runtime/runtime-classes.cc#newcode266 src/runtime/runtime-classes.cc:266: RETURN_FAILURE_ON_EXCEPTION(isolate,

[v8-dev] Re: [strong] dot prototypes of class literals should be strong objects (issue 1270423003 by conr...@chromium.org)

2015-08-05 Thread conradw
On 2015/08/05 15:17:56, conradw wrote: oops, PTAL https://codereview.chromium.org/1270423003/ -- -- v8-dev mailing list v8-dev@googlegroups.com http://groups.google.com/group/v8-dev --- You received this message because you are subscribed to the Google Groups v8-dev group. To unsubscribe

[v8-dev] [strong] dot prototypes of class literals should be strong objects (issue 1270423003 by conr...@chromium.org)

2015-08-05 Thread conradw
Reviewers: rossberg, Description: [strong] dot prototypes of class literals should be strong objects BUG=v8:3956 LOG=N Please review this at https://codereview.chromium.org/1270423003/ Base URL: https://chromium.googlesource.com/v8/v8.git@master Affected files (+5, -2 lines): M

[v8-dev] Move final parts of class literal setup into a single runtime call (issue 1266573003 by conr...@chromium.org)

2015-07-29 Thread conradw
Reviewers: Michael Starzinger, rossberg, Message: PTAL Description: Move final parts of class literal setup into a single runtime call This avoids multiple ToFastProperties runtime calls and additional stack pushes in strong mode. BUG= Please review this at

[v8-dev] Bubble up the transitions associated with PreventExtensionsWithTransition (issue 1239803004 by conr...@chromium.org)

2015-07-17 Thread conradw
Reviewers: Toon Verwaest, rossberg, Message: PTAL, will upload tests shortly Description: Bubble up the transitions associated with PreventExtensionsWithTransition PreventExtensionsWithTransition adds special transitions which ReconfigureProperty struggles to handle. If a single one of these

[v8-dev] Re: [strong] class objects created in strong mode have their prototype frozen (issue 1235983002 by conr...@chromium.org)

2015-07-14 Thread conradw
https://codereview.chromium.org/1235983002/diff/1/src/compiler/ast-graph-builder.cc File src/compiler/ast-graph-builder.cc (right): https://codereview.chromium.org/1235983002/diff/1/src/compiler/ast-graph-builder.cc#newcode1649 src/compiler/ast-graph-builder.cc:1649: // TODO(conradw): It would

[v8-dev] Re: [strong] Strong classes can't extend null (issue 1235883002 by conr...@chromium.org)

2015-07-13 Thread conradw
https://codereview.chromium.org/1235883002/diff/1/test/mjsunit/strong/class-extend-null.js File test/mjsunit/strong/class-extend-null.js (right): https://codereview.chromium.org/1235883002/diff/1/test/mjsunit/strong/class-extend-null.js#newcode67 test/mjsunit/strong/class-extend-null.js:67:

[v8-dev] [strong] Strong classes can't extend null (issue 1235883002 by conr...@chromium.org)

2015-07-13 Thread conradw
Reviewers: rossberg, Message: PTAL Description: [strong] Strong classes can't extend null BUG=v8:3956 Please review this at https://codereview.chromium.org/1235883002/ Base URL: https://chromium.googlesource.com/v8/v8.git@master Affected files (+185, -36 lines): M

[v8-dev] [strong] class objects created in strong mode are frozen (issue 1225303005 by conr...@chromium.org)

2015-07-13 Thread conradw
, environment()-Pop()); // prototype NewNode(op, environment()-Pop()); // literal + if (is_strong(language_mode())) { +// TODO(conradw): It would be more efficient to define the properties with +// the right attributes the first time round. +literal = +NewNode(javascript

[v8-dev] [strong] class objects created in strong mode have their prototype frozen (issue 1235983002 by conr...@chromium.org)

2015-07-13 Thread conradw
Reviewers: rossberg, Message: PTAL Description: [strong] class objects created in strong mode have their prototype frozen BUG=v8:3956 LOG=N Please review this at https://codereview.chromium.org/1235983002/ Base URL: https://chromium.googlesource.com/v8/v8.git@master Affected files (+128,

[v8-dev] [strong] Add tests for loading from super, loading with access checks (issue 1219663009 by conr...@chromium.org)

2015-07-02 Thread conradw
Reviewers: rossberg, Message: PTAL Description: [strong] Add tests for loading from super, loading with access checks BUG=v8:3956 LOG=N Please review this at https://codereview.chromium.org/1219663009/ Base URL: https://chromium.googlesource.com/v8/v8.git@master Affected files (+261, -1

[v8-dev] [strong] Add test for strong load involving proxies (issue 1217543006 by conr...@chromium.org)

2015-07-02 Thread conradw
childObjAccessor2 = { set foo(_){}, set 1(_){}, __proto__: proxy2 }; + +(function() { + use strong; + // TODO(conradw): These asserts are sanity checking V8's proxy implementation. + // Strong mode semantics for ES6 proxies still need to be explored. + assertDoesNotThrow(function(){proxy1.foo

[v8-dev] Re: Revert Revert relanded strong property access CL (issue 1199983002 by conr...@chromium.org)

2015-06-30 Thread conradw
ping https://codereview.chromium.org/1199983002/ -- -- v8-dev mailing list v8-dev@googlegroups.com http://groups.google.com/group/v8-dev --- You received this message because you are subscribed to the Google Groups v8-dev group. To unsubscribe from this group and stop receiving emails from

[v8-dev] Re: [strong] Implement strong mode semantics for the count operation. (issue 1216463003 by conr...@chromium.org)

2015-06-30 Thread conradw
This patchset also removes one of the runtime checks for compare. https://codereview.chromium.org/1216463003/diff/140001/src/compiler/ast-graph-builder.cc File src/compiler/ast-graph-builder.cc (right):

[v8-dev] Re: Revert Revert relanded strong property access CL (issue 1199983002 by conr...@chromium.org)

2015-06-30 Thread conradw
https://codereview.chromium.org/1199983002/diff/180001/src/ic/ic.cc File src/ic/ic.cc (right): https://codereview.chromium.org/1199983002/diff/180001/src/ic/ic.cc#newcode2959 src/ic/ic.cc:2959: } // namespace v8::internal On 2015/06/30 14:20:40, Toon Verwaest wrote: Remove this change from

[v8-dev] Re: [strong] Add tests for loading from proxy, super, with access checks (issue 1193633003 by conr...@chromium.org)

2015-06-30 Thread conradw
https://codereview.chromium.org/1193633003/diff/40001/test/cctest/test-api.cc File test/cctest/test-api.cc (right): https://codereview.chromium.org/1193633003/diff/40001/test/cctest/test-api.cc#newcode21442 test/cctest/test-api.cc:21442: TEST(StrongModeAccessChecks) { On 2015/06/30 12:38:03,

[v8-dev] Re: Revert Revert relanded strong property access CL (issue 1199983002 by conr...@chromium.org)

2015-06-26 Thread conradw
On 2015/06/24 12:08:58, mvstanton wrote: I just looked at the deltas beyond the original patch, and say LGTM. I'll hold off from committing this until I get lgtm for Toon again, since I had to rebase over some more of his changes. https://codereview.chromium.org/1199983002/ -- -- v8-dev

[v8-dev] [strong] Implement strong mode semantics for the count operation. (issue 1216463003 by conr...@chromium.org)

2015-06-26 Thread conradw
Reviewers: rossberg, Message: PTAL, I kind of dislike the crankshaft workaround but I can't see another way around the problem. Description: [strong] Implement strong mode semantics for the count operation. Also fixes a crankshaft bug with strong implicit conversions. It turns out that the

[v8-dev] Revert Revert relanded strong property access CL (issue 1199983002 by conr...@chromium.org)

2015-06-22 Thread conradw
Reviewers: Toon Verwaest, mvstanton, rossberg, Message: PTAL, regressions should be fixed. It may be worth waiting until after the branch cut to land this, however. Description: Revert Revert relanded strong property access CL Regression issues should be solved. Initial patchset is the

[v8-dev] Re: [ubsan] Fix HeapObjectMatcher to avoid invalid casts. (issue 1196623002 by bmeu...@chromium.org)

2015-06-19 Thread conradw
https://codereview.chromium.org/1196623002/diff/40001/src/compiler/control-reducer.cc File src/compiler/control-reducer.cc (right): https://codereview.chromium.org/1196623002/diff/40001/src/compiler/control-reducer.cc#newcode7 src/compiler/control-reducer.cc:7: #include

[v8-dev] Fix overlapping KeyedLoadIC bitfield. (issue 1192383003 by conr...@chromium.org)

2015-06-19 Thread conradw
Reviewers: rossberg, Message: PTAL Description: Fix overlapping KeyedLoadIC bitfield. BUG= Please review this at https://codereview.chromium.org/1192383003/ Base URL: https://chromium.googlesource.com/v8/v8.git@master Affected files (+6, -2 lines): M src/ic/ic.h M src/ic/ic-state.h

[v8-dev] Re: MIPS64: Fix 'Revert of Revert of [strong] Implement strong mode restrictions on property access'. (issue 1191333003 by balazs.kilv...@imgtec.com)

2015-06-19 Thread conradw
Ah, I missed this port. LGTM, although I'm not a committer. https://codereview.chromium.org/1191333003/ -- -- v8-dev mailing list v8-dev@googlegroups.com http://groups.google.com/group/v8-dev --- You received this message because you are subscribed to the Google Groups v8-dev group. To

[v8-dev] Revert relanded strong property access CL (issue 1199493002 by conr...@chromium.org)

2015-06-19 Thread conradw
Reviewers: rossberg, Message: PTAL Description: Revert relanded strong property access CL Reason: Regressions in various benchmarks. Revert Revert of Revert of [strong] Implement strong mode restrictions on property access (patchset #1 id:1 of https://codereview.chromium.org/1189153002/)

[v8-dev] Revert relanded strong property access CL (issue 1199493002 by conr...@chromium.org)

2015-06-19 Thread conradw
Reviewers: rossberg, Message: PTAL Description: Revert relanded strong property access CL Reason: Regressions in various benchmarks. Revert Revert of Revert of [strong] Implement strong mode restrictions on property access (patchset #1 id:1 of https://codereview.chromium.org/1189153002/)

[v8-dev] [strong] Add tests for loading from proxy, super, with access checks (issue 1193633003 by conr...@chromium.org)

2015-06-18 Thread conradw
Reviewers: rossberg, Message: PTAL Description: [strong] Add tests for loading from proxy, super, with access checks Followup for https://codereview.chromium.org/1168093002/ These seem to already function correctly without the need for further runtime changes. There will be a final

[v8-dev] Re: [strong] Implement strong mode restrictions on property access (issue 1168093002 by conr...@chromium.org)

2015-06-18 Thread conradw
https://codereview.chromium.org/1168093002/diff/420001/src/lookup.h File src/lookup.h (right): https://codereview.chromium.org/1168093002/diff/420001/src/lookup.h#newcode227 src/lookup.h:227: On 2015/06/18 10:32:12, Toon Verwaest wrote: spurious change Done.

[v8-dev] Re: [strong] Implement strong mode restrictions on property access (issue 1168093002 by conr...@chromium.org)

2015-06-18 Thread conradw
A revert of this CL (patchset #23 id:460001) has been created in https://codereview.chromium.org/1189153002/ by conr...@chromium.org. The reason for reverting is: Speculative revert, maybe breaks GC-stress

[v8-dev] Revert of [strong] Implement strong mode restrictions on property access (issue 1189153002 by conr...@chromium.org)

2015-06-18 Thread conradw
Reviewers: rossberg, mvstanton, Michael Starzinger, Toon Verwaest, Message: Created Revert of [strong] Implement strong mode restrictions on property access Description: Revert of [strong] Implement strong mode restrictions on property access (patchset #23 id:460001 of

[v8-dev] Re: Revert of [strong] Implement strong mode restrictions on property access (issue 1189153002 by conr...@chromium.org)

2015-06-18 Thread conradw
A revert of this CL (patchset #1 id:1) has been created in https://codereview.chromium.org/1185343005/ by conr...@chromium.org. The reason for reverting is: Issue was ultimately caused/fixed by https://codereview.chromium.org/1194673002/. https://codereview.chromium.org/1189153002/ -- --

[v8-dev] Revert of Revert of [strong] Implement strong mode restrictions on property access (issue 1185343005 by conr...@chromium.org)

2015-06-18 Thread conradw
Reviewers: rossberg, mvstanton, Michael Starzinger, Toon Verwaest, Message: Created Revert of Revert of [strong] Implement strong mode restrictions on property access Description: Revert of Revert of [strong] Implement strong mode restrictions on property access (patchset #1 id:1 of

[v8-dev] Re: [es6] Fix completion values of for loops with lexical variables (issue 1177053006 by conr...@chromium.org)

2015-06-18 Thread conradw
https://codereview.chromium.org/1177053006/diff/1/src/ast.h File src/ast.h (right): https://codereview.chromium.org/1177053006/diff/1/src/ast.h#newcode487 src/ast.h:487: bool ignore_completion_values() const { return ignore_completion_values_; } On 2015/06/18 05:43:21, rossberg wrote: Nit: why

[v8-dev] [es6] Fix completion values of for loops with lexical variables (issue 1177053006 by conr...@chromium.org)

2015-06-17 Thread conradw
Reviewers: rossberg, Message: PTAL Description: [es6] Fix completion values of for loops with lexical variables Currently, the desugaring of for loops of the form for (let/const ...; bla; bla) causes them to always have a completion value of 1, regardless of whether the loop body is executed

[v8-dev] Re: [strong] Make strong 'this' optional for experimentation (issue 1180943007 by rossb...@chromium.org)

2015-06-15 Thread conradw
LGTM (not that this does anything :P) https://codereview.chromium.org/1180943007/ -- -- v8-dev mailing list v8-dev@googlegroups.com http://groups.google.com/group/v8-dev --- You received this message because you are subscribed to the Google Groups v8-dev group. To unsubscribe from this group

[v8-dev] Re: [strong] Make strong 'this' optional for experimentation (issue 1180943007 by rossb...@chromium.org)

2015-06-12 Thread conradw
https://codereview.chromium.org/1180943007/diff/1/src/parser.cc File src/parser.cc (right): https://codereview.chromium.org/1180943007/diff/1/src/parser.cc#newcode2566 src/parser.cc:2566: if ((FLAG_strong_this || peek() != Token::THIS) Could the peek() check be eliminated by shifting the flag

[v8-dev] Re: [strong] Make strong 'this' optional for experimentation (issue 1180943007 by rossb...@chromium.org)

2015-06-12 Thread conradw
https://codereview.chromium.org/1180943007/diff/1/src/preparser.cc File src/preparser.cc (right): https://codereview.chromium.org/1180943007/diff/1/src/preparser.cc#newcode603 src/preparser.cc:603: if ((FLAG_strong_this || peek() != Token::THIS) Similar here (sorry for spam)

[v8-dev] Re: X87: Disable the test case for X87 since ea2cb139d. (issue 1179763003 by chunyang....@intel.com)

2015-06-11 Thread conradw
LGTM Before committing, maybe change the description of this issue to refer to the new test for better context. https://codereview.chromium.org/1179763003/ -- -- v8-dev mailing list v8-dev@googlegroups.com http://groups.google.com/group/v8-dev --- You received this message because you are

[v8-dev] Re: [strong] Implement strong mode restrictions on property access (issue 1168093002 by conr...@chromium.org)

2015-06-11 Thread conradw
getObjects() { On 2015/06/11 09:36:34, rossberg wrote: On 2015/06/10 12:03:23, conradw wrote: On 2015/06/10 08:28:08, rossberg wrote: Other interesting cases to add: - arguments (both strict and sloppy) - typed arrays - a non-standard builtin instance (e.g. of Date) - some builtins (Object

[v8-dev] Re: [strong] Implement strong mode restrictions on property access (issue 1168093002 by conr...@chromium.org)

2015-06-10 Thread conradw
/mjsunit/strong/load-element-mutate-backing-store.js (right): https://codereview.chromium.org/1168093002/diff/21/test/mjsunit/strong/load-element-mutate-backing-store.js#newcode7 test/mjsunit/strong/load-element-mutate-backing-store.js:7: // TODO(conradw): Track implementation of strong bit for other

[v8-dev] Re: [strong] Implement strong mode restrictions on property access (issue 1168093002 by conr...@chromium.org)

2015-06-10 Thread conradw
PTAL, all ports now completed https://codereview.chromium.org/1168093002/ -- -- v8-dev mailing list v8-dev@googlegroups.com http://groups.google.com/group/v8-dev --- You received this message because you are subscribed to the Google Groups v8-dev group. To unsubscribe from this group and stop

[v8-dev] Re: [strong] Implement strong mode restrictions on property access (issue 1168093002 by conr...@chromium.org)

2015-06-09 Thread conradw
https://codereview.chromium.org/1168093002/diff/120001/src/code-factory.h File src/code-factory.h (right): https://codereview.chromium.org/1168093002/diff/120001/src/code-factory.h#newcode44 src/code-factory.h:44: LanguageMode language_mode); On 2015/06/09 10:56:11, Michael Starzinger wrote:

[v8-dev] Re: [strong] Implement strong mode restrictions on property access (issue 1168093002 by conr...@chromium.org)

2015-06-09 Thread conradw
https://codereview.chromium.org/1168093002/diff/140001/src/builtins.h File src/builtins.h (right): https://codereview.chromium.org/1168093002/diff/140001/src/builtins.h#newcode93 src/builtins.h:93: LoadICState::kStrongModeState) \ On 2015/06/09 12:46:44, mvstanton wrote: You

[v8-dev] Re: [strong] Refactor ObjectStrength into a replacement for strong boolean args (issue 1144183004 by conr...@chromium.org)

2015-06-08 Thread conradw
Also NORMAL - WEAK as per other comment https://codereview.chromium.org/1144183004/diff/220001/src/compiler/js-operator.h File src/compiler/js-operator.h (right): https://codereview.chromium.org/1144183004/diff/220001/src/compiler/js-operator.h#newcode328 src/compiler/js-operator.h:328: const

[v8-dev] [strong] Implement strong mode restrictions on property access (issue 1168093002 by conr...@chromium.org)

2015-06-08 Thread conradw
Reviewers: rossberg, mvstanton, Michael Starzinger, Toon Verwaest, Message: PTAL Description: [strong] Implement strong mode restrictions on property access Implements the strong mode proposal's restrictions on property access. To be fully explored in a followup: proxies, interceptors, load

[v8-dev] Re: [strong] Refactor ObjectStrength into a replacement for strong boolean args (issue 1144183004 by conr...@chromium.org)

2015-06-05 Thread conradw
Redid the names, I like Adam's suggestion that non-strong mode should be NORMAL, since it doesn't inspire the same confusion that seeing WEAK scattered around in object initialization would. I can't think of a better name for the enum itself than Strength, since it's already being used by

[v8-dev] Re: [strong] Refactor ObjectStrength into a replacement for strong boolean args (issue 1144183004 by conr...@chromium.org)

2015-06-04 Thread conradw
On 2015/06/04 16:20:56, adamk wrote: On 2015/06/04 15:24:30, arv wrote: Is there a reason we need both LanguageMode and Strength? Can we just user LanguageMode in the places where we use Strength? +1 to this. From outside the strong mode work, needing to understand that Strength::FIRM

[v8-dev] Re: [strong] Refactor ObjectStrength into a replacement for strong boolean args (issue 1144183004 by conr...@chromium.org)

2015-06-04 Thread conradw
On 2015/06/04 18:38:31, conradw wrote: On 2015/06/04 16:20:56, adamk wrote: On 2015/06/04 15:24:30, arv wrote: Is there a reason we need both LanguageMode and Strength? Can we just user LanguageMode in the places where we use Strength? +1 to this. From outside the strong mode work

[v8-dev] [strong] Refactor ObjectStrength into a replacement for strong boolean args (issue 1144183004 by conr...@chromium.org)

2015-06-03 Thread conradw
Reviewers: rossberg, arv, Message: PTAL Description: [strong] Refactor ObjectStrength into a replacement for strong boolean args Boolean is_strong parameters have begun to proliferate across areas where strong mode semantics are different. This CL repurposes the existing ObjectStrength enum as

[v8-dev] [strong] Fix strong object exception messages (issue 1157273008 by conr...@chromium.org)

2015-06-01 Thread conradw
Reviewers: rossberg, arv, Message: PTAL Description: [strong] Fix strong object exception messages A mistake in a recent CL has messed up the error messages for strong object semantics. BUG= LOG=N Please review this at https://codereview.chromium.org/1157273008/ Base URL:

[v8-dev] [strong] Fix strong object exception messages (issue 1166433007 by conr...@chromium.org)

2015-06-01 Thread conradw
Reviewers: arv, rossberg, Message: PTAL apologies for the spam, uploaded the wrong version Description: [strong] Fix strong object exception messages A mistake in a recent CL has messed up the error messages for strong object semantics. BUG= LOG=N Please review this at

[v8-dev] Re: [strong] create strong array literals (issue 1152093003 by conr...@chromium.org)

2015-05-29 Thread conradw
https://codereview.chromium.org/1152093003/diff/60001/src/globals.h File src/globals.h (right): https://codereview.chromium.org/1152093003/diff/60001/src/globals.h#newcode230 src/globals.h:230: FIRM // strong object On 2015/05/28 16:11:44, arv wrote: Why not STRONG? This was Andreas'

[v8-dev] Re: [strong] create strong arry literals (issue 1151853003 by rossb...@chromium.org)

2015-05-28 Thread conradw
With permission, I've fixed the remaining problems with this CL here: https://codereview.chromium.org/1152093003/ https://codereview.chromium.org/1151853003/ -- -- v8-dev mailing list v8-dev@googlegroups.com http://groups.google.com/group/v8-dev --- You received this message because you are

[v8-dev] [strong] create strong array literals (issue 1152093003 by conr...@chromium.org)

2015-05-28 Thread conradw
Reviewers: rossberg, arv, Dmitry Lomov (ooo until Jun 8), Message: PTAL Description: [strong] create strong array literals Copied, with permission, from https://codereview.chromium.org/1151853003/ Initial patch set is an unmodified copy, rebased on top of related fixes from

[v8-dev] Re: [strong] Implement per-object restrictions behaviour of delete operator (issue 1156573002 by conr...@chromium.org)

2015-05-28 Thread conradw
https://codereview.chromium.org/1156573002/diff/140001/src/elements.cc File src/elements.cc (right): https://codereview.chromium.org/1156573002/diff/140001/src/elements.cc#newcode940 src/elements.cc:940: if (obj-map()-is_strong() !backing_store-is_the_hole(key)) { On 2015/05/28 15:46:17, arv

[v8-dev] Re: [strong] Implement per-object restrictions behaviour of property freezing (issue 1142393003 by conr...@chromium.org)

2015-05-28 Thread conradw
Just now, the fast path assumes you never throw, and you don't care much about the previous attribute values, since before strong mode it was impossible to fail to set writable/enumerable attribute to false. I think it's possible to modify the fast path to work, but it requires inspecting the

[v8-dev] [strong] fix strong array, object prototypes (issue 1158933002 by conr...@chromium.org)

2015-05-27 Thread conradw
Reviewers: rossberg, arv, Message: PTAL Description: [strong] fix strong array, object prototypes Strong Object/Array literals are currently being created with incorrect internal prototypes. This CL fixes this and extends the test suite to check. BUG= LOG=N Please review this at

[v8-dev] Re: [strong] Implement per-object restrictions behaviour of delete operator (issue 1156573002 by conr...@chromium.org)

2015-05-27 Thread conradw
https://codereview.chromium.org/1156573002/diff/60001/src/elements.cc File src/elements.cc (right): https://codereview.chromium.org/1156573002/diff/60001/src/elements.cc#newcode1405 src/elements.cc:1405: dictionary, entry, obj-map()-is_strong()); On 2015/05/22 14:01:26, rossberg wrote: Do we

[v8-dev] Re: [strong] Implement per-object restrictions behaviour of delete operator (issue 1156573002 by conr...@chromium.org)

2015-05-27 Thread conradw
On 2015/05/27 18:09:33, conradw wrote: https://codereview.chromium.org/1156573002/diff/60001/src/elements.cc File src/elements.cc (right): https://codereview.chromium.org/1156573002/diff/60001/src/elements.cc#newcode1405 src/elements.cc:1405: dictionary, entry, obj-map()-is_strong

[v8-dev] Re: [strong] Implement per-object restrictions behaviour of property freezing (issue 1142393003 by conr...@chromium.org)

2015-05-27 Thread conradw
, conradw wrote: On 2015/05/22 13:10:28, rossberg wrote: Nit: why care about enumerable in all these tests? The defineProperties case needs it to work, and I can't let it varying or it will always throw. Actually, I don't understand your use of defineProperties. AFAICT it should

[v8-dev] Make delete API consistent for String objects (issue 1153673003 by conr...@chromium.org)

2015-05-22 Thread conradw
Reviewers: rossberg, Message: PTAL Description: Make delete API consistent for String objects Deleting a in-bounds character index from a String object should always return false. BUG= LOG=N Please review this at https://codereview.chromium.org/1153673003/ Base URL:

[v8-dev] Re: [strong] Implement per-object restrictions behaviour for prototype setting (issue 1143623002 by conr...@chromium.org)

2015-05-22 Thread conradw
https://codereview.chromium.org/1143623002/diff/140001/src/messages.h File src/messages.h (right): https://codereview.chromium.org/1143623002/diff/140001/src/messages.h#newcode230 src/messages.h:230: T(StrongSetProto, Cannot set internal prototype of strong object %)\ On 2015/05/22

[v8-dev] Re: [strong] Implement per-object restrictions behaviour of delete operator (issue 1156573002 by conr...@chromium.org)

2015-05-22 Thread conradw
https://codereview.chromium.org/1156573002/diff/40001/src/messages.h File src/messages.h (right): https://codereview.chromium.org/1156573002/diff/40001/src/messages.h#newcode229 src/messages.h:229: T(StrongDeleteProperty, \ On 2015/05/22 11:34:50, rossberg wrote:

[v8-dev] Re: [strong] Implement per-object restrictions behaviour of property freezing (issue 1142393003 by conr...@chromium.org)

2015-05-22 Thread conradw
https://codereview.chromium.org/1142393003/diff/20001/src/messages.h File src/messages.h (right): https://codereview.chromium.org/1142393003/diff/20001/src/messages.h#newcode231 src/messages.h:231: Cannot redefine non-configurable property '%' of strong object % to be \ On 2015/05/22

[v8-dev] Re: [strong] Implement per-object restrictions behaviour of delete operator (issue 1144453002 by conr...@chromium.org)

2015-05-21 Thread conradw
On 2015/05/18 13:46:40, rossberg wrote: This one should definitely have a cctest for the API. Does that go through the JS as well? It doesn't, so changing the runtime won't work :(. Between this and a rebase, I've shoved the fixed version into another CL.

[v8-dev] [strong] Implement per-object restrictions behaviour of delete operator (issue 1156573002 by conr...@chromium.org)

2015-05-21 Thread conradw
Reviewers: rossberg, arv, Message: PTAL Description: [strong] Implement per-object restrictions behaviour of delete operator Implements the strong mode proposal's restrictions on the behaviour of the delete operator for strong objects. Setting the strong bit is still wip, so this change will

[v8-dev] [strong] Implement per-object restrictions behaviour of property freezing (issue 1142393003 by conr...@chromium.org)

2015-05-21 Thread conradw
/test/mjsunit/strong/object-freeze-property.js @@ -0,0 +1,59 @@ +// Copyright 2015 the V8 project authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Flags: --strong-mode --allow-natives-syntax + +// TODO(conradw

[v8-dev] Re: [strong] Implement per-object restrictions behaviour for prototype setting (issue 1143623002 by conr...@chromium.org)

2015-05-21 Thread conradw
PTAL, updated https://codereview.chromium.org/1143623002/ -- -- v8-dev mailing list v8-dev@googlegroups.com http://groups.google.com/group/v8-dev --- You received this message because you are subscribed to the Google Groups v8-dev group. To unsubscribe from this group and stop receiving

[v8-dev] [strong] Implement per-object restrictions behaviour for prototype setting (issue 1143623002 by conr...@chromium.org)

2015-05-15 Thread conradw
@@ -0,0 +1,63 @@ +// Copyright 2015 the V8 project authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Flags: --strong-mode --allow-natives-syntax + +// TODO(conradw): Track implementation of strong bit for other

[v8-dev] [strong] Implement per-object restrictions behaviour of delete operator (issue 1144453002 by conr...@chromium.org)

2015-05-13 Thread conradw
is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Flags: --strong-mode --allow-natives-syntax + +// TODO(conradw): Track implementation of strong bit for other objects, add +// tests. +// Currently it's pointless to actually try setting any properties before

[v8-dev] Re: [strong] Disallow implicit conversions for comparison (issue 1130283002 by conr...@chromium.org)

2015-05-08 Thread conradw
https://codereview.chromium.org/1130283002/diff/80001/src/code-stubs.h File src/code-stubs.h (right): https://codereview.chromium.org/1130283002/diff/80001/src/code-stubs.h#newcode1472 src/code-stubs.h:1472: CompareICStub(Isolate* isolate, Token::Value op, bool strong, On 2015/05/08 13:54:36,

[v8-dev] [strong] Disallow implicit conversions for comparison (issue 1130283002 by conr...@chromium.org)

2015-05-08 Thread conradw
Reviewers: rossberg, Message: PTAL Description: [strong] Disallow implicit conversions for comparison Implements the strong mode proposal's restrictions on implicit conversions for the binary , =, , and = operators. BUG=v8:3956 LOG=N Please review this at

[v8-dev] [es6] Fix symbol comparison on some architectures (issue 1128143002 by conr...@chromium.org)

2015-05-06 Thread conradw
Reviewers: rossberg, arv, Message: PTAL - currently the extended test fails on the affected architectures. Description: [es6] Fix symbol comparison on some architectures https://codereview.chromium.org/1125783002 did not handle all cases for some architectures. These cases are now covered, and

[v8-dev] Re: [es6] Fix symbol comparison on some architectures (issue 1128143002 by conr...@chromium.org)

2015-05-06 Thread conradw
On 2015/05/06 14:54:35, arv wrote: LGTM For once I actually ran the test on all platforms and still I missed these. It is really sad how much the code have diverged between the platforms. Yes, this case is particularly miserable because the architectures that factor this part out into

[v8-dev] [strong] Fix inlining issue (issue 1123043002 by conr...@chromium.org)

2015-05-05 Thread conradw
Reviewers: rossberg, Message: PTAL Description: [strong] Fix inlining issue The Hydrogen representation for binops was never changed to care about the language mode. We thought this was ok, but it turns out we need to keep track of it to make sure inlining doesn't mess with the strongness

[v8-dev] Re: [strong] Disallow implicit conversions for add (issue 1109223004 by conr...@chromium.org)

2015-05-04 Thread conradw
https://codereview.chromium.org/1109223004/diff/60001/test/mjsunit/strong/implicit-conversions.js File test/mjsunit/strong/implicit-conversions.js (right): https://codereview.chromium.org/1109223004/diff/60001/test/mjsunit/strong/implicit-conversions.js#newcode80

[v8-dev] Re: [strong] Disallow implicit conversions for add (issue 1109223004 by conr...@chromium.org)

2015-04-30 Thread conradw
https://codereview.chromium.org/1109223004/diff/1/src/runtime.js File src/runtime.js (right): https://codereview.chromium.org/1109223004/diff/1/src/runtime.js#newcode163 src/runtime.js:163: //ECMA-262, section 11.6.1, page 50. On 2015/04/30 08:43:59, Dmitry Lomov (chromium) wrote: This comment

[v8-dev] Re: [strong] Disallow implicit conversions for add (issue 1109223004 by conr...@chromium.org)

2015-04-30 Thread conradw
https://codereview.chromium.org/1109223004/diff/40001/src/compiler/js-typed-lowering.cc File src/compiler/js-typed-lowering.cc (right): https://codereview.chromium.org/1109223004/diff/40001/src/compiler/js-typed-lowering.cc#newcode336 src/compiler/js-typed-lowering.cc:336: if

[v8-dev] Re: [strong] Disallow implicit conversions for add (issue 1109223004 by conr...@chromium.org)

2015-04-30 Thread conradw
https://codereview.chromium.org/1109223004/diff/20001/src/compiler/js-typed-lowering.cc File src/compiler/js-typed-lowering.cc (right): https://codereview.chromium.org/1109223004/diff/20001/src/compiler/js-typed-lowering.cc#newcode324 src/compiler/js-typed-lowering.cc:324:

[v8-dev] [strong] Disallow implicit conversions for add (issue 1109223004 by conr...@chromium.org)

2015-04-29 Thread conradw
Reviewers: rossberg, Michael Starzinger, Dmitry Lomov (chromium), arv, Message: PTAL Description: [strong] Disallow implicit conversions for add Implements the strong mode proposal's restrictions on implicit conversions for the binary + operator. Test suite is also cleaned up/refactored to

[v8-dev] Re: [strong] Disallow implicit casts for bitwise ops, shifts (issue 1102923002 by conr...@chromium.org)

2015-04-27 Thread conradw
The + in the CL description was meant to refer to binary +, instead of unary +. I've clarified. It turns out unary +,- are gotten for free via parser re-writes, so I've added tests for them. cctests from the last CL should already be testing the strong versions of these ops, I was lazy last time

[v8-dev] Re: [turbofan] Sanitize language mode for javascript operators. (issue 1084243005 by bmeu...@chromium.org)

2015-04-27 Thread conradw
https://codereview.chromium.org/1084243005/diff/1/src/compiler/js-operator.cc File src/compiler/js-operator.cc (right): https://codereview.chromium.org/1084243005/diff/1/src/compiler/js-operator.cc#newcode281 src/compiler/js-operator.cc:281: Name##OperatorSTRICT k##Name##StrictOperator;

[v8-dev] Re: [strong] Disallow implicit casts for bitwise ops, shifts (issue 1102923002 by conr...@chromium.org)

2015-04-27 Thread conradw
Added the extra test cases, bearing in mind my comment about ++,-- @mstarzinger, are the TF changes ok? https://codereview.chromium.org/1102923002/diff/140001/test/mjsunit/strong/implicit-conversions.js File test/mjsunit/strong/implicit-conversions.js (right):

  1   2   >