- 25 May, 2010 6 commits
-
-
ricow@chromium.org authored
Noticing that the only difference between samevalue and strict equality is on numbers we can simplify SameValue. The old version did not return a correct answer if called on two strings since StringEquals (from runtime.cc) returns an answer that is the negated value (if treated as a boolean). Review URL: http://codereview.chromium.org/2136024 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4713 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
A raw pointer was used while collecting a stack trace. This was not safe as the code collecting the stack trace allocated memory. Review URL: http://codereview.chromium.org/2147005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4712 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
TBR=erik.corry@gmail.com Review URL: http://codereview.chromium.org/2157006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4711 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
Changing ScriptData API to serialize its internal representation to a const char* array. This decouples the API from the internal representation and avoids the need for callers to serialize themselves. As a side-effect, ScriptData::New() no longer assumes ownership of its input. This shouldn't matter as typical usage patterns for the old API would have required a copy prior to calling ScriptData::New(). Review URL: http://codereview.chromium.org/2118010/show git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4710 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ricow@chromium.org authored
Review URL: http://codereview.chromium.org/2132025 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4709 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ricow@chromium.org authored
Object.defineProperty with empty property descriptor. The issue is fixed by implementing step 5 and 6 from DefineOwnProperty in the specification (ES5 8.12.9). This also fixes a bug in SameValue when used on boolean values (it would priorly return a number - not a boolean). Review URL: http://codereview.chromium.org/2131019 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4708 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 22 May, 2010 2 commits
-
-
mikhail.naganov@gmail.com authored
TBR=sgjesse@chromium.org Review URL: http://codereview.chromium.org/2124017 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4707 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mikhail.naganov@gmail.com authored
I changed the implementation of a queue between the VM and processor thread to be unbounded and lock-free, using Herb Sutter's example from DDJ article: http://www.ddj.com/high-performance-computing/210604448 This had brought back profiling overhead to a minimum for the page from Chromium's issue 16184. BUG=714 Review URL: http://codereview.chromium.org/2091019 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4706 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 21 May, 2010 9 commits
-
-
dimich@chromium.org authored
This prevents re-entry into JS during stack unwinding caused by TerminateExecution(). Review URL: http://codereview.chromium.org/2123005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4705 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
vegorov@chromium.org authored
TBR=ager@chromium.org Review URL: http://codereview.chromium.org/2073018 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4704 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
vegorov@chromium.org authored
Reapplication of r4685 (reviewed http://codereview.chromium.org/2101002) with minor modifications: - Fix compilation problems on Win64. - Improve heap verification pass: search for garbage pointers to new space not only in dirty regions but in all regions. Review URL: http://codereview.chromium.org/2114015 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4703 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mikhail.naganov@gmail.com authored
As TokenEnumerator cleans up global handles posessed, it's owner -- CpuProfiler must be shut down prior to global handles. Review URL: http://codereview.chromium.org/2072013 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4702 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
whesse@chromium.org authored
Revert change 3849. On ia32, LoadFromSlot again returns its result on the top of the expression stack, not as a Result return value. Review URL: http://codereview.chromium.org/2121014 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4700 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
erik.corry@gmail.com authored
Review URL: http://codereview.chromium.org/2080018 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4699 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
erik.corry@gmail.com authored
on other ways to make ARM code more compact. Review URL: http://codereview.chromium.org/2080017 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4698 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
lrn@chromium.org authored
Review URL: http://codereview.chromium.org/2078028 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4697 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
ENABLE_HEAP_PROTECTION. TBR=mnaganov@chromium.org Review URL: http://codereview.chromium.org/2098017 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4696 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 20 May, 2010 14 commits
-
-
erik.corry@gmail.com authored
Review URL: http://codereview.chromium.org/2088011 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4695 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
erik.corry@gmail.com authored
of http://codereview.chromium.org/2064012/show for Rodolph Perfetta. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4694 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yurys@chromium.org authored
Provide debug event listener with access to the debuggee context. Also introduce new event listener setter that allows to set a callback that accepts single parameter encapsulating all debug event details so that additional information can later be passed to the listener without breaking compatibility with existing clients. Review URL: http://codereview.chromium.org/2108024 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4693 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
whesse@chromium.org authored
Change keyed store IC interface on x64 to take value, key, and receiver in registers rather than on the stack. Review URL: http://codereview.chromium.org/2111011 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4692 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
whesse@chromium.org authored
Review URL: http://codereview.chromium.org/2081014 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4691 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
erik.corry@gmail.com authored
Review URL: http://codereview.chromium.org/2095019 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4690 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
Already reviewed at: http://codereview.chromium.org/2078022/show TBR=vegorov@chromium.org Review URL: http://codereview.chromium.org/2137008 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4689 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
vegorov@chromium.org authored
TBR=ager@chromium.org Review URL: http://codereview.chromium.org/2071020 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4688 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
erik.corry@gmail.com authored
the issue of how the pointee is found and how the pointer is encoded are separated out. This will make it simpler to support various pointers from and to code in the future. Review URL: http://codereview.chromium.org/2069013 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4687 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
Review URL: http://codereview.chromium.org/2078022 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4686 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
vegorov@chromium.org authored
-- layout change for FixedArrays: length is stored as a smis (initial patch by Kevin Millikin) -- layout change for SharedFunctionInfo: integer fields are stored as smi on arm, ia32 and rearranged on x64. -- layout change for String: meaning of LSB bit is fliped (1 now means hash not computed); on x64 padding is added. -- layout of maps is _not_ changed. Map space is currently iterated in a special way. - Cardmarking write barrier. New barrier handles large objects and normal objects in a similar fashion (no more additional space for pointer tracking is required, no conditional branches in WB code). Review URL: http://codereview.chromium.org/2101002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4685 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
vitalyr@chromium.org authored
Review URL: http://codereview.chromium.org/2076010 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4684 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
Make sure that there is always room for RelocInfoWriter::kMaxSize bytes in the buffer before writing to it. We only ensured space for 8 bytes, but relocation information can be up to 16 bytes in x64. Review URL: http://codereview.chromium.org/2100010 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4683 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
The Mozilla test ecma/Date/15.9.5.10-2 have been timing out a couple of times on the ARM simulator in debug mode. Review URL: http://codereview.chromium.org/2070018 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4682 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 19 May, 2010 6 commits
-
-
sgjesse@chromium.org authored
Previously the receier was passed in both r0 and on the stack for a load IC. With this change the receiver is in r0 only. Review URL: http://codereview.chromium.org/2119007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4681 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
The full compiler will now be used for all code compiler when debugging is active. As the code generated by the full compiler is much simpler it will be easier to make debugging work better when using that code. To ensure that all code debugged is from the full compiler all functions will have to be recompiled when starting debugging. Initialing debugging already turns off the code cache. Review URL: http://codereview.chromium.org/2120009 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4680 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
The port to ARM of a tail call wrongly kept the scheme of pushing below the return address. TBR=antonm@chromium.org Review URL: http://codereview.chromium.org/2091013 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4679 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
lrn@chromium.org authored
Using rsp or r12 as the "base" register of the ModR/M byte forces a SIB byte, even with no index register. Some operations can avoid this by using another, equivalent, encoding that swaps the meaning of the base and register parts. Review URL: http://codereview.chromium.org/2075010 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4678 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
erik.corry@gmail.com authored
ry (coldredlemur@gmail.com). See http://codereview.chromium.org/2092007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4677 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
This makes the full compiler handle all constructs on ia32. However the syntax checker for the full compiler is still the same so for both normal operation and with the flag --always-full-compiler the coverage of the full compiler will be the same. This is on preparation for improving the debugger break point experience where the plan is to only use code from full code generator when debugging JavaScript. Runs all tests on all three platforms in release and debug mode. The tests also run with both the following flags to the test runner --special-command="@ --nofull-compiler" --special-command="@ --always-full-compiler" The changes to the x64 and ARM architectures are mainly structural due to the change to EmitVariableAssignment to handle initialization of const variables. Review URL: http://codereview.chromium.org/1989012 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4676 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 18 May, 2010 3 commits
-
-
vegorov@chromium.org authored
Collect cumulative (--print-cumulative-gc-stat) and per collection (--trace-gc-nvp) GC statistics and output it in a machine-readable name=value format. Review URL: http://codereview.chromium.org/2132005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4675 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
whesse@chromium.org authored
Review URL: http://codereview.chromium.org/2129010 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4674 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mikhail.naganov@gmail.com authored
As several pages can run in a single V8 instance, it is possible to have functions from different security contexts intermixed in a single CPU profile. To avoid exposing function names from one page to another, filtering is introduced. The basic idea is that instead of capturing return addresses from stack, we're now capturing JSFunction addresses (as we anyway work only with JS stack frames.) Each JSFunction can reach out for context's security token. When providing a profile to a page, the profile is filtered using the security token of caller page. Any functions with different security tokens are filtered out (yes, we only do fast path check for now) and their ticks are attributed to their parents. Review URL: http://codereview.chromium.org/2083005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4673 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-